body{background:#f5f7fa}.navbar-brand{font-weight:700}.card{border:0;box-shadow:0 2px 12px rgba(0,0,0,.06)}.table td,.table th{vertical-align:middle}.hero-actions .btn{width:auto}.status-accepted{background:#198754}.status-rejected{background:#dc3545}.status-submitted{background:#6c757d}
/* Modern admin dashboard */
.admin-dashboard-body{margin:0;background:#f6f8fc;color:#172033;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:270px;flex:0 0 270px;background:linear-gradient(180deg,#0d1728 0%,#111d31 100%);color:#fff;padding:22px 14px;position:fixed;left:0;top:0;bottom:0;z-index:20;display:flex;flex-direction:column}.sidebar-brand{height:50px;display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;padding:0 14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-cow{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f4b000;color:#101828}.sidebar-section{font-size:10px;letter-spacing:1px;color:#8994a8;font-weight:700;padding:24px 12px 9px}.sidebar-link{display:flex;align-items:center;gap:13px;height:45px;padding:0 13px;color:#dce2ee;text-decoration:none;border-radius:10px;margin:3px 0;font-size:14px}.sidebar-link i{font-size:17px;width:20px;text-align:center}.sidebar-link:hover{background:rgba(255,255,255,.07);color:#fff}.sidebar-link.active{background:linear-gradient(90deg,#5b4bff,#704dff);color:#fff;box-shadow:0 7px 20px rgba(91,75,255,.25)}.sidebar-badge{margin-left:auto;background:#f2b01e;color:#172033;font-size:10px;font-weight:800;border-radius:20px;padding:3px 7px}.sidebar-tip{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:14px}.tip-icon{width:30px;height:30px;border-radius:50%;background:#654bff;display:flex;align-items:center;justify-content:center;margin-bottom:9px}.sidebar-tip strong{font-size:13px}.sidebar-tip p{margin:6px 0 0;color:#aeb8c9;font-size:11px;line-height:1.5}.admin-main{margin-left:270px;min-width:0;width:calc(100% - 270px)}.admin-topbar{height:66px;background:#fff;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar-user{display:flex;align-items:center;gap:10px;color:#344054;font-size:14px}.icon-button{position:relative;border:0;background:#f8fafc;width:38px;height:38px;border-radius:50%;color:#475467}.notification-dot{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#ef4444;color:#fff;font-size:9px;line-height:17px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6956ff,#8758ff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.admin-content{padding:30px 34px 42px;max-width:1500px;margin:auto}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.dashboard-heading h1{font-size:30px;margin:0 0 5px;font-weight:800;letter-spacing:-.5px}.dashboard-heading p{margin:0;color:#667085;font-size:14px}.date-pill,.select-pill{background:#fff;border:1px solid #e4e7ec;border-radius:9px;padding:9px 13px;font-size:12px;color:#344054;box-shadow:0 1px 2px rgba(16,24,40,.03)}.date-pill{display:flex;gap:8px;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi-card{background:#fff;border:1px solid #edf0f5;border-radius:14px;padding:21px 19px;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;box-shadow:0 4px 16px rgba(16,24,40,.035);transition:.18s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,24,40,.08)}.kpi-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;flex:0 0 54px}.kpi-purple .kpi-icon{background:#efedff;color:#5b4bff}.kpi-green .kpi-icon{background:#eaf9ef;color:#20a74b}.kpi-blue .kpi-icon{background:#eaf2ff;color:#2e6cff}.kpi-orange .kpi-icon{background:#fff4dc;color:#e9a400}.kpi-label{font-size:10px;letter-spacing:.5px;color:#667085;font-weight:700}.kpi-number{font-size:28px;line-height:1.15;font-weight:800;margin:4px 0}.kpi-meta{font-size:10px;color:#667085}.kpi-meta i{color:#18a957}.dashboard-grid{display:grid;gap:14px}.dashboard-grid-top{grid-template-columns:1.45fr 1fr;margin-bottom:14px}.dashboard-grid-bottom{grid-template-columns:1fr 1fr}.dash-card{background:#fff;border:1px solid #edf0f5;border-radius:14px;box-shadow:0 4px 16px rgba(16,24,40,.035);overflow:hidden}.card-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 22px 13px}.card-heading h3{font-size:16px;font-weight:750;margin:0}.card-heading p{font-size:11px;color:#98a2b3;margin:4px 0 0}.card-heading a{font-size:11px;text-decoration:none;color:#3f4ce0;font-weight:600}.chart-wrap{height:275px;padding:3px 18px 17px}.list-wrap{padding:0 20px 12px}.request-row,.bid-row,.hauler-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #f0f2f5;text-decoration:none;color:inherit;min-width:0}.request-row:hover{background:#fbfcff}.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:0 0 8px}.row-main{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}.row-main strong{font-size:12px;color:#3f46df}.row-main span{font-size:11px;color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main span i{font-size:10px;color:#98a2b3;margin:0 2px}.row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.row-side small,.bid-amount small{font-size:10px;color:#98a2b3}.status-chip{display:inline-flex;align-items:center;border-radius:7px;padding:4px 8px;font-size:10px;font-weight:650;white-space:nowrap}.status-chip.open{background:#fff3d9;color:#9a6700}.status-chip.bidding,.status-chip.submitted{background:#e8f1ff;color:#2563eb}.status-chip.assigned,.status-chip.accepted{background:#e5f8ea;color:#16803c}.status-chip.completed{background:#eef0f3;color:#475467}.status-chip.rejected{background:#ffe8e8;color:#c62828}.round-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 36px}.bid-icon{background:#eaf9ef;color:#1ea64b}.hauler-icon{background:#efedff;color:#624dff}.bid-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-right:4px}.bid-amount strong{font-size:12px}.approve-btn,.reject-btn{font-size:10px;text-decoration:none;border-radius:6px;padding:6px 9px}.approve-btn{background:#16a34a;color:#fff}.reject-btn{background:#f1f3f5;color:#475467}.approved-label{font-size:10px;color:#16803c;white-space:nowrap}.empty-state{text-align:center;padding:35px 10px;color:#98a2b3;font-size:12px}.select-pill{display:flex;align-items:center;gap:7px;font-size:10px}.select-pill i{font-size:9px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid-top,.dashboard-grid-bottom{grid-template-columns:1fr}}@media(max-width:800px){.admin-sidebar{width:72px;flex-basis:72px;padding:15px 9px}.sidebar-brand{padding:0 8px 18px}.sidebar-brand span:last-child,.sidebar-section,.sidebar-link span,.sidebar-tip{display:none}.sidebar-link{justify-content:center;padding:0}.sidebar-badge{display:block;position:absolute;margin-left:28px;margin-top:-28px}.admin-main{margin-left:72px;width:calc(100% - 72px)}.admin-content{padding:22px 15px}.dashboard-heading{align-items:flex-start;gap:10px}.dashboard-heading h1{font-size:25px}.date-pill{font-size:10px}.kpi-grid{grid-template-columns:1fr}.admin-topbar{padding:0 15px}.request-row .row-side small{display:none}}@media(max-width:500px){.dashboard-heading{display:block}.date-pill{display:inline-flex;margin-top:12px}.bid-row,.hauler-row{flex-wrap:wrap}.bid-amount{margin-left:auto}.approve-btn,.reject-btn{margin-left:auto}}


/* Shared modern application shell */
:root{--app-sidebar:#0b1526;--app-sidebar-2:#111e32;--app-purple:#5b4bff;--app-text:#172033;--app-muted:#667085;--app-border:#e8ecf2}
html,body{min-height:100%}
body{background:#f6f8fc;color:var(--app-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-shell{display:flex;min-height:100vh}
.app-sidebar{width:258px;flex:0 0 258px;background:linear-gradient(180deg,var(--app-sidebar) 0%,var(--app-sidebar-2) 100%);color:#fff;padding:20px 13px;position:fixed;left:0;top:0;bottom:0;z-index:100;display:flex;flex-direction:column;overflow-y:auto}
.app-brand{height:53px;display:flex;align-items:center;gap:10px;padding:0 12px 18px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.3px}
.brand-mark{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f4b000;color:#101828;font-size:17px}
.app-nav-label{font-size:10px;letter-spacing:1.1px;color:#8d99ad;font-weight:700;padding:23px 12px 8px}
.app-nav-link{height:44px;display:flex;align-items:center;gap:12px;padding:0 12px;margin:3px 0;border-radius:10px;color:#dce3ee;text-decoration:none;font-size:13px;transition:.18s;position:relative}
.app-nav-link i{width:20px;text-align:center;font-size:16px}
.app-nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.app-nav-link.active{background:linear-gradient(90deg,#5b4bff,#704dff);color:#fff;box-shadow:0 7px 20px rgba(91,75,255,.25)}
.app-sidebar-tip{margin-top:auto;margin-bottom:5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:13px}
.app-sidebar-tip .tip-icon{width:30px;height:30px;border-radius:50%;background:#654bff;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.app-sidebar-tip strong{font-size:12px}.app-sidebar-tip p{margin:5px 0 0;color:#aeb8c9;font-size:10px;line-height:1.5}
.app-main{margin-left:258px;width:calc(100% - 258px);min-width:0}
.app-topbar{height:66px;background:#fff;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between;padding:0 30px}
.mobile-brand{display:none;font-weight:800}
.topbar-user{display:flex;align-items:center;gap:10px;margin-left:auto;color:#344054}
.topbar-icon{width:38px;height:38px;border:0;border-radius:50%;background:#f7f9fc;color:#475467;display:flex;align-items:center;justify-content:center;position:relative}
.user-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,#6956ff,#8758ff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.user-meta{display:flex;flex-direction:column;line-height:1.1}.user-meta strong{font-size:12px}.user-meta span{font-size:10px;color:#98a2b3;margin-top:3px}.topbar-chevron{font-size:10px;color:#98a2b3}
.app-main>main.container{max-width:1500px;padding:28px 32px 45px}
.app-main .card{border:1px solid #edf0f5;border-radius:14px;box-shadow:0 4px 16px rgba(16,24,40,.04)}
.app-main h2{font-size:26px;font-weight:800;letter-spacing:-.4px}.app-main h3{font-weight:750}
.app-main .table{margin-bottom:0}.app-main .table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#667085;border-bottom-color:#edf0f5;background:#fafbfc}.app-main .table td{font-size:12px;color:#344054;border-bottom-color:#f0f2f5}
.app-main .form-control,.app-main .form-select{border-color:#dfe4ec;border-radius:9px;padding:.62rem .75rem;font-size:13px}.app-main .form-control:focus,.app-main .form-select:focus{border-color:#7c70ff;box-shadow:0 0 0 .2rem rgba(91,75,255,.1)}
.app-main .btn-primary{background:#5b4bff;border-color:#5b4bff}.app-main .btn-primary:hover{background:#4d3df0;border-color:#4d3df0}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.page-heading p{color:#98a2b3;margin:4px 0 0;font-size:12px}
.modern-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.modern-stat{background:#fff;border:1px solid #edf0f5;border-radius:14px;padding:18px;display:flex;align-items:center;gap:13px;box-shadow:0 4px 16px rgba(16,24,40,.035)}.modern-stat-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:19px}.modern-stat-number{font-size:24px;font-weight:800;line-height:1.1}.modern-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#667085}
.status-accepted{background:#198754!important;color:#fff!important}.status-rejected{background:#dc3545!important;color:#fff!important}.status-submitted{background:#6c757d!important;color:#fff!important}
@media(max-width:900px){.app-sidebar{width:72px;flex-basis:72px;padding:15px 9px}.app-brand{padding:0 8px 18px}.app-brand>span:last-child,.app-nav-label,.app-nav-link span,.app-sidebar-tip{display:none}.app-nav-link{justify-content:center;padding:0}.app-main{margin-left:72px;width:calc(100% - 72px)}.app-topbar{padding:0 16px}.mobile-brand{display:block}.user-meta,.topbar-chevron{display:none}.app-main>main.container{padding:22px 15px 35px}.modern-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.modern-stat-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.app-main h2{font-size:23px}}

/* Public landing page */
.public-home{min-height:100vh;background:linear-gradient(180deg,#f7f9fc 0%,#eef2f7 100%);color:#101828}
.public-navbar{background:#fff;border-bottom:1px solid #e8ecf2;position:sticky;top:0;z-index:1000}
.public-navbar-inner{max-width:1240px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#101828;font-size:20px;font-weight:800}
.public-brand .brand-mark{width:38px;height:38px;border-radius:11px;background:#ffbd22;color:#101828;display:grid;place-items:center}
.public-actions{display:flex;gap:8px;align-items:center}
.public-hero-wrap{max-width:1240px;margin:0 auto;padding:58px 22px 70px}
.public-hero{min-height:520px;background:#fff;border:1px solid #edf0f5;border-radius:28px;padding:58px 62px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;box-shadow:0 18px 55px rgba(16,24,40,.08);overflow:hidden;position:relative}
.public-hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(91,75,255,.05);right:-130px;top:-160px;pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5b4bff;margin-bottom:18px}
.hero-copy h1{font-size:56px;line-height:1.03;letter-spacing:-.045em;margin:0 0 20px;font-weight:800;color:#101828}.hero-copy h1 span{color:#5b4bff}.hero-copy p{font-size:18px;line-height:1.65;color:#667085;max-width:650px;margin-bottom:28px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .btn{border-radius:12px;padding:12px 20px}.hero-secondary{border:1px solid #d0d5dd;background:#fff!important;color:#344054!important}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:#667085;font-size:13px}.hero-points span{display:inline-flex;gap:6px;align-items:center}.hero-points i{color:#16a34a}
.hero-visual{position:relative;min-height:390px;display:flex;align-items:center;justify-content:center}.hero-route-card{width:min(100%,430px);background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:25px;box-shadow:0 22px 50px rgba(16,24,40,.12);position:relative;z-index:2}.route-card-top,.route-footer{display:flex;justify-content:space-between;align-items:center;color:#667085;font-size:12px}.route-status{color:#16a34a;font-weight:700}.route-status i{font-size:8px;margin-right:5px}.route-point{display:flex;gap:14px;align-items:center;margin:28px 0 10px}.route-point small{display:block;color:#98a2b3;font-size:11px;margin-bottom:3px}.route-point strong{display:block;font-size:16px;color:#101828}.route-dot{width:14px;height:14px;border-radius:50%;display:block;flex:0 0 auto}.route-dot.pickup{background:#5b4bff;box-shadow:0 0 0 6px rgba(91,75,255,.1)}.route-dot.delivery{background:#16a34a;box-shadow:0 0 0 6px rgba(22,163,74,.1)}.route-line{height:28px;border-left:2px dashed #d0d5dd;margin-left:6px}.route-footer{border-top:1px solid #eef1f5;padding-top:18px;margin-top:20px}.bid-pill{background:#ecfdf3;color:#15803d;padding:6px 10px;border-radius:999px;font-weight:700}.hero-floating-card{position:absolute;right:0;bottom:18px;background:#101828;color:#fff;padding:14px 16px;border-radius:15px;display:flex;gap:11px;align-items:center;box-shadow:0 15px 30px rgba(16,24,40,.22);z-index:3}.hero-floating-card .floating-icon{width:38px;height:38px;border-radius:10px;background:#5b4bff;display:grid;place-items:center}.hero-floating-card strong,.hero-floating-card small{display:block}.hero-floating-card small{color:#c9ced8;margin-top:2px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.feature-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:26px;box-shadow:0 8px 25px rgba(16,24,40,.05)}.feature-icon{width:46px;height:46px;border-radius:13px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:20px;margin-bottom:16px}.feature-icon.green{background:#ecfdf3;color:#16a34a}.feature-icon.orange{background:#fff7e6;color:#e9a400}.feature-card h3{font-size:18px;margin-bottom:8px}.feature-card p{color:#667085;margin:0;line-height:1.55}
/* Shared profile dropdown */
.topbar-user-button,.admin-profile-button{border:0;background:transparent;padding:4px 7px;display:flex;align-items:center;gap:10px;border-radius:12px;color:inherit}.topbar-user-button:hover,.admin-profile-button:hover{background:#f2f4f7}.topbar-user-button:after,.admin-profile-button:after{margin-left:3px}.profile-menu{min-width:235px;border:1px solid #e4e7ec;border-radius:14px;padding:8px;box-shadow:0 14px 35px rgba(16,24,40,.13)}.profile-menu-heading{padding:8px 10px}.profile-menu-heading strong,.profile-menu-heading small{display:block}.profile-menu-heading small{color:#98a2b3;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.profile-menu .dropdown-item{border-radius:9px;padding:9px 10px}.profile-menu .dropdown-item i{margin-right:8px;color:#667085}
.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-heading h1{font-size:30px;font-weight:750;margin:0}.page-heading p{color:#667085;margin:5px 0 0}
@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding:42px 30px}.hero-copy h1{font-size:43px}.hero-visual{min-height:330px}.public-feature-grid{grid-template-columns:1fr 1fr}.public-hero-wrap{padding-top:28px}}
@media(max-width:600px){.public-navbar-inner{padding:11px 15px}.public-brand{font-size:17px}.public-actions .btn{padding:7px 10px}.public-hero{padding:32px 22px;border-radius:20px}.hero-copy h1{font-size:37px}.hero-copy p{font-size:16px}.hero-visual{min-height:300px}.hero-floating-card{right:-5px;bottom:0}.public-feature-grid{grid-template-columns:1fr}}

.dropdown.show .dropdown-menu{display:block}.app-topbar .dropdown-menu,.admin-topbar .dropdown-menu{z-index:2000}

/* Prevent profile dropdown from creating horizontal page overflow. */
html,body{max-width:100%;overflow-x:hidden}
.app-topbar,.admin-topbar{overflow:visible}
.app-topbar .profile-menu,.admin-topbar .profile-menu{
    position:fixed !important;
    top:74px !important;
    right:16px !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:280px;
    max-width:calc(100vw - 32px);
    margin:0 !important;
    z-index:9999 !important;
}
@media(max-width:500px){
    .app-topbar .profile-menu,.admin-topbar .profile-menu{
        right:10px !important;
        width:270px;
        max-width:calc(100vw - 20px);
    }
}

/* Location map picker */
.location-map-wrap{position:relative;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden;background:#eef2f6}.location-map{height:260px;width:100%;z-index:1}.map-locate-btn{position:absolute;z-index:500;right:10px;top:10px;box-shadow:0 2px 8px rgba(0,0,0,.15);border:1px solid #d0d5dd}.map-status{font-size:11px;color:#667085;margin-top:5px;min-height:16px}.detail-map{height:210px;border-radius:9px;border:1px solid #e4e7ec;margin:8px 0 15px}.leaflet-container{font:12px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(max-width:767px){.location-map{height:230px}.detail-map{height:190px}}
