@font-face{font-family:Noto Sans Thai;src:url(/fonts/NotoSansThai-Variable.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{font-family:Noto Sans Thai,system-ui,sans-serif;color:#21344b;background:#f6f8fb;font-synthesis:none;font-weight:400;font-size:14px;--navy:#183c68;--blue:#2863a8;--border:#e7ecf2;--muted:#7b8798;--shadow:0 2px 10px #20374e04}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.5;font-weight:600;letter-spacing:-.6px}h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.8}small{font-size:11px}input,select,textarea{border:1px solid #dfe6ee;border-radius:7px;padding:10px 12px;color:#25374e;background:#fff;min-height:43px;max-width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#73a1ce;box-shadow:0 0 0 3px #e9f1fb}input[type=checkbox]{min-height:0;width:16px;height:16px;accent-color:var(--navy);cursor:pointer}textarea{resize:vertical}button:focus-visible,a:focus-visible{outline:3px solid #8eb9e0;outline-offset:3px}.muted{color:var(--muted)}.padded{padding:22px}.actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .15s}.button.primary{background:var(--navy);color:#fff;box-shadow:0 2px 3px #16365912}.button.primary:hover{background:#244b7c}.button.secondary{background:#fff;border-color:#dde5ee;color:#3a506b}.button.secondary:hover{background:#f4f7fa}.button.ghost{background:transparent;color:#63738a;padding:8px 10px}.button.ghost:hover{background:#eef3f8}.button.danger{background:#fff1ee;border-color:#f5d5ce;color:#b44936}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:7px;color:#8390a2;padding:8px;min-width:36px;min-height:36px}.icon-button:hover{background:#edf2f7;color:var(--navy)}.text-link{border:0;background:none;color:#3267a0;font-weight:500;padding:0;display:inline-flex;align-items:center;gap:5px;text-align:left}.text-link small{display:block;color:#8490a0;font-weight:400;font-size:11px}.text-link:has(small){display:block}.small-link{border:0;background:none;color:#9aa6b5;font-size:11px}.eyebrow{display:block;letter-spacing:1.8px;font-size:10px;font-weight:600;color:#8090a5;margin-bottom:7px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;line-height:1.6;padding:4px 9px;white-space:nowrap;font-size:11px;font-weight:500;background:#eef1f5;color:#798597}.badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.status-Ready{color:#4277ab;background:#edf4fb}.status-Planned,.status-Draft{color:#8c7a53;background:#f7f4eb}.status-Assigned,.status-Published{color:#6962a5;background:#f1eefb}.status-InProgress,.status-Started{color:#3b6c9e;background:#eaf2fc}.status-Delivered,.status-Closed,.status-Completed{color:#318672;background:#eaf6f1}.status-Failed,.status-WarehouseIssue{color:#bd6254;background:#fdf0ed}.status-Collected{color:#478c81;background:#eaf6f3}.status-AwaitingSchedule,.status-AwaitingReview{color:#b08b3d;background:#fcf5e5}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);padding:29px 20px 0;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:10px;align-items:center;margin:0 9px}.brand-icon{width:38px;height:38px;border-radius:10px;background:var(--navy);display:grid;place-items:center;color:#fff}.brand strong{font-size:22px;font-family:system-ui,sans-serif;font-weight:650;letter-spacing:-1px;color:var(--navy)}.brand strong span{font-weight:400;color:#7891a9}.brand small{display:block;font-size:10px;color:#90a0b1;margin-top:1px}.workspace{display:flex;align-items:center;gap:10px;padding:14px 10px;margin-top:34px;margin-bottom:29px;border:1px solid var(--border);border-radius:8px}.workspace-letter{background:#eaf0f7;border:1px solid #dce5ef;border-radius:7px;padding:7px;color:#527398;font-size:12px;font-weight:600}.workspace strong{font-size:12px;font-weight:600;display:block}.workspace small{font-size:10px;color:#8998aa;display:block;margin-top:2px}.workspace svg{margin-left:auto;color:#9aa8b8}.nav-caption{font-family:system-ui,sans-serif;letter-spacing:1.5px;font-size:9px;color:#a4afbf;font-weight:600;margin:0 13px 12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:11px;background:transparent;border:0;text-align:left;min-height:44px;padding:11px 13px;border-radius:7px;color:#7c899a;font-size:12px}.sidebar nav button:hover{background:#f6f8fb}.sidebar nav button.active{background:#edf3fa;color:#27588c;font-weight:600}.sidebar nav svg{stroke-width:1.65}.nav-dot{width:5px;height:5px;border-radius:50%;background:#326da7;margin-left:auto}.sidebar-bottom{margin-top:auto}.prototype-note{padding:20px 10px;border-bottom:1px solid var(--border);font-family:system-ui,sans-serif;font-size:10px;color:#7d8e9f;letter-spacing:.3px}.green-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#68a68f;margin-right:6px}.prototype-note small{display:block;font-family:Noto Sans Thai,sans-serif;font-size:9px;color:#a3adba;margin:5px 0 0 13px}.profile{display:flex;align-items:center;gap:10px;padding:21px 5px;border:0;width:100%;background:transparent;text-align:left}.profile strong{display:block;font-size:12px;font-weight:500}.profile small{display:block;color:#9ba7b5;font-size:10px;margin-top:2px}.profile svg{margin-left:auto;color:#a1adba}.avatar{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;background:#f2e9df;border:1px solid #e8d9c7;border-radius:50%;color:#96724f;font-weight:500;font-size:13px}.avatar.small{width:30px;height:30px;font-size:11px}.main{margin-left:252px;min-width:0;width:calc(100% - 252px)}.topbar{height:72px;border-bottom:1px solid var(--border);background:#fffd;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.breadcrumbs{display:flex;align-items:center;gap:12px;color:#a0adbb;font-size:11px}.breadcrumbs strong{font-weight:500;color:#6c7f94}.topbar-actions{display:flex;align-items:center;gap:14px}.prototype-chip{font-family:system-ui,sans-serif;letter-spacing:1.5px;font-size:9px;padding:5px 8px;border:1px solid #e2e9f0;color:#8193a6;border-radius:4px;font-weight:600}.mobile-menu{display:none}.content{padding:31px 35px 0;max-width:1620px;margin:0 auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-title p{color:#8794a5;font-size:12px;margin-top:5px}.page-title .eyebrow{margin-bottom:4px}.welcome-banner{background:#edf3fa;border:1px solid #e2ebf6;border-radius:11px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;overflow:hidden;min-height:190px}.welcome-banner h2{font-size:22px;color:#234a75;margin:5px 0 7px}.welcome-banner .eyebrow{color:#728caa;font-size:9px}.welcome-banner p{font-size:12px;color:#7f95ae}.welcome-banner p strong{color:#5a7eab;font-weight:600}.welcome-banner button{padding:0;margin-top:16px;background:none;border:0;display:flex;align-items:center;gap:6px;color:#416b97;font-size:11px;font-weight:600}.route-illustration{position:relative;width:360px;height:150px;flex-shrink:0;opacity:.8}.route-line{position:absolute;border:2px dashed #a8bed4;border-radius:40px;width:230px;height:70px;left:60px;top:35px;transform:rotate(-9deg);border-top-color:transparent}.route-pin{position:absolute;display:grid;place-items:center;border:1px solid #c9d9e9;background:#f9fcff;border-radius:12px;width:45px;height:45px;color:#6089ae;box-shadow:0 4px 10px #6d8daf10}.route-pin.one{left:42px;top:71px;transform:rotate(-6deg)}.route-pin.two{left:162px;top:27px;width:66px;height:57px;background:#d6e5f5;border-color:#c1d7eb;transform:rotate(-6deg)}.route-pin.three{left:275px;top:69px;transform:rotate(5deg)}.route-label{position:absolute;bottom:0;left:86px;font-size:7px;letter-spacing:2px;font-family:system-ui,sans-serif;color:#8ca4bd}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:9px;text-align:left;padding:18px 20px;box-shadow:var(--shadow)}.stat-card:hover{border-color:#bfcee0}.stat-card>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7a889a}.stat-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center}.blue{color:#6691b7;background:#edf4fb}.purple{color:#8b80b5;background:#f2effa}.green{color:#6eaa97;background:#eef8f3}.orange{color:#c49a66;background:#fcf4e9}.stat-card>strong{display:block;font-family:system-ui,sans-serif;font-size:31px;font-weight:600;color:#263f5b;margin-top:10px}.stat-card>strong small{font-family:Noto Sans Thai,sans-serif;margin-left:9px;font-size:11px;font-weight:400;color:#9faaba}.stat-card p{font-size:10px;color:#a0adbd;margin-top:9px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;min-width:0}.panel-header{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{font-size:15px}.panel-header p{font-size:10px;color:#96a2b2;margin-top:3px}.panel-header>svg{color:#8197af}.count-chip{border:1px solid #e7edf3;background:#f7f9fc;padding:3px 8px;border-radius:5px;font-size:10px;color:#98a5b5}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-bottom:25px}.attention-row{display:flex;align-items:center;gap:11px;border:0;background:#fff;width:100%;padding:13px 22px;text-align:left;border-top:1px solid #f1f4f7;min-height:63px}.attention-row:hover{background:#fafcfe}.attention-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.attention-row>div{flex:1;min-width:0}.attention-row strong{font-size:11px;font-family:system-ui,sans-serif;font-weight:550;color:#4c6581}.attention-row small{display:block;font-size:10px;color:#9aa6b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.attention-row>svg{color:#bcc7d1}.quick-actions>button{display:flex;gap:14px;align-items:center;background:none;border:0;text-align:left;padding:16px 23px;width:100%;border-top:1px solid #f0f3f7}.quick-actions>button:hover{background:#fafcfe}.quick-actions>button>div{flex:1}.quick-actions strong{font-size:12px;font-weight:500}.quick-actions small{display:block;color:#9eabba;font-size:10px;margin-top:4px}.quick-actions>button>svg{color:#b5c3d2}.quick-icon{width:40px;height:40px;display:grid;place-items:center;background:#f2f6fa;border:1px solid #eaf0f6;color:#7993ad;border-radius:8px;flex-shrink:0}.dot-grid{color:#a7b4c3;letter-spacing:2px}.all-clear{padding:30px;color:#5f9a83;display:flex;align-items:center;gap:8px}.data-table{width:100%}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;padding:12px 22px}.table-toolbar>.muted{font-size:10px;white-space:nowrap}.search{display:flex;align-items:center;gap:7px;color:#a4b2c2;max-width:320px;width:100%;border:1px solid #e9edf3;border-radius:6px;padding:0 10px;background:#fff}.search input{width:100%;padding:7px 0;min-height:30px;font-size:11px;border:0;box-shadow:none;background:transparent}.search input::placeholder{color:#a7b4c2}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}th{background:#f9fbfd;color:#9ba9ba;padding:12px 17px;white-space:nowrap;font-weight:500;border-bottom:1px solid #edf1f6;cursor:pointer}th svg{margin-left:6px;vertical-align:middle;opacity:.5}td{border-bottom:1px solid #f0f3f7;padding:15px 17px;color:#667990;line-height:1.7}td .text-link{font-size:11px;color:#3d6b9c}tr.selected td{background:#f4f8fd}tr:hover td{background:#fcfdfe}.customer-cell{max-width:260px;min-width:170px}.customer-cell small{display:block;font-size:10px;color:#9ba8b8;margin-top:2px}.kind-label{font-size:10px;color:#899aaf;white-space:nowrap}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;font-size:10px;color:#a0adbd}.page-bottom{display:flex;justify-content:space-between;border-top:1px solid #e6ecf3;margin-top:32px;padding:18px 0;font-size:9px;color:#a8b4c1}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:45px 20px;gap:10px;color:#a1afbe}.empty strong{font-size:13px;font-weight:500;color:#8293a7}.empty p{font-size:11px}.empty svg{stroke-width:1.2;color:#b7c5d4}.loading{display:flex;justify-content:center;align-items:center;gap:10px;padding:50px;color:#8e9eaf;font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#fff1ee;border:1px solid #f4d5cd;border-radius:7px;color:#b86551;padding:12px 15px;font-size:12px;margin:12px 0;line-height:1.8}.error-box button{border:0;background:none;text-decoration:underline;color:inherit}.info-banner{background:#edf4fb;border:1px solid #dfeaf6;color:#6684a5;padding:16px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;margin:14px 0 22px;font-size:12px}.info-banner strong{display:block;font-size:12px;color:#537596;font-weight:500}.info-banner span{display:block;font-size:11px;margin-top:4px}.filter-tabs{display:flex;gap:15px;align-items:center;padding:0 22px;border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}.filter-tabs button{min-height:55px;border:0;background:none;color:#8b99aa;font-size:12px;padding:14px 5px;border-bottom:2px solid transparent}.filter-tabs button.active{color:#346695;border-bottom-color:#346695;font-weight:500}.filter-tabs select{min-height:33px;padding:4px 7px;margin-left:auto;font-size:11px}.server-search{padding:18px 22px;display:flex;align-items:center;gap:20px;justify-content:space-between}.server-search input{width:400px;font-size:12px}.server-search span{font-size:11px}.server-paging{display:flex;justify-content:flex-end;gap:14px;align-items:center;padding:9px 20px;border-top:1px solid var(--border);font-size:10px;color:#9aa8b8}.calendar-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:#7690ab}.calendar-bar input{font-size:12px}.segmented{display:flex;gap:4px;background:#eaf0f7;border-radius:7px;padding:4px}.segmented button{border:0;border-radius:5px;padding:6px 13px;background:transparent;color:#8395ab;font-size:11px}.segmented button.active{background:#fff;color:#4c6c8f;box-shadow:0 1px 4px #2037540b}.planner-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:22px;align-items:start}.planner-grid td,.planner-grid th{padding:12px}.assign-bar{padding:17px;display:flex;gap:10px;border-top:1px solid var(--border)}.assign-bar select{flex:1;min-width:0;font-size:10px}.trip-tabs{display:flex;overflow-x:auto;gap:8px;padding:0 18px 18px}.trip-tabs button{border:1px solid #e5ebf3;border-radius:7px;background:#fafcfe;padding:10px 13px;min-width:160px;text-align:left;color:#8a9aae}.trip-tabs button.active{border-color:#b7cee6;background:#f0f6fc;color:#3d6d9c}.trip-tabs strong{display:block;font-size:11px;font-weight:500}.trip-tabs small{display:block;font-size:9px;margin-top:3px}.trip-info{border-top:1px solid var(--border);padding:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.trip-info strong{font-size:13px}.trip-info small{display:block;font-size:10px;color:#97a6b8;margin-top:5px}.stop-list{padding:0 18px}.stop{position:relative;display:flex;gap:12px;padding:16px 0;border-top:1px solid #edf2f7}.stop-number{flex-shrink:0;width:27px;height:27px;background:#edf3fa;border:1px solid #dce8f4;display:grid;place-items:center;border-radius:50%;font-size:11px;color:#6189b0}.stop-content{flex:1;min-width:0}.stop-content>strong{font-size:11px;font-weight:500}.stop-content>p{color:#9aa9b9;font-size:10px;margin:4px 0}.stop-job{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.stop-job .text-link{font-size:10px}.stop-order{display:flex;flex-direction:column}.stop-order .icon-button{min-height:26px;min-width:26px;padding:4px}.trip-footer{padding:17px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-footer .muted{font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 16px}.section-heading h2{font-size:16px}.section-heading span{font-size:11px;color:#95a5b7}.warehouse-trips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.handover-summary{display:flex;justify-content:space-between;padding:0 22px 18px;font-size:12px;color:#8295a9}.handover-summary strong{color:#48769d;font-weight:500}.handover-line{width:100%;border:0;border-top:1px solid #eef2f7;background:none;display:flex;align-items:center;gap:15px;padding:12px 22px;text-align:left;font-size:11px;color:#557b9e}.handover-line small{flex:1;color:#a1afbf;font-size:10px}.handover-line svg{color:#afbdcc}.driver-trip{margin-bottom:28px}.driver-trip-header{padding:23px;display:flex;align-items:center;gap:15px}.driver-trip-header>div{flex:1}.driver-trip-header p{font-size:11px;color:#90a1b4;margin-top:5px}.driver-trip-action{padding:15px 23px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.driver-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.driver-job{padding:23px}.driver-job-top{display:flex;align-items:center;gap:12px}.driver-job-top>div{flex:1;min-width:0}.driver-job-top h3{font-size:13px}.driver-job-top .eyebrow{font-size:8px;margin-bottom:3px}.driver-address{margin:20px 0 12px;display:flex;gap:8px;color:#91a2b7;font-size:12px}.driver-address svg{flex-shrink:0;margin-top:3px}.driver-contact{display:flex;justify-content:space-between;font-size:11px;color:#6f8daa;margin-bottom:20px;gap:15px}.driver-contact strong{font-weight:500}.driver-job-actions{display:flex;justify-content:space-between;gap:10px}.driver-job-actions .button{font-size:12px}.reports-grid{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}.report-preview{min-height:580px}.report-preview iframe{width:100%;height:650px;border:0}.report-note{font-size:11px;margin-top:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.settings-grid p{font-size:12px;margin:10px 0 18px}pre{font-family:monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:11px;line-height:1.8;color:#7c91a6;background:#f5f8fc;border-radius:8px;padding:16px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#1d304c50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:30px}.modal{background:#fff;border-radius:13px;width:490px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;box-shadow:0 20px 90px #132d4b2e}.modal.wide{width:850px}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:18px 25px}.modal>header h2{font-size:16px}.modal-body{overflow-y:auto;overscroll-behavior:contain;padding:25px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:12px;font-weight:500}.field>span{color:#6f8298}.field>small{font-size:10px;font-weight:400;color:#9aa9ba}.field input,.field textarea,.field select{width:100%;font-weight:400;font-size:13px}.checkbox-field{display:flex;align-items:center;gap:9px;font-size:12px;color:#7c8da2;margin:22px 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.job-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.job-summary h2{font-size:20px}.job-summary p{color:#91a1b5;font-size:12px;margin-top:5px}.detail-tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);margin:22px 0}.detail-tabs button{padding:14px 0;border:0;border-bottom:2px solid transparent;background:none;color:#94a3b4;font-size:12px}.detail-tabs button.active{color:#376c9d;border-bottom-color:#376c9d}.detail-info-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:24px;font-size:12px;padding:7px 0 25px}.detail-info-grid span{display:block;font-size:10px;color:#94a6b9;margin-bottom:7px}.detail-info-grid strong{display:block;color:#5c7490;font-size:12px;font-weight:500;line-height:1.8}.detail-info-grid a,.detail-info-grid small{margin-top:8px;display:inline-flex;font-size:10px;color:#8aa3bd}.invoice-lines{border:1px solid var(--border);border-radius:8px;padding:17px 20px;margin-bottom:23px}.invoice-lines h3{font-size:12px;margin-bottom:12px;color:#748ba2}.invoice-lines>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #f1f4f7;font-size:12px;color:#6c849d}.invoice-lines small{display:block;color:#a5b3c1;font-size:10px}.invoice-lines strong{font-weight:500;color:#658cb0;white-space:nowrap}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.operation-form,.checkin-panel{border:1px solid #e0eaf6;background:#f8fbff;border-radius:8px;padding:22px;margin:22px 0}.operation-form h3{margin-bottom:18px;color:#5c7e9e}.checkin-panel>p{font-size:12px;color:#93a5b9;margin:12px 0 16px}.step-heading{display:flex;align-items:center;gap:10px;color:#537697;font-size:14px;font-weight:500;margin-bottom:18px}.step-heading>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8f0fa;font-size:11px;color:#527ca6}.gps-exception{margin-top:20px}.capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.capture-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #c9d9e8;background:#f8fbfe;border-radius:8px;padding:26px;color:#8ea5bc;cursor:pointer;min-height:150px}.capture-box strong{font-size:12px;font-weight:500}.capture-box small{font-size:10px;color:#a3b4c4}.capture-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.capture-box.has-file{border-color:#a1c5b8;background:#f3faf7;color:#609884}.signature-block{margin:18px 0 30px}.signature-block canvas{touch-action:none;background:#fff;border:1px dashed #b8cce2;border-radius:8px;width:100%;height:auto;margin-top:10px}.signature-block>p{font-size:12px;margin-top:12px}.signature-block .form-actions{margin-top:8px}.outcome-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 23px}.outcome-choice button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e1e8f1;color:#95a5b8;background:#fff;border-radius:8px;padding:14px;font-size:13px}.outcome-choice .active.success{border-color:#91baa9;background:#f1f9f5;color:#538d78}.outcome-choice .active.failure{border-color:#e1ba9e;background:#fff7ed;color:#b98b65}.submission-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#8da0b5;margin:20px 0 12px}.complete-button{width:100%}.attempt-form>.muted{font-size:11px;margin-top:9px}.attempt-history>section{border:1px solid var(--border);border-radius:9px;margin:15px 0 25px;overflow:hidden}.attempt-heading{display:flex;gap:13px;align-items:center;background:#f8fafd;padding:18px;border-bottom:1px solid var(--border)}.attempt-heading h3{font-size:13px}.attempt-heading small{display:block;font-size:10px;color:#9eaebd;margin-top:3px}.history-icon{color:#829bb4}.history-content{padding:20px;font-size:12px;color:#7690a9}.history-content p{margin-bottom:8px}.evidence-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.evidence-gallery a{border:1px solid var(--border);border-radius:7px;overflow:hidden;text-align:center;background:#f9fbfd}.evidence-gallery img{display:block;width:100%;height:130px;object-fit:contain;background:#f4f7fa}.evidence-gallery a>svg{height:130px;margin:auto;color:#94a9bb}.evidence-gallery span{display:block;padding:10px;font-size:11px}.evidence-gallery small{display:block;font-size:9px;color:#a1afbd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.audit-row{padding:14px 0;border-bottom:1px solid var(--border);font-size:11px;color:#8298ad;line-height:1.8}.audit-row strong{display:block;font-size:12px;color:#5e7e9d}.audit-row span,.audit-row small{display:block}.audit-row summary{cursor:pointer}.validation-error{color:#bc6558;font-size:11px}.import-steps{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;color:#a4b3c1;margin-bottom:25px}.import-steps .active{color:#557fa6;font-weight:500}.upload-zone{position:relative;border:1px dashed #c7d9e9;background:#f8fbff;border-radius:10px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#90a9c0;text-align:center}.upload-zone strong{font-size:15px;color:#678bac}.upload-zone p{font-size:12px}.upload-zone input{max-width:270px;font-size:11px;padding:8px;border:0;background:transparent}.upload-zone span{font-size:11px}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-heading strong{font-size:13px}.preview-heading p{font-size:11px;color:#91a4b7;margin-top:5px}.import-list{margin-top:20px;max-height:410px;overflow:auto;border:1px solid var(--border);border-radius:8px}.import-row{display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.import-row>div{flex:1;min-width:0}.import-row>input{margin-top:4px}.import-row strong{font-size:12px;font-weight:500;color:#6283a2}.import-row small{display:block;font-size:10px;color:#a0b0c0;margin-top:6px}.import-row .badge{font-size:10px}.import-row.invalid{background:#fffbf9}.change-line{font-size:11px;color:#b4965e;margin-top:6px}.import-done{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px;color:#649b86}.import-done p{font-size:13px;color:#8fa5b7}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:10px;padding:14px 22px;background:#eff9f4;color:#518672;border:1px solid #c9e3d7;border-radius:9px;box-shadow:0 10px 40px #1d30491a;font-size:12px;max-width:calc(100vw - 30px)}.toast.error{background:#fff1ed;color:#b36656;border-color:#f0d0c5}.notification-wrapper{position:relative}.notification-dot{position:absolute;top:7px;right:8px;width:5px;height:5px;background:#cb9569;border:1px solid #fff;border-radius:50%}.notification-popover{position:absolute;right:-25px;top:48px;z-index:45;width:360px;max-height:440px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 50px #1e3d5d18}.notification-popover h3{padding:18px}.notification-popover>div{border-top:1px solid var(--border);padding:15px 18px;font-size:11px;color:#728ba4}.notification-popover small{display:block;font-size:9px;color:#a8b6c4;margin-top:5px}.offline-banner{padding:12px 30px;background:#fff5e8;color:#ad8a5a;font-size:12px;display:flex;align-items:center;gap:10px}.login-screen{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:#fff}.login-story{padding:48px 55px;background:#15365c;display:flex;flex-direction:column;justify-content:space-between;color:#b7cee5;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #294b70;border-radius:50%;right:-230px;bottom:-200px;box-shadow:0 0 0 75px #23466d44,0 0 0 150px #23466d22}.brand.light strong{color:#fff}.brand.light strong span{color:#aec4da}.brand.light .brand-icon{background:#2b5078;border:1px solid #456485}.brand.light small{color:#83a1bf}.login-story h1{color:#fff;font-size:46px;line-height:1.6;font-weight:500;margin:18px 0 22px}.login-story .eyebrow{color:#84a1bf;font-size:10px;letter-spacing:2.5px}.login-story p{font-size:13px;color:#a6bed6;line-height:2.1}.login-points{display:flex;flex-direction:column;gap:17px;margin-top:36px;font-size:12px;color:#a8c0d8}.login-points span{display:flex;gap:13px;align-items:center}.login-points svg{width:18px;height:18px;color:#789fc1}.login-story>small{color:#7192b1;letter-spacing:.5px;font-family:system-ui,sans-serif;font-size:10px}.login-form{align-self:center;padding:60px 70px;max-width:560px;margin:auto;width:100%}.login-form h2{font-size:25px;margin:26px 0 8px;color:#264465}.login-form>p{font-size:12px;margin-bottom:28px}.login-form form .button{width:100%;margin-top:5px}.demo-accounts{border-top:1px solid var(--border);margin-top:32px;padding-top:23px}.demo-accounts>span{color:#9caebf;font-size:10px}.demo-accounts>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.demo-accounts button{border:1px solid #e5ecf4;background:#fafcfe;color:#8c9db2;font-size:11px;padding:10px;border-radius:6px;min-height:42px}.demo-accounts button.selected{background:#edf4fb;color:#52799f;border-color:#c7daed}.demo-accounts>small{display:block;color:#a6b4c3;font-size:9px;margin-top:13px}@media(min-width:1600px){.content{padding:35px 45px 0}.topbar{padding:0 45px}.welcome-banner{min-height:205px}.stats-grid{gap:22px}}@media(max-width:1150px){.sidebar{width:220px;padding:27px 15px 0}.main{margin-left:220px;width:calc(100% - 220px)}.content{padding:26px 24px 0}.topbar{padding:0 24px}.route-illustration{width:285px;transform:scale(.85);transform-origin:right center;margin-left:-30px}.stats-grid{gap:12px}.stat-card{padding:16px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px}.planner-grid{grid-template-columns:1fr}.reports-grid{grid-template-columns:290px 1fr}.driver-stops,.warehouse-trips{grid-template-columns:1fr}.welcome-banner{padding:23px}.attention-row{padding:13px 16px}.attention-row .badge{font-size:9px}.quick-actions>button{padding:17px}.notification-popover{right:-35px}}@media(max-width:800px){.sidebar{transform:translate(-100%);width:245px;transition:transform .2s}.sidebar.visible{transform:translate(0)}.sidebar-cover{position:fixed;inset:0;background:#1d30494d;z-index:25}.main{margin-left:0;width:100%}.mobile-menu{display:inline-flex}.content{padding:23px 20px 0}.topbar{padding:0 17px;height:65px}.topbar-actions{gap:8px}.breadcrumbs{gap:8px;font-size:10px}.breadcrumbs>span{display:none}.breadcrumbs>svg{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.dashboard-grid{grid-template-columns:1fr}.route-illustration{width:245px;transform:scale(.7);margin-left:-75px}.welcome-banner h2{font-size:20px}.welcome-banner p{font-size:11px}.welcome-banner .eyebrow{font-size:8px}.page-title h1{font-size:25px}.page-title p{font-size:11px}.page-title .button{font-size:11px;padding:10px}.reports-grid{grid-template-columns:1fr}.report-preview{min-height:350px}.settings-grid{grid-template-columns:1fr}.login-story{padding:35px}.login-form{padding:40px}.login-story h1{font-size:34px}.login-screen{grid-template-columns:1fr 1fr}.login-points{font-size:11px}.modal-backdrop{padding:20px}.modal{max-height:calc(100dvh - 40px)}.detail-info-grid{grid-template-columns:1fr 1fr}.driver-job-top .badge{font-size:10px}.notification-popover{width:310px}.filter-tabs{gap:12px}.filter-tabs button{font-size:11px}.filter-tabs select{min-width:100px;font-size:10px}}@media(max-width:540px){.content{padding:20px 15px 0}.page-title{align-items:flex-start;gap:12px;margin-bottom:19px}.page-title h1{font-size:23px}.page-title .eyebrow{font-size:8px;letter-spacing:1.1px}.page-title p{font-size:10px}.page-title .actions{align-self:center}.page-title .actions .button{padding:9px;font-size:10px}.page-title .actions svg{width:14px}.page-title input{font-size:10px;max-width:145px;min-height:36px}.welcome-banner{padding:23px 19px;min-height:180px;position:relative}.welcome-banner>div:first-child{z-index:1}.welcome-banner h2{font-size:20px}.route-illustration{position:absolute;right:-90px;bottom:30px;opacity:.27}.welcome-banner .eyebrow{font-size:7px}.stat-card{padding:16px}.stat-card>div{font-size:11px}.stat-icon{width:29px;height:29px}.stat-icon svg{width:17px}.stat-card>strong{font-size:29px}.stat-card p{font-size:9px}.stats-grid,.dashboard-grid{margin-bottom:19px}.panel-header{padding:18px}.attention-row{gap:8px}.attention-row .badge{font-size:9px;padding:4px 6px}.attention-row>svg{display:none}.attention-row small{font-size:9px}.panel-header h2{font-size:14px}.panel-header p{font-size:9px}.table-toolbar{padding:12px 16px}.page-bottom{font-size:8px;gap:15px}.page-bottom>span:first-child{max-width:220px}.prototype-chip{font-size:8px;padding:4px 6px;letter-spacing:1px}.topbar-actions .avatar{display:none}.login-screen{display:block}.login-story{min-height:220px;padding:28px 26px}.login-story>div:nth-child(2){margin-top:30px}.login-story h1{font-size:28px;margin:8px 0 0;line-height:1.55}.login-story h1 br{display:none}.login-story p,.login-points,.login-story>small{display:none}.login-form{padding:30px 27px 45px}.login-form h2{font-size:24px;margin-top:15px}.brand strong{font-size:21px}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.wide{width:100%;border-radius:15px 15px 0 0;max-height:95dvh}.modal>header{padding:15px 18px}.modal>header h2{font-size:14px}.modal-body{padding:20px 18px 30px}.job-summary h2{font-size:17px}.job-summary .badge{font-size:10px}.detail-info-grid{grid-template-columns:1fr;gap:17px}.detail-info-grid>div{border-bottom:1px solid #f0f3f7;padding-bottom:15px}.detail-info-grid>div:last-child{border:0;padding-bottom:0}.detail-tabs{gap:20px;margin:18px 0}.detail-tabs button{font-size:11px}.capture-grid{gap:10px}.capture-box{padding:21px 10px;min-height:135px}.capture-box strong{font-size:11px}.capture-box small{font-size:9px}.capture-box svg{width:24px}.checkin-panel,.operation-form{padding:18px}.form-grid{grid-template-columns:1fr}.detail-actions .button{font-size:11px;padding:9px 12px}.evidence-gallery{grid-template-columns:1fr 1fr}.driver-trip-header{padding:18px;gap:10px}.driver-trip-header h2{font-size:15px}.driver-trip-header p{font-size:9px}.driver-trip-header .quick-icon{display:none}.driver-trip-header .badge{font-size:9px}.driver-trip-action{flex-direction:column;align-items:stretch;padding:16px}.driver-trip-action .muted{font-size:10px}.driver-job{padding:19px}.driver-job-top{align-items:flex-start}.driver-job-top h3{font-size:12px}.driver-job-top .badge{font-size:9px;padding:3px 5px}.driver-job-top .stop-number{width:24px;height:24px}.driver-contact{font-size:10px;flex-wrap:wrap}.driver-job-actions .button{padding:10px 11px;font-size:11px}.driver-stops{gap:14px}.calendar-bar .actions{gap:4px}.calendar-bar input{font-size:10px;max-width:145px}.calendar-bar .button{font-size:10px;padding:7px}.calendar-bar .actions>svg{display:none}.segmented button{font-size:9px;padding:7px 9px}.assign-bar{flex-direction:column}.trip-footer .button{font-size:11px;padding:9px 10px}.stop-content>strong{font-size:11px}.server-search{padding:16px;flex-direction:column;align-items:stretch;gap:8px}.server-search input{width:100%}.server-paging{font-size:9px;gap:5px}.server-paging .button{font-size:9px;padding:8px}.filter-tabs{padding:0 16px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.section-heading h2{font-size:15px}.section-heading span{font-size:10px}.import-steps{font-size:10px;gap:10px}.import-row{padding:13px;gap:8px}.import-row strong{font-size:11px}.import-row .badge{font-size:8px;padding:4px}.import-row small{font-size:9px}.toast{font-size:11px;width:max-content;bottom:16px}.notification-popover{right:-8px;max-width:calc(100vw - 30px)}.report-preview iframe{height:520px}.report-preview .button{font-size:10px}.report-preview .panel-header{padding:14px}}.week-calendar{margin-bottom:24px}.week-calendar-header{padding:20px 22px 8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.week-calendar-header h2{font-size:16px}.week-calendar-header p{font-size:11px;color:#7b8fa5;margin-top:5px}.week-calendar-header .button{min-height:44px;min-width:44px;padding:10px}.week-calendar-hint{padding:0 22px 18px;font-size:11px;color:#8093a9}.week-calendar-scroll{overflow-x:auto;max-width:100%;outline-offset:-3px}.week-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));min-width:784px;border-top:1px solid var(--border)}.calendar-day{min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:#fff}.calendar-day:last-child{border-right:0}.calendar-day.is-today{background:#f7faff}.calendar-day-header{width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);background:#f9fbfd;padding:13px 12px;min-height:100px;color:#607891}.calendar-day-header>span{display:flex;justify-content:space-between;align-items:center;font-size:11px}.calendar-day-header>span small{background:#e5effb;color:#3c6896;border-radius:4px;padding:2px 5px;font-size:9px}.calendar-day-header>strong{display:block;font-size:23px;font-weight:600;line-height:1.5;color:#334f70}.calendar-day-header>small{display:block;font-size:10px;color:#8195ac}.calendar-day.is-selected .calendar-day-header{background:#edf3fc;box-shadow:inset 0 -2px #426d9c}.calendar-day-content{padding:10px;min-height:155px;max-height:430px;overflow-y:auto;flex:1;scrollbar-width:thin}.calendar-trip{width:100%;text-align:left;border:1px solid #dfe7f1;border-left:3px solid #a0b7d0;background:#fff;border-radius:7px;padding:11px 9px;margin-bottom:10px;display:flex;flex-direction:column;gap:7px;color:#6b839c}.calendar-trip:hover,.calendar-trip.selected{border-color:#527aab;background:#f1f6fd}.calendar-trip>strong{font-size:12px;line-height:1.7;color:#324f72;overflow-wrap:anywhere;font-weight:600}.calendar-trip .badge{font-size:9px;align-self:flex-start;padding:3px 5px;white-space:normal}.calendar-trip>span:not(.badge){font-size:10px;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.calendar-trip>small{font-size:10px;line-height:1.8;color:#7990a8}.calendar-waiting{border-top:1px dashed #dbe4ef;margin-top:5px;padding-top:10px}.calendar-waiting>strong{display:block;font-size:10px;color:#9a7c4e;font-weight:500;margin-bottom:4px}.calendar-waiting>button{border:0;background:transparent;color:#667f9e;width:100%;min-height:44px;text-align:left;display:flex;align-items:center;gap:5px;font-size:10px;overflow-wrap:anywhere}.calendar-waiting>button:hover{color:#25486f;text-decoration:underline}.calendar-no-work{font-size:11px;color:#a2afbd;text-align:center;padding:35px 0}.calendar-create{min-height:44px;font-size:11px;border-top:1px solid var(--border);border-radius:0;width:100%;justify-content:center}@media(max-width:540px){.calendar-bar{flex-wrap:wrap;gap:12px}.week-calendar-header{padding:16px 16px 8px;align-items:flex-start}.week-calendar-header h2{font-size:14px}.week-calendar-header p{font-size:10px}.week-calendar-hint{padding:0 16px 14px;font-size:10px}.week-calendar-header .actions{gap:5px}.week-calendar-grid{grid-template-columns:repeat(7,165px);min-width:1155px}}
