:root{--cream: #faf6f0;--card: #ffffff;--ink: #2d2118;--ink-soft: #6f6257;--gold: #c8963e;--gold-dark: #a97c2e;--crust: #8b5e34;--line: #e9e0d4;--green: #3d7a4f;--red: #b0413e;--sidebar: #2d2118;--sidebar-ink: #d9cbb8;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 500px at 50% -10%,#f3e5cf 0%,transparent 60%),var(--cream);padding:24px}.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 20px 60px #2d211814;text-align:center}.login-logo{display:block;width:132px;height:auto;margin:0 auto 4px}.login-card h1{font-size:22px;letter-spacing:.04em;margin:10px 0 2px}.login-card .sub{color:var(--ink-soft);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}label{display:block;text-align:left;font-size:13px;font-weight:600;margin:14px 0 5px;color:var(--ink-soft)}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fdfbf8;font-size:15px;color:var(--ink)}input:focus,select:focus{outline:2px solid var(--gold);border-color:transparent}button.primary{width:100%;margin-top:22px;padding:11px;background:var(--gold);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}button.primary:hover{background:var(--gold-dark)}button.primary:disabled{opacity:.6;cursor:default}button.ghost{padding:6px 12px;background:transparent;border:1px solid var(--line);border-radius:6px;font-size:13px;cursor:pointer;color:var(--ink)}button.ghost:hover{border-color:var(--gold);color:var(--gold-dark)}.error-msg{margin-top:16px;color:var(--red);font-size:13px}.ok-msg{margin-top:16px;color:var(--green);font-size:13px}.shell{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:22px 14px;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px;border-bottom:1px solid rgba(217,203,184,.15);margin-bottom:14px}.sidebar .brand .logo{width:40px;height:auto;flex-shrink:0}.sidebar .brand .name{font-size:14px;font-weight:700;letter-spacing:.05em;color:#f2e8da;line-height:1.25}.sidebar .brand .name span{display:block;font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--gold)}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--sidebar-ink);text-decoration:none;font-size:14px}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{background:var(--gold);color:#fff;font-weight:600}.sidebar .foot{border-top:1px solid rgba(217,203,184,.15);padding-top:12px;font-size:12px}.sidebar .foot .who{color:#f2e8da;font-weight:600;margin-bottom:6px;word-break:break-all}.sidebar .foot button{background:none;border:none;color:var(--gold);cursor:pointer;font-size:12px;padding:0}.main{flex:1;padding:30px 36px;max-width:1200px}.main h2{font-size:24px;margin-bottom:4px}.main .page-sub{color:var(--ink-soft);font-size:14px;margin-bottom:24px}.topbar,.tabbar{display:none}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.kpi .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.kpi .value{font-size:26px;font-weight:700;margin-top:6px}.kpi .hint{font-size:12px;color:var(--ink-soft);margin-top:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px}.card h3{font-size:15px;margin-bottom:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}td{padding:8px 10px;border-bottom:1px solid var(--line)}tr:hover td{background:#fdf9f2}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.admin{background:#f6e8cf;color:var(--gold-dark)}.badge.manager{background:#e3eee6;color:var(--green)}.badge.employee{background:#e8e4de;color:var(--ink-soft)}.badge.pending{background:#f7e2e1;color:var(--red)}.badge.month{background:#ece4f2;color:#6b4a8a;font-size:11px;padding:1px 8px;vertical-align:middle}.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.toolbar input,.toolbar select{width:auto;min-width:200px}.spinner{padding:60px;text-align:center;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.period-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.period-presets{display:flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:3px}.period-presets button{border:none;background:transparent;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}.period-presets button:hover{color:var(--gold-dark)}.period-presets button.active{background:var(--gold);color:#fff}.period-custom{display:flex;align-items:center;gap:6px}.period-custom input{width:auto;padding:6px 8px;font-size:13px}.period-custom span{color:var(--ink-soft)}.cols-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.cols-2>*{min-width:0}@media (max-width: 820px){.cols-2{grid-template-columns:minmax(0,1fr)}}.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.donut-total{font-size:17px;font-weight:700;fill:var(--ink)}.donut-caption{font-size:10px;letter-spacing:.1em;text-transform:uppercase;fill:var(--ink-soft)}.donut-legend{list-style:none;flex:1;min-width:200px;font-size:13px}.donut-legend li{display:flex;align-items:center;gap:8px;padding:3px 0}.donut-legend .lg-label{flex:1}.donut-legend .lg-val{font-variant-numeric:tabular-nums;font-weight:600}.donut-legend .lg-pct{width:42px;text-align:right;color:var(--ink-soft)}.swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0;display:inline-block}.bars-legend{display:flex;gap:16px;font-size:13px;margin-top:8px}.bars-legend span{display:inline-flex;align-items:center;gap:6px}.drill-row td{background:#fdf6ea;padding:10px 14px}:root[data-theme=dark] .drill-row td{background:#c8963e14}@media (prefers-color-scheme: dark){.drill-row td{background:#c8963e14}}.inner-table{width:100%;font-size:13px}.inner-table th{border-bottom:1px solid var(--line);padding:5px 8px}.inner-table td{padding:4px 8px;border:none}.wa-layout{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);height:68vh}.wa-list{border-right:1px solid var(--line);overflow-y:auto;min-height:0}.wa-conv{display:block;width:100%;text-align:left;border:none;background:none;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;font-family:inherit}.wa-conv:hover{background:#fdf9f2}.wa-conv.active{background:#fdf4e3;border-left:3px solid var(--gold)}.wa-conv-top{display:flex;justify-content:space-between;align-items:center}.wa-name{font-weight:600;font-size:14px;color:var(--ink)}.wa-badge{background:var(--green);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;font-weight:700}.wa-preview{font-size:13px;color:var(--ink-soft);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wa-thread{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.wa-empty{margin:auto;color:var(--ink-soft)}.wa-thread-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline}.wa-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#f7f2ea}.wa-msg{max-width:72%;display:flex;flex-direction:column}.wa-msg.in{align-self:flex-start}.wa-msg.out{align-self:flex-end;align-items:flex-end}.wa-bubble{padding:8px 12px;border-radius:12px;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.wa-msg.in .wa-bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}.wa-msg.out .wa-bubble{background:#dcf3e3;border-bottom-right-radius:3px;color:#1d3a26}.wa-meta{font-size:11px;color:var(--ink-soft);margin-top:2px}.wa-compose{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}.wa-compose input{flex:1}@media (max-width: 760px){.wa-layout{grid-template-columns:1fr;height:auto}.wa-list{max-height:30vh}}textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fdfbf8;font-size:15px;color:var(--ink);font-family:inherit;resize:vertical}textarea:focus{outline:2px solid var(--gold);border-color:transparent}.thumb{width:34px;height:34px;border-radius:7px;object-fit:cover;display:block;background:#f4ecdd}.thumb-empty{display:grid;place-items:center;font-size:16px;background:#f4ecdd;color:var(--gold-dark)}.prod-row:hover td{background:#fdf4e3}.allergen-dot{font-size:11px;color:var(--gold-dark);margin-left:8px;white-space:nowrap}.recipe-dot{font-size:12px;margin-left:6px}.num .pos{color:var(--green);font-weight:600}.num .neg{color:var(--red);font-weight:600}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#2d211866;animation:fade-in .15s ease}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(560px,100vw);background:var(--cream);border-left:1px solid var(--line);box-shadow:-12px 0 40px #2d21182e;display:flex;flex-direction:column;animation:slide-in .2s ease}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(100%)}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--card)}.drawer-body{flex:1;overflow-y:auto;padding:18px 22px}.drawer-body>label{margin-top:6px}.drawer-foot{border-top:1px solid var(--line);background:var(--card);padding:14px 22px;display:flex;align-items:center;gap:14px;justify-content:flex-end}.fiche-card{margin-bottom:16px}.fiche-card h3{margin-bottom:10px}.fiche-photo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px}.fiche-photo img{width:100%;max-height:240px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.fiche-photo-empty{width:100%;height:150px;border-radius:12px;border:1px dashed var(--line);background:#f4ecdd;display:grid;place-items:center;color:var(--ink-soft);font-size:14px}.margin-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.margin-row>div{display:flex;flex-direction:column;gap:2px}.margin-row strong{font-size:18px}.margin-row .pos{color:var(--green)}.margin-row .neg{color:var(--red)}.mini-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:#fdfbf8;color:var(--ink-soft);font-size:12.5px;cursor:pointer;font-family:inherit}.chip:hover:not(:disabled){border-color:var(--gold)}.chip.on{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}.chip.derived:not(.on){border-style:dashed;border-color:var(--gold);color:var(--gold-dark)}.chip:disabled{cursor:default}.recipe-table{font-size:13px}.recipe-table th{padding:6px 8px}.recipe-table td{padding:5px 8px;vertical-align:middle}.cell-input{padding:5px 7px;font-size:13px;border-radius:6px}td.num .cell-input{text-align:right}.recipe-table td.num{text-align:right;font-variant-numeric:tabular-nums}.recipe-totals{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:14px}.new-ing{background:#fdf6ea;border-color:var(--gold)}@media (max-width: 620px){.drawer{width:100vw}.margin-row{grid-template-columns:1fr 1fr}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}.line-row{display:flex;gap:8px;margin-bottom:8px}.line-row input:first-child{flex:1}.handover-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.handover p{white-space:pre-wrap}.badge.shift-ochtend{background:#f6e8cf;color:var(--gold-dark)}.badge.shift-middag{background:#e3eee6;color:var(--green)}.badge.shift-avond{background:#e4e0ee;color:#5b4a8a}.badge.prio-low{background:#e8e4de;color:var(--ink-soft)}.badge.prio-normal{background:#e3eee6;color:var(--green)}.badge.prio-high{background:#f6e8cf;color:var(--gold-dark)}.badge.prio-critical,.badge.st-open{background:#f7e2e1;color:var(--red)}.badge.st-in_progress{background:#f6e8cf;color:var(--gold-dark)}.badge.st-waiting_parts{background:#e4e0ee;color:#5b4a8a}.badge.st-resolved{background:#e3eee6;color:var(--green)}.badge.st-draft{background:#fdf0d5;color:#8a5a00;border:1px dashed #d9a640}.badge.st-new{background:#f7e2e1;color:var(--red)}.badge.st-confirmed{background:#e4e0ee;color:#5b4a8a}.badge.st-in_production{background:#f6e8cf;color:var(--gold-dark)}.badge.st-ready{background:#e3eee6;color:var(--green)}.badge.st-delivered{background:#e8e4de;color:var(--ink-soft)}.badge.st-cancelled{background:#e8e4de;color:var(--ink-soft);text-decoration:line-through}.badge.t-order{background:#f6e8cf;color:var(--gold-dark)}.badge.t-delivery{background:#e3eee6;color:var(--green)}.badge.t-maintenance{background:#f7e2e1;color:var(--red)}.badge.t-staff{background:#e4e0ee;color:#5b4a8a}.badge.t-inspection{background:#dce9f0;color:#2e6480}.badge.t-other{background:#e8e4de;color:var(--ink-soft)}.agenda-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.agenda-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.agenda-dow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:center;padding:4px 0}.agenda-day{border:1px solid var(--line);background:#fdfbf8;border-radius:8px;min-height:56px;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-family:inherit;font-size:13px;color:var(--ink)}.agenda-day:hover{border-color:var(--gold)}.agenda-day.sel{outline:2px solid var(--gold);border-color:transparent;background:#fdf4e3}.agenda-day.today .dnum{background:var(--gold);color:#fff}.agenda-day .dnum{font-weight:600;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px}.agenda-day .dots{display:flex;gap:3px;flex-wrap:wrap}.agenda-day .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.t-order{background:var(--gold)}.dot.t-delivery{background:var(--green)}.dot.t-maintenance{background:var(--red)}.dot.t-staff{background:#5b4a8a}.dot.t-inspection{background:#2e6480}.dot.t-other{background:var(--ink-soft)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-col{border:1px solid var(--line);background:#fdfbf8;border-radius:10px;padding:0 0 6px;min-height:96px;display:flex;flex-direction:column;overflow:hidden}.week-col.today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.week-head{display:flex;align-items:baseline;justify-content:space-between;padding:7px 9px;border-bottom:1px solid var(--line);background:#fff}.week-head .dow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.week-head .dnum{font-size:15px;font-weight:700}.week-col.today .week-head{background:#fdf4e3}.week-col.today .week-head .dnum{color:var(--gold-dark)}.week-shift{display:flex;align-items:baseline;justify-content:space-between;gap:4px;margin:4px 6px 0;padding:3px 6px 3px 7px;border-radius:5px;border-left:3px solid var(--line);background:#fff}.week-shift.part-ochtend{border-left-color:var(--gold);background:#fbf3e2}.week-shift.part-middag{border-left-color:var(--green);background:#eaf3ec}.week-shift.part-avond{border-left-color:#5b4a8a;background:#efecf6}.week-shift.tentative{opacity:.55;border-left-style:dashed}.ws-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-time{font-size:10px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.week-empty{text-align:center;color:var(--line);padding:10px 0}.week-total{margin:auto 8px 0;padding-top:6px;font-size:10px;font-weight:600;color:var(--ink-soft);text-align:right}.bar-chart{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:8px;overflow-x:auto}.bar-col{flex:1 1 0;min-width:30px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-val{font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-bottom:3px}.bar{width:100%;max-width:46px;background:var(--gold);border-radius:4px 4px 0 0;transition:height .2s}.bar-col:hover .bar{background:var(--gold-dark)}.bar-lbl{font-size:11px;color:var(--ink-soft);margin-top:6px;text-align:center;text-transform:capitalize}.bar-yr{font-size:9px;opacity:.7}.day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.day-detail-head input{width:auto;padding:7px 10px;font-size:14px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.contract-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:6px 0}.contract-name{font-weight:600;font-size:14px}.contract-track{background:var(--cream);border:1px solid var(--line);border-radius:999px;height:14px;overflow:hidden}.contract-fill{height:100%;border-radius:999px;min-width:2px;transition:width .3s}.contract-val{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 600px){.contract-row{grid-template-columns:80px 1fr}.contract-val{grid-column:2;text-align:right}}.day-plan{display:flex;flex-direction:column}.day-plan-row{display:grid;grid-template-columns:110px 1fr auto auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.day-plan-row:last-child{border-bottom:none}.day-plan-name{font-weight:600}.day-plan-time{font-size:13px;color:var(--ink-soft)}.day-plan-hours{font-size:13px;min-width:48px;text-align:right}@media (max-width: 860px){.week-grid{grid-template-columns:repeat(2,1fr)}.day-plan-row{grid-template-columns:90px 1fr;row-gap:2px}.day-plan-time,.day-plan-hours{grid-column:2;text-align:left}.shell{flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:40;background:var(--sidebar);color:#f2e8da;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.topbar-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:.04em}.topbar-brand .logo{width:34px;height:auto}.sidebar{display:none}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--sidebar);border-top:1px solid rgba(217,203,184,.15);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.tabbar::-webkit-scrollbar{display:none}.tabbar:after{content:"";flex:0 0 28px}.tabbar a,.tabbar button{flex:0 0 auto;width:72px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 2px 6px;min-height:56px;background:none;border:none;cursor:pointer;text-decoration:none;color:var(--sidebar-ink);font:inherit;font-size:10.5px;font-weight:500;-webkit-tap-highlight-color:transparent}.tabbar .ico{font-size:20px;line-height:1;filter:grayscale(.6);opacity:.75}.tabbar .lbl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar .active{color:var(--gold);font-weight:700}.tabbar .active .ico{filter:none;opacity:1}.main{padding:18px 16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(80px + env(safe-area-inset-bottom))}.main h2{font-size:20px}}@media (max-width: 520px){.week-grid{grid-template-columns:1fr}.toolbar input,.toolbar select{min-width:0;width:100%}.toolbar{flex-direction:column;align-items:stretch}.kpi .value{font-size:22px}}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}.seg button{border:none;background:none;padding:8px 16px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;border-radius:0}.seg button:hover{color:var(--gold-dark)}.prod-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.prod-legend{font-size:12px;color:var(--ink-soft);margin-left:auto}.prod-legend b{color:var(--ink);font-weight:700}.prod-week-wrap{overflow-x:auto}.prod-week{border-collapse:separate;border-spacing:0;width:100%}.prod-week th,.prod-week td{border-bottom:1px solid var(--line)}.prod-week .prod-corner,.prod-week .prod-item{position:sticky;left:0;z-index:2;background:var(--card);text-align:left;min-width:150px;max-width:200px;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:600}.prod-week thead .prod-corner{z-index:3}.prod-item.clickable{cursor:pointer}.prod-item.clickable:hover{color:var(--gold-dark)}.prod-unmapped{color:var(--gold);margin-left:5px;font-weight:700}.prod-day{text-align:center;padding:6px 8px;min-width:96px}.prod-day .dow{display:block;font-size:10px;letter-spacing:.08em}.prod-day .dnum{display:block;font-size:12px;color:var(--ink);font-weight:700;text-transform:none}.prod-day.today{background:#fdf4e3}.prod-day.today .dnum,.prod-day.future .dnum{color:var(--gold-dark)}.prod-day.clickable{cursor:pointer}.prod-day.clickable:hover{background:#fdf4e3}.prod-cat td,td.prod-cat{font-weight:700;background:#f5f0e7;font-size:13px;padding:6px 10px}.prod-td{padding:3px 4px;vertical-align:top}.prod-cell{display:flex;flex-direction:column;gap:1px;border-radius:6px;padding:3px 4px}.prod-cell.recon-ok{background:#3d7a4f17;box-shadow:inset 2px 0 0 var(--green)}.prod-cell.recon-warn{background:#b0413e17;box-shadow:inset 2px 0 0 var(--red)}.pc-line{display:flex;align-items:center;gap:4px}.pc-l{width:11px;font-size:10px;font-weight:700;color:var(--ink-soft);flex:none}.pc-in{width:100%;min-width:44px;padding:2px 5px!important;font-size:12px;text-align:right}.pc-v{flex:1;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;padding-right:5px}.recon-cell.recon-ok{color:var(--green)}.recon-cell.recon-warn{color:var(--red);font-weight:700}@media (prefers-color-scheme: dark){.prod-day.today,.prod-day.clickable:hover{background:#c8963e24}.prod-cat td,td.prod-cat{background:#c8963e1a}}.plan-intro h3{margin:0 0 2px;font-size:18px}.plan-intro p{margin:0 0 14px;font-size:13.5px}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.plan-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nav-pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.nav-pill button{background:none;border:0;padding:7px 14px;font-size:18px;line-height:1;color:var(--ink-soft);cursor:pointer}.nav-pill button:hover{color:var(--gold-dark);background:#fbf5ea}.nav-pill span{min-width:130px;text-align:center;font-weight:600;font-size:14px}.plan-total{font-size:14px;color:var(--ink-soft)}.plan-total strong{color:var(--ink)}button.ghost.small{padding:5px 10px;font-size:12px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.seg button{background:none;color:var(--ink-soft);border:0;border-radius:0;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--gold);color:#fff}.plan-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.plan-table{width:100%;border-collapse:collapse;min-width:900px;font-size:13px}.plan-table th{text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink-soft);padding:12px 8px;text-align:center;border-bottom:1px solid var(--line);background:#fff}.plan-table td{padding:8px 6px;text-align:center;vertical-align:middle;border-bottom:1px solid #f1eadf}.plan-table tbody.pt-block{border-top:2px solid var(--line)}.plan-table tbody.pt-block tr:last-child td{border-bottom:0}.pt-group{text-align:left!important;vertical-align:top!important;width:150px;padding:12px 14px!important;border-right:1px solid var(--line);background:#fdfbf8!important}th.pt-group,th.pt-name{font-size:14px;color:var(--ink-soft)}.pt-gname{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--crust);margin-bottom:3px}.pt-gmeta{display:block;font-size:12px;color:var(--ink-soft);line-height:1.5}.pt-name{text-align:left!important;padding-left:14px!important;font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;width:1%}.plan-table tbody tr:hover td:not(.pt-group){background:#fdf8ef}.pt-day{cursor:pointer;white-space:nowrap}.pt-day:hover{color:var(--gold-dark)}.pt-day .dlabel{display:block;font-size:14px;color:var(--ink);font-weight:600;text-transform:capitalize}.pt-day .dsub{display:block;font-size:11px;font-weight:400;color:var(--ink-soft);margin-top:2px}.plan-table .today{background:#fbf2e1!important}.pt-day.today .dlabel{color:var(--gold-dark)}.pt-cell{min-width:104px}.pt-off{color:#d9ccb9}.pt-chip{display:inline-block;padding:3px 9px;border-radius:8px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid;margin:1px 0}.pt-chip.part-ochtend,.tl-bar.part-ochtend{background:#fbf0dc;border-color:#ead3a6;color:var(--gold-dark)}.pt-chip.part-middag,.tl-bar.part-middag{background:#f4ebe1;border-color:#dcc6ae;color:var(--crust)}.pt-chip.part-avond,.tl-bar.part-avond{background:#ece6df;border-color:#cbbcab;color:var(--ink)}.pt-chip.tentative,.tl-bar.tentative{border-style:dashed;background:#fff}.pt-sum{text-align:right!important;padding-right:16px!important;font-weight:700;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;width:1%;white-space:nowrap}th.pt-sum{font-size:14px;color:var(--ink-soft)}.plan-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--ink-soft);align-items:center}.plan-legend i{display:inline-block;width:14px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:4px;border:1px solid}.plan-legend i.part-ochtend{background:#fbf0dc;border-color:#ead3a6}.plan-legend i.part-middag{background:#f4ebe1;border-color:#dcc6ae}.plan-legend i.part-avond{background:#ece6df;border-color:#cbbcab}.plan-legend i.tentative{border-style:dashed;border-color:var(--ink-soft);background:#fff}.plan-legend .muted{margin-left:auto}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}.day-strip button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;cursor:pointer}.day-strip button span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.day-strip button strong{font-size:15px}.day-strip button small{font-size:10px;color:var(--ink-soft)}.day-strip button.today{border-color:var(--gold)}.day-strip button.on{background:var(--gold);border-color:var(--gold);color:#fff}.day-strip button.on span,.day-strip button.on small{color:#fff8ec}.tl{display:flex;flex-direction:column;overflow-x:auto}.tl-row{display:grid;grid-template-columns:120px 1fr;align-items:center;min-width:560px}.tl-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.tl-name .muted{font-size:11px}.tl-track{position:relative;height:32px;margin-right:14px}.tl-axis .tl-track{height:18px}.tl-tick{position:absolute;transform:translate(-50%);font-size:10px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.tl-grid{position:absolute;top:0;bottom:0;border-left:1px dashed #efe6d9}.tl-bar{position:absolute;top:4px;bottom:4px;border-radius:8px;border:1px solid var(--line);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:center;padding:0 7px;white-space:nowrap;overflow:hidden}.tl-now{position:absolute;top:0;bottom:0;border-left:2px solid var(--red);z-index:2}.tl-cov-row{margin-top:6px;border-top:1px solid var(--line);padding-top:6px}.tl-cov{display:flex;height:22px;gap:1px}.tl-cov-cell{flex:1;background:var(--gold);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:2px}.tl-cov-cell.zero{background:transparent}.tl-cov-cell.low{background:var(--red)}@media (max-width: 860px){.plan-head{flex-direction:column;align-items:stretch}.plan-nav{justify-content:space-between}.plan-legend .muted{margin-left:0;width:100%}.tl-row{grid-template-columns:90px 1fr}.plan-table .pt-group{display:none}.plan-table .pt-name{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--line)}.plan-table tbody.pt-block{border-top-width:3px}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-head .page-sub{margin-bottom:16px}.page-range{font-size:13px;color:var(--ink-soft);white-space:nowrap;padding-top:8px;font-variant-numeric:tabular-nums}.subnav{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subnav::-webkit-scrollbar{display:none}.subnav button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap}.subnav button:hover{color:var(--ink)}.subnav button.on{color:var(--ink);border-bottom-color:var(--gold)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.pill-group{display:inline-flex;gap:6px;flex-wrap:wrap}.pill-group button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 14px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}.pill-group button:hover{border-color:var(--gold)}.pill-group button.on{background:var(--gold);border-color:var(--gold);color:#fff}select.filter-select{width:auto;min-width:0;padding:7px 10px;font-size:13.5px;border-radius:10px}.kt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kt{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:0}.kt-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.kt-value{font-size:28px;font-weight:700;margin:6px 0 4px;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kt-sub{display:flex;flex-wrap:wrap;gap:0 6px;font-size:12.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.kd{font-weight:600;color:var(--ink);white-space:nowrap}.kd.good{color:var(--green)}.kd.bad{color:var(--red)}.kt-note{font-size:12px;color:var(--ink-soft);margin:12px 0 20px;line-height:1.5}.side-card h3{margin:0}.side-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.side-head .muted{font-size:12px}button.link{background:none;border:0;padding:0;font:inherit;font-size:12.5px;color:var(--gold-dark);cursor:pointer;white-space:nowrap}button.link:hover{text-decoration:underline}.side-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:14px}.side-row+.side-row{border-top:1px solid #f1eadf}.side-row.on{background:#fbf2e1;border-top-color:transparent}.side-row.on+.side-row{border-top-color:transparent}.sr-main{flex:1;font-weight:600;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.side-row .muted{font-size:13px;white-space:nowrap}.sr-val{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px;text-align:right}.abs-tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:99px;background:#efe8dc;color:var(--ink-soft)}.abs-tag.k-sick{background:#f7e2e1;color:var(--red)}.abs-tag.k-leave{background:#fbf0dc;color:var(--gold-dark)}.abs-tag.k-unpaid{background:#ece6df;color:var(--crust)}.abs-table td.sick{color:var(--red);font-weight:700}.abs-table td.zero{color:#d9ccb9}.abs-table td:first-child{white-space:nowrap;font-weight:600}.td-sub{display:block;font-size:11px}.hbar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:8px;padding:6px 8px;font:inherit;color:inherit;cursor:pointer;text-align:left}.hbar-row:hover{background:#fdf8ef}.hbar-row.on{background:#fbf2e1}.hb-name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-track{height:10px;background:var(--cream);border-radius:99px;overflow:hidden}.hb-track span{display:block;height:100%;border-radius:99px}.hb-val{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink-soft);min-width:52px;text-align:right}@media (max-width: 860px){.kt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width: 520px){.main h2{font-size:22px}.page-head{flex-direction:column;gap:0}.page-head .page-sub{margin-bottom:4px;font-size:13px}.page-range{padding-top:0;margin-bottom:10px;font-size:12px}.subnav{margin:0 -16px 14px;padding:0 12px}.subnav button{padding:9px 10px;font-size:13.5px}.filter-bar{gap:8px;margin-bottom:14px}.pill-group{gap:4px;flex-wrap:nowrap;overflow-x:auto;max-width:100%}.pill-group button{padding:6px 10px;font-size:13px;white-space:nowrap}select.filter-select,.period-custom{width:100%}.period-custom input{flex:1;min-width:0}.kt-grid{gap:8px}.kt{padding:11px 12px;border-radius:12px}.kt-label{font-size:9.5px;letter-spacing:.06em}.kt-value{font-size:20px;margin:4px 0 2px}.kt-sub{font-size:11px}.kt-note{font-size:11px;margin:10px 0 14px}.card{padding:14px;margin-bottom:14px;border-radius:12px}.card h3{font-size:14px}.side-row{padding:8px 4px;font-size:13.5px;gap:8px}.side-row .muted{font-size:12px}.hbar-row{grid-template-columns:88px 1fr auto;gap:8px;padding:5px 2px}.cols-2{gap:0}.abs-table th,.abs-table td{padding:7px 6px}.day-detail-head{flex-wrap:wrap;gap:8px}}.wa-connect{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--card);border:1px solid var(--gold);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:14px}.wa-connect.ok{border-color:var(--line);font-size:13px;color:var(--ink-soft)}.wa-connect .error-msg,.wa-connect .muted{margin:0;flex-basis:100%;font-size:13px}.wa-src{font-size:11px;opacity:.75}.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.social-connect-head{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;flex-wrap:wrap}.page-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:6px}.page-pick button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.page-pick small{color:var(--ink-soft);font-weight:400}.badge.ps-draft,.social-chip.ps-draft,.swatch.ps-draft{background:#ece6dc;color:var(--ink-soft)}.badge.ps-pending_approval,.social-chip.ps-pending_approval,.swatch.ps-pending_approval{background:#fbe9c6;color:#8a5a00}.badge.ps-scheduled,.social-chip.ps-scheduled,.swatch.ps-scheduled,.badge.ps-publishing,.social-chip.ps-publishing{background:#dde8f6;color:#2a4f80}.badge.ps-published,.social-chip.ps-published,.swatch.ps-published{background:#dcefe1;color:var(--green)}.badge.ps-failed,.social-chip.ps-failed,.swatch.ps-failed{background:#f6dcdb;color:var(--red)}.social-grid{gap:4px}.social-day{border:1px solid var(--line);background:#fdfbf8;border-radius:8px;min-height:92px;padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0}.social-day.today{border-color:var(--gold)}.social-day-head{display:flex;align-items:center;justify-content:space-between}.social-day .dnum{font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center}.social-day.today .dnum{background:var(--gold);color:#fff}.social-add{background:none;border:0;color:var(--ink-soft);font-size:16px;line-height:1;cursor:pointer;opacity:0;padding:0 4px}.social-day:hover .social-add{opacity:1}.social-add:hover{color:var(--gold-dark)}.social-chip{display:flex;align-items:center;gap:4px;border:0;border-radius:5px;padding:2px 4px;font:inherit;font-size:11px;text-align:left;cursor:pointer;min-width:0}.social-chip img{width:16px;height:16px;border-radius:3px;object-fit:cover;flex-shrink:0}.social-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-line{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 2px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.post-line:last-child{border-bottom:0}.post-line:hover{background:#fbf5ea}.post-line img,.post-line-noimg{width:42px;height:42px;border-radius:6px;object-fit:cover;flex-shrink:0}.post-line-noimg{display:grid;place-items:center;background:#f4ecdd;color:var(--ink-soft);font-size:13px}.post-line-txt{flex:1;display:flex;flex-direction:column;min-width:0}.post-line-txt strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-line-txt .neg{color:var(--red);font-size:12px}.post-media{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.post-thumb{position:relative;width:92px;height:92px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#f4ecdd}.post-thumb img{width:100%;height:100%;object-fit:cover}.post-thumb.add{display:grid;place-items:center;border-style:dashed;color:var(--ink-soft);font:inherit;font-size:13px;cursor:pointer}.post-thumb.add:hover{border-color:var(--gold);color:var(--gold-dark)}.post-thumb-tools{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;background:#2d21188c}.post-thumb-tools button{background:none;border:0;color:#fff;font-size:11px;padding:3px 6px;cursor:pointer}.post-thumb-tools button:disabled{opacity:.3}.post-product{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);margin-bottom:12px}.post-product img{width:44px;height:44px;border-radius:6px;object-fit:cover}.post-prod-list{position:absolute;z-index:5;left:0;right:0;top:100%;margin-top:-8px;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #2d21181f;display:flex;flex-direction:column;max-height:260px;overflow-y:auto}.post-prod-list button{background:none;border:0;padding:8px 10px;text-align:left;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}.post-prod-list button:hover{background:#fbf5ea}.post-caption{min-height:150px;font-family:inherit}.post-preview{max-width:340px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#222;overflow:hidden;font-size:13px}.pp-head{display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:600}.pp-avatar{width:26px;height:26px;border-radius:50%;background:var(--sidebar);color:#fff;display:grid;place-items:center;font-size:10px}.pp-img{position:relative}.pp-img img{width:100%;display:block;aspect-ratio:4 / 5;object-fit:cover}.pp-count{position:absolute;top:8px;right:8px;background:#0009;color:#fff;border-radius:10px;padding:1px 7px;font-size:11px}.pp-caption{padding:8px 10px 12px;white-space:pre-wrap;max-height:160px;overflow:hidden}.post-foot{flex-wrap:wrap}.post-foot button{width:auto;margin-top:0}.social-legend{flex-wrap:wrap;gap:6px 14px}@media (max-width: 760px){.social-kpis{grid-template-columns:1fr 1fr;gap:10px}.social-kpis .kpi{padding:12px 14px}.page-head-row>button.primary{margin-top:0}.social-day{min-height:54px;padding:3px}.social-chip span{display:none}.social-chip{padding:2px}.social-add{opacity:1}}.seg-scroll{max-width:100%;overflow-x:auto}.seg-scroll button{white-space:nowrap}.seg-count{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;line-height:18px}.line-chart svg{display:block}.lc-axis{font-size:11px;fill:var(--ink-soft)}.best-bars{display:grid;gap:6px}.best-row{display:grid;grid-template-columns:38px 1fr 40px;align-items:center;gap:8px;font-size:13px}.best-bar{height:10px;background:var(--line);border-radius:99px;overflow:hidden}.best-bar i{display:block;height:100%;background:var(--gold);border-radius:99px}.social-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.social-item{display:flex;gap:12px;padding:12px;margin:0}.si-img{position:relative;flex:0 0 96px;height:120px;border-radius:8px;overflow:hidden;background:var(--line);display:grid;place-items:center;color:var(--ink-soft)}.si-img img{width:100%;height:100%;object-fit:cover}.si-plat{position:absolute;left:4px;top:4px;font-size:10px;font-weight:700;color:#fff;padding:1px 5px;border-radius:4px}.si-plat.facebook{background:#2e6480}.si-plat.instagram{background:#b0413e}.si-body{min-width:0;display:flex;flex-direction:column;gap:4px}.si-cap{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.si-stats{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--ink-soft)}.si-links{display:flex;gap:12px;font-size:12px;margin-top:auto}.linkish{background:none;border:0;padding:0;color:var(--gold-dark);cursor:pointer;font-size:12px;text-decoration:underline}.comment-card.done{opacity:.65}.cc-head{display:flex;gap:10px;align-items:flex-start}.cc-head img{width:40px;height:40px;border-radius:6px;object-fit:cover}.cc-head>div{flex:1;min-width:0}.cc-post{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-msg{margin:8px 0;white-space:pre-wrap}.cc-reply{margin:4px 0 4px 18px;padding:6px 10px;border-left:2px solid var(--line);font-size:13px}.cc-reply.mine{border-left-color:var(--gold);background:#fbf6ec}.cc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cc-actions input{flex:1 1 220px}.cc-actions button{width:auto}.cat-thumb{width:36px;height:36px;object-fit:cover;border-radius:6px}.inline-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.inline-check input{width:auto}.pos{color:var(--green);font-weight:600}.neg{color:var(--red)}.clients-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}@media (max-width: 860px){.clients-layout{grid-template-columns:1fr}}.clients-list{display:flex;flex-direction:column;gap:6px}.client-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink);font:inherit}.client-item span{font-size:12px}.client-item.on{border-color:var(--gold);box-shadow:0 0 0 2px #c8963e2e}.client-item.inactive{opacity:.55}.check{display:inline-flex;align-items:center;gap:6px;font-size:14px;margin:0}.check input,.toolbar .check input{width:auto;min-width:0;margin:0}.portal-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;background:var(--cream);border:1px dashed var(--gold);border-radius:8px;font-size:13px}.portal-link code{word-break:break-all;flex:1;min-width:200px}.search-pop{position:absolute;z-index:20;left:0;right:0;top:100%;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:320px;overflow:auto}.search-pop button{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;font-size:14px;color:var(--ink)}.search-pop button:hover{background:var(--cream)}.standing-grid{border-collapse:collapse;width:100%;font-size:14px}.standing-grid th,.standing-grid td{padding:4px;text-align:center;border-bottom:1px solid var(--line)}.standing-grid th{font-size:12px;color:var(--ink-soft);font-weight:600}.standing-grid input.num{width:58px;text-align:center;padding:6px 4px;margin:0}.portal{max-width:760px;margin:0 auto;padding:0 16px 40px}.portal-head{display:flex;align-items:center;gap:12px;background:var(--sidebar);color:#fff;margin:0 -16px 16px;padding:14px 16px}.portal-head img{width:36px;height:36px}.portal-head div{display:flex;flex-direction:column}.portal-head span{color:var(--sidebar-ink);font-size:13px}.portal-tabs{display:flex;gap:6px;margin-bottom:12px}.portal-tabs button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--card);font:inherit;font-weight:600;color:var(--ink-soft);cursor:pointer}.portal-tabs button.on{background:var(--gold);border-color:var(--gold);color:#fff}.day-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;scrollbar-width:thin}.day-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 6px;border-radius:10px;border:1px solid var(--line);background:var(--card);font:inherit;color:var(--ink);cursor:pointer}.day-chip .dl{font-size:12px;font-weight:600;text-transform:capitalize}.day-chip .dd{font-size:12px;color:var(--ink-soft)}.day-chip.on{border-color:var(--gold);box-shadow:0 0 0 2px #c8963e40}.day-chip.locked{opacity:.55}.dot{width:8px;height:8px;border-radius:50%;background:transparent;border:1px solid var(--line)}.dot.ok{background:var(--green);border-color:var(--green)}.dot.fixed{background:var(--gold);border-color:var(--gold)}.dot.none{background:var(--line)}.portal-dayhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.pill{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--cream);color:var(--ink-soft)}.pill.ok{background:#e3eee6;color:var(--green)}.pill.fixed{background:#f6e8cf;color:var(--gold-dark)}.portal-lines{display:flex;flex-direction:column;margin-bottom:12px}.portal-line{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.portal-line img,.portal-line .ph{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:0 0 44px;background:var(--cream);display:flex;align-items:center;justify-content:center}.portal-line.has .pl-name strong{color:var(--gold-dark)}.pl-name{flex:1;display:flex;flex-direction:column;min-width:0;font-size:14px}.pl-name span{font-size:12px}.stepper{display:flex;align-items:center;gap:4px}.stepper button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:18px;cursor:pointer;color:var(--ink)}.stepper button:disabled{opacity:.4;cursor:default}.stepper input{width:56px;text-align:center;margin:0;padding:7px 4px}.portal-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.portal-actions .primary{width:auto;margin:0;padding:10px 18px}.portal-foot{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:20px}
