:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#102a4c;background:#fff;font-synthesis:none;--navy: #0c315f;--navy-2: #174d85;--orange: #ff6b0b;--orange-soft: #fff4e9;--cyan: #199ab0;--green: #4f8e49;--red: #d94b52;--ink: #102a4c;--muted: #6c7b90;--border: #d8e0ea;--line: #e7ecf2;--surface: #f7f9fc;--radius: 7px;--shadow: 0 14px 45px rgba(19, 46, 82, .13)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;background:#fff}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,107,11,.24);outline-offset:2px}a{color:inherit;text-decoration:none}small{color:var(--muted);font-size:10px;font-weight:500}.app-shell{min-height:100vh}.route-loading,.auth-loading{min-height:55vh;display:grid;place-items:center;color:var(--muted);font-size:12px}.auth-page{min-height:100vh;display:grid;place-items:center;background:#f5f8fb;padding:20px}.auth-panel{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);padding:32px}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:20px}.auth-panel h1{margin:28px 0 7px;font-size:23px}.auth-panel h1 span{font-size:15px}.auth-panel p{margin:4px 0;color:var(--muted);font-size:11px}.auth-panel form{display:flex;flex-direction:column;gap:15px;margin-top:25px}.auth-panel label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700}.auth-error{color:var(--red);background:#fff1f2;padding:10px;border-radius:5px;font-size:10px}.topbar{height:68px;display:flex;align-items:stretch;border-bottom:1px solid var(--border);background:#fff;padding:0 26px;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;color:var(--navy);min-width:210px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:7px}.main-nav{display:flex;align-items:stretch;gap:28px}.main-nav a{position:relative;min-width:86px;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:650;font-size:13px}.main-nav a small{display:none}.main-nav a.active{color:var(--navy-2)}.main-nav a.active:after{content:"";position:absolute;height:3px;background:var(--navy-2);left:0;right:0;bottom:0}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-button,.icon-text,.profile-switch,.mobile-menu{border:0;background:transparent}.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;position:relative}.icon-button:hover{background:var(--surface)}.icon-text{display:flex;align-items:center;gap:6px;font-size:12px;padding:8px}.notification-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--orange);right:7px;top:6px}.profile-switch{display:flex;align-items:center;gap:8px;font-size:12px;border-left:1px solid var(--border);padding-left:14px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:10px;font-weight:700}.mobile-menu{display:none}.calendar-page,.staff-page,.content-page,.simple-page{padding:19px 24px 30px;max-width:1800px;margin:0 auto}.simple-page{max-width:960px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.page-heading h1{font-size:23px;margin:0 0 4px;color:#0b2c56;letter-spacing:-.02em}.page-heading h1 span{font-size:17px;font-weight:650}.page-heading p{margin:0;color:var(--muted);font-size:12px}.primary-button,.secondary-button,.danger-button{border-radius:6px;min-height:39px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:12px;border:1px solid transparent}.primary-button{background:var(--orange);color:#fff;box-shadow:0 4px 12px #ff6b0b33}.primary-button:hover{background:#ed5c00}.primary-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border-color:var(--border);background:#fff}.secondary-button:hover{background:var(--surface)}.danger-button{color:#c83e47;border-color:#f1c8ca;background:#fff7f7}.danger-button:hover{background:#ffecec}.compact{min-height:34px;padding-inline:13px}.full{width:100%}.filters-row{min-height:59px;display:flex;gap:14px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}.filters-row label,.settings-section label,.booking-modal label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}.filters-row label small,.settings-section label small,.booking-modal label small{margin-left:3px}select,input,textarea,.static-input{border:1px solid var(--border);border-radius:5px;background:#fff;min-height:36px;padding:7px 10px;font-size:12px}.filters-row select{width:190px}.static-input{width:180px}.checkbox-label{flex-direction:row!important;align-items:center;padding-bottom:8px;font-weight:550!important}.checkbox-label input{min-height:unset;width:14px;height:14px;accent-color:var(--navy)}.filter-spacer{flex:1}.muted-icon{color:var(--muted);margin-bottom:8px}.filter-mobile{display:none}.week-toolbar{min-height:49px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;border-block:1px solid var(--line)}.week-toolbar>.primary-button{justify-self:end}.week-actions{display:flex;gap:6px}.week-actions button{min-height:30px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:5px;background:#fff;padding:0 9px;font-size:11px}.week-actions small{margin-left:2px}.week-range{display:flex;align-items:center;gap:8px;font-size:14px}.customer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.calendar-grid-shell{min-width:780px;overflow-x:auto}.calendar-head{height:48px;display:grid;grid-template-columns:62px repeat(7,1fr);border-bottom:1px solid var(--border)}.calendar-head>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);font-size:12px}.calendar-head .time-head{align-items:flex-start;padding-left:10px;font-size:10px}.calendar-body{display:grid;grid-template-columns:62px repeat(7,1fr);height:624px;overflow:hidden}.time-axis>div{height:52px;border-bottom:1px solid var(--line);padding:6px 8px;color:#53647b;font-size:10px;text-align:right}.calendar-day{position:relative;border-left:1px solid var(--line)}.slot-cell{width:100%;height:52px;border:0;border-bottom:1px solid var(--line);background:#fff;color:#8a98a9;display:flex;align-items:center;justify-content:center;gap:4px;font-size:9px;position:relative;z-index:1}.slot-cell span,.slot-cell small{opacity:0;transition:opacity .15s}.slot-cell.available:nth-child(3n+1) span,.slot-cell.available:nth-child(3n+1) small{opacity:1}.slot-cell.available:hover{background:#f2f8fc;color:var(--navy-2)}.slot-cell.available:hover span,.slot-cell.available:hover small{opacity:1}.slot-cell.unavailable{background:repeating-linear-gradient(-45deg,#f6f8fa,#f6f8fa 5px,#f0f3f6 5px 10px);color:#9aa6b4;cursor:not-allowed}.slot-cell.unavailable span,.slot-cell.unavailable small{opacity:1}.slot-cell.hidden-slot{opacity:.25}.weekend-shade{position:absolute;inset:0;background:#f4f7fa52;pointer-events:none}.calendar-event{position:absolute;left:4px;right:4px;z-index:4;border:1px solid;border-radius:5px;padding:7px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow:hidden;text-align:left;font-size:10px}.calendar-event strong{font-size:10px}.calendar-event>span{font-weight:700;white-space:nowrap}.calendar-event.anonymous{background:repeating-linear-gradient(-45deg,#f4f6f8,#f4f6f8 5px,#ebeff3 5px 10px);border-color:#d8dee5;color:#77869a;justify-content:center;align-items:center}.mobile-slot-list{display:none}.event-pending{background:#fff8e8;border-color:#f1ae3c}.event-confirmed{background:#eaf8fb;border-color:#36aabe}.event-arrived,.event-completed{background:#eff8eb;border-color:#80ad68}.event-unloading{background:#fff1e7;border-color:#ef8a48}.event-cancelled,.event-no_show{background:#f1f3f6;border-color:#aeb9c8}.event-rejected{background:#fff0f1;border-color:#e47278}.status-badge{display:inline-flex;align-items:baseline;gap:3px;border-radius:4px;font-weight:750;font-size:10px;white-space:nowrap;color:#3c4d63}.status-badge small{color:inherit;font-size:8px}.status-pending{color:#d07900}.status-confirmed{color:#0785a0}.status-arrived,.status-completed{color:#4b873d}.status-unloading{color:#e7600a}.status-rejected{color:var(--red)}.status-cancelled,.status-no_show{color:#65758b}.booking-detail,.staff-detail{border-left:1px solid var(--border);background:#fff;min-width:0}.booking-detail>header,.staff-detail>header,.approval-rail>header{height:48px;display:flex;align-items:center;padding:0 15px;border-bottom:1px solid var(--line)}.booking-detail h2,.staff-detail h2,.approval-rail h2{margin:0;font-size:12px}.booking-detail h2 small,.staff-detail h2 small,.approval-rail h2 small{margin-left:4px}.detail-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:17px 15px;border-bottom:1px solid var(--line)}.detail-title>div{display:flex;flex-direction:column;gap:3px}.detail-title strong{font-size:13px}.detail-title span{font-size:10px;color:var(--muted)}dl{margin:0;padding:6px 15px}dl>div{padding:9px 0}dt{color:var(--muted);font-size:9px;font-weight:700}dt small{margin-left:3px}dd{margin:4px 0 0;font-size:11px;font-weight:650}.detail-section{padding:12px 15px;border-block:1px solid var(--line)}.detail-section h3{margin:0 0 14px;font-size:10px}.detail-section h3 small{margin-left:4px}.status-progress{display:flex;align-items:flex-start;justify-content:space-between}.progress-step{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;color:#9ba7b5}.progress-step:before{content:"";height:1px;background:#c9d2dd;position:absolute;top:6px;left:0;width:100%;transform:translate(-50%);z-index:0}.progress-step:first-child:before{display:none}.step-dot{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;border:1px solid #aeb9c8;background:#fff;display:grid;place-items:center}.progress-step.done{color:var(--navy)}.progress-step.done .step-dot{background:var(--navy);border-color:var(--navy);color:#fff}.progress-step.current .step-dot{background:var(--orange);border-color:var(--orange)}.progress-step strong{font-size:8px;white-space:nowrap}.progress-step small{font-size:7px;white-space:nowrap}.empty-detail{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8c9bad;text-align:center;font-size:11px}.empty-calendar-icon{width:42px;height:42px;border:2px solid #aeb9c8;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:16px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#081c366b;display:flex;justify-content:flex-end}.booking-modal{width:min(470px,100%);height:100%;background:#fff;box-shadow:var(--shadow);overflow-y:auto;animation:slide-in .18s ease-out}@keyframes slide-in{0%{transform:translate(30px);opacity:.5}}.booking-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border)}.booking-modal h2{margin:0;font-size:19px}.booking-modal h2 span{font-size:14px}.booking-modal header p{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin:8px 0 0}.booking-modal form{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.booking-modal label em{color:var(--red);font-size:9px;font-style:normal}.booking-modal textarea{resize:vertical}.form-note{background:#f5f8fb;padding:12px;border-left:3px solid var(--navy-2);color:#607187;font-size:10px;line-height:1.6}.booking-modal footer{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.toast{position:fixed;right:22px;bottom:22px;z-index:120;background:var(--navy);color:#fff;border-radius:7px;min-width:340px;max-width:calc(100vw - 44px);display:flex;align-items:center;gap:9px;padding:13px 14px;box-shadow:var(--shadow);font-size:11px}.toast button{margin-left:auto;background:transparent;border:0;color:#fff}.table-toolbar{display:flex;gap:10px;border:1px solid var(--border);border-bottom:0;padding:12px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:5px;padding-left:10px;flex:1}.search-field input{border:0;width:100%}.data-table-wrap{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:800px}.data-table th{background:var(--surface);color:#56677c;text-align:left;font-size:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.data-table td{padding:15px 14px;border-bottom:1px solid var(--line);font-size:11px}.data-table td>small,.data-table td>strong{display:block;margin-top:3px}.text-button{border:0;background:transparent;color:var(--navy-2);font-size:10px;font-weight:700}.text-button.danger{color:var(--red)}.empty-table{padding:35px;text-align:center;color:var(--muted);font-size:11px}.live-indicator{display:flex;gap:6px;align-items:center;color:#31804b;background:#f0f9f2;padding:7px 10px;border-radius:5px;font-size:10px}.staff-workspace{display:grid;grid-template-columns:minmax(650px,1fr) 210px 280px;border:1px solid var(--border)}.schedule-panel{min-width:0;overflow:auto}.schedule-filters{height:56px;display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:7px 12px;border-bottom:1px solid var(--border)}.schedule-filters label{display:flex;gap:7px;align-items:center;font-size:10px}.schedule-filters select{min-height:32px}.schedule-scale{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden;font-size:9px}.schedule-scale>*{padding:8px}.schedule-scale strong{background:var(--navy);color:#fff}.dock-schedule{min-width:800px}.dock-head,.dock-row{display:grid;grid-template-columns:110px repeat(7,1fr)}.dock-head{height:43px;background:var(--surface)}.dock-head>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);font-size:10px}.dock-row{min-height:115px;border-top:1px solid var(--border)}.door-label{display:flex;flex-direction:column;justify-content:center;padding:10px;border-right:1px solid var(--border)}.door-label strong{font-size:10px}.door-label small{margin-top:5px}.dock-day{padding:5px;border-right:1px solid var(--line);background:linear-gradient(90deg,transparent 49.5%,var(--line) 50%,transparent 50.5%)}.dock-event{width:100%;min-height:74px;border:1px solid;border-radius:5px;padding:6px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.dock-event strong{font-size:9px}.dock-event span{font-size:8px}.dock-event>small:last-child{margin-top:auto}.legend{min-height:56px;display:flex;align-items:center;gap:13px;padding:12px;border-top:1px solid var(--border);flex-wrap:wrap}.legend>strong{font-size:10px}.approval-rail{border-left:1px solid var(--border)}.approval-rail header{justify-content:space-between}.approval-rail header span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--orange-soft);color:var(--orange);font-size:10px;font-weight:700}.approval-rail>a{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.approval-rail a:hover{background:var(--surface)}.approval-rail a>div{display:flex;flex-direction:column;gap:3px;min-width:0}.approval-rail strong{font-size:9px}.approval-rail span{font-size:8px}.approval-rail a small{display:flex;align-items:center;gap:3px}.staff-detail{padding-bottom:13px}.staff-detail .primary-button,.staff-detail .complete-callout{width:calc(100% - 30px);margin:12px 15px 0}.complete-callout{padding:12px;background:#f0f7ee;border-radius:5px;color:var(--green);text-align:center;font-size:10px}.queue-count{color:var(--orange);background:var(--orange-soft);padding:8px 11px;border-radius:5px;font-size:11px;font-weight:700}.approval-layout{display:grid;grid-template-columns:380px 1fr;min-height:620px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.request-list{border-right:1px solid var(--border)}.request-list-head{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:var(--surface)}.request-list-head strong{font-size:11px}.request-list-head select{min-height:30px}.request-row{width:100%;min-height:85px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:10px;background:#fff;border:0;border-bottom:1px solid var(--line);padding:10px 13px;text-align:left}.request-row:hover,.request-row.selected{background:#f4f8fc}.request-row.selected{box-shadow:inset 3px 0 var(--navy-2)}.request-type{display:flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:42px;border-radius:5px;background:var(--orange-soft);color:#ca6407;font-size:10px;font-weight:700}.request-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.request-row strong{font-size:11px}.request-row span{font-size:9px}.request-row small{display:flex;align-items:center;gap:4px}.aged-label{color:var(--red);font-size:8px!important;font-weight:700}.approval-detail{padding:24px;max-width:820px}.approval-detail>header{display:flex;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid var(--line)}.approval-detail h2{margin:0;font-size:18px}.approval-detail header p{margin:5px 0 0;color:var(--muted);font-size:11px}.approval-summary{display:grid;grid-template-columns:1.4fr 2fr 1fr;background:var(--surface);border-radius:6px;margin:18px 0}.approval-summary>div{display:flex;flex-direction:column;gap:7px;padding:14px;border-right:1px solid var(--border)}.approval-summary>div:last-child{border:0}.approval-summary span{color:var(--muted);font-size:9px}.approval-summary strong{font-size:11px}.two-column-dl{display:grid;grid-template-columns:1fr 1fr;padding:0}.two-column-dl>div{border-bottom:1px solid var(--line)}.approval-detail footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.rejection-box{margin-top:20px;padding:15px;border:1px solid #efc6c9;background:#fff9f9;border-radius:6px}.rejection-box label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700}.rejection-box div{display:flex;gap:9px;justify-content:flex-end;margin-top:10px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.settings-main{display:flex;flex-direction:column;gap:16px}.settings-section,.exceptions-panel{border:1px solid var(--border);border-radius:var(--radius)}.settings-section>header,.exceptions-panel>h2{min-height:50px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);margin:0}.settings-section header>div{display:flex;align-items:center;gap:8px}.settings-section h2,.exceptions-panel h2{margin:0;font-size:12px}.settings-section header>span{font-size:10px;color:var(--green)}.door-table-head,.door-setting-row{display:grid;grid-template-columns:120px 1fr 90px;align-items:center;gap:12px;padding:9px 16px}.door-table-head{background:var(--surface);color:var(--muted);font-size:9px}.door-setting-row{border-top:1px solid var(--line)}.door-setting-row strong{font-size:11px}.switch input{display:none}.switch span{width:36px;height:20px;background:#c7d0db;border-radius:20px;display:block;position:relative}.switch span:after{content:"";width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;left:2px;top:2px;transition:transform .18s}.switch input:checked+span{background:var(--navy-2)}.switch input:checked+span:after{transform:translate(16px)}.weekday-picker{display:flex;gap:7px;padding:16px}.weekday-picker button{width:44px;height:36px;border:1px solid var(--border);background:#fff;border-radius:5px;font-size:10px}.weekday-picker button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.settings-section .field-grid{padding:0 16px 16px}.field-grid.thirds{grid-template-columns:repeat(3,1fr)}.save-settings{align-self:flex-end}.exceptions-panel{height:max-content;padding-bottom:14px}.exceptions-panel>h2{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.exceptions-panel .week-toolbar{grid-template-columns:1fr;padding:10px 13px}.exceptions-panel .week-range,.exceptions-panel .week-actions button:nth-child(n+2){display:none}.mini-calendar{margin:13px;padding:14px;background:#fff4f4;border-left:3px solid var(--red);border-radius:4px}.mini-calendar p{margin:0 0 6px;font-size:11px;font-weight:700}.mini-calendar span{font-size:9px;color:var(--muted)}.exceptions-panel>.secondary-button{width:calc(100% - 26px);margin:0 13px}@media(max-width:1180px){.staff-workspace{grid-template-columns:minmax(620px,1fr) 250px}.approval-rail{display:none}.settings-layout{grid-template-columns:1fr}.exceptions-panel{max-width:600px}}@media(max-width:900px){.topbar{padding:0 15px}.brand{min-width:150px}.main-nav{gap:8px}.profile-switch span:not(.avatar),.icon-text svg{display:none}.customer-workspace{display:block;overflow-x:auto}.booking-detail{border-left:0;border-top:1px solid var(--border)}.staff-workspace{display:block;overflow-x:auto}.staff-detail{border-left:0;border-top:1px solid var(--border)}.approval-layout{grid-template-columns:330px 1fr}}@media(max-width:680px){.topbar{height:58px}.brand{min-width:unset;font-size:17px}.brand-mark{width:31px;height:31px}.main-nav{display:none;position:fixed;top:58px;left:0;right:0;background:#fff;box-shadow:var(--shadow);padding:8px 15px 15px;flex-direction:column;z-index:35}.main-nav.open{display:flex}.main-nav a{justify-content:flex-start;padding:12px 4px;border-bottom:1px solid var(--line)}.main-nav a small{display:inline}.main-nav a.active:after{height:auto;width:3px;left:-8px;top:8px;bottom:8px}.mobile-menu{display:grid;place-items:center}.icon-text{display:none}.calendar-page,.staff-page,.content-page,.simple-page{padding:15px 13px 25px}.page-heading h1{font-size:20px}.page-heading h1 span{font-size:13px}.page-heading p{max-width:270px}.filter-mobile{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:5px;background:#fff;min-height:34px}.filters-row{display:grid;grid-template-columns:1fr 1fr}.filters-row select,.static-input{width:100%}.checkbox-label{grid-column:1 / -1}.filter-spacer,.muted-icon{display:none}.week-toolbar{grid-template-columns:1fr auto;padding:7px 0}.week-range{grid-row:1;grid-column:1 / -1;justify-content:center}.week-actions button{font-size:0;width:36px;justify-content:center}.week-actions button:first-child{width:auto;font-size:10px}.week-actions button small{display:none}.customer-workspace{border-radius:var(--radius)}.calendar-grid-shell{min-width:0}.calendar-head,.calendar-body{display:none}.mobile-slot-list{display:block}.mobile-slot-list section{border-bottom:1px solid var(--border)}.mobile-slot-list section>header{display:flex;justify-content:space-between;align-items:center;padding:11px 12px 8px;background:var(--surface)}.mobile-slot-list section>header strong{font-size:11px}.mobile-slot-list section>button{width:100%;min-height:46px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;background:#fff;border:0;border-top:1px solid var(--line);font-size:10px;text-align:left}.mobile-slot-list section>button:disabled{background:#f5f7f9;color:#9ba7b5;cursor:not-allowed}.mobile-available{color:#15839a;font-weight:700}.mobile-unavailable{color:#8d99a8}.booking-detail{display:block}.status-progress{overflow-x:auto}.progress-step{min-width:58px}.booking-detail dl{display:grid;grid-template-columns:1fr 1fr}.booking-modal{width:100%}.field-grid{grid-template-columns:1fr}.booking-modal form{padding:17px}.booking-modal>header{padding:18px}.toast{right:13px;bottom:13px;min-width:0}.table-toolbar{display:grid;grid-template-columns:1fr 1fr}.search-field{grid-column:1 / -1}.approval-layout{display:block}.request-list{border:0}.approval-detail{padding:18px 13px;border-top:1px solid var(--border)}.approval-summary{grid-template-columns:1fr}.approval-summary>div{border-right:0;border-bottom:1px solid var(--border)}.two-column-dl,.settings-section .field-grid,.field-grid.thirds{grid-template-columns:1fr}.door-table-head,.door-setting-row{grid-template-columns:65px 1fr 50px}.weekday-picker{overflow-x:auto}.staff-workspace{overflow-x:visible}.schedule-panel{overflow-x:auto}.staff-detail{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.notification-popover{position:absolute;z-index:45;top:58px;right:120px;width:min(340px,calc(100vw - 26px));background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow);overflow:hidden}.notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.notification-popover header>div{display:flex;align-items:baseline;gap:5px}.notification-popover .text-button{display:flex;align-items:center;gap:4px}.account-popover{position:absolute;z-index:45;top:58px;right:18px;width:min(270px,calc(100vw - 26px));display:grid;gap:6px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow)}.account-popover>span,.account-popover>small{color:var(--muted)}.account-popover .text-button{display:flex;align-items:center;gap:7px;justify-content:flex-start;padding:8px 0}.account-popover .text-button.sign-out{margin-top:2px;padding-top:11px;border-top:1px solid var(--line);color:#a13b2c}.notification-item{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-bottom:1px solid var(--line);font-size:10px}.notification-item.unread{background:#fffaf4;box-shadow:inset 3px 0 var(--orange)}.notification-item>span{color:var(--muted)}.notification-item>strong{font-size:11px}.schedule-scale button{border:0;background:#fff;padding:8px;font-size:9px}.schedule-scale button.active{background:var(--navy);color:#fff}.dock-schedule.day-view{min-width:460px}.operation-action{padding:13px 15px 0}.operation-action p{margin:0;font-size:10px;color:var(--muted);line-height:1.5}.operation-action p small{display:block}.operation-action .primary-button{width:100%;margin:10px 0 6px}.operation-action>.text-button{width:100%;padding:7px}.cmr-panel{margin:13px 15px 0;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.cmr-title{display:flex;gap:8px;align-items:center}.cmr-title>div{display:flex;flex-direction:column;gap:2px}.cmr-title strong{font-size:10px}.cmr-panel>p{font-size:9px;color:var(--muted)}.cmr-file{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin:10px 0;padding:9px;border:1px solid #cfe2ca;border-radius:5px;background:#f4faf2}.cmr-file span{font-size:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.cmr-file small{grid-column:1 / -1;color:var(--green)}.cmr-upload{margin-top:9px!important;width:100%!important;position:relative}.cmr-upload input{position:absolute;width:1px;height:1px;opacity:0}.complete-callout.neutral{background:var(--surface);color:var(--muted)}.customer-cmr{margin:15px;grid-template-columns:auto 1fr;align-items:center}.customer-cmr small{grid-column:2}.input-suffix{display:flex;align-items:stretch}.input-suffix input{flex:1;min-width:0;border-radius:5px 0 0 5px}.input-suffix span{display:flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-left:0;border-radius:0 5px 5px 0;background:var(--surface);font-size:10px}.settings-section label em{color:var(--muted);font-size:8px;font-style:normal;font-weight:500}.compact-modal{height:auto;max-height:100vh}.exception-form{display:grid;gap:15px;padding:20px 24px}.exception-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}.exception-form footer{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.settings-note{margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.55}.operation-duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.operation-rules{border-left:3px solid var(--orange)}.settings-error{margin-top:12px;padding:9px 10px;border-radius:5px;background:#fff1f2;color:var(--red);font-size:9px}.warehouse-scope-bar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 16px;padding:12px 15px;border:1px solid #cdd9e7;border-left:3px solid var(--navy-2);border-radius:var(--radius);background:#f8fbff}.warehouse-scope-bar>div{display:flex;align-items:center;gap:11px;color:var(--navy-2)}.warehouse-scope-bar>div span{display:grid;gap:3px;color:var(--muted);font-size:9px}.warehouse-scope-bar>div strong{color:var(--ink);font-size:12px}.warehouse-scope-bar>label{min-width:260px;display:grid;grid-template-columns:auto minmax(170px,1fr);align-items:center;gap:9px;font-size:10px;font-weight:700}.scope-lock{color:var(--muted);font-size:9px}.door-setting-row>input{min-width:0;font-weight:700}.mini-calendar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mini-calendar p{overflow-wrap:anywhere}.mini-calendar .icon-button{flex:0 0 auto;width:26px;height:26px;color:var(--red)}.account-summary{display:flex;gap:12px;margin:15px 0}.account-summary>div{min-width:220px;display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius);color:var(--navy-2)}.account-summary span{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:9px}.account-summary strong{color:var(--ink);font-size:11px}.account-alert{display:flex;align-items:center;gap:7px;margin:10px 0;padding:10px 12px;border-radius:5px;font-size:10px}.account-alert.success{color:#2f7445;background:#eff8f1;border:1px solid #cfe3d4}.account-alert.error{color:var(--red);background:#fff1f2;border:1px solid #efc6c9}.account-table{min-width:1060px}.account-table td:first-child strong,.account-table td:first-child small{display:block}.account-table td:first-child small{margin-top:4px}.role-badge,.account-status{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:4px;font-size:9px;font-weight:700;white-space:nowrap}.role-badge.customer{color:#14758b;background:#eaf8fb}.role-badge.dispatcher{color:#765c19;background:#fff7df}.role-badge.warehouse_admin{color:var(--navy-2);background:#eaf1fa}.account-status.active{color:#2f7445;background:#eff8f1}.account-status.disabled{color:#8a3d43;background:#fff1f2}.row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.row-actions .text-button{display:inline-flex;align-items:center;gap:4px;padding:5px 2px}.row-actions .text-button:disabled{opacity:.35;cursor:not-allowed}.account-modal{width:min(540px,100%)}.account-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700}.password-page{max-width:880px}.password-panel{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:25px;border:1px solid var(--border);border-radius:var(--radius)}.password-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:8px;color:var(--navy-2);background:#eaf1fa}.password-panel form{display:grid;gap:15px;max-width:520px}.password-panel label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700}.password-panel p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.password-panel .primary-button{justify-self:start}.warehouse-summary{display:flex;gap:12px;margin:15px 0}.warehouse-summary>div{min-width:230px;display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius);color:var(--navy-2)}.warehouse-summary span{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:9px}.warehouse-summary strong{color:var(--ink);font-size:11px}.warehouse-list{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.warehouse-row{min-height:92px;display:grid;grid-template-columns:52px minmax(220px,1.6fr) repeat(3,minmax(110px,.75fr)) auto;align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:#fff}.warehouse-row:last-child{border-bottom:0}.warehouse-row.disabled{background:#fafbfc;opacity:.75}.warehouse-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;color:var(--navy-2);background:#eaf1fa}.warehouse-name{min-width:0;display:grid;gap:8px}.warehouse-name>div{display:flex;align-items:center;gap:8px}.warehouse-name strong{font-size:12px}.warehouse-name span{padding:3px 6px;border-radius:4px;background:var(--surface);color:var(--muted);font-size:8px;font-weight:800}.warehouse-name small{display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warehouse-stat{display:grid;gap:5px}.warehouse-stat span{color:var(--muted);font-size:8px}.warehouse-stat strong{font-size:10px}.warehouse-state{display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}.warehouse-state .text-button{display:inline-flex;align-items:center;gap:4px}.warehouse-empty{min-height:150px;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);font-size:11px}.warehouse-modal{width:min(610px,100%)}.warehouse-form{padding:20px 24px;display:grid;gap:16px}.warehouse-form>label,.warehouse-form .field-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700}.warehouse-form footer{display:flex;justify-content:flex-end;gap:9px}@media(max-width:680px){.filters-row{display:none}.filters-row.mobile-open{display:grid}.notification-popover{position:fixed;top:58px;right:13px}.operation-duration-grid{grid-template-columns:1fr}.account-summary{display:grid;grid-template-columns:1fr 1fr}.account-summary>div{min-width:0}.password-panel{grid-template-columns:1fr;padding:18px}.warehouse-summary{display:grid;grid-template-columns:1fr 1fr}.warehouse-summary>div{min-width:0}.warehouse-row{grid-template-columns:44px 1fr;gap:10px}.warehouse-stat{grid-column:2;grid-template-columns:120px 1fr}.warehouse-state{grid-column:1 / -1;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--line)}.warehouse-scope-bar{align-items:stretch;flex-direction:column}.warehouse-scope-bar>label{min-width:0;grid-template-columns:1fr}.scope-lock{padding-left:29px}}
