/* GENACOM visual identity v1.0.0: local assets, no scripts, no network fonts. */
:root{--bg:#F5F7FA;--surface:#fff;--surface-2:#f8fafc;--ink:#102638;--muted:#617584;--line:#e1e8ed;--nav:#102638;--nav-2:#143647;--primary:#087F72;--primary2:#149d8d;--primary-dark:#06675d;--primary-soft:#e8f6f2;--soft:#e8f6f2;--accent:#F58A32;--shadow:0 8px 28px rgba(16,38,56,.045)}
body[data-genacom]{font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.75}
body[data-genacom] button,body[data-genacom] input,body[data-genacom] select,body[data-genacom] textarea{font-family:inherit}
body[data-genacom] :focus-visible{outline:3px solid #F58A32;outline-offset:3px}
body[data-genacom] .sidebar{background:#102638;box-shadow:-4px 0 24px #1026380a;overflow-y:auto;overscroll-behavior:contain}
body[data-genacom] .brand{gap:13px;align-items:center}
body[data-genacom] .brand-mark,body[data-genacom] .login-brand>span,body[data-genacom="portal-login"] .mark{flex-shrink:0;width:48px;height:48px;background:url('mark.svg') center/contain no-repeat;border-radius:0;box-shadow:none;font-size:0!important;color:transparent}
body[data-genacom] .sidebar .brand-mark,body[data-genacom] .driver-top .brand-mark,body[data-genacom] .login-visual .login-brand>span,body[data-genacom="portal-login"] .mark{background-image:url('mark-light.svg')}
body[data-genacom] .brand strong{font-size:20px;letter-spacing:.7px}
body[data-genacom] .sidebar .brand span{color:#b8cbd6;font-size:11px}
body[data-genacom] .sidebar-nav a,body[data-genacom] .nav a{border-radius:9px;transition:background .15s;color:#dce7ed}
body[data-genacom] .sidebar-nav a:hover,body[data-genacom] .nav a:hover{background:#1b394b;color:white}
body[data-genacom] .sidebar-nav a.active,body[data-genacom] .nav a.active{background:#087F7240;color:#fff;box-shadow:inset -3px 0 #22baa7}
body[data-genacom] .nav-label{color:#92afbf;letter-spacing:0}
body[data-genacom] .topbar{background:white;border-bottom:1px solid var(--line);box-shadow:none}
body[data-genacom] .page-head h1{font-weight:800;color:var(--ink);line-height:1.5}
body[data-genacom] .page-head p{color:var(--muted)}
body[data-genacom] .card,body[data-genacom] .kpi-card,body[data-genacom] .kpi,body[data-genacom] .route-kpi{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
body[data-genacom] .card-head{border-bottom:1px solid #edf1f4;gap:12px;flex-wrap:wrap}
body[data-genacom] .card-head h2,body[data-genacom] .card-head h3{font-size:15px}
body[data-genacom] .kpi-icon{background:#e8f6f2;color:#087F72;border-radius:12px}
body[data-genacom] .kpi-value,body[data-genacom] .kpi strong{font-variant-numeric:tabular-nums;font-size:30px;letter-spacing:-.5px}
body[data-genacom] .btn{border-radius:10px;min-height:40px;transition:background .15s,box-shadow .15s;line-height:1.6}
body[data-genacom] .btn-primary{background:#087F72;color:white;border-color:#087F72;box-shadow:0 4px 12px #087f721a}
body[data-genacom] .btn-primary:hover{background:#06675d;border-color:#06675d}
body[data-genacom] .btn-secondary{background:#fff;color:#234456;border:1px solid #dbe5ea}
body[data-genacom] .btn-secondary:hover{background:#f1f6f8}
body[data-genacom] .field input:not([type=checkbox]):not([type=radio]),body[data-genacom] .field select,body[data-genacom] .field textarea{border:1px solid #d5e1e7;border-radius:10px;background:#fff;color:#102638;min-height:44px}
body[data-genacom] .field input:focus,body[data-genacom] .field select:focus,body[data-genacom] .field textarea:focus{border-color:#087F72;box-shadow:0 0 0 3px #087f7214}
body[data-genacom] input[type=checkbox],body[data-genacom] input[type=radio]{accent-color:#087F72}
body[data-genacom] .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
body[data-genacom] .data-table th,body[data-genacom] .table th{background:#f7fafb;color:#567080;font-size:12px;padding:14px}
body[data-genacom] .data-table td,body[data-genacom] .table td{padding:14px;font-size:12px;border-bottom:1px solid #edf2f5}
body[data-genacom] .data-table tbody tr:hover,body[data-genacom] .table tbody tr:hover{background:#f8fcfb}
body[data-genacom] .tracking-link,body[data-genacom] .tracking{color:#165169;font-variant-numeric:tabular-nums}
body[data-genacom] .status-badge,body[data-genacom] .status,body[data-genacom] .route-state{font-size:11px;padding:5px 10px}
body[data-genacom] .status-delivered,body[data-genacom] .st-green,body[data-genacom] .route-state-completed{background:#e5f6ee;color:#086147}
body[data-genacom] .status-in_transit,body[data-genacom] .status-out_for_delivery,body[data-genacom] .st-blue{background:#eaf3fc;color:#245e95}
body[data-genacom] .status-ready_for_dispatch,body[data-genacom] .st-warn{background:#fff2df;color:#885400}
body[data-genacom] .status-delivery_failed,body[data-genacom] .status-cancelled,body[data-genacom] .st-red{background:#fcecef;color:#a92e46}
body[data-genacom] .alert{border-radius:11px;line-height:1.8}
body[data-genacom] .shipment-hero,body[data-genacom] .driver-active-route,body[data-genacom] .quote-box{background:#102638}
body[data-genacom="admin-login"]{background:#f5f7fa}
body[data-genacom="admin-login"] .login-shell{min-height:100vh}
body[data-genacom="admin-login"] .login-visual{background:linear-gradient(180deg,#10263888,#102638dc 58%,#10263866),url('route-art.svg') center bottom/cover no-repeat,#102638;isolation:isolate}
body[data-genacom="admin-login"] .login-copy{position:relative;z-index:1}
body[data-genacom="admin-login"] .login-copy h1{font-size:clamp(30px,3.3vw,50px);line-height:1.45}
body[data-genacom="admin-login"] .login-copy p{max-width:440px}
body[data-genacom="admin-login"] .login-brand{align-items:center;gap:14px}
body[data-genacom="admin-login"] .login-brand>span{width:60px;height:60px}
body[data-genacom="admin-login"] .login-panel{background:#fff}
body[data-genacom="admin-login"] .login-form{max-width:430px;width:100%}
body[data-genacom="admin-login"] .login-form h2{font-size:32px}
body[data-genacom="admin-login"] .mobile-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
body[data-genacom="admin-login"] .login-form .field input{padding:13px;font-size:15px}
body[data-genacom="admin-login"] .security-note{font-size:11px;color:#657b89}
body[data-genacom="portal"] .field label,body[data-genacom="portal"] .field>span{font-size:12px}
body[data-genacom="portal"] .field input,body[data-genacom="portal"] .field select,body[data-genacom="portal"] .field textarea{font-size:14px}
body[data-genacom="portal"] .nav a{font-size:13px}
body[data-genacom="portal"] .btn{font-size:13px}
body[data-genacom="portal"] .kpi span{font-size:12px}
body[data-genacom="portal"] .tl strong{font-size:13px}
body[data-genacom="portal"] .tl span{font-size:11px}
body[data-genacom="portal-login"] .wrap{border-radius:22px;border:1px solid #dfe8ee;box-shadow:0 20px 70px #10263810}
body[data-genacom="portal-login"] .hero{background:linear-gradient(180deg,#102638b0,#102638b0),url('route-art.svg') center/cover no-repeat,#102638}
body[data-genacom="portal-login"] .hero h1{font-size:32px}
body[data-genacom="portal-login"] .form:before{content:'';display:block;width:56px;height:56px;background:url('mark.svg') center/contain no-repeat;margin-bottom:20px}
body[data-genacom="portal-login"] .form>p,body[data-genacom="portal-login"] .field label{font-size:13px}
body[data-genacom="portal-login"] .btn{background:#087F72;font-size:15px;min-height:46px}
body[data-genacom="driver"] .driver-top{background:#102638;color:#fff;padding:16px 22px;gap:15px}
body[data-genacom="driver"] .driver-top .brand span{color:#bfd3de}
body[data-genacom="driver"] .driver-wrap{max-width:1120px}
body[data-genacom="driver"] .btn{min-height:46px}
body[data-genacom="tracking"]{background:#f5f7fa}
body[data-genacom="tracking"] .tracking-brand{color:#102638}
body[data-genacom="tracking"] .tracking-brand span{color:#617584}
body[data-genacom="welcome"]{background:#102638;color:#fff}
body[data-genacom="welcome"] .wrap{position:relative;max-width:1160px}
body[data-genacom="welcome"] .brand{display:flex;border:0;font-size:30px;gap:16px}
body[data-genacom="welcome"] .brand:before{content:'';display:block;width:60px;height:60px;background:url('mark-light.svg') center/contain no-repeat}
body[data-genacom="welcome"] .hero{background:url('route-art.svg') left center/contain no-repeat}
body[data-genacom="welcome"] .hero h1{font-size:clamp(32px,4vw,52px);line-height:1.5}
body[data-genacom="welcome"] .track{border:1px solid #dbe8ed;box-shadow:0 12px 30px #0002}
body[data-genacom="welcome"] .track input{min-width:0;border-radius:10px;font-family:inherit}
body[data-genacom="welcome"] .track button{background:#F58A32;color:#102638;font-size:15px;min-height:48px;cursor:pointer}
body[data-genacom="welcome"] .card{background:#173446;border-color:#2a495b;color:#fff;box-shadow:none}
body[data-genacom="welcome"] .card span{color:#c3d4de}
@media(max-width:760px){body[data-genacom] .topbar{height:auto;min-height:66px;flex-wrap:wrap;gap:8px;padding-block:10px}body[data-genacom] .page-head{gap:12px}body[data-genacom] .page-head h1{font-size:23px}body[data-genacom] .top-actions{flex-wrap:wrap}body[data-genacom] .field input,body[data-genacom] .field select,body[data-genacom] .field textarea{font-size:16px!important}body[data-genacom="driver"] .driver-top{flex-wrap:wrap}body[data-genacom="welcome"] .hero{background-image:none}body[data-genacom="admin-login"] .login-form h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){body[data-genacom] *,body[data-genacom] *:before,body[data-genacom] *:after{transition:none!important;animation:none!important}}
@media print{body[data-genacom]{background:white}body[data-genacom] .sidebar,body[data-genacom] .topbar{display:none}body[data-genacom] .main-area,body[data-genacom] .main{margin:0}body[data-genacom] .card{box-shadow:none}}
