/* BBE forest materials. Decorative photography never supplies business data. */
:root,:root[data-theme=dark]{--bg:#07130d;--bg-secondary:#173125;--bg-tertiary:#14271e;--panel:rgba(14,33,23,.94);--label:#f5f8f4;--label-secondary:#c2cfc5;--line:rgba(211,235,214,.22);--accent:#a0ed86;--green:#a0ed86;--glass:rgba(12,29,19,.87);--glass-shadow:inset 0 1px rgba(255,255,255,.13),0 12px 36px rgba(0,0,0,.15);color-scheme:dark}
:root[data-theme=light]{--bg:#eaf0e8;--bg-secondary:#dfebdd;--bg-tertiary:#fff;--panel:rgba(250,253,248,.96);--label:#162b20;--label-secondary:#425d4b;--line:rgba(35,72,43,.24);--accent:#225c36;--green:#225c36;--glass:rgba(248,252,245,.94);--glass-shadow:inset 0 1px rgba(255,255,255,.9),0 12px 36px rgba(17,40,20,.08);color-scheme:light}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;isolation:isolate}body::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,15,7,.65),rgba(3,18,10,.18)),url('/assets/forest-logistics.webp') center/cover no-repeat;pointer-events:none}
:root[data-theme=light] body::before{background-image:linear-gradient(90deg,rgba(223,236,218,.78),rgba(236,243,232,.55)),url('/assets/forest-logistics.webp')}
:root body,:root .admin-app,:root .driver-app{background:transparent;color:var(--label)}
a{color:var(--accent)}p,label,.muted,td small,.activity small,.brand small,:root[data-theme=light] p{color:var(--label-secondary)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--line);padding:16px 24px;border-radius:16px}.skip-link:focus{top:12px}
:root .driver-sidebar nav button:not([aria-current=page]),:root .driver-account{background:transparent;border-color:transparent}
@media(hover:hover){.mobile-content-card:hover{border-color:rgba(139,212,151,.5)}:root .driver-sidebar nav button:hover{background:rgba(129,194,139,.12)}}
.brand>span,.mobile-brand>span{background:linear-gradient(135deg,#73d278,#214d34);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.35);border-radius:16px;font-weight:800}
.brand strong,.mobile-brand strong{font-size:29px!important;letter-spacing:-.08em;font-weight:850;color:var(--label)}.brand small,.mobile-brand small{letter-spacing:.17em;font-size:9px;margin-top:2px}
.panel,.stat,.mobile-content-card,.mobile-list,.mobile-empty,.day-card,.quick-access,.portal-date{background:var(--panel);border:1px solid var(--line);box-shadow:var(--glass-shadow);border-radius:24px}
.sidebar,.driver-sidebar,.mobile-header,.topbar,.mobile-tabs{background:var(--glass)!important;-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%);box-shadow:var(--glass-shadow);border:1px solid var(--line)}
/* Desktop driver workspace */
.driver-app{max-width:none;margin:0;min-height:100svh;border:0;padding:0 0 24px 260px}.driver-sidebar{position:fixed;left:12px;top:12px;bottom:12px;width:232px;z-index:35;border-radius:24px;padding:26px 16px;display:flex;flex-direction:column}.driver-sidebar .mobile-brand{padding:0 10px 34px}.driver-sidebar .nav-label{font-size:10px;margin:0 10px 18px}.driver-sidebar nav{display:grid;gap:8px}.driver-sidebar nav button{display:flex;align-items:center;gap:15px;text-align:left;min-height:52px;border-radius:16px;padding:12px 16px;background:transparent;border:1px solid transparent;color:var(--label-secondary)}
:root .driver-sidebar nav button[aria-current=page]{color:var(--label);background:linear-gradient(115deg,rgba(67,160,87,.55),rgba(154,228,165,.25));border:1px solid rgba(158,235,171,.45)}.sidebar-note{margin-top:auto;padding:24px 10px 4px;color:var(--label-secondary);font-size:13px;line-height:1.7}
.mobile-header{height:90px;margin:12px 20px 0 0;border-radius:24px;padding:16px 24px;gap:18px;position:relative}.mobile-header>.mobile-brand{display:none}.driver-header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.driver-account{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;background:transparent;border:0;font-size:13px;text-align:left}.driver-account small{display:block;font-size:11px;color:var(--label-secondary);margin-top:4px}.avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#bac8c7,#52677d);color:white;font-weight:600;border:1px solid #d3dddb}
.driver-page{padding:30px 32px;max-width:1600px;margin:0 auto}.driver-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:174px;margin-bottom:26px}.driver-welcome p{font-size:19px;margin:0 0 6px}.driver-welcome h1{font-size:clamp(38px,4.5vw,68px);font-weight:730;letter-spacing:-.055em;line-height:1.05;margin:0 0 12px;text-shadow:0 2px 24px #001706}.driver-welcome h1>span{color:#b0efa0}.driver-welcome p,.driver-welcome .hero-subtitle{color:#f0f6eb;text-shadow:0 2px 16px #001706}.driver-welcome .hero-subtitle{font-size:17px;letter-spacing:-.01em}
:root[data-theme=light] .driver-welcome p,:root[data-theme=light] .driver-welcome h1,:root[data-theme=light] .driver-welcome h1>span{color:#123b21;text-shadow:none}
.portal-date{display:flex;gap:18px;align-items:center;min-width:260px;padding:22px}.portal-date>svg{width:30px;height:30px;color:var(--accent)}.portal-date span{font-size:13px}.portal-date strong{display:block;font-size:20px;letter-spacing:-.025em;margin:6px 0}.portal-date small{font-size:12px;color:var(--label-secondary)}
.driver-location label{margin:0;font-size:11px;gap:12px}.driver-location select{min-height:44px;padding:10px 32px 10px 14px;font-size:14px;background:var(--bg-tertiary);border:1px solid var(--line);color:var(--label)}
.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.day-card{padding:22px 24px;color:var(--label)}.day-card-heading,.today-label{color:var(--label-secondary);font-size:11px;letter-spacing:.08em}.day-stats{margin-top:22px}.day-stats button{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.day-stats button svg{width:36px;height:36px;padding:7px;background:rgba(159,221,169,.15);border-radius:50%;color:var(--accent)}.day-stats strong{font-size:36px;color:var(--label)}.day-stats span{font-size:13px;color:var(--label-secondary);margin:0}
.quick-access{padding:22px}.quick-access h2{font-size:18px;margin:0 0 19px}.quick-access>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}:root .quick-access button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:110px;background:linear-gradient(150deg,#257844,#114128);border:1px solid #438659;color:#fff;padding:12px 6px;border-radius:20px;font-size:12px}:root .quick-access button:first-child{background:linear-gradient(150deg,#d17412,#995000);border-color:#e8a047}.quick-access button svg{width:27px;height:27px}
.driver-search{max-width:620px;margin:24px 0;border-radius:30px;background:var(--glass);min-height:50px}.driver-search input{width:100%;color:var(--label)}
[data-driver-body]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;scroll-margin-top:28px}.mobile-section-title{grid-column:1/-1;margin:6px 0 0}.mobile-section-title h2{font-size:23px}.mobile-content-card{margin:0;padding:24px;min-width:0;display:flex;flex-direction:column}.mobile-card-meta{font-size:10px;letter-spacing:.08em;flex-wrap:wrap}.content-symbol{background:rgba(152,215,160,.13)}.mobile-badge{font-size:11px}.mobile-content-card h3{font-size:22px;font-weight:620}.mobile-content-card p{font-size:15px;line-height:1.65;margin-bottom:4px}.mobile-open{margin-top:auto;padding-top:18px;font-size:14px}.mobile-list,.mobile-empty{grid-column:1/-1}.mobile-empty{padding:36px;background:var(--panel)}.mobile-empty p{font-size:14px}.mobile-list button{min-height:80px}.mobile-list strong{font-size:15px}.mobile-list small{font-size:12px}.mobile-tabs{display:none}.driver-footer{padding-top:32px;font-size:11px}.driver-status{color:var(--label);background:var(--panel);border-radius:12px;padding:12px}
/* Administration shares the same materials, forms and controls. */
.admin-app{grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:12px;height:calc(100svh - 24px);margin:12px;width:236px;border-radius:24px;padding:24px 16px;overflow-y:auto;background:var(--glass)!important}.sidebar .brand{padding:0 6px 24px;gap:10px}.sidebar footer{font-size:10px;line-height:1.7}.admin-nav{gap:4px}:root .sidebar .admin-nav button{padding:11px 13px;font-size:13px;gap:12px;min-height:46px;color:var(--label-secondary)}.admin-nav button::before{display:none}.admin-nav svg{width:19px;height:19px;flex-shrink:0}:root .sidebar .admin-nav button.active{color:var(--label);background:rgba(101,180,115,.22);box-shadow:inset 0 0 0 1px var(--line)}
.workspace{min-width:0}.topbar{position:relative;top:auto;margin:12px 20px 0 0;border-radius:24px;padding:14px 22px;min-height:78px;gap:16px}.content{padding:34px 30px;max-width:1640px;margin:auto}.content>h1,.content .heading h1{font-weight:700;letter-spacing:-.045em}.heading{align-items:center}.eyebrow{color:var(--accent)}.stat:first-child{background:var(--panel)}.stat{border:1px solid var(--line)}.stat strong{font-size:34px}.panel{padding:26px;margin:22px 0}.panel-head{gap:16px;flex-wrap:wrap}.panel h2{font-size:20px}.dashboard-grid .panel{margin:0}.kpis{gap:14px}.actions{flex-wrap:wrap}.user{flex-wrap:wrap}.user span{max-width:150px}.portal-menu-button{display:none}.user button{background:var(--bg-tertiary)!important}.table-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:14px}table{width:100%}td{font-size:13px}th{font-size:11px}td .actions{min-width:250px}
:root button,:root input,:root select,:root textarea{border-color:var(--line);color:var(--label);background:var(--bg-tertiary);min-height:44px;border-radius:13px}:root input,:root select,:root textarea{font-size:16px}:root input[type=checkbox],:root input[type=radio]{min-height:20px;width:20px}:root button.primary{background:linear-gradient(135deg,#b1f893,#74d477);color:#102b16;border:1px solid #a5ea92;font-weight:650;box-shadow:0 5px 18px rgba(83,190,99,.12)}:root[data-theme=light] button.primary{background:#245c37;color:#fff;border-color:#245c37}
:root .driver-app .day-stats button{background:transparent;color:var(--label)!important}.filters{gap:12px}.filters input,.filters select{min-width:0}input[type=file]{padding:12px;max-width:100%;height:auto}input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:10px;background:var(--bg-secondary);color:var(--label);padding:10px 14px;margin-right:12px;cursor:pointer}textarea{line-height:1.65}form fieldset{border:1px solid var(--line);border-radius:16px;padding:14px}form fieldset label{line-height:1.6}form>button{margin-top:12px}
dialog{width:min(760px,calc(100vw - 32px));background:var(--bg-tertiary);border-radius:26px;padding:28px;box-shadow:0 28px 100px #0006;max-height:calc(100dvh - 32px)}dialog::backdrop{background:rgba(0,12,4,.7)}dialog p{line-height:1.75}.article-body{font-size:16px;overflow-wrap:anywhere}.activity{border-color:var(--line)}.chip{white-space:normal;overflow-wrap:anywhere}.main-footer{color:var(--label-secondary)}.main-footer a{color:var(--label-secondary)}
:root .welcome{background:transparent!important;max-width:1000px;margin:0 auto;min-height:100svh;padding:48px 28px}.welcome>section{padding:30px;border:1px solid var(--line);background:var(--panel);border-radius:28px;max-width:700px;box-shadow:var(--glass-shadow)}.welcome h1{font-size:clamp(32px,5vw,52px)}.welcome form{background:transparent;border:0;padding:0}.welcome .brand{margin-bottom:28px}.welcome .feed{display:grid;gap:16px}.welcome .content-card{padding:22px}.welcome .actions{margin-bottom:20px}
.portal-skeleton{display:grid;gap:14px}.portal-skeleton span{height:44px;border-radius:12px;background:var(--bg-secondary);animation:portal-pulse 1.5s ease-in-out infinite alternate}.portal-skeleton span:nth-child(2){width:80%}.portal-skeleton span:nth-child(3){width:60%}@keyframes portal-pulse{to{opacity:.4}}button{transition:transform .16s ease,background-color .16s ease}button:active{transform:scale(.98)}
@media(min-width:1500px){[data-driver-body]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.driver-app{padding-left:224px}.driver-sidebar{width:200px}.driver-page{padding:28px 24px}.driver-welcome h1{font-size:44px}.portal-date{min-width:230px;padding:18px}.overview-grid{grid-template-columns:1fr}.quick-access>div{grid-template-columns:repeat(3,1fr)}.quick-access button{min-height:84px!important}.admin-app{grid-template-columns:224px minmax(0,1fr)}.sidebar{width:200px}.topbar{flex-wrap:wrap}.user{margin-left:auto}}
@media(max-width:800px){html{scroll-padding-top:20px}body::before{background-image:linear-gradient(180deg,rgba(2,15,7,.25),rgba(3,18,10,.9)),url('/assets/forest-logistics-mobile.webp');background-position:center top}:root[data-theme=light] body::before{background-image:linear-gradient(180deg,rgba(230,240,222,.6),rgba(230,240,222,.96)),url('/assets/forest-logistics-mobile.webp')}.driver-app{padding:0 0 calc(105px + env(safe-area-inset-bottom));border:0}.driver-sidebar{display:none}.mobile-header{height:auto;min-height:82px;margin:10px 12px 0;border-radius:22px;padding:14px 16px;flex-wrap:wrap;gap:10px}.mobile-header>.mobile-brand{display:flex}.mobile-header>.driver-location{order:3;width:100%}.driver-location label{font-size:11px;flex-wrap:nowrap}.driver-location select{flex:1;max-width:100%;min-width:0;font-size:13px;min-height:40px}.driver-header-actions{gap:8px}.driver-account{padding:0;min-height:44px}.driver-account>span:last-child{display:none}.avatar{width:40px;height:40px}.driver-page{padding:26px 18px}.driver-welcome{display:block;min-height:0;margin-bottom:24px}.driver-welcome p{font-size:16px}.driver-welcome h1{font-size:clamp(37px,9vw,58px);max-width:560px;margin-bottom:12px}.driver-welcome h1>span{display:block}.driver-welcome .hero-subtitle{font-size:14px;line-height:1.6}.portal-date{display:none}.overview-grid{gap:16px}.day-card{padding:20px 16px}.day-stats{margin-top:18px}.day-stats strong{font-size:30px}.day-stats button{gap:10px}.day-stats span{font-size:11px;line-height:1.5;min-height:33px}.day-stats button+button{padding-left:12px}.day-card-heading,.today-label{font-size:9px}.day-stats button svg{width:32px;height:32px}.quick-access{padding:18px}.quick-access h2{font-size:17px;margin-bottom:13px}.quick-access>div{gap:8px}.quick-access button{font-size:11px!important;border-radius:16px!important;gap:9px!important;min-height:84px!important}.driver-search{margin:22px 0}.driver-search input{font-size:16px}[data-driver-body]{grid-template-columns:1fr;gap:14px}.mobile-section-title h2{font-size:21px}.mobile-content-card{padding:21px}.mobile-content-card h3{font-size:21px}.mobile-card-meta{font-size:9px;gap:7px}.mobile-content-card p{font-size:15px}.mobile-open{min-height:52px;padding-top:14px}.mobile-tabs{display:grid;position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:600px;grid-template-columns:repeat(5,minmax(0,1fr));border-radius:24px;padding:7px;z-index:40}.mobile-tabs button{min-height:56px;gap:5px;font-size:10px!important;border-radius:17px!important}.mobile-tabs button[aria-current=page]{background:var(--bg-secondary)!important}.mobile-tabs svg{width:22px;height:22px}.driver-footer{padding-bottom:10px}
 .admin-app{display:block}.sidebar{display:none;position:fixed;z-index:45;top:90px;left:12px;margin:0;bottom:12px;height:auto;width:min(290px,calc(100vw - 24px));background:var(--bg-tertiary)!important}.menu-open .sidebar{display:block}.sidebar .admin-nav{display:grid;overflow:visible}.sidebar .nav-label,.sidebar footer{display:block}.sidebar .admin-nav button{width:100%}.portal-menu-button{display:block;flex-shrink:0;width:44px;padding:8px;font-size:22px}.topbar{margin:10px 12px 0;padding:14px;gap:10px;position:relative}.topbar [data-tenant-selector]{order:3;width:100%}.topbar [data-tenant-selector] select{min-width:0;flex:1;width:auto}.topbar [data-tenant-selector] [role=status]{font-size:10px}.topbar .user{gap:6px;flex:1;justify-content:flex-end}.topbar .user span{display:none}.topbar .user i{display:none}.topbar .user button{font-size:11px;padding:8px 10px}.content{padding:26px 16px}.content h1,.content .heading h1{font-size:30px}.panel{padding:20px;margin:18px 0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:18px 14px}.stat strong{font-size:29px}.stat span{font-size:11px}.content-layout{display:block}.dashboard-grid{display:grid;grid-template-columns:1fr}.heading{gap:12px;flex-wrap:wrap}.filters{flex-wrap:wrap}.filters input{width:100%}.filters select{flex:1}.panel-head button{max-width:100%}.panel-head h2{font-size:19px}.welcome>section{padding:22px}:root .welcome{padding:28px 18px}.welcome .brand{margin-bottom:8px}dialog{padding:22px}.panel-head{align-items:flex-start}.table-wrap{border:1px solid var(--line)}td{padding:14px 12px}.main-footer{padding-bottom:28px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.sidebar,.driver-sidebar,.mobile-header,.topbar,.mobile-tabs{background:var(--bg-tertiary)!important;backdrop-filter:none;-webkit-backdrop-filter:none}.panel,.day-card,.quick-access,.mobile-content-card{background:var(--bg-tertiary)}}
@supports not (backdrop-filter:blur(1px)){.sidebar,.driver-sidebar,.mobile-header,.topbar,.mobile-tabs{background:var(--bg-tertiary)!important}}
@media(prefers-contrast:more){:root{--line:var(--label)}.panel,.stat,.mobile-content-card,.day-card,.quick-access{background:var(--bg-tertiary)}body::before{display:none}}
@media print{body::before,.driver-sidebar,.mobile-header,.mobile-tabs,.portal-menu-button,.skip-link{display:none!important}:root body,:root .admin-app,:root .driver-app{background:white;color:black}.driver-app{padding:0}.sidebar,.topbar{display:none!important}.panel,.stat{box-shadow:none;background:white;color:black}.welcome{color:black!important}}
