:root{--bg:#f5f7fb;--panel:#fff;--ink:#172033;--muted:#6d7688;--line:#e5e9f0;--blue:#246bfd;--blue-soft:#eaf1ff;--green:#0f9f6e;--green-soft:#eaf9f3;--amber:#b7791f;--amber-soft:#fff7df;--red:#d84d63;--red-soft:#fff0f2;--shadow:0 14px 40px #151f3414;--radius:18px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}h1{letter-spacing:-1.2px;margin:8px 0;font-size:38px;line-height:1.05}h2{margin:0;font-size:22px}h3{margin:0;font-size:17px}p{line-height:1.5}.small{color:var(--muted);font-size:12px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800}.lead{color:var(--muted);margin:0;font-size:16px}.lq-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.lq-sidebar{color:#f5f7fb;background:#101521;border-right:1px solid #ffffff0f;flex-direction:column;gap:26px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.lq-brand{letter-spacing:-.3px;align-items:center;gap:11px;padding:0 7px;font-size:18px;font-weight:850;text-decoration:none;display:flex}.lq-brand-mark{color:#101521;letter-spacing:-.5px;background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.lq-nav{gap:6px;display:grid}.lq-nav-label{text-transform:uppercase;letter-spacing:.12em;color:#7e899b;padding:0 11px 7px;font-size:11px;font-weight:850}.lq-nav-item{color:#bec7d5;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:10px 11px;font-size:14px;font-weight:750;text-decoration:none;display:flex}.lq-nav-item:hover,.lq-nav-item.active{color:#fff;background:#ffffff14}.lq-nav-item.disabled{cursor:default;opacity:.55}.lq-nav-item.disabled small{color:#838da0;font-size:10px;font-weight:700}.lq-logout{color:#cbd3df;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;margin-top:auto;padding:10px 12px;font-weight:750}.lq-workspace{flex-direction:column;min-width:0;display:flex}.lq-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:40;background:#ffffffe0;justify-content:flex-end;align-items:center;gap:18px;min-height:64px;padding:10px 28px;display:flex;position:sticky;top:0}.lq-mobile-brand{font-weight:850;text-decoration:none;display:none}.lq-toolbar{align-items:center;gap:10px;display:flex}.lq-main{flex:1;min-width:0}.employee-select{border:1px solid var(--line);background:#fff;border-radius:10px;width:auto;min-width:190px;padding:8px 10px;font-weight:700}.auth-screen{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:28px}.auth-card h1{margin:6px 0 8px;font-size:31px}.auth-card .lead{margin-bottom:22px}.auth-password-field{margin-top:14px}.auth-submit{width:100%;margin-top:18px}.auth-message{color:#b42318;min-height:20px;margin-top:14px;font-size:13px}.loading-note{color:var(--muted);margin-top:10px;font-size:13px}.lq-loading-screen{place-items:center;min-height:100vh;display:grid}.lq-loading-mark{color:#fff;background:#101521;border-radius:16px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.portal-page{max-width:1100px;margin:0 auto;padding:46px 38px 70px}.portal-lead{max-width:700px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:50px minmax(0,1fr) auto;align-items:start;gap:16px;min-height:180px;padding:22px;text-decoration:none;display:grid;position:relative;box-shadow:0 8px 24px #151f340d}.module-card-active:hover{box-shadow:var(--shadow);border-color:#cfdcff;transform:translateY(-1px)}.module-card-disabled{opacity:.62;box-shadow:none;grid-template-columns:50px minmax(0,1fr)}.module-icon{background:var(--blue-soft);width:48px;height:48px;color:var(--blue);border-radius:14px;place-items:center;font-size:22px;display:grid}.module-icon.muted{color:#98a1b1;background:#f0f2f6}.module-card h2{margin-top:12px}.module-card p{color:var(--muted);margin:6px 0 0;font-size:14px}.module-arrow{color:var(--blue);align-self:center;font-size:24px}.travel-main{padding:30px 38px 60px}.screen{max-width:1100px;margin:0 auto}.topbar,.review-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:22px}.primary-task{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#f2f6ff 100%);border:1px solid #dce7ff;border-radius:22px;justify-content:space-between;align-items:center;gap:28px;margin-bottom:18px;padding:30px;display:flex}.task-left{align-items:flex-start;gap:18px;display:flex}.task-icon{background:var(--blue);color:#fff;border-radius:17px;flex:none;place-items:center;width:58px;height:58px;font-size:31px;display:grid}.primary-task h2{margin:2px 0 7px;font-size:26px}.primary-task p{color:var(--muted);max-width:650px;margin:0}.secondary-task{background:linear-gradient(135deg,#fff 0%,#fffaf0 100%);border:1px solid #f0dfaf;border-radius:18px;margin-bottom:18px;padding:23px}.task-head,.task-bottom,.info-row,.admin-card-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.task-title,.info-main{align-items:center;gap:14px;display:flex}.task-mini-icon,.info-icon{border-radius:13px;flex:none;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.task-mini-icon{background:var(--amber-soft);color:var(--amber)}.info-icon{background:var(--blue-soft);color:var(--blue)}.task-sub,.info-row p,.admin-card-row p{color:var(--muted);margin:5px 0 0;font-size:14px}.task-bottom{border-top:1px solid #b7791f26;margin-top:18px;padding-top:17px}.task-bottom p{color:#6d624b;margin:0;font-size:14px}.info-row{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:18px;padding:18px 20px}.info-actions{align-items:center;gap:12px;display:flex}.info-count{text-align:right}.info-count b{font-size:20px;display:block}.info-count span{color:var(--muted);font-size:12px}.admin-home-card{box-shadow:none;background:#fbfcfe;border:1px dashed #cfd5df;margin-top:18px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.pill.current{background:var(--blue-soft);color:var(--blue)}.pill.open{background:var(--amber-soft);color:var(--amber)}.pill.done{background:var(--green-soft);color:var(--green)}.pill.closed{color:#6a7280;background:#edf0f5}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.btn{white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:800;transition:all .16s;display:inline-flex}.btn.large{padding:13px 19px}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{color:#274060;background:#eef3fb}.btn.success{background:var(--green);color:#fff}.btn.ghost{color:var(--blue);background:0 0;padding-left:7px;padding-right:7px}.btn.danger{background:var(--red-soft);color:var(--red)}.btn:disabled{opacity:.45;cursor:not-allowed}.subpage-nav{max-width:1100px;margin:0 auto 18px}.back-button{border:1px solid var(--line);color:#42516a;background:#fff;border-radius:11px;padding:9px 13px;font-weight:800}.summary-strip{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.summary-box{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:13px 15px}.summary-box span{color:var(--muted);font-size:12px;display:block}.summary-box b{margin-top:4px;font-size:18px;display:block}.billing-indicator{color:#315cbe;background:#f3f7ff;border:1px solid #cfdcff;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px 15px;display:flex}.billing-indicator.warning{color:#94620d;background:#fff9ea;border-color:#efd99f}.billing-indicator.closed{color:#a72f43;background:#fff3f5;border-color:#f0bcc6}.billing-indicator strong{margin-bottom:3px;display:block}.section-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.section-row p{color:var(--muted);margin:4px 0 0;font-size:13px}.stop-card{border:1px solid var(--line);background:#fbfcfe;border-radius:15px;margin-top:12px;padding:16px}.stop-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.stop-title{font-weight:850}.stop-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.stop-grid .full{grid-column:1/-1}.field{gap:7px;display:grid}label{font-size:13px;font-weight:800}input,select{width:100%;color:var(--ink);background:#fff;border:1px solid #d8deea;border-radius:11px;outline:none;padding:11px 12px}input:focus,select:focus{border-color:#8db1ff;box-shadow:0 0 0 3px #246bfd1a}.remove-stop{background:var(--red-soft);color:var(--red);border:0;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.duration-card{border:1px solid var(--line);background:#f8fafc;border-radius:14px;margin-top:16px;padding:14px 15px}.duration-title{margin-bottom:9px;font-weight:800}.segmented{gap:8px;display:flex}.segmented button{color:#4f5d72;background:#fff;border:1px solid #d8deea;border-radius:10px;padding:9px 18px;font-weight:800}.segmented button.active{background:var(--blue);border-color:var(--blue);color:#fff}.form-actions,.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.form-actions{margin-top:20px}.review-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.stat span{color:var(--muted);font-size:12px;display:block}.stat b{margin-top:4px;font-size:19px;display:block}.table-card{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#7b8496;border-bottom:1px solid var(--line);background:#f7f9fc;padding:13px 15px;font-size:12px}tbody td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 15px;font-size:14px}tbody tr:last-child td{border-bottom:0}.route{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.route-part{align-items:center;gap:6px;display:inline-flex}.route-chip{background:#f1f4f8;border:1px solid #e1e6ed;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:750}.detail-lines{gap:6px;display:grid}.detail-line{font-size:13px;line-height:1.35}.detail-line b{font-weight:800}.date-mini{color:var(--muted);margin-right:5px;font-size:11px}.table-actions{margin-top:14px}.approval{background:linear-gradient(#f6fffb,#edfbf6);border:1px solid #ccefe3;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:18px;display:flex}.approval p{color:#547164;margin:4px 0 0;font-size:14px}.success-wrap{text-align:center;max-width:620px;margin:80px auto}.check{background:var(--green-soft);width:88px;height:88px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 22px;font-size:44px;display:grid}.empty-state{text-align:center;color:var(--muted);padding:28px}.toast{color:#fff;opacity:0;z-index:80;pointer-events:none;background:#172033;border-radius:12px;padding:13px 16px;transition:all .2s;position:fixed;bottom:24px;right:24px;transform:translateY(10px)}.toast.show{opacity:1;transform:translateY(0)}@media (max-width:900px){.lq-shell{display:block}.lq-sidebar{display:none}.lq-topbar{justify-content:space-between;padding:10px 16px}.lq-mobile-brand{display:block}.employee-select{min-width:150px;max-width:52vw}.travel-main,.portal-page{padding:22px 16px 40px}.module-grid,.summary-strip,.review-summary,.stop-grid{grid-template-columns:1fr}.stop-grid .full{grid-column:auto}h1{font-size:32px}.primary-task,.task-head,.task-bottom,.info-row,.admin-card-row,.review-head,.approval{flex-direction:column;align-items:stretch}.primary-task{padding:22px}.info-count{text-align:left}.info-actions{justify-content:space-between}}
