@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--font-heading:"Outfit", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--bg-primary:#0a0a0c;--bg-secondary:#16181da6;--bg-panel:#121418b3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--accent-primary:#10b981;--accent-glow:#10b98140;--accent-secondary:#3b82f6;--accent-warning:#f59e0b;--accent-danger:#ef4444;--border-color:#ffffff14;--glass-blur:blur(16px)}*{box-sizing:border-box}body{background-color:var(--bg-primary);min-width:320px;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 0,#10b98126 0%,#0000 40%),radial-gradient(circle at 85% 20%,#3b82f626 0%,#0000 40%);background-attachment:fixed;margin:0;line-height:1.5}main{max-width:1440px;margin:auto;padding:32px 48px 24px}.topbar,.panel-head,.hero,.metrics,.plan-detail{justify-content:space-between;align-items:center;gap:20px;display:flex}.eyebrow{font-family:var(--font-body);letter-spacing:.15em;color:var(--accent-primary);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}h1,h2,h3,h4,p{margin-top:0}h1{font-family:var(--font-heading);letter-spacing:-.04em;margin:0;font-size:32px;font-weight:700}h1 span{color:var(--accent-primary)}em{color:var(--accent-primary);font-style:normal}.live,.tag{font-family:var(--font-body);color:var(--text-secondary);align-items:center;font-size:11px;font-weight:500;display:flex}.live i{background:var(--accent-primary);width:8px;height:8px;box-shadow:0 0 12px var(--accent-primary);border-radius:50%;margin-right:8px;animation:2s cubic-bezier(.4,0,.2,1) infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero{border-bottom:1px solid var(--border-color);padding:72px 0 56px}.hero>div:first-child{max-width:800px}.hero h2{font-family:var(--font-heading);letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(40px,5vw,76px);font-weight:600;line-height:1.05}.hero p:not(.eyebrow){color:var(--text-secondary);max-width:660px;font-size:18px;line-height:1.6}.guard{border:1px solid var(--border-color);background:var(--bg-secondary);min-width:240px;-webkit-backdrop-filter:var(--glass-blur);border-radius:24px;padding:24px 32px;transition:transform .3s;box-shadow:0 8px 32px #0003}.guard:hover{transform:translateY(-4px)}.guard span,.guard small{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:12px;display:block}.guard span span{color:var(--accent-primary);font-weight:600;display:inline}.guard strong{font-family:var(--font-heading);color:var(--text-primary);text-shadow:0 0 20px var(--accent-glow);margin:12px 0;font-size:40px;font-weight:600;display:block}.metrics{gap:24px;padding:32px 0}.metric{background:var(--bg-panel);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur);border-radius:16px;flex:1;padding:24px;transition:all .3s}.metric:hover{background:#1e2228cc;border-color:#ffffff26;transform:translateY(-4px)}.metric strong{font-family:var(--font-heading);margin-bottom:8px;font-size:36px;font-weight:600;display:block}.metric span{color:var(--text-secondary);font-size:13px;font-weight:500}.metric.green strong{color:var(--accent-primary)}.metric.amber strong{color:var(--accent-warning)}.metric.blue strong{color:var(--accent-secondary)}.grid{grid-template-columns:1fr 1.2fr;gap:24px;display:grid}.panel{background:var(--bg-panel);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;padding:32px;display:flex;box-shadow:0 12px 40px #00000026}.panel h3{font-family:var(--font-heading);margin:0;font-size:20px;font-weight:600}.tag{border:1px solid var(--border-color);background:#ffffff08;border-radius:99px;padding:6px 12px}.tag.green{color:var(--accent-primary);background:#10b9810d;border-color:#10b9814d}.report{grid-row:span 2}label{color:var(--text-secondary);margin:32px 0 12px;font-size:13px;font-weight:500;display:block}textarea{resize:vertical;border:1px solid var(--border-color);width:100%;min-height:140px;color:var(--text-primary);font-family:var(--font-body);background:#0003;border-radius:12px;padding:16px;font-size:14px;line-height:1.6;transition:border-color .2s,box-shadow .2s}textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}button{font-family:var(--font-body);background:var(--text-primary);color:var(--bg-primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:14px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffffff26}button:disabled{opacity:.6;cursor:wait}.scenarios{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;margin-top:auto;padding-top:32px;display:flex}.scenario{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff08;justify-content:space-between;margin-top:0}.scenario:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.scenario span{color:var(--text-tertiary);font-weight:400}.route-canvas{border:1px solid var(--border-color);background:linear-gradient(135deg,#14191e80,#0a0f14cc);border-radius:16px;height:240px;margin-top:32px;position:relative;overflow:hidden}.route-line{border-top:2px dashed #ffffff26;position:absolute;top:110px;left:20%;right:20%;transform:rotate(-6deg)}.map-node{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);background:#0a0f14cc;border-radius:99px;align-items:center;gap:12px;padding:8px 16px 8px 8px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute}.map-node:hover{transform:scale(1.05)}.map-node i{border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;font-style:normal;display:grid}.map-node small,.map-node b{line-height:1.3;display:block}.map-node small{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.map-node b{white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:12px;font-weight:500;overflow:hidden}.donor{top:60%;left:8%}.donor i{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f64d}.rider{top:25%;left:42%}.rider i{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b4d}.ngo{top:40%;right:8%}.ngo i{color:#34d399;background:#10b98133;border:1px solid #10b9814d}.plan-detail{border:1px solid var(--border-color);background:#0003;border-radius:12px;margin-top:24px;padding:16px 20px}.plan-detail span{color:var(--text-secondary);font-size:12px}.plan-detail b{color:var(--text-primary);margin-right:4px;font-size:14px;font-weight:600}.ledger{min-height:320px}.timeline{max-height:320px;margin-top:32px;padding-right:12px;overflow-y:auto}.timeline::-webkit-scrollbar{width:6px}.timeline::-webkit-scrollbar-track{background:0 0}.timeline::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}.timeline article{border-bottom:1px solid #ffffff0d;grid-template-columns:64px 1fr;gap:16px;margin-bottom:20px;padding-bottom:20px;animation:.3s ease-out slideIn;display:grid}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.timeline time{font-family:var(--font-body);color:var(--text-tertiary);padding-top:4px;font-size:10px}.timeline b{color:var(--accent-primary);font-size:12px;font-weight:600}.timeline p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.5}.empty{color:var(--text-tertiary);text-align:center;margin:0;padding:32px 0;font-size:13px}footer{color:var(--text-tertiary);text-align:center;border-top:1px solid var(--border-color);margin-top:48px;padding:40px 0 24px;font-size:11px}@media (width<=900px){main{padding:24px}.hero{flex-direction:column;align-items:flex-start;gap:32px}.hero h2{font-size:40px}.guard{width:100%;min-width:100%}.metrics{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid{grid-template-columns:1fr;gap:16px}.report{grid-row:auto}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.live{text-align:left}}@media (width<=500px){.metrics{grid-template-columns:1fr}.panel{padding:24px}.plan-detail{flex-direction:column;align-items:flex-start;gap:12px}}
