@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#202722;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#fbfcf8;--paper-raised:#fff;--canvas:#eef0eb;--ink:#202722;--ink-soft:#606a62;--ink-faint:#626d65;--rule:#28352c21;--rule-strong:#28352c38;--safety:#b8ef62;--safety-dark:#294a20;--amber:#f2b84b;--danger:#b83d31;--base-unit:4px;background:#eef0eb;font-family:Manrope,sans-serif}*{box-sizing:border-box;letter-spacing:0}body{min-width:0;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #5d8f324d}#root{min-width:0;min-height:100vh}.app-shell{background:var(--canvas);min-height:100vh}.command-bar{border-bottom:1px solid var(--rule);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eef0ebf0;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.brand-lockup,.leader-profile,.brand-lockup>div:last-child,.leader-profile>div{align-items:center;display:flex}.brand-lockup,.leader-profile{gap:12px}.brand-lockup>div:last-child,.leader-profile>div{flex-direction:column;align-items:flex-start;line-height:1.15}.brand-lockup strong{font-size:15px;font-weight:800}.brand-lockup span,.leader-profile span{color:var(--ink-faint);text-transform:capitalize;font-size:11px}.leader-profile strong{font-size:12px}.brand-mark{background:var(--ink);width:36px;height:36px;color:var(--safety);border-radius:6px;place-items:center;font-weight:800;display:grid}.live-dot{background:#68a43e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #68a43e1f}.icon-button{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:6px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button:hover{border-color:var(--rule-strong);background:#ffffffa6}.workspace{max-width:1500px;margin:0 auto;padding:36px 32px 56px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.eyebrow{color:var(--ink-faint);text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:800;line-height:1.2}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:32px;font-weight:800;line-height:1.1}h2{margin-bottom:0;font-size:18px;font-weight:800;line-height:1.25}.primary-button,.secondary-button,.assign-button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:12px;font-weight:800;display:inline-flex}.primary-button{background:var(--ink);color:#fff}.primary-button:hover{background:#101511}.primary-button:disabled,.assign-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{border-color:var(--rule-strong);background:0 0}.secondary-button:hover{background:var(--canvas)}.summary-strip{border:1px solid var(--rule);background:var(--paper);border-radius:8px;grid-template-columns:repeat(4,1fr);min-height:76px;margin-bottom:16px;display:grid;overflow:hidden}.summary-strip>div{border-right:1px solid var(--rule);grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:16px 20px;display:grid}.summary-strip>div:last-child{border-right:0}.summary-strip svg{color:var(--ink-faint)}.summary-strip span{color:var(--ink-soft);font-size:11px}.summary-strip strong{font-size:21px}.summary-strip .shift-status strong{color:var(--safety-dark);font-size:13px}.board-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.roster-panel,.assignment-panel{background:var(--paper);border:1px solid var(--rule);border-radius:8px}.roster-panel{min-width:0;overflow:hidden}.section-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:18px 20px;display:flex}.search-field{border:1px solid var(--rule);width:min(270px,45%);height:38px;color:var(--ink-faint);background:#e9ece6;border-radius:6px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.roster-table{width:100%}.roster-row{border:0;border-bottom:1px solid var(--rule);text-align:left;background:0 0;grid-template-columns:minmax(190px,1.5fr) minmax(100px,.7fr) minmax(78px,.55fr) minmax(82px,.55fr) 68px;align-items:center;gap:12px;width:100%;min-height:70px;padding:0 20px;font-size:12px;display:grid}.roster-row[tabindex]{cursor:pointer}.roster-row[tabindex]:hover,.roster-row.selected{background:#f5f8f0}.roster-row.selected{box-shadow:inset 3px 0 var(--safety-dark)}.roster-row:last-child{border-bottom:0}.roster-head{min-height:38px;color:var(--ink-faint);text-transform:uppercase;background:#f6f7f3;font-size:10px;font-weight:800}.employee-cell{align-items:center;gap:11px;min-width:0;display:flex}.employee-cell input,.employee-head input{width:16px;height:16px;accent-color:var(--safety-dark);cursor:pointer;margin:0}.employee-head{align-items:center;gap:11px;display:flex}.employee-cell>i{background:#dfe5db;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-style:normal;font-weight:800;display:grid}.employee-cell b{text-overflow:ellipsis;flex-direction:column;min-width:0;font-size:12px;display:flex;overflow:hidden}.employee-cell small{color:var(--ink-faint);text-overflow:ellipsis;margin-top:3px;font-size:10px;font-weight:500;overflow:hidden}.mono{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.status-pill{width:fit-content;color:var(--safety-dark);background:#b8ef6238;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.status-pill i{background:#68a43e;border-radius:50%;width:6px;height:6px}.status-pill.warning{color:#78551b;background:#f2b84b2e}.status-pill.warning i{background:var(--amber)}.row-actions{color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:5px;display:flex}.roster-row.disabled-row{cursor:not-allowed;opacity:.68}.table-action{background:var(--paper-raised);width:32px;height:32px}.employee-menu{border:1px solid var(--rule);background:var(--paper);width:180px;color:var(--ink);border-radius:6px;margin:0;padding:4px;position:fixed;inset:auto;box-shadow:0 8px 24px #0002}.employee-menu button{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px;font-size:12px;display:flex}.employee-menu button:hover{background:var(--canvas)}.employee-details{color:var(--ink);padding:0}.employee-details::backdrop{background:#191f1a85}.employee-details dl{gap:16px;margin:0;padding:22px;display:grid}.employee-details dl>div{grid-template-columns:120px minmax(0,1fr);gap:12px;font-size:13px;display:grid}.employee-details dt{color:var(--ink-faint)}.employee-details dd{overflow-wrap:anywhere;margin:0}.empty-state{min-height:300px;color:var(--ink-faint);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state strong{color:var(--ink);margin-top:12px;font-size:13px}.empty-state span{margin-top:4px;font-size:11px}.assignment-panel{padding:20px;position:sticky;top:88px}.assignment-panel>header{border-bottom:1px solid var(--rule);padding-bottom:18px}.rail-person{grid-template-columns:24px 1px 1fr;align-items:stretch;gap:14px;min-height:90px;padding:18px 0;display:grid}.rail-person>span,.select-label>span{color:var(--ink-faint);padding-top:2px;font-family:JetBrains Mono,monospace;font-size:10px}.rail-line{background:var(--rule-strong);position:relative}.rail-line:before,.rail-line:after{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px;position:absolute;left:-3px}.rail-line:before{top:0}.rail-line:after{background:var(--safety-dark);bottom:0}.rail-person>div:last-child{flex-direction:column;display:flex}.rail-person small,.rail-person em{color:var(--ink-faint);font-size:10px;font-style:normal}.rail-person strong{margin:4px 0;font-size:13px}.rail-person em{font-family:JetBrains Mono,monospace}.select-label{color:var(--ink-faint);text-transform:uppercase;grid-template-columns:24px 1fr;align-items:start;gap:15px;margin-bottom:14px;font-size:10px;font-weight:800;display:grid}.select-label select{border:1px solid var(--rule);width:100%;height:40px;color:var(--ink);background:#e9ece6;border-radius:6px;outline:0;margin-top:7px;padding:0 10px;font-size:11px}.task-ticket{background:var(--ink);color:#fff;border-radius:6px;padding:16px}.task-ticket>div:first-child{color:var(--safety);text-transform:uppercase;justify-content:space-between;font:600 9px JetBrains Mono,monospace;display:flex}.task-ticket>strong{margin-top:20px;font-size:16px;display:block}.task-ticket>p{color:#aeb7b0;margin:4px 0 16px;font-size:10px}.task-ticket dl{border-top:1px dashed #fff3;grid-template-columns:repeat(3,1fr);margin:0;padding-top:12px;display:grid}.task-ticket dl div{flex-direction:column;display:flex}.task-ticket dt{color:#8f9992;font-size:9px}.task-ticket dd{margin:4px 0 0;font:600 11px JetBrains Mono,monospace}.assign-button{background:var(--safety);color:#1c3118;width:100%;margin-top:12px}.assign-button svg:last-child{margin-left:auto}.assign-button:hover{background:#c6f77a}.dispatch-actions{gap:8px;margin-top:12px;display:grid}.dispatch-actions .assign-button{margin-top:0}.marketplace-button{border:1px solid var(--rule-strong);background:var(--paper-raised);min-height:42px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:800;display:inline-flex}.marketplace-button:hover{background:#fff}.marketplace-button:disabled{opacity:.5;cursor:not-allowed}.recent-assignments{margin-bottom:20px;padding:0}.recent-assignments h2{margin:0 0 12px;font-size:18px}.recent-assignments>div,.assignment-columns{border-bottom:1px solid var(--rule);grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(110px,.7fr) minmax(140px,.8fr) 36px;align-items:center;gap:20px;min-height:88px;padding:16px 12px;display:grid}.recent-assignments>div>i{background:var(--safety-dark);border-radius:50%;width:7px;height:7px}.recent-assignments>div>span{overflow-wrap:anywhere;flex-direction:column;display:flex}.recent-assignments strong{font-size:14px}.recent-assignments small,.recent-assignments time,.muted-line{color:var(--ink-faint);font-size:12px}.recent-assignments .status-pill{margin:4px 0;font-size:12px}.recent-assignments time{text-align:right;max-width:78px}.revoke-assignment{border:1px solid var(--rule-strong);background:var(--paper-raised);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:6px;place-items:center;display:grid}.revoke-assignment:disabled{opacity:.5;cursor:not-allowed}.login-shell{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--rule);background:#fff;border-radius:12px;flex-direction:column;width:min(100%,400px);padding:clamp(32px,5vw,48px);display:flex}.login-panel .brand-mark{margin-bottom:28px}.login-panel h1{margin-bottom:30px;font-size:30px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label,.employee-form label{color:var(--ink-soft);text-transform:uppercase;flex-direction:column;gap:7px;font-size:10px;font-weight:800;display:flex}.login-form input,.employee-form input{border:1px solid var(--rule);width:100%;height:44px;color:var(--ink);text-transform:none;background:#e9ece6;border-radius:6px;outline:0;padding:0 12px;font-size:13px}.login-button{margin-top:6px}.loading-screen{justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.error-banner{z-index:100;width:min(520px,100% - 28px);min-height:44px;color:var(--danger);background:#fff4f1;border:1px solid #b83d314d;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 10px 10px 14px;font-size:11px;font-weight:700;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #2b1a151f}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0}.toast{z-index:90;background:var(--ink);color:#fff;border-radius:6px;align-items:center;gap:9px;min-height:44px;padding:0 15px;font-size:11px;font-weight:700;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 34px #141e1638}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#191f1a85;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid #ffffff80;border-radius:8px;width:min(570px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 70px #121a1442}.modal-small{width:min(460px,100%)}.modal-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:82px;padding:18px 22px;display:flex}.employee-form{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.field-wide{grid-column:1/-1}.password-field{display:flex;position:relative}.password-field input{padding-right:94px;font-family:JetBrains Mono,monospace}.password-field button{border:1px solid var(--rule);background:var(--paper-raised);height:34px;color:var(--safety-dark);cursor:pointer;border-radius:5px;padding:0 9px;font-size:10px;font-weight:800;position:absolute;top:5px;right:5px}.modal-actions{justify-content:flex-end;gap:8px;padding-top:5px;display:flex}.credential-sheet{text-align:center;padding:32px}.credential-sheet>svg{color:#5d8f32}.credential-sheet>p{color:var(--ink-soft);margin:8px 0 22px;font-size:12px}.credential-sheet dl{border:1px solid var(--rule);border-radius:6px;margin:0 0 20px;overflow:hidden}.credential-sheet dl div{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:58px;padding:10px 14px;display:flex}.credential-sheet dl div:last-child{border-bottom:0}.credential-sheet dt{color:var(--ink-faint);font-size:10px}.credential-sheet dd{margin:0;font:600 13px JetBrains Mono,monospace}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1050px){.board-grid{grid-template-columns:1fr}.assignment-panel{position:static}}@media (width<=760px){.command-bar{height:64px;padding:0 16px}.leader-profile>div{display:none}.workspace{padding:24px 14px 40px}.page-heading{align-items:center}h1{font-size:26px}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.section-header{flex-direction:column;align-items:flex-start}.search-field{width:100%}.roster-table{overflow-x:auto}.roster-row{min-width:720px}.employee-form{grid-template-columns:1fr}.field-wide{grid-column:auto}}@media (width<=480px){.page-heading .primary-button{width:42px;padding:0;font-size:0}.summary-strip>div{grid-template-columns:20px 1fr auto;padding:13px}.summary-strip strong{font-size:17px}.login-panel{padding:32px 22px}.modal-backdrop{padding:10px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}[hidden]{display:none!important}.desk-tabs{border-bottom:1px solid var(--rule-strong);gap:24px;margin:24px 0;display:flex}.desk-tabs button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:14px 2px;font-size:13px;font-weight:700;display:flex}.desk-tabs button[aria-pressed=true]{border-bottom-color:var(--safety-dark);color:var(--ink)}.desk-tabs button:hover{color:var(--safety-dark)}.desk-tabs button>span{background:var(--paper);border-radius:4px;padding:2px 6px;font-size:11px}.assignment-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.assignment-toolbar h2{margin:0 auto 0 0}.assignment-toolbar select{border:1px solid var(--rule-strong);max-width:100%;min-height:38px;color:var(--ink);background:var(--paper);border-radius:6px;padding:0 10px;font-size:12px}.assignment-columns{min-height:36px;color:var(--ink-soft);background:var(--paper);padding-block:10px;font-size:11px;font-weight:700}.assignment-person,.assignment-state{gap:5px}.assignment-row:hover{background:var(--paper)}.status-pill[data-status=in_progress]{color:#175777;background:#e1eef5}.status-pill[data-status=active]{color:#43504a;background:#e1e7e3}.assignment-progress progress{width:100%;height:6px;accent-color:var(--safety-dark);margin-top:8px}.assignment-empty{text-align:center;color:var(--ink-soft);padding:48px 16px}.history-calendar{max-width:620px;margin:0 0 24px}.history-calendar header{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.history-calendar label{color:var(--ink-soft);gap:6px;font-size:12px;display:grid}.history-calendar input{border:1px solid var(--rule-strong);background:var(--paper);max-width:100%;min-height:42px;color:var(--ink);border-radius:6px;padding:0 10px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-grid>span{text-align:center;color:var(--ink-soft);padding:6px 0;font-size:11px}.calendar-grid button{border:1px solid var(--rule);background:var(--paper);min-width:0;min-height:44px;color:var(--ink);cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;display:flex}.calendar-grid button small{min-height:14px;color:var(--safety-dark);font-size:10px;font-weight:800}.calendar-grid button:hover{border-color:var(--safety-dark)}.history-calendar button[aria-pressed=true]{background:#e1eef5;border-color:#175777}.recent-assignments:has(.assignment-row) .assignment-empty{display:none}.selection-count{color:var(--ink-soft);margin:5px 0 0;font-size:12px}.roster-panel{border:0;border-radius:0}.assignment-panel{border:0;border-left:1px solid var(--rule);background:0 0;border-radius:0}.section-header{gap:12px;padding-inline:12px}.section-header .search-field{flex:1}.search-field{background:var(--paper)}.rail-person em{overflow-wrap:anywhere;line-height:1.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--safety-dark);outline-offset:3px}.roster-row{grid-template-columns:minmax(170px,1.5fr) 95px 60px 85px 36px;gap:10px;padding-inline:12px}.employee-cell b,.employee-cell small{overflow-wrap:anywhere}.toast{max-width:calc(100% - 28px);padding-block:12px}@media (width<=1100px){.board-grid{grid-template-columns:1fr}.assignment-panel{border-left:0;border-top:1px solid var(--rule);position:static}}@media (width<=760px){.command-bar{position:static}.desk-tabs{gap:12px}.desk-tabs button{gap:6px;font-size:12px}.desk-tabs button>span{display:none}.assignment-toolbar h2{flex-basis:100%}.assignment-toolbar .search-field{width:100%}.assignment-columns{display:none}.recent-assignments>div{grid-template-columns:minmax(0,1fr) 36px;gap:10px;padding:18px 0}.assignment-person,.assignment-leader,.assignment-progress,.assignment-state{grid-column:1}.assignment-row>button{grid-area:1/2}.assignment-progress{max-width:200px}.section-header{flex-flow:wrap;align-items:center}.section-header>div{flex:1}.section-header .search-field{flex:1 0 100%}.roster-row{grid-template-columns:minmax(0,1fr) 85px 36px;gap:8px;min-width:0;padding-block:14px}.employee-cell{grid-area:1/1/auto/3}.row-actions{grid-area:1/3/3}.roster-row>.mono{grid-area:2/1;padding-left:27px}.roster-row>span:nth-child(3){color:var(--ink-soft);grid-area:3/1;padding-left:27px}.roster-row>.status-pill{grid-area:2/2/4}.employee-cell>i{display:none}.roster-head{min-height:40px;display:flex}.roster-head>span:not(:first-child){display:none}.employee-cell small{white-space:normal}}
