[hidden]{display:none!important}
:root{--bg:#f3f6f8;--ink:#142436;--muted:#728092;--line:#e1e7ed;--navy:#091a2b;--green:#03a080;--danger:#d94a4a;--card:#fff;--soft:#ecf8f4;--sh:0 12px 35px #0e294010}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#087b67;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:33px;letter-spacing:-1.2px;line-height:1.12}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:16px}.overline,.sidebar-label,.tiny-label{font-size:10px;letter-spacing:1.7px;font-weight:800;color:var(--green)}.topbar{height:74px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ffffff11}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:16px;letter-spacing:.5px}.brand small{display:block;color:#80a4b4;font-size:10px;font-weight:700;letter-spacing:1.7px;margin-top:5px}.brand-symbol,.mark{background:#04a987;color:white;font-size:27px;border-radius:13px;display:grid;place-items:center;width:44px;height:44px}.topright{display:flex;align-items:center;gap:13px;color:#a9bbca}.online-dot{width:8px;height:8px;background:#20c796;border-radius:50%;box-shadow:0 0 0 4px #20c79622}.link-btn{background:none;border:0;color:#aac4d1;font-size:12px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100dvh - 74px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:29px 15px;display:flex;flex-direction:column}.sidebar-label{color:#a8b3bd;padding:0 15px;margin:0 0 16px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{border:0;text-align:left;display:flex;gap:16px;align-items:center;background:transparent;padding:14px 16px;border-radius:9px;color:#667b8a;font-weight:650}.sidebar nav button>span{font-size:23px;line-height:18px}.sidebar nav button.active,.sidebar nav button:hover{background:#e9f6f2;color:#087761}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:25px 12px 0;font-size:12px;color:var(--muted)}.tiny-label{color:#a4b1b9;margin-bottom:10px}.readonly{color:#268d73;background:#eef9f5;padding:9px;border-radius:8px;margin-top:15px;font-size:11px;font-weight:650}.main{padding:34px 4.4vw 70px;max-width:1520px;width:100%;margin:auto}.heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:27px}.subtitle{color:var(--muted);margin:9px 0 0;font-size:14px}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 17px;border-radius:9px;font-weight:700;font-size:13px;box-shadow:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn.danger{background:#fff3f1;border-color:#f7cccc;color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:27px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px;box-shadow:var(--sh)}.kpi .number{font-size:34px;letter-spacing:-1.2px;font-weight:800;margin:10px 0 4px}.kpi label{color:var(--muted);font-size:12px}.kpi .mini{font-size:11px;color:#9aa9b3}.kpi.danger{border-color:#f6d3d1}.kpi.danger .number{color:var(--danger)}.columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:21px}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--sh);overflow:hidden;margin-bottom:20px}.panel-head{padding:21px 23px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.panel-head h2{margin:0}.panel-body{padding:18px 22px}.task{padding:16px 21px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #eef1f3}.task:last-child{border-bottom:0}.task-icon{background:#f2f6f8;border-radius:9px;display:grid;place-items:center;flex:none;width:39px;height:39px;font-size:20px}.task-title{font-weight:750;font-size:13px;margin-bottom:5px}.task-detail{font-size:12px;color:var(--muted)}.task-main{flex:1;min-width:0}.task-main a{color:var(--ink)}.task-overdue{color:#d74343;font-weight:750}.task-today{color:#bf761c;font-weight:750}.task-done{opacity:.5}.task .btn{padding:8px 10px;font-size:12px;white-space:nowrap}.tag{font-size:11px;border-radius:6px;padding:4px 8px;background:#edf3f8;color:#658096;font-weight:750;white-space:nowrap}.tag.ok{color:#148269;background:#e1f7ef}.tag.warn{color:#bc701c;background:#fff2df}.tag.bad{color:#c13f3f;background:#ffe8e6}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}.empty{padding:34px 16px;text-align:center;color:var(--muted)}.list-row{padding:15px 22px;border-bottom:1px solid #eef1f3;display:flex;align-items:center;gap:13px}.list-row:last-child{border:0}.list-row .grow{flex:1;min-width:0}.list-row strong{display:block;margin-bottom:5px;font-size:13px}.list-row small{color:var(--muted)}.datechip{background:#eaf5f2;color:#08846b;width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-weight:800;line-height:1.1;flex:none;text-align:center;font-size:16px}.datechip span{display:block;font-size:10px;letter-spacing:.7px;font-weight:600}.notice{background:#ecf9f5;border-left:4px solid var(--green);padding:17px 20px;border-radius:8px;font-size:13px;margin:0 0 23px}.notice.warning{background:#fff9e8;border-color:#f8b94b}.notice.alert{background:#fff0ef;border-color:#dd5c5c}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}label.field,label{font-weight:650;font-size:12px;color:#435569}input,select,textarea{width:100%;background:#fff;border:1px solid #d9e1e7;border-radius:8px;padding:11px 12px;outline:none;margin-top:6px;color:var(--ink);font-weight:500}textarea{min-height:74px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #00a7851a}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);margin:0}.full{grid-column:1/-1}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.form-actions .btn{min-width:125px}.pillbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 17px}.pillbar button{background:white;border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-weight:650;color:#627384;font-size:12px}.pillbar button.active{background:var(--navy);color:white;border-color:var(--navy)}.searchline{display:flex;gap:8px;margin-bottom:17px}.searchline input{margin:0;max-width:420px}.trip-table{width:100%;border-collapse:collapse}.trip-table th{color:#8899aa;font-weight:750;font-size:11px;text-align:left;padding:12px 16px;background:#f9fbfc;text-transform:uppercase;letter-spacing:.7px}.trip-table td{padding:15px 16px;border-top:1px solid #edf0f3;font-size:13px}.trip-table tr:hover td{background:#fbfdfd}.trip-table td a{font-weight:700}.trip-table .muted{font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-head{text-align:center;padding:13px 0;color:#7f8e9d;font-size:12px;font-weight:700}.day{min-height:116px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 8px;background:#fff;overflow:hidden}.day.other{background:#f8fafb}.day.today .day-num{background:var(--green);color:#fff}.day-num{font-size:12px;font-weight:700;display:grid;place-items:center;width:25px;height:25px;border-radius:7px}.day .event{display:block;font-size:11px;background:#e6f5f1;color:#057f63;padding:5px 6px;border-radius:5px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day .event.back{background:#ecf0fa;color:#5269b3}.detail-hero{background:linear-gradient(120deg,#0c263d,#124e4a);color:white;padding:27px;border-radius:15px;margin-bottom:20px;display:flex;justify-content:space-between;gap:18px}.detail-hero h1{color:white;margin:9px 0 13px}.detail-hero .subtitle{color:#bad8d8}.detail-hero .tag{background:#ffffff20;color:#fff;display:inline-flex}.detail-hero a{color:#b2f2dc}.details-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:22px}.doc-row{display:grid;grid-template-columns:20px minmax(0,1fr) 120px 25px;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #eef1f3}.doc-row:last-child{border:0}.doc-row a{overflow-wrap:anywhere;font-size:12px}.doc-row select{padding:6px;font-size:11px;margin:0}.doc-row.absent{opacity:.5}.transfer-card{padding:22px;border-top:1px solid var(--line)}.transfer-card:first-of-type{border-top:0}.transfer-card .field-grid{margin-top:15px}.transfer-card h3{margin:0}.transfer-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.compact{font-size:11px;padding:8px}.eventlog{padding:10px 18px;border-bottom:1px solid var(--line);font-size:12px;color:#66798b}.eventlog b{color:#31465a}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.bottom-nav{display:none}.login-area{min-height:100dvh;background:radial-gradient(circle at 70% 20%,#195e5e,#091a2b 60%);display:grid;place-items:center;padding:22px}.login-card{width:min(410px,100%);background:white;border-radius:18px;padding:36px;box-shadow:0 30px 70px #0004}.login-card .mark{margin-bottom:25px}.login-card h1{margin:9px 0 10px}.login-card p{color:var(--muted);margin-bottom:29px}.login-card label{display:block;margin-bottom:18px}.login-card .btn{width:100%;margin-top:8px;padding:14px}.login-card .small{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.error{color:var(--danger);margin-top:12px;font-size:12px}dialog{border:1px solid var(--line);box-shadow:0 30px 80px #0c223655;border-radius:16px;padding:30px;width:min(590px,calc(100vw - 30px));max-height:88dvh;overflow:auto}dialog::backdrop{background:#071726a8}.dialog-close{position:absolute;right:17px;top:14px;border:0;background:none;color:#80909f;font-size:24px}#toast{position:fixed;bottom:25px;right:25px;background:#12364a;color:white;border-radius:11px;box-shadow:0 12px 40px #0003;padding:13px 17px;max-width:350px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:200}#toast.show{opacity:1}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.checkbox-label{display:flex;gap:8px;align-items:center}.nowrap{white-space:nowrap}.history{display:grid;gap:8px}.copyrow{display:flex;gap:8px;align-items:center}.copyrow .btn{white-space:nowrap}
@media(max-width:1150px){.main{padding:26px}.columns,.details-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{padding:0 17px;height:64px}.brand strong{font-size:14px}.brand-symbol{width:36px;height:36px;font-size:22px}.sidebar{display:none}.shell{display:block;min-height:calc(100dvh - 126px)}.main{padding:23px 14px 90px}.bottom-nav{position:fixed;z-index:100;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:0 -8px 22px #09274413;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:none;padding:10px 2px 9px;color:#8494a2;font-size:22px;display:grid;justify-items:center;gap:3px}.bottom-nav button span{font-size:9px;font-weight:750}.bottom-nav button.active{color:var(--green)}h1{font-size:27px}.heading{align-items:flex-start}.heading .actions{justify-content:flex-end}.heading .actions .btn{padding:9px 10px;font-size:12px}.kpis{gap:8px;margin-bottom:20px}.kpi{padding:14px}.kpi .number{font-size:27px}.kpi label{font-size:11px}.panel-head{padding:16px}.panel-body{padding:15px}.task{padding:14px 13px;gap:9px}.task-icon{width:30px;height:30px;font-size:15px}.task-title{font-size:12px}.task .btn{padding:7px 8px}.list-row{padding:13px}.datechip{width:39px;height:39px}.field-grid{grid-template-columns:1fr;gap:12px}.full{grid-column:1}.doc-row{grid-template-columns:20px minmax(0,1fr) 100px;gap:7px;padding:11px}.doc-row>a{grid-column:2}.doc-row select{font-size:10px}.day{min-height:83px;padding:5px 3px}.day .event{font-size:9px;margin-top:4px;padding:4px 2px}.cal-head{font-size:10px;padding:9px 0}.day-num{font-size:10px;width:21px;height:21px}.detail-hero{padding:18px;display:block}.detail-hero .actions{margin-top:16px}.trip-table th:nth-child(3),.trip-table td:nth-child(3),.trip-table th:nth-child(5),.trip-table td:nth-child(5){display:none}.trip-table td,.trip-table th{padding:12px 9px}.topright{gap:7px}.online-dot{display:none}.login-card{padding:26px}#toast{right:12px;bottom:88px;left:12px;max-width:none}}

/* Login and account security controls */
.password-field{position:relative;margin-top:6px}
.password-field input{margin-top:0;padding-right:116px;min-width:0}
.password-field .password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:7px;background:#f0f6f5;color:#176b5e;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.password-field .password-toggle:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.password-field .password-toggle:hover{background:#e1f0ed}
.account-security{max-width:650px}
.account-security .small{margin-top:10px}
.account-security .error{min-height:18px}
