@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');:root{--navy:#0c1835;--muted:#64748b;--green:#008c61;--border:#e5edf0;--bg:#f4faf8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Arial,sans-serif;color:var(--navy);font-size:13px}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(155deg,#fff 55%,#edfcf5);border-right:1px solid var(--border);padding:22px 15px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:8}.logo{display:flex;gap:11px;align-items:center;font-weight:800;font-size:19px;letter-spacing:.5px;margin:0 12px 27px}.logo small{display:block;font-size:9px;letter-spacing:2.5px;color:#64748b}.leaf{font-size:32px;color:#00a36d}.rolelabel{padding:9px 13px;background:#e4f8ed;color:#007a4f;border-radius:30px;font-weight:800;font-size:10px;margin-bottom:13px;text-transform:uppercase}.nav{display:grid;gap:4px}.nav a{display:flex;align-items:center;gap:13px;padding:13px;border-radius:11px;font-weight:600}.nav a i{font-size:19px}.nav a.active,.nav a:hover{background:#d9f7e7;color:#006d47}.sidepromo{margin-top:auto;min-height:180px;background:linear-gradient(145deg,#f0fff6,#c4f4db);border-radius:16px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.sidepromo:before{content:'🌱';font-size:90px;position:absolute;top:-9px;right:5px;opacity:.7}.sidepromo strong{font-size:17px;line-height:1.45;max-width:145px}.sidepromo button{background:white;border:0;border-radius:100px;padding:10px;margin-top:12px;align-self:start}.workspace{min-width:0}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:12px 24px;position:sticky;top:0;z-index:6}.topbar .selector{min-width:230px}.selector,.search,.topbtn{border:1px solid var(--border);background:#fff;border-radius:11px;padding:13px 14px}.search{flex:1;max-width:490px;background:#f5f8fa;display:flex;gap:9px}.search input{background:transparent;border:0;outline:0;min-width:0;width:100%}.topbtn{white-space:nowrap}.user{display:flex;align-items:center;gap:10px;margin-left:auto;font-weight:700}.avatar{display:grid;place-items:center;border-radius:50%;background:#e6eefb;width:35px;height:35px}.content{max-width:1600px;margin:auto;padding:18px 23px 32px}.eyebrow{font-size:11px;color:#788ba3;margin-bottom:8px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}h1{font-size:26px;margin:0 0 6px;letter-spacing:-.7px}h2{font-size:16px;margin:0 0 13px;letter-spacing:-.3px}p{margin:0;color:var(--muted);line-height:1.6}.btn{border:0;border-radius:10px;background:#00a66e;color:white;padding:12px 17px;font-weight:700;display:inline-flex;gap:9px;align-items:center;justify-content:center}.btn.red{background:#ff3150}.btn.outline{background:#fff;border:1px solid #d6e0e9;color:var(--navy)}.btn.small{padding:8px 11px;font-size:12px}.grid{display:grid;gap:12px}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 7px 25px rgba(19,57,61,.025);min-width:0}.kpi{display:flex;align-items:center;gap:13px;min-height:104px}.kpi .icon{height:48px;width:48px;border-radius:15px;background:#e3f8ee;display:grid;place-items:center;color:#009a65;font-size:24px;flex-shrink:0}.kpi:nth-child(2) .icon{background:#e8f2ff;color:#1673f9}.kpi:nth-child(3) .icon{background:#fff0de;color:#ff8700}.kpi:nth-child(4) .icon{background:#ffeaf0;color:#fb3056}.kpi strong{display:block;font-size:22px;letter-spacing:-.7px;margin:5px 0}.kpi small{color:#657793}.up{background:#e0f8eb;color:#008d56;border-radius:50px;padding:4px 8px;font-size:10px;font-weight:800}.section{margin-top:12px}.hero{min-height:185px;border-radius:16px;overflow:hidden;position:relative;background:#eaf9f2;display:flex;align-items:center;padding:27px}.hero h1{font-size:32px}.hero.garage{background:linear-gradient(90deg,#effbff 5%,#effbffbb 43%,transparent 70%),url('../assets/hero-scene.png') right center/auto 100% no-repeat,#d7f5f2}.hero.operations{background:linear-gradient(100deg,#e3f9f1 15%,#e9fbf5b0 65%),url('../assets/hero-scene.png') right center/auto 100% no-repeat}.hero.driver{background:linear-gradient(100deg,#e4f7ff,#edfdf4);border-left:6px solid #00a676}.hero.plant{background:linear-gradient(100deg,#e9f9f7,#eff7ff);border-left:6px solid #2c8ec6}.hero.admin{background:linear-gradient(100deg,#eaf6ff,#e5fff0);border-left:6px solid #006bb8}.hero .copy{max-width:55%;z-index:1}.hero .copy p{max-width:420px}.hero .heroart{position:absolute;right:20px;bottom:0;height:95%;max-width:45%;object-fit:contain}.level{background:linear-gradient(120deg,#eafaf3,#fff);display:flex;align-items:center;gap:17px}.badgeicon{background:#083b55;color:white;border:3px solid #27e4a0;outline:2px solid white;border-radius:20px;width:72px;height:72px;display:grid;place-items:center;font-size:30px}.progress{height:9px;border-radius:20px;background:#e2e9ec;overflow:hidden;margin:12px 0}.progress span{display:block;background:linear-gradient(90deg,#009f67,#2be0a5);height:100%;border-radius:20px}.status{display:inline-block;padding:6px 10px;border-radius:30px;background:#e1f8eb;color:#007b49;font-size:10px;font-weight:700}.status.pending{background:#fff2db;color:#b26a00}.status.progressing{background:#e6f1ff;color:#1466c9}.status.alert{background:#ffe7ea;color:#d41d43}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.cardhead h2{margin:0}.link{border:0;background:none;color:#008d5a;font-weight:700}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#8491a7;text-transform:uppercase;font-size:9px;letter-spacing:.3px}td,th{padding:11px 7px;border-bottom:1px solid #edf1f3;white-space:nowrap}tr:last-child td{border:0}tr[data-open]{cursor:pointer}tr[data-open]:hover{background:#f3fcf7}.bars{height:150px;display:flex;align-items:end;gap:8px;padding:12px 0 0;border-bottom:1px solid #e5eced}.bar{flex:1;position:relative;border-radius:5px 5px 0 0;background:linear-gradient(#00b77c,#b5f1d9);min-width:8px}.bar:hover{background:#008c60}.months{display:flex;justify-content:space-between;color:#8091a5;font-size:10px;margin-top:8px}.actiongrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.action{border:1px solid #edf0f5;background:#f5faf9;border-radius:13px;padding:15px 8px;text-align:center;font-weight:700;min-height:87px}.action i{display:block;font-size:24px;color:#008c62;margin-bottom:8px}.action:nth-child(2){background:#edf4ff}.action:nth-child(2) i{color:#1673f9}.action:nth-child(3){background:#fff5e9}.action:nth-child(3) i{color:#f18300}.action:nth-child(4){background:#f4edff}.action:nth-child(4) i{color:#793bdb}.map{height:225px;border-radius:12px;position:relative;overflow:hidden;background:repeating-linear-gradient(30deg,transparent 0 28px,#d6e6e9 29px 31px,transparent 32px 65px),repeating-linear-gradient(-33deg,#edf7f7 0 38px,#cfe6e7 39px 41px,#edf7f7 42px 72px)}.map:after{content:'📍';position:absolute;left:48%;top:43%;font-size:34px;filter:drop-shadow(0 4px 6px #819fa5)}.map .road{position:absolute;border:4px solid #2b8eea;border-left:0;border-bottom:0;transform:rotate(17deg);height:90px;width:150px;top:55px;left:26%;border-radius:35px}.map .pin{position:absolute;background:#00a66f;color:white;border-radius:50%;padding:7px 10px;font-weight:800;z-index:2}.map .pin.p1{top:12%;left:25%}.map .pin.p2{top:62%;left:70%}.map .pin.p3{top:35%;left:80%}.rowitem{display:flex;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f3}.rowitem:last-child{border:0}.rowitem i{color:#009a67;font-size:20px}.rowitem .grow{flex:1}.rowitem strong{display:block}.rowitem small{color:#74859c}.impact{background:linear-gradient(90deg,#e4fbec,#f6fff9);position:relative;overflow:hidden;min-height:160px;display:flex;align-items:center}.impact img{width:38%;max-height:145px;object-fit:contain}.pickupcard{display:flex;gap:10px;align-items:center;background:linear-gradient(90deg,#effcf6,#fff);min-height:175px}.pickupcard img{width:38%;height:145px;object-fit:contain}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.wide{grid-column:span 2}.stack{display:grid;gap:12px}.field{display:grid;gap:6px;margin:12px 0}.field label{font-size:11px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe5ea;border-radius:9px;padding:12px;background:#fff;outline-color:#00a66f}.field textarea{min-height:100px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.notice{padding:12px;background:#f0faf6;border-radius:10px;color:#347c5b}.toast{position:fixed;bottom:25px;right:25px;background:#0b3040;color:white;border-radius:12px;padding:15px 22px;z-index:50;box-shadow:0 15px 35px #0002}.modalbg{position:fixed;inset:0;background:#0b213480;z-index:20;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:17px;padding:23px;max-width:460px;width:100%}.modal h2{font-size:19px}.hidden{display:none!important}.mobilemenu{display:none}.tag{font-size:10px;font-weight:800;letter-spacing:.8px;color:#008a61;text-transform:uppercase}.sectiontitle{font-size:18px;margin:0 0 13px}.footer{padding:15px;text-align:center;color:#8a99a8;font-size:10px}@media(max-width:1200px){.shell{grid-template-columns:210px minmax(0,1fr)}.cols4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.wide{grid-column:auto}.hero .copy{max-width:65%}}@media(max-width:780px){.shell{display:block}.sidebar{position:fixed;transform:translateX(-105%);transition:.2s;width:250px;box-shadow:10px 0 25px #0001}.sidebar.show{transform:none}.mobilemenu{display:block}.topbar{padding:10px;height:auto;gap:8px}.topbar .selector{min-width:0;max-width:175px}.search{display:none}.user{margin-left:auto}.user span:last-child{display:none}.content{padding:15px}.cols3,.cols2{grid-template-columns:1fr}.hero{min-height:220px}.hero .copy{max-width:70%}.hero h1{font-size:24px}.hero .heroart{opacity:.55}.formgrid{grid-template-columns:1fr}}@media(max-width:460px){.cols4{grid-template-columns:1fr 1fr}.kpi{padding:10px;min-height:90px;gap:8px}.kpi .icon{height:34px;width:34px;font-size:17px}.kpi strong{font-size:16px}.card{padding:12px}.topbar .selector{display:none}.hero .copy{max-width:100%}.hero .heroart{opacity:.23}.heading h1{font-size:22px}}@media(max-width:1050px){.content>.grid[style*="grid-template-columns"]{grid-template-columns:1fr 1fr!important}.content>.grid[style*="grid-template-columns"]>.card:first-child:nth-last-child(3){grid-column:span 2}}@media(max-width:650px){.content>.grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}.content>.grid[style*="grid-template-columns"]>.card:first-child:nth-last-child(3){grid-column:auto}.hero .copy{max-width:100%}.hero.garage{background-size:auto 100%}.pickupcard{flex-direction:column;align-items:start}.pickupcard img{width:100%;max-height:140px}}
body.gen2 .content{padding-top:14px}
body.gen2 .card{animation:rise .35s ease both}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.map .pin{animation:bob 1.8s ease-in-out infinite}
.map .pin.live{background:#ff3150;animation:pulse 1.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-4px)}}
@keyframes pulse{50%{transform:scale(1.12)}}
.map .road{animation:road 2.4s linear infinite}
@keyframes road{50%{border-color:#00a66e}}
.flag-requested{background:#fff2db;color:#b26a00}
.flag-assigned,.flag-on-the-way,.flag-received-at-plant{background:#e6f1ff;color:#1466c9}
.flag-collected,.flag-priced-and-paid{background:#e1f8eb;color:#007b49}
.flag-lab-check{background:#fff2db;color:#9a5b00}
.flag-certificate-issued{background:#efe7ff;color:#5b3cc4}
.reminder{border-left:4px solid #ff8700}
.reminder.due{border-left-color:#ff3150;background:#fff7f8}
.highlight-request{box-shadow:0 0 0 3px #ffd5de}
.tabs,.stepper{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.tabs button,.stepper button,.slot{border:1px solid #d6e0e9;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700}
.tabs button.on,.stepper button.on,.slot.on{background:#00a66e;color:#fff;border-color:#00a66e}
.stepper button:disabled{opacity:.4}
.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.slot{border-radius:12px;text-align:left}
.ticket{background:#f6fbf9;border:1px solid #d9efe6;border-radius:12px;padding:12px;margin-top:12px}
.trow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #e5edf0}
.codes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.codes span{background:#f4f7f8;border-radius:999px;padding:4px 8px;font-size:11px}
.chain{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.chain span{font-size:10px;padding:3px 6px;border-radius:999px;background:#eef2f4;color:#64748b}
.chain span.on{background:#e1f8eb;color:#007b49}
.stars{display:flex;gap:8px;margin:8px 0}
.star{font-weight:700}
.mapframe{width:100%;height:220px;border:0;border-radius:12px;background:#e7f3f1}
.brent-figure{font-size:28px;letter-spacing:-.6px}
.thread{display:grid;gap:8px;max-height:240px;overflow:auto}
.bubble{border-radius:12px;padding:8px 10px;background:#f4faf8}
.bubble.pioneer{background:#eef5ff}
.chatdock{position:fixed;left:18px;bottom:18px;z-index:45}
.avatar-btn{width:58px;height:58px;border:0;border-radius:50%;background:#083b55;color:#fff;font-size:30px;box-shadow:0 10px 24px #083b5540}
.chatpanel{position:absolute;bottom:68px;left:0;width:min(340px,78vw);background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:0 16px 40px #0b213026}
.chatpanel form{display:flex;gap:8px;margin-top:8px}
.chatpanel input{flex:1;border:1px solid #dbe5ea;border-radius:9px;padding:10px}
.pcode{font-size:16px}
@media(max-width:780px){.slots{grid-template-columns:1fr}.chatdock{left:10px;bottom:10px}}
