@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
.notice.actionable{width:100%;border:0;background:white;text-align:left;cursor:pointer}.notice.actionable:hover{background:#f8fbfe}.notice.actionable:focus-visible{outline:3px solid #cfe3f4;outline-offset:-3px}.notice-arrow{color:#2d6ea8;font-size:18px;font-weight:700}
.stats article.actionable{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.stats article.actionable:hover{transform:translateY(-2px);border-color:#bdd6ea;box-shadow:0 8px 22px #23374c14}.stats article.actionable:focus-visible{outline:3px solid #b9d8ef;outline-offset:2px}.filter-bar{display:flex;align-items:center;gap:8px;margin:-10px 0 17px}.filter-bar>span{font-size:10px;color:#7e8b98;margin-right:3px}.filter-chip{height:32px;border:1px solid #dce4eb;background:white;color:#5d6f80;border-radius:17px;padding:0 13px;font-size:9px;font-weight:700}.filter-chip:hover{border-color:#9fc2de;color:#2767a8}.filter-chip.active{background:#2767a8;border-color:#2767a8;color:white}.filter-result{margin-left:auto;font-size:9px;color:#8794a1}
.report-filters{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;align-items:end;padding:18px 20px}.report-filters label span{display:block;font-size:8px;font-weight:800;text-transform:uppercase;color:#697887;margin-bottom:6px}.report-filters input,.report-filters select{width:100%;height:39px;border:1px solid #dce3e9;border-radius:8px;padding:0 9px;background:white;font-size:10px}.report-actions{display:flex;gap:8px}.report-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:18px}.report-summary article{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}.report-summary span,.report-summary b{display:block}.report-summary span{font-size:9px;color:#7d8a97}.report-summary b{font-size:18px;margin-top:6px}.report-summary article:last-child{background:#eaf3fb;color:#245f95}.report-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:17px 20px;border-top:1px solid var(--line)}.report-detail div{background:#f6f8fa;border-radius:9px;padding:11px}.report-detail span,.report-detail b{display:block}.report-detail span{font-size:8px;color:#84919e}.report-detail b{font-size:12px;margin-top:4px}
.shift-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.shift-summary div{background:#f5f8fa;border-radius:9px;padding:12px}.shift-summary span,.shift-summary b{display:block}.shift-summary span{font-size:8px;color:#7f8c99}.shift-summary b{font-size:14px;margin-top:5px}.shift-warning{background:#fff4e4;color:#9b621c;border-radius:9px;padding:11px;font-size:10px;margin-top:12px}.shift-list-row{cursor:pointer}.shift-list-row:hover{background:#f4f8fc}
.audit-row{cursor:pointer}.audit-row:hover{background:#f4f8fc}.audit-action{font-weight:800;color:#2d6697}.audit-json{background:#f5f7f9;border-radius:9px;padding:10px;font-family:Consolas,monospace;font-size:9px;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.audit-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-columns h3{font-size:10px;margin:0 0 7px}
.docs-button{position:absolute;right:19px;bottom:17px;width:46%;height:31px;border:1px solid #cddfea;background:#edf5fb;color:#28689e;border-radius:8px;font-size:9px;font-weight:700}.entity.has-docs .edit-button{right:52%}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.document-card{background:white;border:1px solid var(--line);border-radius:13px;padding:16px;position:relative}.document-card.archived{opacity:.6}.document-card h3{font-size:12px;margin:0 0 6px}.document-card p{font-size:9px;color:#778594;margin:4px 0}.document-card .doc-actions{display:flex;gap:7px;margin-top:13px}.document-card .doc-actions button{height:31px;font-size:9px}.doc-expiry{display:inline-flex;margin-top:8px;border-radius:12px;padding:4px 8px;background:#eef4fa;color:#376d98;font-size:8px}.doc-expiry.soon{background:#fff0df;color:#a76617}.upload-zone{border:1px dashed #9ebbd2;background:#f6fafe;border-radius:10px;padding:15px;text-align:center}.upload-zone input{border:0;padding:8px;height:auto}.doc-empty{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:13px;padding:50px;text-align:center;color:#7c8996;font-size:11px}
#auth-root:not(:empty){position:fixed;inset:0;z-index:50}
.logout-button{width:30px;height:30px;border:1px solid #ffffff1a;background:#ffffff0b;color:#aebfd0;border-radius:8px;display:grid;place-items:center}.logout-button:hover{background:#ffffff18;color:white}.auth-root{position:fixed;inset:0;z-index:50}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#f4f7fa}.login-brand{background:linear-gradient(145deg,#112b45,#1e5c8e);color:white;padding:72px;display:flex;flex-direction:column;justify-content:center}.login-brand .logo{width:58px;height:58px;border-radius:17px;background:#ffffff1c;display:grid;place-items:center;font-weight:800;margin-bottom:27px}.login-brand h1{font-size:34px;line-height:1.15;margin:0 0 15px}.login-brand p{max-width:520px;color:#bed1e2;font-size:13px;line-height:1.7}.login-form-wrap{display:grid;place-items:center;padding:50px}.login-card{width:390px;background:white;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 20px 60px #263b4f12}.login-card h2{font-size:22px;margin:0 0 7px}.login-card>p{font-size:11px;color:#7b8997;margin:0 0 27px}.login-card label{display:block;margin-bottom:16px}.login-card label span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#596a79;margin-bottom:7px}.login-card input{width:100%;height:45px;border:1px solid #dce2e8;border-radius:9px;padding:0 12px;outline:0}.login-card input:focus{border-color:#70a2cd;box-shadow:0 0 0 3px #e8f2fa}.login-card .primary{width:100%;height:45px;margin-top:5px}.login-card .error{margin-bottom:13px}.user-role-note{font-size:8px;color:#8896a3;margin-top:5px}.inactive-card{opacity:.65}
:root{font-family:Manrope,Arial,sans-serif;color:#182433;background:#f4f6f9;font-synthesis:none;--navy:#142b45;--blue:#2767a8;--line:#e6eaf0;--muted:#718096}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:#f5f7fa}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:linear-gradient(180deg,#132b45,#102238);color:#dfe8f2;padding:26px 16px 18px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 29px;border-bottom:1px solid #ffffff13}.brand .logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#3b80c1,#22598f);display:grid;place-items:center;color:white;font-weight:800}.brand b,.brand span{display:block}.brand b{font-size:14px;color:white}.brand span{font-size:11px;color:#9db0c4;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:24px}.sidebar nav button{height:46px;border:0;background:transparent;color:#aebfd0;display:flex;align-items:center;gap:13px;padding:0 13px;border-radius:11px;text-align:left}.sidebar nav button:hover{background:#ffffff0c;color:white}.sidebar nav button.active{color:white;background:#ffffff16;box-shadow:inset 3px 0 #66a8e2}.sidebar nav button span{flex:1;font-weight:600;font-size:13.5px}.sidebar nav i{font-style:normal;font-size:10px;background:#e9a44c;color:white;border-radius:10px;padding:2px 7px}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff13;padding:18px 8px 2px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#dce8f3;color:#1d5486;display:grid;place-items:center;font-size:11px;font-weight:800}.sidebar-foot div:nth-child(2){flex:1;min-width:0}.sidebar-foot b,.sidebar-foot span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot b{font-size:11px;color:white}.sidebar-foot span{font-size:9px;color:#91a5b8;margin-top:3px}main{grid-column:2}header{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:2}header p,header span{margin:0;display:block}header p{font-size:13px;font-weight:700;color:#26394d}header span{font-size:11px;color:#8b98a7;margin-top:3px}.header-actions{display:flex;align-items:center;gap:12px}.search{width:260px;height:40px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:9px;padding:0 12px;color:#97a4b3}.search:focus-within{border-color:#8cb7de;box-shadow:0 0 0 3px #e8f2fb}.search input{border:0;outline:0;width:100%;font-size:12px}.primary,.secondary,.ghost{height:41px;border-radius:10px;padding:0 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:700;font-size:12px}.primary{border:0;background:var(--blue);color:white;box-shadow:0 4px 12px #2767a82e}.primary:hover{background:#20598f}.primary:disabled{opacity:.6}.secondary,.ghost{background:white;border:1px solid var(--line);color:#33475b}.ghost{background:#eef4fa;border-color:#d7e5f1;color:#245f95}.content{padding:34px;max-width:1540px;margin:auto}.page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.page-title h1{font-size:25px;letter-spacing:-.5px;margin:4px 0 6px;color:#172b3f}.page-title p{margin:0;font-size:12px;color:#7a8898}.eyebrow{text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#4b81af}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats article{background:white;border:1px solid var(--line);border-radius:14px;padding:19px;display:flex;gap:14px;box-shadow:0 4px 16px #23374c08}.stat-icon,.notice-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.stat-icon.blue,.notice-icon.blue{background:#e8f2fc;color:#2d6ea8}.stat-icon.green{background:#e9f6ef;color:#2b8a5b}.stat-icon.amber,.notice-icon.amber{background:#fff4e4;color:#c57a1d}.stat-icon.violet{background:#f1ecfb;color:#7754aa}.stats article span,.stats article strong,.stats article small{display:block}.stats article span{font-size:10px;color:#758393}.stats article strong{font-size:22px;margin:3px 0 3px;color:#1e3144}.stats article small{font-size:9px;color:#95a0ad}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px #23374c08;margin-bottom:20px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #eef1f5}.panel-head h2{font-size:14px;margin:0 0 4px}.panel-head p{font-size:10px;color:#8a96a5;margin:0}.link{border:0;background:none;color:#2767a8;font-weight:700;font-size:10px;display:flex;align-items:center;gap:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:#8491a0;background:#fafbfc;text-transform:uppercase;font-size:8px;letter-spacing:.7px;padding:11px 16px;border-bottom:1px solid var(--line)}td{padding:13px 16px;border-bottom:1px solid #eef1f4;color:#4d5d6e;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}td b,td small{display:block}td small{font-size:8px;color:#94a0ac;margin-top:3px}.number{color:#2767a8}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:15px;padding:5px 9px;font-size:8.5px;font-weight:700}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.ok{background:#eaf7f0;color:#29845a}.badge.warn{background:#fff3df;color:#ae6c17}.badge.info{background:#eaf3fb;color:#2f6f9f}.badge.muted{background:#eff1f4;color:#6d7781}.split{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.notice{padding:15px 21px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #eff2f5}.notice:last-child{border:0}.notice>div:nth-child(2){flex:1}.notice b,.notice span{display:block}.notice b{font-size:11px}.notice span{font-size:9px;color:#8a96a4;margin-top:4px}.notice button{border:0;background:#eff5fb;color:#2767a8;border-radius:8px;font-size:9px;font-weight:700;padding:7px 10px}.shift{padding-bottom:18px}.progress{height:7px;background:#e9eef3;border-radius:10px;margin:25px 22px 16px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#286ca9,#61a1d3);border-radius:10px}.shift-grid{display:flex;justify-content:space-between;padding:0 22px 22px}.shift-grid span,.shift-grid b{display:block}.shift-grid span{font-size:8px;color:#8a96a4}.shift-grid b{font-size:11px;margin-top:3px}.shift .secondary{margin:0 22px;width:calc(100% - 44px)}.compact{align-items:center}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.entity{background:white;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:0 4px 16px #23374c08}.entity-top{display:flex;justify-content:space-between;align-items:center}.entity-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#edf4fa;color:#2f6d9e}.entity-icon svg{width:19px}.entity h3{margin:16px 0 5px;font-size:14px}.entity>p{font-size:9px;color:#8793a0;height:28px;margin:0}.entity dl{border-top:1px solid #eef1f4;padding-top:13px;margin:12px 0 9px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.entity dl div{min-width:0}.entity dt,.entity dd{margin:0}.entity dt{font-size:8px;color:#96a1ad}.entity dd{font-size:9px;font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity>small{font-size:9px;color:#657688}.simple-list{padding:3px 20px}.driver-row{display:flex;align-items:center;gap:14px;padding:15px 3px;border-bottom:1px solid #edf0f4;font-size:10px}.driver-row:last-child{border:0}.avatar.small{width:38px;height:38px}.driver-row .grow{flex:1}.driver-row>div span,.driver-row>div b{display:block}.driver-row>div span{font-size:8px;color:#8c98a5;margin-bottom:3px}.driver-row>div:not(.grow){min-width:140px}.empty{background:white;border:1px solid var(--line);border-radius:16px;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty>div{width:58px;height:58px;background:#eef4fa;color:#3774a7;border-radius:18px;display:grid;place-items:center}.empty h2{font-size:18px;margin:18px 0 7px}.empty p{font-size:11px;color:#758393;max-width:430px;line-height:1.6}.empty span{font-size:9px;color:#9ba5af}.overlay{position:fixed;inset:0;background:#0b1929a3;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:10}.modal{width:680px;background:white;border-radius:18px;box-shadow:0 24px 80px #0714215c;overflow:hidden}.modal-head{padding:25px 27px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{font-size:19px;margin:5px 0}.modal-head p{font-size:10px;color:#7e8b99;margin:0}.icon-button{border:0;background:#f2f4f7;width:35px;height:35px;border-radius:9px;display:grid;place-items:center;color:#637181}.icon-button svg{width:18px}.form-body{padding:23px 27px}.form-body label>span{font-size:9px;font-weight:800;color:#536475;display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.5px}.form-body label{display:block;margin-bottom:17px}.form-body select{width:100%;height:43px;border:1px solid #dfe4ea;border-radius:9px;padding:0 11px;background:white;color:#324557;font-size:11px;outline:0}.form-body select:focus{border-color:#72a4d0;box-shadow:0 0 0 3px #eaf3fb}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.radio-row{display:flex;gap:8px}.radio-row button{height:38px;padding:0 16px;border:1px solid var(--line);background:white;border-radius:9px;color:#607080;font-size:10px}.radio-row button.selected{border-color:#4e88ba;background:#edf5fb;color:#2767a8;font-weight:700}.calculation{background:#f7f9fb;border:1px solid #e7ebef;border-radius:11px;padding:14px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.calculation span,.calculation b{display:block}.calculation span{font-size:8px;color:#84909c}.calculation b{font-size:11px;margin-top:4px}.calculation .total{border-left:1px solid #dfe4e8;padding-left:15px}.calculation .total b{color:#2767a8;font-size:13px}.error{margin-top:14px;padding:10px 12px;background:#fff0f0;color:#a53d3d;border-radius:8px;font-size:10px}.modal-foot{padding:16px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fafbfc}.loading{height:200px;display:flex;align-items:center;justify-content:center;gap:5px}.loading span{width:7px;height:7px;border-radius:50%;background:#4e87b8;animation:pulse 1s infinite alternate}.loading span:nth-child(2){animation-delay:.2s}.loading span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.2;transform:translateY(-5px)}}
@media(max-width:1250px){.stats{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}}
.directory-summary{display:flex;align-items:center;gap:8px;margin:-12px 0 17px;color:#82909e;font-size:10px}.directory-summary b{background:#eaf2f9;color:#28689e;padding:4px 8px;border-radius:12px}.entity{position:relative;padding-bottom:56px}.edit-button{position:absolute;left:19px;right:19px;bottom:17px;height:31px;border:1px solid #dfe6ec;background:#f8fafc;color:#42627e;border-radius:8px;font-size:9px;font-weight:700}.edit-button:hover{background:#edf4fa;border-color:#c8dceb;color:#2767a8}.editor-modal{width:760px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.editor-grid .wide{grid-column:1/-1}.form-body input{width:100%;height:43px;border:1px solid #dfe4ea;border-radius:9px;padding:0 11px;background:white;color:#324557;font-size:11px;outline:0}.form-body input:focus{border-color:#72a4d0;box-shadow:0 0 0 3px #eaf3fb}.toast{position:fixed;right:28px;bottom:28px;background:#1f7d55;color:white;padding:12px 17px;border-radius:10px;box-shadow:0 10px 30px #173d2d3d;font-size:11px;font-weight:700;z-index:20;animation:toast-in .2s ease-out}.error-page{min-height:350px;background:white;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center}.error-page h2{font-size:17px;margin:0 0 7px}.error-page p{font-size:10px;color:#8b5660}@keyframes toast-in{from{transform:translateY(12px);opacity:0}}
.badge.danger{background:#fdeced;color:#b84747}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f3f8fc}.queue-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(125deg,#173a5d,#286b9f);color:white;border-radius:14px;padding:18px 22px;margin-bottom:18px}.queue-hero>div{display:flex;align-items:baseline;gap:9px}.queue-hero span{font-size:10px;font-weight:700}.queue-hero b{font-size:27px}.queue-hero small{font-size:9px;color:#bcd0e1}.queue-hero p{font-size:10px;color:#d7e4ef;max-width:520px;margin:0}.queue-empty{text-align:center;padding:50px;color:#478268;font-size:11px}.waybill-modal{width:980px;max-height:90vh;overflow:auto}.modal-head-actions{display:flex;align-items:center;gap:12px}.waybill-body{display:grid;grid-template-columns:1fr 270px}.waybill-main{padding:20px 25px;border-right:1px solid var(--line)}.detail-block{margin-bottom:21px}.detail-block:last-child{margin-bottom:0}.detail-block h3,.timeline h3{font-size:11px;margin:0 0 12px;color:#30465a}.detail-block dl{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;margin:0}.detail-block dl div{border-bottom:1px solid #eef1f4;padding-bottom:8px}.detail-block dt{font-size:8px;color:#8a97a4}.detail-block dd{font-size:10px;font-weight:700;margin:4px 0 0}.price-grid,.approval-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.price-grid>div{background:#f6f8fa;border-radius:9px;padding:11px}.price-grid span,.price-grid b{display:block}.price-grid span{font-size:8px;color:#8995a1}.price-grid b{font-size:12px;margin-top:4px}.price-grid>div:last-child{background:#eaf3fb;color:#2767a8}.approval-grid{grid-template-columns:repeat(3,1fr)}.approval{border:1px solid #e5e9ed;border-radius:9px;padding:12px;color:#84909c}.approval b,.approval span{display:block}.approval b{font-size:9px}.approval span{font-size:8px;margin-top:5px}.approval.done{background:#eef8f3;border-color:#d8ede2;color:#287955}.approval.rejected{background:#fff0f0;border-color:#f2d6d6;color:#ad4545}.timeline{padding:20px}.event{position:relative;padding:0 0 17px 18px;border-left:1px solid #dce3e9;margin-left:4px}.event:last-child{border-left-color:transparent}.event i{position:absolute;width:8px;height:8px;border-radius:50%;background:#377caf;left:-4.5px;top:2px}.event b,.event span{display:block}.event b{font-size:9px}.event span{font-size:8px;color:#8b97a3;margin-top:4px}.event p{font-size:8px;background:#f5f7f9;padding:6px 8px;border-radius:6px;color:#627181}.muted-text{font-size:9px;color:#8794a1}.card-actions{align-items:center}.cancel-link{border:0;background:none;color:#ad4545;font-size:9px;margin-right:auto}.decision{height:39px;border-radius:9px;padding:0 15px;font-size:10px;font-weight:700}.decision.approve{border:0;background:#2c8a60;color:white}.decision.reject{border:1px solid #edcccc;background:#fff4f4;color:#ae4444}.confirm-modal{width:560px}.form-body textarea{width:100%;min-height:100px;border:1px solid #dfe4ea;border-radius:9px;padding:11px;resize:vertical;font:inherit;font-size:10px;outline:0}.form-body textarea:focus{border-color:#72a4d0;box-shadow:0 0 0 3px #eaf3fb}
