:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17202b;background:#eef2f6;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0,#fff 0,#eef2f6 45%,#dde6ee 100%)}#app{width:min(1050px,calc(100% - 32px));margin:0 auto;padding:40px 0}.card{background:#fff;border:1px solid #dce4ec;border-radius:20px;box-shadow:0 18px 50px #1c344014;padding:32px}.card#loginCard{width:min(470px,100%);margin:8vh auto}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.14em;color:#1061a8}.brand span{display:inline-grid;place-items:center;padding:8px 10px;border-radius:10px;color:#fff;background:#1061a8;font-size:12px}.brand small{letter-spacing:0;color:#718096;font-weight:600}h1{font-size:clamp(30px,5vw,50px);line-height:1.05;margin:28px 0 10px}h2{margin-top:0}.muted{color:#687789}.eyebrow{color:#1061a8;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em}form{display:grid;gap:16px;margin-top:26px}label{display:grid;gap:7px;font-weight:800;font-size:13px}input{width:100%;border:1px solid #cbd5df;border-radius:10px;padding:13px;font:inherit}button{border:0;border-radius:10px;padding:13px 17px;color:#fff;background:#1061a8;font:inherit;font-weight:850;cursor:pointer}button:hover{background:#0b4d86}.secondary{color:#1061a8;background:#e8f1fa}.error{min-height:20px;color:#b22626;font-weight:700}.hidden{display:none}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.welcome{margin:70px 0 28px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.stat{padding:20px;border:1px solid #dce4ec;border-radius:16px;background:#fff}.stat strong{display:block;font-size:30px}.stat span{color:#687789;font-size:13px;font-weight:750}@media(max-width:700px){#app{padding:18px 0}.card{padding:23px}.stats{grid-template-columns:repeat(2,1fr)}header{align-items:flex-start}.welcome{margin-top:45px}}
#setup2fa{margin-bottom:24px;background:#f5fbff;border-color:#b8d8f0}#setup2fa img{display:block;width:180px;height:180px;margin:18px 0;border-radius:10px}#setup2fa code{display:inline-block;padding:8px 10px;border-radius:7px;background:#e5eef6;letter-spacing:.12em;font-weight:800}
label small{font-weight:600;font-size:11px}
.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.module h2{font-size:22px}.module form{margin-top:15px}.module form input,.module form select{width:100%;border:1px solid #cbd5df;border-radius:10px;padding:11px;font:inherit}.route-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.module.wide{grid-column:1/-1}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid #e8edf2;text-align:left;white-space:nowrap}th{color:#687789;font-size:11px;text-transform:uppercase;letter-spacing:.06em}td small{display:block;color:#8a98a8}@media(max-width:800px){.management-grid{grid-template-columns:1fr}.module.wide{grid-column:auto}.route-form{grid-template-columns:1fr}}

/* Moventra professional visual system */
:root{--navy:#0b1728;--blue:#2176ff;--cyan:#20c4d9;--gold:#f3b63f;--line:#dbe5ef;--text:#142236;--muted:#6c7d90;--surface:#fff;--soft:#f4f7fb}
body{color:var(--text);background:linear-gradient(135deg,#eef5fb 0%,#f8fafc 44%,#e8f0f8 100%)}
#app{width:min(1240px,calc(100% - 40px));padding:34px 0 60px}
#dashboard>header{position:sticky;top:18px;z-index:5;padding:14px 18px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 10px 35px rgba(24,52,84,.10);backdrop-filter:blur(18px)}
.brand{gap:12px}.brand span{padding:9px 11px;border-radius:10px;background:linear-gradient(135deg,#2176ff,#1249b7);box-shadow:0 7px 16px rgba(33,118,255,.24);font-size:11px;letter-spacing:.15em}.brand small{font-size:12px;color:var(--muted)}
.welcome{position:relative;margin:58px 0 24px;padding:34px 38px;border-radius:24px;overflow:hidden;color:#fff;background:linear-gradient(120deg,#0b1728 0%,#123562 58%,#176d9a 100%);box-shadow:0 20px 45px rgba(12,39,71,.23)}
.welcome:after{content:"";position:absolute;right:-70px;top:-120px;width:340px;height:340px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 58px rgba(255,255,255,.025)}
.welcome .eyebrow{color:#75e3ef}.welcome h1{position:relative;z-index:1;margin:10px 0 8px;font-size:clamp(30px,5vw,52px);letter-spacing:-2px}.welcome .muted{position:relative;z-index:1;color:#c8d8e9}
.stats{grid-template-columns:repeat(5,1fr);gap:16px}.stat{position:relative;overflow:hidden;padding:21px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(28,59,91,.07)}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.stat strong{color:var(--navy);font-size:32px;letter-spacing:-1px}.stat span{display:block;margin-top:4px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.card{border-color:var(--line);border-radius:20px;box-shadow:0 14px 40px rgba(26,58,91,.07)}.module{min-height:280px}.module h2{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:20px;letter-spacing:-.4px}.module h2:before{content:"";width:9px;height:9px;border-radius:3px;background:var(--cyan);box-shadow:0 0 0 5px rgba(32,196,217,.12)}
button{background:linear-gradient(135deg,#2176ff,#1457c7);box-shadow:0 8px 18px rgba(33,118,255,.2);transition:transform .18s ease,box-shadow .18s ease}button:hover{background:linear-gradient(135deg,#2b83ff,#124db8);transform:translateY(-1px);box-shadow:0 11px 22px rgba(33,118,255,.26)}button.secondary{color:#1555b6;background:#eaf2ff;box-shadow:none}button.secondary:hover{background:#dceaff;box-shadow:none}
.module form input,.module form select{border-color:#d3deea;background:#fbfdff;transition:border-color .18s,box-shadow .18s}.module form input:focus,.module form select:focus,input:focus{outline:0;border-color:#5b9bff;box-shadow:0 0 0 4px rgba(33,118,255,.12)}
table th{color:#7b8b9d}table td{color:#26384d}table tbody tr:hover{background:#f6faff}
.card#loginCard{border-color:#d3e2f2;box-shadow:0 25px 65px rgba(17,49,83,.15)}#loginCard h1{color:var(--navy);letter-spacing:-1.5px}#loginCard .brand{margin-bottom:12px}#loginCard button{margin-top:4px}
@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){#app{width:min(100% - 22px,520px);padding-top:12px}#dashboard>header{top:8px}.welcome{margin-top:34px;padding:28px 24px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:16px}.stat strong{font-size:26px}.management-grid{gap:14px}.card{padding:21px}}
.role-hidden{display:none!important}
body[data-role=driver] .welcome{background:linear-gradient(120deg,#0b1728 0%,#145b67 60%,#168b83 100%)}
body[data-role=driver] .management-grid{grid-template-columns:1fr}
.form-status.success{margin:0;padding:10px;border-radius:8px;color:#11653a;background:#e7f8ee;font-size:12px;font-weight:800}
.pdf-link{display:inline-block;padding:5px 8px;border-radius:6px;color:#1555b6;background:#eaf2ff;font-size:11px;font-weight:850}.pdf-link:hover{background:#dceaff}
.route-page{margin-top:28px}.route-page form{max-width:620px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:28px}.photo-grid figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.photo-grid img{display:block;width:100%;height:170px;object-fit:cover}.photo-grid figcaption{padding:9px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payroll-card{margin-top:20px}.payroll-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.payroll-form input{border:1px solid #d3deea;border-radius:10px;padding:11px;font:inherit}.payroll-form .form-status{margin:0}.payroll-card table strong{color:#11653a}
.app-footer{margin-top:28px;padding:22px 8px;color:#728297;text-align:center;font-size:11px;font-weight:700;letter-spacing:.02em}
.app-footer a{color:#1555b6;font-weight:800}.legal-page{max-width:860px;margin:28px auto;padding:clamp(24px,5vw,52px)}.legal-page h1{margin-top:12px}.legal-page h2{margin-top:30px;color:var(--navy);font-size:20px}.legal-page p{color:#52657a;line-height:1.75}
.billing-card{margin-top:20px;border-color:#c9ddf4;background:linear-gradient(135deg,#fff,#f3f8ff)}.billing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.billing-actions select{border:1px solid #d3deea;border-radius:10px;padding:11px;font:inherit;background:#fff}.billing-card .form-status{margin-top:13px}
.tax-card{margin-top:20px;border-color:#ead9ad;background:linear-gradient(135deg,#fffdf5,#fff)}.tax-card h2:before{background:var(--gold);box-shadow:0 0 0 5px rgba(243,182,63,.15)}
.pay-action{padding:6px 9px;font-size:11px;border-radius:7px;box-shadow:none}
