
:root{color-scheme:dark;--bg:#101012;--panel:#201e21;--line:#494047;--ink:#f8f5f6;--muted:#c4babe;--accent:#ff5259;--warn:#efd187;font-family:Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 15%,#37191d 0,transparent 45%),var(--bg);color:var(--ink);min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1200px;margin:auto;padding:0 40px}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:900;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.brand>span:not(.brand-dot){color:var(--accent)}.brand-dot{color:var(--accent);font-size:10px;vertical-align:top;margin:8px;display:inline-block}.header-actions{display:flex;align-items:center;gap:12px}.tag,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.tag{border:1px solid var(--line);border-radius:20px;padding:8px 12px;color:var(--muted)}.eyebrow{color:var(--accent)}#auth{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;padding:76px 0 90px}h1{font-size:76px;letter-spacing:-4px;line-height:1.06;margin:24px 0}em{font-style:normal;color:var(--accent)}.intro p{max-width:350px;color:var(--muted);font-size:18px;line-height:1.6}.intro-pills{display:flex;gap:12px;margin-top:32px;font-size:12px;color:var(--muted)}.intro-pills span{border:1px solid var(--line);border-radius:20px;padding:9px 13px}.auth-card{background:linear-gradient(135deg,#302327,#1c191c);border:1px solid #564047;padding:30px;border-radius:22px;box-shadow:0 30px 70px #0003}.switch{display:grid;grid-template-columns:1fr 1fr;background:#161416;padding:5px;border-radius:11px;margin-bottom:30px}.switch button{background:none;color:var(--muted);border:0;border-radius:7px;padding:12px;font-size:13px}.switch button[aria-selected=true]{background:#492a30;color:var(--ink)}h2{font-size:27px;letter-spacing:-.9px;margin:12px 0}h3{font-size:23px;margin:20px 0}.muted,.fine{color:var(--muted);line-height:1.6}.muted{font-size:14px}.fine{font-size:12px}.optional{font-size:12px;color:var(--muted)}label{display:block;font-size:13px;color:#e0d7da;margin:20px 0 0}input,select{width:100%;background:#161416;border:1px solid #68545a;border-radius:9px;padding:14px;color:var(--ink);margin-top:9px;outline:0;min-width:0}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff525917}input::placeholder{color:#a29499}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:9px;top:17px;font-size:12px}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 12px;border-radius:8px;font-size:13px}.quiet:hover{background:#39272c}.primary{background:var(--accent);color:#14090a;border:0;border-radius:9px;padding:16px;font-weight:750;font-size:14px;display:flex;justify-content:space-between;gap:12px}.primary:hover{background:#ff7379}.full{width:100%;margin-top:23px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;color:#ac9fa4;font-size:11px;letter-spacing:.4px}footer>span:first-child{font-weight:800;letter-spacing:2px}#status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:620px;padding:18px 24px;background:#34282d;color:#fff5f6;border:1px solid #80616b;border-radius:12px;z-index:10;box-shadow:0 14px 35px #0009;white-space:pre-line}#status.error{background:#3b2a20;color:#ffdec1;border-color:#8d6142}#dashboard{padding:40px 0 70px}.welcome{display:flex;align-items:center;justify-content:space-between}.welcome h1{font-size:42px;letter-spacing:-2px;margin:14px 0 28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats article{padding:23px;border:1px solid var(--line);border-radius:14px;background:#211d20}.stats span,.stats small{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;font-size:32px;letter-spacing:-1px;margin:14px 0 8px}.nav{display:flex;gap:10px;border-bottom:1px solid var(--line);margin-top:34px;overflow-x:auto}.nav button{background:none;border:0;color:var(--muted);padding:18px 12px;white-space:nowrap;font-size:14px}.nav button.selected{color:var(--accent);border-bottom:2px solid var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px}.booking-layout{display:grid;grid-template-columns:1fr 300px;gap:30px}.booking-inputs{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.booking-inputs label{margin:0}.terminal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.terminal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:left;color:var(--ink);min-height:140px}.terminal.selected{border-color:var(--accent);background:#38282c}.terminal strong{display:block;font-size:20px;margin:15px 0 5px}.terminal small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.badge{font-size:10px;letter-spacing:1px;color:var(--accent);text-transform:uppercase}.badge.busy{color:var(--warn)}.booking-summary{background:#282226;border:1px solid var(--line);border-radius:14px;padding:24px;align-self:start}.summary-divider{border-top:1px solid var(--line);margin:25px 0}.booking-list,.movement-list{display:grid;gap:12px}.booking-row,.movement-row{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:16px}.booking-row h3{font-size:18px;margin:8px 0}.booking-row p,.movement-row p{margin:5px 0;color:var(--muted);font-size:13px}.amount{font-weight:700;white-space:nowrap}.empty{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}@media(max-width:850px){.shell{padding:0 22px}#auth{gap:35px;padding:40px 0;grid-template-columns:1fr 1fr}h1{font-size:56px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}.stats strong{font-size:25px}}@media(max-width:600px){header{height:80px}.tag{display:none}#auth{grid-template-columns:1fr;gap:30px;padding:34px 0}.intro h1{font-size:52px;margin:16px 0;line-height:1}.intro h1 br{display:none}.intro p{font-size:15px}.intro-pills{display:none}.auth-card{padding:23px}.switch{margin-bottom:23px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:17px}.stats article:last-child{grid-column:1/-1}.stats strong{font-size:28px}.stats article:last-child strong{font-size:23px}.welcome h1{font-size:31px;letter-spacing:-1px}.welcome>.quiet{font-size:11px}.terminal-grid{grid-template-columns:1fr 1fr}.terminal{padding:15px}.terminal strong{font-size:17px}.booking-inputs{grid-template-columns:1fr}.booking-row{align-items:flex-start;flex-direction:column}.booking-row button{align-self:flex-end}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}.section-heading h2{font-size:24px}.shell{padding-bottom:env(safe-area-inset-bottom)}}
#password-change{max-width:460px;margin:44px auto}

.preferences-list{display:grid;gap:10px;max-width:760px}.preference-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.preference-actions{display:flex;gap:6px;flex-wrap:wrap}.preference-add{display:flex;gap:12px;align-items:flex-end;max-width:540px;margin-bottom:20px}.preference-add label{flex:1;min-width:0}.preference-add>.quiet{min-height:49px}#preferences-save{min-height:48px}@media(max-width:600px){.preference-row{align-items:flex-start;flex-direction:column}.preference-actions{width:100%;justify-content:flex-end}}

.topup-form{display:flex;gap:14px;align-items:flex-end;max-width:600px;margin:20px 0}.topup-form label{flex:1;min-width:0}.topup-form .primary{min-height:49px}@media(max-width:600px){.topup-form{align-items:stretch;flex-direction:column}}

/* Compact account summary and space for interactive promotional flyers. */
#dashboard{padding-top:24px}
.welcome{gap:10px;flex-wrap:wrap}
.welcome h1{font-size:32px;margin:8px 0 18px}
.stats{gap:10px}
.stats article{padding:14px 16px;min-width:0}
.stats strong{font-size:25px;margin:7px 0 4px;overflow-wrap:anywhere}
.stats small{font-size:11px;line-height:1.4}
.nav{margin-top:20px}
.flyers{position:relative;isolation:isolate;overflow:hidden;border:1px solid #78424b;border-radius:18px;margin:0 0 16px;background:radial-gradient(ellipse at 95% 0%,#b6354055,transparent 60%),linear-gradient(120deg,#482028,#21191c);min-height:180px}
.flyers::after{content:"";position:absolute;z-index:-1;width:230px;height:230px;right:-75px;top:-85px;border:35px solid #ff525918;border-radius:50%;transform:rotate(-25deg)}
.flyer{padding:22px 24px 14px}
.flyer h2{font-size:29px;line-height:1.12;max-width:480px;margin:10px 0}
.flyer p{font-size:13px;line-height:1.5;color:#e3d5d8;margin:0 0 12px;max-width:440px}
.flyer-action{min-height:44px;padding:10px 16px;border:0;border-radius:9px;background:var(--accent);color:#14090a;font-weight:750;font-size:13px;display:inline-flex;gap:24px;align-items:center}
.flyer-controls{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px 24px;color:#d9c6cb;font-size:11px}
.flyer-controls>div{display:flex;gap:6px}
.flyer-controls button{width:44px;height:44px;border:1px solid #78424b;border-radius:50%;background:#201317;color:var(--ink);font-size:20px}
@media(max-width:600px){
 #dashboard{padding-top:20px}
 .welcome h1{font-size:26px}
 .stats article{padding:12px}
 .stats strong{font-size:23px}
 .stats article:last-child{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
 .stats article:last-child strong{font-size:21px;margin:0;grid-column:2;grid-row:1/3}
 .stats article:last-child small{grid-column:1}
 .flyer{padding:18px 18px 8px}
 .flyer h2{font-size:26px;max-width:280px}
 .flyer-controls{padding-left:18px}
}
.quick-topup{margin-top:10px;padding:10px 12px;min-height:44px;width:100%;justify-content:center;font-size:13px}.nav{flex-wrap:wrap;overflow-x:visible;gap:4px}.nav button{padding:12px 10px;min-height:44px}