@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.ebceb24d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c36e1862.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.ff4a2084.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.f377b9c4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.d1207556.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.479bea2b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
*{box-sizing:border-box}:root{--bg:#f3f7fb;--surface:#fff;--surface-soft:#f8fbff;--border:#dbe5ef;--text:#1f2d3d;--muted:#6b7b8c;--primary:#0f6cbd;--primary-dark:#0a5798;--success:#22c55e;--success-dark:#16a34a;--shadow:0 10px 30px #0f172a14;--radius-lg:20px;--radius-md:14px;--radius-sm:10px}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Be Vietnam Pro,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{background:#fff}.appShell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;width:270px;transition:transform .25s;display:flex;position:fixed;inset:0 auto 0 0}.logoBox{border-bottom:1px solid var(--border);background:linear-gradient(#fff 0%,#f7fbff 100%);padding:24px 20px}.logoTitle{color:var(--primary);letter-spacing:.4px;font-size:24px;font-weight:800}.logoSub{color:var(--muted);margin-top:6px;font-size:13px}.sidebarNav{padding:6px 0}.navItem{color:#344454;border-radius:10px;margin:2px 12px;padding:7px 16px;font-weight:500;transition:all .2s;display:block}.navItem:hover{color:var(--primary);background:#f3f9ff}.navItem.active{color:var(--primary);box-shadow:inset 4px 0 0 var(--primary);background:linear-gradient(90deg,#eaf5ff 0%,#f5fbff 100%);font-weight:700}.mainArea{flex-direction:column;flex:1;min-width:0;margin-left:270px;display:flex}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:20;background:#ffffffeb;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:sticky;top:0}.menuButton{cursor:pointer;color:var(--primary);background:0 0;border:none;border-radius:10px;padding:6px 10px;font-size:28px}.menuButton:hover{background:#eef6ff}.topbarRight{align-items:center;gap:14px;display:flex}.userText{color:var(--muted);font-size:13px;font-weight:600}.logoutButton{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;transition:all .2s}.logoutButton:hover{background:#f8fafc}.contentArea{padding:24px}.pageHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.breadcrumb{color:var(--primary);margin-bottom:8px;font-size:14px;font-weight:700}.pageTitle{color:#23374d;margin:0;font-size:40px;font-weight:300;line-height:1.15}.pageSubtitle{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.6}.primaryButton,.secondaryButton,.greenButton,.submitButton{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;font-weight:700;transition:all .2s;display:inline-flex}.primaryButton{background:var(--primary);color:#fff;box-shadow:0 8px 20px #0f6cbd2e}.primaryButton:hover{background:var(--primary-dark);transform:translateY(-1px)}.secondaryButton{color:var(--primary);background:#fff;border:1px solid #cfe2f5}.secondaryButton:hover{background:#f7fbff}.greenButton{background:var(--success);color:#fff;box-shadow:0 8px 20px #22c55e2e}.greenButton:hover{background:var(--success-dark);transform:translateY(-1px)}.submitButton{background:var(--primary);color:#fff;min-width:190px;box-shadow:0 8px 20px #0f6cbd29}.submitButton:hover{background:var(--primary-dark)}.submitButton:disabled{opacity:.7;cursor:not-allowed;transform:none}.heroCard{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#f3faff 100%);border:1px solid #dbeaf8;border-radius:24px;margin-bottom:24px;padding:32px;position:relative;overflow:hidden}.heroCard:after{content:"";background:radial-gradient(circle,#0f6cbd1f 0%,#0f6cbd05 60%,#0000 70%);border-radius:999px;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.heroContent{z-index:1;max-width:820px;position:relative}.heroBadge{color:var(--primary);letter-spacing:.8px;background:#eaf5ff;border-radius:999px;margin-bottom:14px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-block}.heroTitle{color:#16324a;margin:0 0 12px;font-size:36px;line-height:1.2}.heroText{color:#4a6178;margin:0;font-size:16px;line-height:1.8}.heroActions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.dashboardGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dashboardCard{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:22px}.dashboardCard h3{color:#21364a;margin:0 0 10px;font-size:22px}.dashboardCard p{color:#607284;min-height:78px;margin:0;line-height:1.7}.dashboardCardIcon{background:#eef7ff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:14px;font-size:26px;display:inline-flex}.cardLink{color:var(--primary);margin-top:18px;font-weight:700;display:inline-block}.cardLink:hover{text-decoration:underline}.muted{opacity:.9}.comingSoon{color:#64748b;background:#f1f5f9;border-radius:999px;margin-top:18px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:24px}.cardHeader{margin-bottom:24px}.cardHeader h2{color:#243b53;margin:0 0 6px;font-size:28px}.cardHeader p{color:var(--muted);margin:0;line-height:1.6}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.formGroup{flex-direction:column;display:flex}.formGroup label{color:#334155;margin-bottom:8px;font-size:14px;font-weight:700}.formGroup input,.formGroup textarea,.formGroup select{color:#0f172a;background:#fff;border:1px solid #d7e2ec;border-radius:12px;outline:none;width:100%;padding:12px 14px;transition:all .2s}.formGroup textarea{resize:vertical;min-height:110px}.formGroup input::placeholder,.formGroup textarea::placeholder{color:#94a3b8}.formGroup input:focus,.formGroup textarea:focus,.formGroup select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f6cbd1f}.fullWidth{grid-column:1/-1}.actionRow{justify-content:flex-end;align-items:center;margin-top:6px;display:flex}.messageBox{color:#16324a;background:#f8fbff;border:1px solid #cfe4f6;border-radius:12px;padding:14px 16px;font-weight:600}.formInput{color:#0f172a;background:#fff;border:1px solid #d7e2ec;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.formInput:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f6cbd1f}.formInput::placeholder{color:#94a3b8}.formInput[readonly]{color:#475569;cursor:not-allowed;background:#f8fafc}textarea.formInput{resize:vertical;min-height:80px;font-family:inherit}.formLabel{color:#334155;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.formCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:20px 22px}.formCardTitle{color:#1f2d3d;margin:0 0 16px;font-size:17px;font-weight:700}.sidebarSectionLabel{letter-spacing:1.2px;color:#94a3b8;text-transform:uppercase;margin:14px 18px 4px;padding:0;font-size:10.5px;font-weight:700}.sidebarSectionLabel.first{margin-top:6px}.sidebarGroupTitle{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:space-between;align-items:center;margin:2px 10px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.sidebarGroupTitle:hover{color:var(--primary);background:#f3f9ff}.sidebarGroupArrow{color:#94a3b8;flex-shrink:0;font-size:10px;transition:transform .2s;display:inline-block}.sidebarGroupArrow.collapsed{transform:rotate(-90deg)}.navIcon{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:color .15s;display:inline-flex}.navIcon svg{width:18px;height:18px;display:block}.navItem,.navSubItem{color:#475569;border-radius:8px;align-items:center;gap:10px;margin:1px 10px;padding:8px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.navSubItem{margin-left:22px}.navItem:hover,.navSubItem:hover{color:var(--primary);background:#f3f9ff}.navItem:hover .navIcon,.navSubItem:hover .navIcon{color:var(--primary)}.navItem.active,.navSubItem.active{color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);background:#eaf5ff;font-weight:700}.navItem.active .navIcon,.navSubItem.active .navIcon{color:var(--primary)}.navBadge{color:#fff;background:#ef4444;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.tmPage{padding:8px 0}.tmToolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.tmToolbar .formGroup{min-width:150px;margin:0}.tmTableWrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto}.tmTable{border-collapse:collapse;width:100%;min-width:880px}.tmTable th,.tmTable td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px 12px;font-size:14px}.tmTable td.tmCellWrap,.tmTable th.tmCellWrap{white-space:normal}.tmTable th{color:#1f2d3d;background:#f7fbff;font-weight:700}.tmTable tr:hover td{background:#f9fcff}.tmTable .tmRowActions{gap:6px;display:flex}.tmBadge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.tmBadge.draft{color:#334155;background:#e2e8f0}.tmBadge.in_transit{color:#1d4ed8;background:#dbeafe}.tmBadge.partially_unloaded{color:#b45309;background:#fef3c7}.tmBadge.completed{color:#166534;background:#dcfce7}.tmBadge.cancelled{color:#991b1b;background:#fee2e2}.tmBadge.normal{color:#166534;background:#dcfce7}.tmBadge.warning{color:#b45309;background:#fef3c7}.tmBadge.urgent{color:#c2410c;background:#fed7aa}.tmBadge.critical{color:#991b1b;background:#fee2e2}.tmBadge.no_mine{color:#475569;background:#e2e8f0}.tmDangerBtn{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.tmDangerBtn:hover{background:#fef2f2}.tmIconBtn{border:1px solid var(--border);color:#334155;cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.tmIconBtn:hover{color:var(--primary);background:#f3f9ff}.tmModalBackdrop{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tmModal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:720px;max-height:90vh;overflow:auto}.tmModalHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.tmModalHeader h3{margin:0;font-size:18px}.tmModalBody{padding:18px 22px}.tmModalFooter{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.tmHeaderActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tmChipsRow{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tmChip{border:1px solid var(--border);color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.tmChip:hover{color:var(--primary);background:#f7fbff}.tmChip.active{color:#92400e;background:#fffbeb;border-color:#fbbf24;box-shadow:0 4px 10px #fbbf242e}.tmChip.active.success{color:#065f46;background:#ecfdf5;border-color:#34d399;box-shadow:0 4px 10px #34d3992e}.tmChip.active.danger{color:#991b1b;background:#fef2f2;border-color:#fca5a5;box-shadow:0 4px 10px #fca5a52e}.tmChip.active.neutral{border-color:var(--primary);color:var(--primary);background:#eaf5ff}.tmChipBadge{color:#92400e;background:#fef3c7;border-radius:10px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.tmChip:not(.active) .tmChipBadge{color:#64748b;background:#f1f5f9}.tmChip.active.success .tmChipBadge{color:#065f46;background:#d1fae5}.tmChip.active.danger .tmChipBadge{color:#991b1b;background:#fee2e2}.tmChip.active.neutral .tmChipBadge{color:#1d4ed8;background:#dbeafe}.tmWorklistToolbar{border:1px solid var(--border);background:#f8fbff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.tmWorklistToolbar .tmSearchBox{border:1px solid var(--border);background:#fff;border-radius:10px;flex:1;align-items:center;gap:6px;min-width:240px;padding:8px 12px;display:flex}.tmWorklistToolbar .tmSearchBox input{background:0 0;border:none;outline:none;flex:1;font-size:14px}.tmActionBtn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.tmActionBtn:hover{background:var(--primary-dark)}.tmActionBtn.outline{color:var(--primary);background:#fff;border:1px solid #cfe2f5}.tmActionBtn.outline:hover{background:#f7fbff}.tmActionBtn.danger{background:#dc2626}.tmActionBtn.danger:hover{background:#b91c1c}.tmTable tr.row-late td{background:#fef2f2!important}.tmTable tr.row-late:hover td{background:#fee2e2!important}.tmTable tr.row-warning td{background:#fffbeb!important}.tmTable tr.row-current td{background:#eff6ff!important}.tmTable tr.row-current td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.tmTripCode{color:var(--primary);font-family:JetBrains Mono,Consolas,monospace;font-size:13px;font-weight:700}.tmTripCodeBadge{color:#6d28d9;background:#ede9fe;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.tmExpectedCell{color:#065f46;font-weight:700;background:#ecfdf5!important}.tmBulkBar{background:linear-gradient(90deg,#eff6ff,#f0f9ff);border:1px solid #bfdbfe;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.tmBulkBar .tmBulkInfo{color:#1e3a8a;font-size:14px;font-weight:700}.tmTableFooter{border-top:1px solid var(--border);color:#475569;background:#f8fbff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.tmPagination{gap:4px;display:inline-flex}.tmPagination button{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:8px;min-width:32px;height:32px;padding:0 8px;font-size:13px;font-weight:700}.tmPagination button:hover:not(:disabled){color:var(--primary);background:#f3f9ff}.tmPagination button.current{background:var(--primary);color:#fff;border-color:var(--primary)}.tmPagination button:disabled{opacity:.4;cursor:not-allowed}.tmDrawerBackdrop{z-index:80;background:#0f172a73;animation:.18s tmFadeIn;position:fixed;inset:0}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tmSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.tmDrawer{background:var(--surface);z-index:90;flex-direction:column;width:min(560px,100vw);animation:.22s tmSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #0f172a2e}.tmDrawerHeader{border-bottom:1px solid var(--border);background:#f8fbff;align-items:center;gap:12px;padding:16px 20px;display:flex}.tmDrawerHeader h3{color:#16304b;flex:1;margin:0;font-size:17px;font-weight:800}.tmDrawerCounter{color:#64748b;border:1px solid var(--border);background:#fff;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.tmDrawerNav{gap:4px;display:inline-flex}.tmDrawerNav button{border:1px solid var(--border);cursor:pointer;color:#475569;background:#fff;border-radius:8px;width:30px;height:30px;font-weight:700}.tmDrawerNav button:hover:not(:disabled){color:var(--primary);background:#f3f9ff}.tmDrawerNav button:disabled{opacity:.35;cursor:not-allowed}.tmDrawerSubHint{color:#64748b;border-bottom:1px solid var(--border);background:#f8fbff;padding:4px 20px 10px;font-size:12px}.tmDrawerSubHint code{border:1px solid var(--border);background:#fff;border-radius:4px;margin:0 2px;padding:1px 6px;font-size:11px}.tmDrawerBody{flex:1;padding:16px 20px;overflow-y:auto}.tmDrawerFooter{border-top:1px solid var(--border);background:#f8fbff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex}.tmDrawerFooter .tmAutoNext{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.tmDrawerFooterRight{gap:8px;display:inline-flex}.tmContextBlock{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:16px;padding:12px 14px}.tmContextBlock .tmCtxLabel{letter-spacing:.6px;color:#1d4ed8;margin-bottom:8px;font-size:11px;font-weight:800}.tmContextBlock .tmCtxRow{grid-template-columns:80px 1fr;gap:6px 10px;padding:2px 0;font-size:13px;display:grid}.tmContextBlock .tmCtxRow>.lbl{color:#475569;font-weight:600}.tmContextBlock .tmCtxRow>.val{color:#0f172a;font-weight:700}.tmHistoryBlock{background:#fefce8;border:1px solid #fde68a;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:13px}.tmHistoryBlock .tmHistTitle{color:#92400e;letter-spacing:.4px;margin-bottom:8px;font-size:12px;font-weight:800}.tmHistoryBlock .tmHistItem{align-items:baseline;gap:8px;padding:4px 0;display:flex}.tmHistoryBlock .tmHistItem strong{color:#78350f}.tmDrawerSectionLabel{color:#64748b;letter-spacing:.6px;border-top:1px solid var(--border);margin:14px 0 8px;padding-top:8px;font-size:11px;font-weight:800}.tmDrawerSectionLabel.first{border-top:none;margin-top:0;padding-top:0}.tmVarianceBox{border-radius:8px;margin-top:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-block}.tmVarianceBox.green{color:#166534;background:#dcfce7}.tmVarianceBox.yellow{color:#92400e;background:#fef3c7}.tmVarianceBox.red{color:#991b1b;background:#fee2e2}.tmInputAuto{font-weight:800;color:#065f46!important;background:#ecfdf5!important}.tmSubloadLayout{flex-direction:column;gap:16px;display:flex}.tmCountInline{color:#64748b;margin-left:6px;font-size:13px;font-weight:600}.tmEntryPill{color:var(--primary);white-space:nowrap;background:#eaf5ff;border:1px solid #cfe2f5;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:700;display:inline-flex}.tmUploadBtn{box-shadow:0 4px 14px #0f6cbd47;padding:11px 22px!important;font-size:14.5px!important}.tmEntryPanel{margin-bottom:16px;padding:0;overflow:hidden}.tmEntrySection{padding:15px 20px}.tmEntrySection+.tmEntrySection{border-top:1px solid var(--border)}.tmEntryHead{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;display:flex}.tmEntryHead h3{color:#1f2d3d;align-items:center;gap:7px;margin:0;font-size:14.5px;font-weight:800;display:inline-flex}.tmEntryHint{color:#64748b;margin:4px 0 12px;font-size:12.5px}.tmEntryEmpty{text-align:center;color:#64748b;background:#f8fafc;border-radius:10px;padding:18px;font-size:13.5px}.tmQueueGrid{grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:10px;display:grid}.tmQueueCard{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:11px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.tmQueueCard:hover{border-color:#cfe2f5;box-shadow:0 3px 12px #0f6cbd17}.tmQueuePlate{color:#1f2d3d;letter-spacing:.3px;font-size:16px;font-weight:800}.tmQueueMeta{color:#475569;font-size:12px}.tmQueueCode{color:#94a3b8;font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px}.tmQueueCard .tmActionBtn{justify-content:center;margin-top:8px}.tmQueuePager{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;display:flex}.tmPlateSearchWrap{position:relative}.tmPlateSearchInput{border:1px solid var(--border);border-radius:10px;outline:none;width:100%;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.tmPlateSearchInput:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f6cbd1f}.tmPicker{border:1px solid var(--border);z-index:60;background:#fff;border-radius:10px;max-height:320px;margin-top:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #0f172a24}.tmPickerHead{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;padding:9px 14px;font-size:12.5px;font-weight:700}.tmPickerEmpty{color:#64748b;padding:12px 14px;font-size:13px}.tmPickerRow{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f1f5f9;width:100%;padding:9px 14px;display:block}.tmPickerRow:last-child{border-bottom:none}.tmPickerRow:hover{background:#f3f9ff}.tmPickerPlate{color:#1f2d3d;font-size:14px;font-weight:700}.tmPickerCode{color:#94a3b8;margin-left:6px;font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px}.tmPickerSub{color:#475569;margin-top:1px;font-size:12px}.tmBatchTable{border-collapse:collapse;width:100%}.tmBatchTable th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);background:#f8fafc;padding:8px 10px;font-size:11.5px;font-weight:700}.tmBatchTable td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px 10px}.tmBatchTable input{width:100%}.tmPlateCellWrap{position:relative}.tmBatchAssigned{color:var(--primary);font-family:JetBrains Mono,Consolas,monospace;font-size:12px;font-weight:700}.tmBatchAssigned.empty{color:#cbd5e1}.tmBatchRowErr{color:#dc2626;margin-top:3px;font-size:11.5px}.tmBatchActions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.sidebarOverlay{display:none}@media (max-width:1100px){.dashboardGrid{grid-template-columns:1fr}.pageTitle{font-size:32px}.heroTitle{font-size:30px}}@media (max-width:900px){.formGrid{grid-template-columns:1fr}.actionRow{justify-content:stretch}.submitButton{width:100%}}@media (max-width:768px){.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebarOverlay{z-index:20;background:#0f172a66;display:block;position:fixed;inset:0}.mainArea{margin-left:0}.topbar{padding:0 16px}.contentArea{padding:16px}.pageHeader{align-items:stretch}.pageTitle{font-size:26px}.pageSubtitle{font-size:14px}.greenButton,.primaryButton,.secondaryButton{width:100%}.heroCard{border-radius:18px;padding:20px}.heroTitle{font-size:24px}.heroText{font-size:14px;line-height:1.7}.heroActions{flex-direction:column}.card{border-radius:16px;padding:18px}.cardHeader h2{font-size:22px}.topbarRight{gap:10px}.userText{display:none}.logoutButton{padding:9px 12px;font-size:12px}}@media (max-width:480px){.contentArea{padding:14px}.pageTitle{font-size:22px}.breadcrumb{font-size:13px}.heroTitle{font-size:21px}.dashboardCard{padding:18px}.dashboardCard h3{font-size:18px}.dashboardCard p{min-height:auto;font-size:14px}.formGroup input,.formGroup textarea,.formGroup select{padding:11px 12px}}.loginPage{background:radial-gradient(circle at 18% 24%,#b8ffc647,#0000 24%),radial-gradient(circle at 78% 18%,#0f6cbd2e,#0000 20%),linear-gradient(135deg,#031b18 0%,#0d3b2f 28%,#0c4f3c 54%,#dff1fb 100%);grid-template-columns:minmax(320px,1.1fr) minmax(360px,.9fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.loginBackdrop{pointer-events:none;opacity:.35;background-image:radial-gradient(#fffc 1px,#0000 1px),linear-gradient(#ffffff0a,#fff0);background-size:30px 30px,100% 100%;position:absolute;inset:0}.loginIntro,.loginPanel{z-index:1;position:relative}.loginIntro{flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 48px;display:flex}.loginBrand{letter-spacing:1px;color:#fff;font-size:46px;font-weight:800}.loginBrandSub{color:#fffc;margin:8px 0 0;font-size:16px}.introGlass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:28px;max-width:640px;margin-top:auto;margin-bottom:36px;padding:30px;box-shadow:0 20px 60px #00000038}.introBadge{color:#ddfff0;letter-spacing:.6px;background:#ffffff1f;border-radius:999px;align-items:center;padding:10px 14px;font-size:12px;font-weight:700;display:inline-flex}.introGlass h1{color:#fff;margin:18px 0 14px;font-size:48px;line-height:1.08}.introGlass p{color:#ffffffd6;margin:0;font-size:17px;line-height:1.8}.introFeatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.introFeatureCard{background:#ffffff1f;border:1px solid #ffffff1f;border-radius:18px;padding:18px}.introFeatureCard strong{color:#fff;margin-bottom:8px;font-size:16px;display:block}.introFeatureCard span{color:#ffffffc7;font-size:14px;line-height:1.6;display:block}.loginPanel{justify-content:center;align-items:center;padding:36px;display:flex}.loginCardShell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#092a238f;border:1px solid #ffffff2e;border-radius:28px;width:min(100%,480px);padding:34px 30px 28px;box-shadow:0 26px 80px #00000042}.loginCardHeader{text-align:center;margin-bottom:30px}.bankMark{color:#fff;background:linear-gradient(135deg,#0f6cbd,#1fb86a);border-radius:18px;place-items:center;width:62px;height:62px;margin:0 auto 18px;font-size:24px;font-weight:800;display:grid;box-shadow:0 12px 30px #0f6cbd47}.loginCardHeader h2{color:#fff;margin:0;font-size:42px;line-height:1.1}.loginCardHeader p{color:#fffc;margin:10px 0 0;font-size:18px}.loginForm{flex-direction:column;gap:16px;display:flex}.loginField{flex-direction:column;gap:8px;display:flex}.loginField>span{color:#ffffffeb;font-size:14px;font-weight:700}.loginInputWrap{align-items:center;display:flex;position:relative}.loginInputWrap input{color:#fff;background:#ffffff14;border:1px solid #ffffff73;border-radius:18px;outline:none;width:100%;height:56px;padding:0 88px 0 18px;font-size:18px;transition:all .2s}.loginInputWrap input::placeholder{color:#ffffff94}.loginInputWrap input:focus{border-color:#7eeaadeb;box-shadow:0 0 0 4px #30c16c29}.fieldIcon,.passwordToggle{color:#ffffffd6;position:absolute;right:16px}.fieldIcon{border:1px solid #ffffff8a;border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.passwordToggle{cursor:pointer;background:0 0;border:none;font-weight:700}.loginMetaRow{justify-content:flex-end;display:flex}.forgotLink{color:#eafff3;background:#ffffff1a;border-radius:14px;justify-content:center;align-items:center;min-width:190px;padding:12px 16px;font-weight:700;text-decoration:underline;display:inline-flex}.loginError{color:#fff2f2;background:#ff6b6b1f;border:1px solid #ff6b6b42;border-radius:14px;padding:14px 16px;font-weight:600}.loginSubmitButton{color:#fff;cursor:pointer;background:linear-gradient(90deg,#3cbd52 0%,#118a42 100%);border:none;border-radius:18px;width:100%;min-height:58px;margin-top:8px;font-size:22px;font-weight:800;transition:all .2s;box-shadow:0 18px 34px #118a424d}.loginSubmitButton:hover:not(:disabled){transform:translateY(-1px)}.loginSubmitButton:disabled{opacity:.65;cursor:not-allowed}.loginFooterNote{text-align:center;color:#ffffffb8;margin-top:18px;font-size:13px}.loginFooterNote code{color:#fff}@media (max-width:1180px){.loginPage{grid-template-columns:1fr}.loginIntro{min-height:auto;padding-bottom:10px}.introGlass{margin-top:32px;margin-bottom:0}.loginPanel{padding-top:8px;padding-bottom:40px}}@media (max-width:768px){.loginIntro{padding:22px 18px 6px}.loginBrand{font-size:34px}.introGlass{border-radius:22px;padding:22px}.introGlass h1{font-size:28px}.introGlass p{font-size:15px}.introFeatures{grid-template-columns:1fr}.loginPanel{padding:14px 16px 30px}.loginCardShell{border-radius:22px;padding:24px 18px 20px}.loginCardHeader h2{font-size:32px}.loginCardHeader p{font-size:16px}.loginInputWrap input{height:52px;font-size:16px}.forgotLink{width:100%;min-width:0}.loginSubmitButton{min-height:54px;font-size:20px}}.registrationPage{flex-direction:column;gap:18px;display:flex}.registrationSection,.uploadSection{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:18px 18px 16px}.sectionTitleRow{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.sectionTitle{color:#1f3550;margin:0;font-size:24px;font-weight:700;line-height:1.2}.sectionTitleSm{color:#1f3550;margin:0;font-size:20px;font-weight:700;line-height:1.2}.sectionDesc{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.sectionTag{min-height:34px;color:var(--primary);white-space:nowrap;background:#eaf5ff;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.sectionTag.secondary{color:#14804a;background:#eef7f2}.registrationForm{flex-direction:column;gap:12px;display:flex}.compactGrid{gap:12px;display:grid}.compactGrid4{grid-template-columns:repeat(4,minmax(0,1fr))}.compactGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}.compactGrid2{grid-template-columns:repeat(2,minmax(0,1fr))}.compactField{flex-direction:column;min-width:0;display:flex}.compactField label{color:#243b53;margin-bottom:6px;font-size:12px;font-weight:700}.compactField input,.compactField select{color:#0f172a;background:#fff;border:1px solid #d7e2ec;border-radius:10px;outline:none;width:100%;height:42px;padding:0 12px;font-size:13px;transition:all .2s}.compactField input::placeholder{color:#94a3b8}.compactField input:focus,.compactField select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f6cbd1a}.registrationFooter{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:4px;display:flex}.registrationHint{color:var(--muted);font-size:12px;line-height:1.5}.compactMessage{margin-top:2px;font-size:13px}.uploadBox{background:#fbfdff;border:1px dashed #c9dae9;border-radius:14px;padding:16px}.uploadNote{color:#55697d;margin-bottom:14px;font-size:13px}.uploadRow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hiddenFileInput{display:none}.fileButton{height:42px;color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cfe2f5;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.fileButton:hover{background:#f7fbff}.fileNameText{color:#64748b;background:#fff;border:1px solid #d7e2ec;border-radius:10px;flex:1;align-items:center;min-width:220px;min-height:42px;padding:0 12px;font-size:13px;display:flex}.previewButton{min-width:160px;height:42px;padding:0 16px}@media (max-width:1200px){.compactGrid4,.compactGrid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.registrationSection,.uploadSection{border-radius:14px;padding:14px}.sectionTitle{font-size:20px}.sectionTitleSm{font-size:17px}.sectionDesc{font-size:12px}.compactGrid4,.compactGrid3,.compactGrid2{grid-template-columns:1fr}.compactField label{font-size:12px}.compactField input,.compactField select{height:40px;font-size:13px}.registrationFooter{flex-direction:column;align-items:stretch}.registrationHint{font-size:12px}.previewButton,.fileButton,.fileNameText,.submitButton{width:100%}.uploadRow{flex-direction:column;align-items:stretch}.fileNameText{min-width:0}}@media (max-width:480px){.sectionTitle{font-size:18px}.sectionTitleSm{font-size:16px}.compactField input,.compactField select{padding:0 10px;font-size:12px}.sectionTag{min-height:30px;font-size:11px}}.sidebarInner{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.sidebarInner::-webkit-scrollbar{width:6px}.sidebarInner::-webkit-scrollbar-track{background:0 0}.sidebarInner::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebarInner::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebarBottomNav{margin-top:auto;padding-top:10px}.settingsPage{flex-direction:column;gap:20px;display:flex}.settingsCard{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:24px}.settingsCardHeader{margin-bottom:20px}.settingsCardHeader h2{color:#16304b;margin:0 0 10px;font-size:28px}.settingsCardHeader p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.devSecurityBox{background:#fff8e8;border:1px solid #edc97f;border-radius:18px;margin-bottom:18px;padding:18px}.devSecurityTitle{color:#ac6b00;margin-bottom:8px;font-size:18px;font-weight:800}.devSecurityDesc{color:#8a6820;margin-bottom:14px;font-size:15px;line-height:1.7}.devSecurityRow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.devPasswordInput{color:#0f172a;background:#fff;border:1px solid #d7e2ec;border-radius:14px;outline:none;flex:1;min-width:240px;height:50px;padding:0 14px}.devPasswordInput:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f6cbd1a}.settingsVerifyButton{min-width:140px;min-height:50px}.settingsErrorText{color:#ef4444;margin-top:10px;font-size:14px;font-weight:700}.settingsTopRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.settingsRoleText{color:#526579;font-size:15px;font-weight:700}.settingsTableWrap{border:1px solid var(--border);background:#fff;border-radius:18px;position:relative;overflow:hidden}.settingsTableOverlay{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a9e;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.settingsOverlayCard{text-align:center;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:20px;width:min(100%,520px);padding:22px}.settingsOverlayTitle{color:#fff;margin-bottom:10px;font-size:26px;font-weight:800}.settingsOverlayText{color:#eef2f7;font-size:15px;line-height:1.7}.settingsTableScroller{overflow-x:auto}.settingsTableScroller.locked{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.settingsTable{border-collapse:collapse;width:100%;min-width:920px}.settingsTable th{text-align:left;color:#334155;white-space:nowrap;background:#f8fbff;padding:14px 16px;font-size:14px;font-weight:800}.settingsTable td{color:#334155;vertical-align:middle;border-top:1px solid #edf2f7;padding:14px 16px;font-size:14px}.settingsCenterCell{text-align:center;color:#64748b;padding:24px 16px!important}.settingsActionRow{flex-wrap:wrap;gap:8px;display:flex}.settingsActionButton{color:#fff;cursor:pointer;border:none;border-radius:10px;min-height:36px;padding:0 12px;font-weight:700}.settingsActionButton.edit{background:#f59e0b}.settingsActionButton.delete{background:#ef4444}.settingsActionButton:disabled{cursor:not-allowed;background:#cbd5e1}.settingsModalBackdrop{z-index:60;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.settingsModal{background:#fff;border-radius:24px;width:min(100%,760px);padding:24px;box-shadow:0 24px 60px #0f172a38}.settingsModalTitle{color:#16304b;margin-bottom:18px;font-size:28px;font-weight:800}.settingsFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settingsInput{color:#0f172a;background:#fff;border:1px solid #d7e2ec;border-radius:14px;outline:none;width:100%;min-height:48px;padding:0 14px}.settingsInput:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f6cbd1a}.settingsInputFull{grid-column:1/-1}.settingsModalActions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:20px;display:flex}@media (max-width:768px){.settingsCard{border-radius:16px;padding:16px}.settingsCardHeader h2{font-size:22px}.devSecurityBox{border-radius:14px;padding:14px}.devSecurityTitle{font-size:16px}.devSecurityDesc{font-size:14px}.devSecurityRow{flex-direction:column;align-items:stretch}.devPasswordInput,.settingsVerifyButton{width:100%}.settingsOverlayCard{border-radius:16px;padding:18px}.settingsOverlayTitle{font-size:20px}.settingsOverlayText{font-size:14px}.settingsFormGrid{grid-template-columns:1fr}.settingsInputFull{grid-column:auto}.settingsModal{border-radius:18px;padding:18px}.settingsModalTitle{font-size:22px}.settingsModalActions{flex-direction:column}.settingsModalActions .primaryButton,.settingsModalActions .secondaryButton{width:100%}}.accountInfoGrid{grid-template-columns:1fr 1fr;gap:16px 24px;padding:16px 0 8px;display:grid}@media (max-width:600px){.accountInfoGrid{grid-template-columns:1fr}}.accountInfoField{flex-direction:column;gap:6px;display:flex}.accountInfoLabel{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.accountInfoValue{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;min-height:40px;padding:8px 12px;font-size:15px;font-weight:500;display:flex}.accountInfoPasswordRow{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;display:flex}.accountInfoPasswordRow .accountInfoValue{min-height:unset;color:#6b7280;background:0 0;border:none;flex:1;padding:0;font-size:14px}.eyeToggleButton{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.eyeToggleButton:hover{color:#374151}.changePasswordGrid{flex-direction:column;gap:16px;max-width:480px;padding:16px 0 8px;display:flex}.changePasswordField{flex-direction:column;gap:6px;display:flex}.passwordInputWrap{align-items:center;display:flex;position:relative}.passwordInputWrap .settingsInput{width:100%;padding-right:44px}.eyeToggleButton.inInput{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.changePasswordActions{justify-content:flex-end;padding-top:8px;display:flex}
