@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/IBMPlexSans-U42Y2LR5.woff2") format("woff2")}
@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/Archivo-FAU44YVK.woff2") format("woff2")}
:root{font-family:"IBM Plex Sans",system-ui,sans-serif;color:#0e2233;background:#f7f7f5;font-synthesis:none;--ink:#0e2233;--navy:#0e2233;--orange:#e2601f;--line:#c5cfd5;--muted:#52616c;--focus:#0759a0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #b7c1c8;border-radius:6px;background:#fff;color:var(--ink);padding:8px 12px;font-weight:600;min-height:38px}button:hover{background:#eef2f5;border-color:#8799a6}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.primary:hover{background:#193b54;border-color:#193b54}.danger{color:#a22631;border-color:#ca8e95}.danger:hover{background:#fff1f2}:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px}input,select,textarea{background:#fff;border:1px solid #b7c1c8;border-radius:6px;color:var(--ink);padding:8px 10px;min-height:40px;min-width:0}textarea{resize:vertical;line-height:1.5}label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500;color:var(--muted)}h1,h2,p{margin:0}h1,h2,.brand{font-family:Archivo,"IBM Plex Sans",sans-serif}h1{font-size:23px;font-weight:650;letter-spacing:-.5px}h2{font-size:23px;font-weight:650}small{display:block}
.app-header{height:56px;flex:none;background:var(--navy);border-bottom:3px solid var(--orange);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 24px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:18px}.brand strong{font-weight:400;opacity:.85;margin-left:9px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid #657b8d;font-size:22px;font-weight:700}.account{display:flex;align-items:center;gap:15px;font-size:12px}.account button{background:transparent;color:#fff;border-color:#617382;min-height:34px;padding:5px 10px}
body.workspace-ready{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}main{padding:18px 24px;max-width:2200px;width:100%;margin:0 auto}.workspace-ready main{display:flex;flex-direction:column;flex:1;min-height:0}.workspace-ready #workspace{display:flex;flex-direction:column;flex:1;min-height:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex:none}.heading-copy{display:flex;align-items:center;gap:14px}.timezone{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}.page-heading .primary{min-height:40px;padding:8px 15px}
.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;flex:none}.date-controls{display:flex;align-items:center;gap:5px}.date-controls button{min-height:40px}.date-controls input{width:150px}.date-controls #previous,.date-controls #next{font-size:22px;line-height:1;padding:4px 12px}.warehouse-filter{flex:0 1 210px;min-width:165px}.status-filter{flex:0 1 210px;min-width:165px}.search-label{flex:1 1 180px;min-width:165px}.toolbar select,.toolbar input{width:100%}.toolbar .date-controls input{width:150px}.schedule-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 10px;font-size:12px;color:var(--muted);flex:none}.schedule-meta>div{display:flex;align-items:center;gap:12px}.schedule-meta strong{color:var(--ink);font-size:16px;font-weight:600}.checkbox{display:flex;flex-direction:row;align-items:center;font-size:12px;gap:6px;white-space:nowrap}.checkbox input{min-height:0;width:15px;height:15px;accent-color:var(--navy)}.refresh-controls button{font-size:12px;min-height:32px;padding:4px 10px}#refresh-status{min-width:100px;text-align:right;font-variant-numeric:tabular-nums}
.schedule-container{overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:6px;background:#fff;flex:1;min-height:100px;scrollbar-gutter:stable;position:relative}.schedule-grid{border-collapse:separate;border-spacing:0;width:100%;table-layout:auto}.schedule-grid th,.schedule-grid td{border-right:1px solid #d9e0e5;border-bottom:1px solid #d9e0e5}.schedule-grid thead th{position:sticky;top:0;z-index:3;background:#eef2f5;text-align:left;padding:12px 14px;border-bottom:2px solid #aabac7;font-weight:650;height:62px}.schedule-grid thead th:first-child{width:84px;min-width:84px;font-size:12px;color:var(--muted);left:0;z-index:5}.warehouse-heading{min-width:240px;width:auto}.warehouse-heading span{font-family:Archivo,sans-serif;font-size:17px;letter-spacing:.1px}.warehouse-heading small{font-weight:400;color:var(--muted);margin-top:3px;font-size:12px}.schedule-grid tbody th{position:sticky;left:0;z-index:2;background:#f7f9fa;font-size:12px;font-weight:500;color:#52616c;vertical-align:top;padding:15px 10px;white-space:nowrap;width:84px;min-width:84px;font-variant-numeric:tabular-nums}.schedule-grid td{padding:6px;vertical-align:top;min-width:240px;width:auto;height:60px}.add-slot{display:block;width:100%;min-height:34px;padding:2px;border:1px dashed transparent;color:#657f8f;font-size:20px;font-weight:400;background:transparent}.add-slot:hover,.add-slot:focus-visible{border-color:#9fb3c1;background:#f1f5f8;color:var(--navy)}.add-slot::after{content:" Add";font-size:12px;opacity:0}.add-slot:hover::after,.add-slot:focus-visible::after{opacity:1}
.appointment{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;margin-bottom:5px;padding:10px 11px;border:1px solid #adc7d8;border-left:4px solid #346f99;border-radius:5px;background:#edf5fa;overflow-wrap:anywhere}.appointment:hover{background:#e0eef7;border-color:#6d9cba}.appointment-top{font-size:12px;font-weight:500;color:#45657c}.appointment strong{font-size:14px;line-height:1.4;font-weight:600}.appointment-refs{font-size:12px;color:#52616c}.appointment-refs:empty{display:none}.appointment-status{font-size:11px;text-transform:capitalize;color:#285d80;border-radius:3px;padding:1px 5px;background:#dcebf5}.appointment.completed{background:#f1f6f2;border-color:#bdd0c1;border-left-color:#45805a}.appointment.completed .appointment-status{color:#27603b;background:#e0eee3}.appointment.cancelled{background:#fbf3f0;border-color:#dfc4b9;border-left-color:#a96343}.appointment.cancelled .appointment-status{color:#8b4727;background:#f6e6dd}.timezone-note{font-size:11px;color:var(--muted);padding-top:8px;flex:none}.empty-note{padding:8px 12px;background:#f0f3f5;border:1px solid #d5dfe5;border-radius:5px;color:#52616c;font-size:12px;margin-bottom:9px;flex:none}.off-hours,#schedule-error,#global-error{padding:10px 12px;margin:0 0 9px;border:1px solid #d7bca1;background:#fff5eb;color:#795000;font-size:13px;flex:none}.off-hours{position:sticky;left:0}.save-feedback{font-size:13px;color:#16603f;background:#edf6ef;border:1px solid #b3d2bc;padding:9px 12px;margin-bottom:9px;border-radius:5px;flex:none}.login-panel{max-width:460px;margin:14vh auto;text-align:center}.login-panel p{margin:16px 0 26px;color:var(--muted)}.empty{padding:30px;line-height:1.5}
 dialog{border:1px solid var(--line);border-radius:8px;width:600px;max-width:calc(100vw - 28px);padding:0;color:var(--ink);max-height:calc(100dvh - 40px);box-shadow:0 16px 70px #0e223333;overflow:hidden}dialog::backdrop{background:#0e223380}dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 42px);min-height:0}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);flex:none}.dialog-heading p{font-size:11px;color:var(--muted);margin-top:7px}.dialog-heading p:empty{display:none}.dialog-heading button{border:0;padding:0 8px;font-size:25px;min-height:32px;line-height:1}.editor-scroll{overflow:auto;min-height:0;overscroll-behavior:contain}.editor-fields{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-fields label{font-size:13px}.editor-fields input,.editor-fields select,.editor-fields textarea{font-size:14px;color:var(--ink)}.editor-fields textarea[name=task]{min-height:88px}.additional-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.additional-details summary{font-size:14px;color:var(--ink);font-weight:500}.additional-details summary small{font-weight:400;font-size:12px;color:var(--muted);margin:5px 0 0 17px}.optional-fields{display:flex;flex-direction:column;gap:14px;padding-top:18px}.dialog-footer{padding:14px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;justify-content:flex-end;flex:none;background:#fff}#draft-indicator{margin-right:auto;font-size:11px;color:var(--muted)}#editor-error{color:#a22631;font-size:13px;padding:0 24px;line-height:1.5}#editor-error:not(:empty){padding-bottom:14px}#editor-signin{display:block;padding:0 24px 14px;font-size:13px;color:var(--focus)}details{font-size:12px;color:var(--muted)}summary{cursor:pointer;min-height:28px}#history p{padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.discard-prompt{margin:0 24px 18px;padding:14px;border:1px solid #d9b8a3;border-radius:6px;background:#fff5ef;font-size:13px}.discard-prompt strong{font-size:14px}.discard-prompt p{padding:6px 0 12px;color:var(--muted)}.discard-prompt>div{display:flex;gap:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
@media(max-width:1000px){.toolbar{gap:10px}.warehouse-filter,.status-filter{flex:1 1 180px}.search-label{flex:1 1 180px}.date-controls{flex:none}.toolbar .date-controls input{width:140px}.timezone{display:none}}
@media(max-width:700px){.app-header{padding:0 14px;height:52px}.brand{font-size:16px}.brand-mark{width:26px;height:26px;font-size:20px}.brand strong{margin-left:3px}.account #identity{display:none}main{padding:12px 12px 8px}h1{font-size:20px}.page-heading{gap:8px;margin-bottom:12px}.page-heading .primary{font-size:12px;min-height:38px;padding:7px 10px}.toolbar{gap:8px}.date-controls{width:100%}.toolbar .date-controls input{flex:1;width:auto}.date-controls button{min-height:40px}.warehouse-filter,.status-filter{flex:1 1 42%;min-width:0}.search-label{flex:1 1 100%;min-width:0}.toolbar label{font-size:11px;gap:3px}.toolbar select,.toolbar input{font-size:12px;min-height:36px;padding:6px 8px}.schedule-meta{align-items:flex-start;flex-direction:column;padding:10px 0 8px;gap:7px}.schedule-meta strong{font-size:14px}.schedule-meta>div{gap:9px}.schedule-meta .refresh-controls{width:100%;justify-content:space-between}.refresh-controls button{min-height:32px}.checkbox{font-size:11px}#refresh-status{min-width:0;font-size:11px}.schedule-grid{table-layout:fixed}.schedule-grid thead th:first-child,.schedule-grid tbody th{width:74px;min-width:74px}.schedule-grid td,.warehouse-heading{width:auto;min-width:0}.schedule-grid thead th{padding:10px;height:56px}.warehouse-heading span{font-size:16px}.schedule-grid tbody th{font-size:11px;padding:14px 8px}.appointment strong{font-size:13px}.empty-note,.save-feedback{font-size:11px;padding:7px 9px;margin-bottom:7px}.timezone-note{font-size:10px;line-height:1.4;padding-top:6px}dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}dialog form{max-height:calc(100dvh - 22px)}.dialog-heading{padding:17px}.editor-fields{padding:17px;gap:14px}.dialog-footer{padding:12px 17px;flex-wrap:wrap}.dialog-footer button{min-height:42px}#draft-indicator{font-size:10px}.field-pair{gap:10px}.editor-fields label{font-size:12px}.editor-fields input,.editor-fields select,.editor-fields textarea{font-size:16px}.discard-prompt{margin:0 17px 14px}#editor-error{padding-left:17px;padding-right:17px}}
@media(max-height:600px){body.workspace-ready{height:auto;min-height:100dvh;overflow:auto}.workspace-ready main{flex:none}.schedule-container{height:320px;min-height:200px;flex:none}.app-header{height:44px}main{padding-top:10px}.page-heading{margin-bottom:8px}.schedule-meta{padding-top:8px}.timezone-note{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
