@font-face{font-family:Mirai Carlito;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/carlito-400.ttf)format("truetype")}@font-face{font-family:Mirai Carlito;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/carlito-700.ttf)format("truetype")}@font-face{font-family:Mirai Play;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/play-700.ttf)format("truetype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8fc;--panel:#fff;--ink:#141a2f;--muted:#6b7286;--line:#d3daea;--blue:#eef2fa;--green:#e9f4ef;--amber:#fff3dc;--red:#a32323;--accent:#3d63c9;font:16px/1.45 Mirai Carlito,Calibri,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,input,select{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:8px 10px}button:hover{border-color:var(--accent);background:#f6f8fc}button:disabled{opacity:.4;cursor:default}input,select{width:100%;min-width:0}input[type=number]{font-variant-numeric:tabular-nums}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3,.day-title{font-family:Mirai Play,Calibri,Arial,sans-serif;font-weight:700}h1{font-size:28px;line-height:1.15}h2{font-size:19px}h3{font-size:16px}header{background:var(--panel);border-bottom:1px solid var(--line);padding:0 max(24px,50vw - 706px) 22px}.brand-strip{max-width:1100px;margin:0 auto;overflow:hidden}.brand-strip img{width:100%;height:auto;display:block}.header-content{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex;position:relative}.header-content:before{content:"";background:var(--accent);width:76px;height:3px;position:absolute;top:-2px;left:0}.eyebrow{color:var(--accent);letter-spacing:.055em;margin-bottom:7px;font-family:Mirai Play,Calibri,Arial,sans-serif;font-size:11px}.brand small{color:var(--muted);margin-top:6px;font-size:14px;font-style:italic;display:block}.actions{flex-wrap:wrap;gap:7px;font-size:14px;display:flex}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{color:#fff;background:#2d50ad}main{gap:16px;min-width:0;max-width:1460px;margin:auto;padding:24px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;min-width:0;padding:20px}.fields{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.fields label,.team label,.settings label{color:var(--muted);gap:5px;font-size:13px;display:grid}.qty{font-family:Mirai Play,Calibri,Arial,sans-serif;font-size:24px;font-weight:700}.team{grid-template-columns:repeat(var(--team-count,7),minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.team-member{min-width:0;color:var(--muted);grid-template-rows:auto 1fr;gap:5px;display:grid}.inventory-need{font-variant-numeric:tabular-nums;margin:5px 0 8px;font-size:18px;font-weight:600}.team-member-name{border:1px solid var(--line);background:var(--panel);overflow-wrap:anywhere;border-radius:4px;align-items:center;min-width:0;min-height:39px;padding:7px 8px;font-size:18px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.secondary{color:var(--muted);font-size:13px}.result{flex-wrap:wrap;align-items:baseline;gap:32px;display:flex}.result strong{font-family:Mirai Play,Calibri,Arial,sans-serif;font-size:25px;font-weight:700;display:block}.result span{color:var(--muted);font-size:13px}.notice{background:var(--amber);color:#674613;border-left:3px solid #b88c37;margin-top:12px;padding:11px 14px}.notice.ok{background:var(--green);color:#245443;border-color:#388364}.notice.error{border-color:var(--red);color:var(--red);background:#fee9e9}details>summary{cursor:pointer;font-family:Mirai Play,Calibri,Arial,sans-serif;font-weight:700}details[open]>summary{margin-bottom:14px}.settings{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.settings small{color:var(--muted)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.tabs button{font-size:14px}.tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}[hidden]{display:none!important}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.toolbar label{min-width:150px;color:var(--muted);gap:4px;font-size:13px;display:grid}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.legend i{background:var(--blue);border:1px solid var(--accent);border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.legend .machine{background:var(--green);border-color:#388364}.legend .external{background:var(--amber);border-color:#b88c37}.calendar-nav{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.calendar-nav button{width:42px;height:37px;font-size:19px;line-height:1}.calendar-nav select{min-width:190px}.scroll-hint{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.scroll-hint strong{color:var(--accent);font-weight:700}.week{isolation:isolate;overscroll-behavior-x:contain;scrollbar-color:#8d9ec7 #eef2fa;scrollbar-width:auto;border-bottom:1px solid var(--line);grid-auto-columns:310px;grid-auto-flow:column;align-items:start;gap:16px;width:100%;max-width:100%;max-height:min(850px,75vh);padding:0 0 12px;display:grid;position:relative;overflow:auto}.week:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.week::-webkit-scrollbar{width:10px;height:12px}.week::-webkit-scrollbar-track{background:#eef2fa}.week::-webkit-scrollbar-thumb{background:#8d9ec7;border:2px solid #eef2fa;border-radius:6px}.week::-webkit-scrollbar-thumb:hover{background:var(--accent)}.day{min-width:0}.day-title{text-align:left;background:var(--ink);color:#fff;z-index:2;margin-bottom:8px;padding:11px 13px;font-size:16px;position:sticky;top:0}.day-title small{color:#d3daea;margin-top:3px;font-family:Mirai Carlito,Calibri,Arial,sans-serif;font-size:12px;font-weight:400;display:block}.event{border:1px solid #0000;border-left:3px solid var(--accent);background:var(--blue);text-align:left;border-radius:3px;flex-direction:column;gap:4px;min-width:0;padding:7px 8px;font-size:13px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.event:hover{border-color:var(--accent);background:#e5ebf8}.event[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.event b{font-weight:700}.event .who{white-space:nowrap;text-overflow:ellipsis;color:var(--accent);font-size:12px;font-weight:700;overflow:hidden}.event .when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.bands{gap:6px;margin:9px 0 0 40px;display:grid}.band{width:100%;min-height:55px;position:static;overflow:visible}.machine{background:var(--green);border-left-color:#388364}.machine .who{color:#28674d}.external,.wait{background:var(--amber);border-left-color:#b88c37}.external .who,.wait .who{color:#815d1e}.people{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.empty{color:var(--muted);padding:15px 0;font-size:13px}.hour-row{border-top:1px solid var(--line);grid-template-columns:40px minmax(0,1fr);min-height:68px;padding:5px 0;display:grid}.hour-time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:5px;font-size:12px}.hour-stack{align-content:start;gap:5px;display:grid}.hour-stack .event{width:100%;min-height:50px;position:static;overflow:visible}.hour-stack .event .when{display:block}.hour-stack .event .who{white-space:normal;overflow-wrap:anywhere}.day-note{color:var(--muted);margin-top:6px;margin-left:40px;font-size:12px}.selected{border-left:3px solid var(--accent);background:var(--blue);grid-template-columns:2fr 1fr 1fr;align-items:start;gap:15px;margin-top:18px;padding:15px;display:grid}.selected label{color:var(--muted);gap:4px;font-size:13px;display:grid}.selected b{font-weight:700}.selected .crew{flex-wrap:wrap;grid-column:1/-1;gap:12px;font-size:13px;display:flex}.crew label{color:var(--ink);align-items:center;gap:4px;display:flex}.crew input{width:auto}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 9px}th{color:#fff;background:var(--ink);font-weight:700}tbody tr:nth-child(2n){background:#f6f8fc}table input,table select{min-width:80px;padding:6px}table .amount{width:90px}.norm-name{min-width:220px}.estimate{background:var(--amber);color:#674613;border-radius:2px;margin-top:4px;padding:1px 5px;font-size:12px;display:inline-block}.danger{color:var(--red)}.progress-row{color:var(--muted);margin-top:12px;font-size:13px}.checkbox-row{align-items:center;gap:7px;margin:10px 0;font-size:14px;display:flex}.checkbox-row input{width:auto}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.audit{color:var(--muted);margin-top:12px;font-size:13px}.guide p{margin:8px 0}.guide ol{padding-left:22px}.guide li{margin-bottom:7px}.guide h3{margin-top:14px}.print-only{display:none}#toast{background:var(--ink);color:#fff;z-index:10;border-radius:4px;max-width:calc(100vw - 32px);padding:10px 15px;position:fixed;bottom:16px;right:16px}footer{color:var(--muted);border-top:1px solid var(--line);padding:12px 0;font-size:13px}@media (width<=1050px){.team{grid-template-columns:repeat(4,minmax(0,1fr))}.people{grid-template-columns:repeat(2,minmax(0,1fr))}.result{gap:18px 24px}}@media (width<=700px){main,.panel{padding:12px}.fields,.team,.settings{grid-template-columns:repeat(2,minmax(0,1fr))}.people{grid-template-columns:1fr}.week{grid-auto-columns:min(310px,100vw - 60px);max-height:72vh}.selected{grid-template-columns:1fr}.selected .crew{grid-column:auto}.checks{grid-template-columns:1fr}input,select{font-size:16px}.result{gap:12px 22px}header{padding:0 16px 18px}.brand-strip img{width:760px;max-width:none}.header-content{padding-top:15px}h1{font-size:24px}.actions{gap:6px}.calendar-nav{width:100%}.calendar-nav label{flex:1;min-width:100px}.calendar-nav select{min-width:0}.scroll-hint{font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff}header,main>.panel,footer,#toast{display:none!important}main{padding:0;display:block}.print-only{display:block!important}table{font-size:9px}th,td{padding:5px}tr{break-inside:avoid}thead{display:table-header-group}h1{font-size:20px}}.planner-board{grid-template-columns:250px minmax(0,1fr);gap:14px;min-width:0;display:grid}.backlog-column{border:1px solid var(--line);background:#f6f8fc;flex-direction:column;min-width:0;max-height:min(850px,75vh);display:flex}.backlog-heading{background:var(--blue);border-bottom:2px solid var(--accent);padding:12px}.backlog-heading h3{font-size:16px}.backlog-heading p{color:var(--muted);margin-top:5px;font-size:12px}.backlog-list{align-content:start;gap:8px;min-height:100px;padding:9px;display:grid;overflow:auto}.backlog-list .event{width:100%;min-height:68px;position:static}.backlog-list .event.blocked{border-left-color:#b88c37}.schedule-column{min-width:0}.editing-toolbar{flex-wrap:wrap;gap:7px;margin-bottom:13px;display:flex}.editing-toolbar button{font-size:14px}.event{cursor:grab;position:relative!important}.event.dragging{opacity:.4}.drag-handle{cursor:grab;touch-action:none;color:var(--muted);padding:4px 7px;font-size:15px;position:absolute;top:2px;right:2px}.event b{padding-right:15px}.drop-slot{transition:background .1s}.drop-slot.drag-over,.backlog-column.drag-over{box-shadow:inset 0 0 0 2px var(--accent);background:#dce7ff}.drop-hint{color:var(--muted);opacity:0;font-size:10px}.hour-row:hover .drop-hint,body.is-dragging .drop-hint{opacity:1}.shift-label{color:var(--muted);padding:10px 0 5px;font-size:12px;font-weight:700}.task-row-button{text-align:left;color:var(--accent);background:0 0;border:0;padding:0;font-size:13px}.backlog-reason{color:#815d1e;font-size:11px}.editor-shortcuts{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.editor-shortcuts button{font-size:13px}.conflicts{background:#fff0eb;border-left:3px solid #bd5741;margin-top:12px;padding:12px;font-size:13px}.conflicts summary{color:#953c2b}.conflicts li{margin-top:5px}.backlog-summary{margin-top:12px}.task-dialog{border:1px solid var(--line);border-top:4px solid var(--accent);width:calc(100vw - 28px);max-width:560px;max-height:90vh;color:var(--ink);background:#fff;border-radius:6px;padding:22px;overflow:auto}.task-dialog::backdrop{background:#141a2f88}.task-dialog h2{margin-bottom:6px}.task-dialog .dialog-fields{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.task-dialog label{color:var(--muted);gap:5px;font-size:14px;display:grid}.task-dialog .full{grid-column:1/-1}.task-dialog textarea{font:inherit;border:1px solid var(--line);resize:vertical;width:100%;min-height:65px;padding:9px}.dialog-actions{flex-wrap:wrap;gap:7px;display:flex}.task-dialog .editor-message{color:#953c2b;margin:10px 0;font-size:13px}.drag-ghost{z-index:100;pointer-events:none;opacity:.92;width:240px;max-height:140px;overflow:hidden;box-shadow:0 4px 20px #141a2f44;position:fixed!important}.edit-mark{color:var(--accent);font-size:11px}@media (width<=700px){.planner-board{grid-template-columns:1fr}.backlog-column{max-height:260px}.backlog-list{min-height:60px}.task-dialog{padding:16px}.task-dialog .dialog-fields{gap:9px}.editing-toolbar{gap:6px}.drag-handle{padding:7px 10px}.event b{padding-right:25px}}.people{overscroll-behavior-x:contain;scrollbar-color:#8d9ec7 #eef2fa;grid-template-columns:none;grid-auto-columns:310px;grid-auto-flow:column;width:100%;max-width:100%;max-height:min(850px,75vh);padding-bottom:12px;position:relative;overflow:auto}.people .day-title{z-index:2;position:sticky;top:0}@media (width<=700px){.people{grid-template-columns:none;grid-auto-columns:min(310px,100vw - 60px);max-height:72vh}}.fields{align-items:start}.fields>label{grid-template-rows:36px 64px;align-content:start}.fields>label>input{box-sizing:border-box;height:64px}.size-picker{margin-top:12px}.size-picker>summary{font-size:15px}.size-picker #insole-pairs{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:12px 0;display:grid}.size-picker label{color:var(--muted);gap:5px;font-size:13px;display:grid}.size-picker input{box-sizing:border-box;height:44px}.size-picker #insole-pairs-status{margin-top:10px}.size-field{gap:6px;min-width:0;display:grid}.size-stepper{border:1px solid var(--line);background:var(--panel);border-radius:5px;grid-template-columns:minmax(0,1fr) 48px;display:grid;overflow:hidden}.size-picker .size-stepper input{appearance:textfield;border:0;border-radius:0;width:100%;min-width:0;height:88px;font-size:22px}.size-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.size-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.size-stepper-buttons{border-left:1px solid var(--line);grid-template-rows:44px 44px;display:grid}.size-stepper-buttons button{touch-action:manipulation;background:#f3f6fb;border:0;border-radius:0;min-width:44px;min-height:44px;padding:0;font-size:18px}.size-stepper-buttons button+button{border-top:1px solid var(--line)}.size-stepper-buttons button:hover{background:#e1e9f5}.size-stepper:focus-within{outline:2px solid var(--accent);outline-offset:2px}#inventory tr.inventory-shortage>td{background:#fff0f0;border-bottom-color:#edb5b5}#inventory tr.inventory-shortage>td:first-child{box-shadow:inset 4px 0 #c73535}#inventory .shortage-label{color:#a82020;margin-bottom:4px;font-weight:700}#inventory tr.inventory-shortage .danger{color:#a82020;font-weight:700}#view-printed table{min-width:1600px}#view-printed td,#view-printed th{text-align:center;white-space:nowrap}#view-printed tbody th{z-index:1;position:sticky;left:0}#view-printed .printed-total{color:var(--ink);border-left:2px solid var(--line);background:#ecf1f7;font-weight:700}.centered{place-items:center;min-height:100vh;padding:24px;display:grid}.login{text-align:center;gap:14px;max-width:460px;display:grid}.login img{width:100%;height:auto}.button-link{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:4px;justify-content:center;align-items:center;padding:8px 10px;text-decoration:none;display:inline-flex}.button-link:hover{border-color:var(--accent);background:#f6f8fc}.button-link.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button-link.primary:hover{background:#2d50ad}.plan-name{background:0 0;border-color:#0000;max-width:420px;margin-top:8px;margin-left:-6px;padding:4px 6px;font-size:17px;font-weight:700}.plan-name:hover,.plan-name:focus{border-color:var(--line);background:var(--panel)}.user-menu{align-items:center;gap:7px;margin-left:6px;display:inline-flex}.user-menu .secondary{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.plans-table a{color:var(--accent)}.plans-table td{vertical-align:middle}.row-actions{white-space:nowrap;text-align:right}.row-actions button+button{margin-left:6px}button.danger{color:var(--red)}#inventory .inventory-input{font-variant-numeric:tabular-nums;max-width:140px;margin:5px 0 8px;font-size:18px;font-weight:600}#inventory .inventory-input.shortage-label{border-color:#edb5b5}#view-printed .printed-cell{background:#f4f6fa;padding:0}#view-printed .printed-cell.yes{background:#e9f6ed}#view-printed .printed-cell.no{background:#fff0f0}#view-printed .printed-cell button{background:0 0;border:0;border-radius:0;width:100%;min-height:38px;font-size:13px}#view-printed .printed-cell button:hover{box-shadow:inset 0 0 0 2px var(--accent)}#view-printed .printed-cell span{justify-content:center;align-items:center;min-height:38px;padding:0 9px;font-size:13px;display:flex}#inventory .inventory-value{font-variant-numeric:tabular-nums;margin:5px 0 8px;font-size:18px;font-weight:600}#inventory .inventory-value.secondary{font-size:13px;font-weight:400}@media print{.print-only{display:block!important}}#hardware .hardware-stats{margin-bottom:6px}#hardware .hardware-toolbar{align-items:center;margin-top:16px}#hardware .hardware-toolbar input{flex:1;min-width:200px;max-width:460px}#hardware .hardware-toolbar select{width:auto}#purchases{min-width:1200px}#purchases td{vertical-align:middle}#purchases td:first-child{min-width:260px}#purchases.editing td:nth-child(2){min-width:200px}#purchases a{color:var(--accent);text-decoration:none}#purchases .number,#purchases .amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#purchases .remove{background:0 0;border:0;padding:2px 8px;font-size:18px}.purchase-status{white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:13px;display:inline-block}select.purchase-status{min-width:130px;padding:6px}.purchase-status.planned{color:#8b6000;background:#fff0cc}.purchase-status.ordered{color:#285aaf;background:#dce9ff}.purchase-status.received{color:#733ca3;background:#ecdcf5}.purchase-status.rejected{color:#a32323;background:#fbe1df}#hardware .hardware-foot{margin-top:12px}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.reference-card{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;padding:18px}.reference-card h3{color:var(--accent);margin-bottom:10px}.reference-card dt{color:var(--muted);margin-top:12px;font-size:13px}.reference-card dd{white-space:pre-line;margin:3px 0 0}.reference-card .uncertain{background:var(--amber);color:#674613;margin-top:14px;padding:8px 11px;font-size:13px}@media (width<=1050px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.reference-grid{grid-template-columns:1fr}#hardware .hardware-toolbar input{max-width:none}}
