:root{
 --green:#16a34a;--green-dark:#12813c;--dark:#111827;--gray:#6b7280;
 --light:#f4f6f8;--white:#fff;--danger:#dc2626;--border:#d1d5db;
}
*,*:before,*:after{box-sizing:border-box}
html{width:100%;min-width:320px;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:320px;margin:0;overflow-x:hidden;background:var(--light);color:var(--dark);font-family:'Poppins',sans-serif;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
button,input,select,textarea{max-width:100%;font:inherit}
a{text-decoration:none}
.topbar{position:relative;z-index:1900;isolation:isolate;background:#0b1511;color:#fff;padding:env(safe-area-inset-top) 24px 0;border-bottom:1px solid rgba(255,255,255,.08);pointer-events:auto}
.topbar-inner{max-width:1180px;height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{position:relative;z-index:2;min-height:48px;display:flex;align-items:center;gap:10px;padding:5px 8px 5px 0;color:#fff;font-weight:800;font-size:14px;letter-spacing:.03em;touch-action:manipulation;-webkit-tap-highlight-color:rgba(34,197,94,.2)}.brand>span:last-child{display:block}.brand small{display:block;margin-top:1px;color:#7f948a;font-size:7px;font-weight:500;letter-spacing:0}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px 12px 12px 4px;background:#22c55e;color:#052e16;font-size:20px;font-weight:900;box-shadow:0 5px 16px rgba(34,197,94,.2)}
.topnav{display:flex;align-items:center;gap:5px}.topnav a{position:relative;padding:10px 13px;color:#aab8b1;font-size:11px;font-weight:600;transition:.2s}.topnav a:hover,.topnav a.active{color:#fff}.topnav a.active:after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;border-radius:3px;background:#22c55e}.topnav .topnav-trip{margin-left:8px;padding:11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:11px;color:#fff}.topnav .topnav-trip:after{display:none}.topnav .topnav-trip:hover{border-color:#22c55e;background:rgba(34,197,94,.08)}
.mobile-controls{display:none;position:relative;z-index:3;align-items:center;gap:7px;pointer-events:auto}.mobile-home,.mobile-menu summary{width:44px;height:44px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(34,197,94,.2)}.mobile-home{display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:11px;color:#fff;font-size:23px}.mobile-menu{position:relative}.mobile-menu summary{display:grid;place-content:center;gap:4px;border:1px solid rgba(255,255,255,.15);border-radius:11px;list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:18px;height:2px;border-radius:2px;background:#fff}.mobile-menu nav{position:absolute;z-index:10;right:0;top:50px;width:220px;padding:9px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}.mobile-menu nav a{display:block;min-height:44px;padding:12px 13px;border-radius:10px;color:#334155;font-size:11px;font-weight:700;touch-action:manipulation}.mobile-menu nav a:hover{background:#f0fdf4;color:#166534}
.container{width:100%;max-width:1100px;margin:auto;padding:26px 16px 60px}
.narrow{max-width:680px}
.card{background:#fff;padding:24px;border-radius:22px;box-shadow:0 10px 30px rgba(17,24,39,.08)}
.grid{display:grid;gap:16px}
.btn{display:block;width:100%;padding:15px;border-radius:14px;border:0;text-align:center;font:inherit;font-weight:700;cursor:pointer}
.btn-green{background:var(--green);color:#fff}
.btn-dark{background:var(--dark);color:#fff}
.btn-gray{background:#374151;color:#fff}
.btn-danger{background:var(--danger);color:#fff}
.form-group{margin-bottom:16px}
.form-group label{display:block;margin-bottom:7px;font-weight:600}
.form-control{width:100%;padding:15px;border:1px solid var(--border);border-radius:13px;font:inherit;outline:none}
.form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.13)}
.help{display:block;margin-top:6px;color:var(--gray);font-size:12px}
.message{padding:14px;border-radius:12px;margin-bottom:18px;font-weight:600}
.message-success{background:#dcfce7;color:#166534}
.message-error{background:#fee2e2;color:#991b1b}
.badge{display:inline-block;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700}
.badge-warning{background:#fef3c7;color:#92400e}
.badge-success{background:#dcfce7;color:#166534}
.badge-gray{background:#e5e7eb;color:#374151}
.nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.trip-card{background:#fff;padding:21px;margin-bottom:16px;border-radius:20px;box-shadow:0 8px 25px rgba(17,24,39,.08)}
.trip-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.route{margin-top:18px;padding-left:14px;border-left:3px solid var(--green)}
.route-item{margin-bottom:13px}
.label{display:block;color:var(--gray);font-size:12px}
.value{font-weight:600}
.price{margin-top:17px;padding:14px;border-radius:13px;background:#f0fdf4}
.price small{display:block;color:var(--gray)}
.price strong{color:#166534;font-size:22px}
.actions{display:grid;gap:10px;margin-top:15px}
.trip-payment{padding:10px 13px;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px}
.footer{background:#08110d;color:#fff;padding:44px 24px 20px}.footer-inner,.footer-bottom{width:min(1180px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{font-size:13px}.footer-brand small{margin-top:2px;color:#7f948a;font-size:8px}.footer nav{display:flex;gap:24px}.footer nav a{color:#aab8b1;font-size:9px;font-weight:600}.footer nav a:hover{color:#4ade80}.footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:#617268;font-size:8px}
.pwa-install{position:fixed;z-index:2000;left:50%;bottom:max(16px,env(safe-area-inset-bottom));width:min(560px,calc(100% - 28px));transform:translateX(-50%);display:grid;grid-template-columns:42px 1fr auto 30px;align-items:center;gap:11px;padding:12px;border:1px solid #dbe5df;border-radius:18px;background:rgba(255,255,255,.97);color:#0f172a;box-shadow:0 18px 55px rgba(15,23,42,.24);backdrop-filter:blur(18px)}.pwa-install[hidden]{display:none}.pwa-install .brand-mark{width:42px;height:42px}.pwa-install strong,.pwa-install small{display:block}.pwa-install strong{font-size:11px}.pwa-install small{margin-top:2px;color:#64748b;font-size:8px}.pwa-install>button{padding:10px 13px;border:0;border-radius:10px;background:#16a34a;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.pwa-install>.pwa-close{padding:5px;background:transparent;color:#64748b;font-size:23px;font-weight:400}
.empty{text-align:center;padding:35px}
@media(max-width:700px){.topbar{position:sticky;top:0;padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.topbar-inner{width:100%;height:68px}.topnav{display:none}.mobile-controls{display:flex}.container{width:100%;padding-left:14px;padding-right:14px}.narrow{max-width:100%}.card,.trip-card{max-width:100%;overflow-wrap:anywhere}.nav-grid{grid-template-columns:1fr}.footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}.footer-inner,.footer-bottom{display:block;text-align:center}.footer-brand{justify-content:center}.footer nav{justify-content:center;flex-wrap:wrap;margin-top:25px}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:7px}}
@media(max-width:380px){.brand{gap:6px;font-size:11px}.brand small{display:none}.brand-mark{width:35px;height:35px}.mobile-home,.mobile-menu summary{width:40px;height:40px}.pwa-install{grid-template-columns:38px 1fr auto;padding:10px}.pwa-install .brand-mark{width:38px;height:38px}.pwa-install>.pwa-close{position:absolute;right:-3px;top:-16px;width:30px;height:30px;border-radius:50%;background:#111827;color:#fff}.pwa-install small{display:none}}
