:root{--bg:#07090d;--panel:#0d1118;--card:#121821;--card2:#0f141c;--line:#273241;--text:#f5f8fb;--muted:#9ca8b7;--silver:#e4e8ed;--blue:#28a9ff;--blue2:#0f78b9;--good:#57d18c;--warn:#f4c76b;--bad:#ff7373;--shadow:0 20px 55px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 90% 0,#0d2334 0,transparent 30%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:4px}a{color:var(--blue)}
.app{max-width:920px;margin:auto;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 42px)}header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;padding:10px 0 16px;background:linear-gradient(var(--bg) 78%,transparent)}.headerActions{display:flex;align-items:center;gap:10px}.brand{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:29px;letter-spacing:-1px}.brand small{display:block;font-family:inherit;font-style:normal;font-size:9px;letter-spacing:5px;text-align:center;color:var(--muted);margin-top:3px}.centered{text-align:center;margin-bottom:24px}.syncDot{width:10px;height:10px;border-radius:50%;background:var(--warn);box-shadow:0 0 12px currentColor}.syncDot.ok{background:var(--good)}.syncDot.bad{background:var(--bad)}
button,.button{border:1px solid var(--line);border-radius:12px;background:#171e28;color:#fff;padding:11px 14px;transition:.15s transform,.15s background}.primary{background:linear-gradient(135deg,#f3f5f7,#cfd6dd);color:#07090d;border-color:#e8edf2;font-weight:800}.secondary{background:#111721}.danger{color:#ff9b9b!important}.full{width:100%}.linkBtn{border:0;background:transparent;color:var(--silver);padding:10px 0;text-decoration:underline}.page{display:none}.page.active{display:block}.pageHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:8px 0 16px}.muted{color:var(--muted)}small{color:var(--muted)}
.card{background:linear-gradient(180deg,rgba(19,26,36,.96),rgba(14,19,27,.96));border:1px solid var(--line);border-radius:17px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat span{font-size:13px;color:var(--muted)}.stat strong{font-size:24px;display:block;margin:4px 0}.stack{display:grid;gap:9px;margin-top:12px}.stack.compact{gap:6px}.listItem{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.listItem.clickable{cursor:pointer}.listItem .main{min-width:0}.listItem .title{font-weight:750}.listItem .sub{font-size:13px;color:var(--muted);margin-top:3px;white-space:normal}.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;color:var(--muted);text-transform:capitalize}.badge.paid,.badge.completed{color:var(--good);border-color:#2b6446}.badge.unpaid,.badge.sent{color:var(--warn);border-color:#655425}.badge.cancelled{color:var(--bad);border-color:#673333}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
label{display:block;font-size:13px;color:var(--muted);margin:11px 0}input,select,textarea{display:block;width:100%;min-height:46px;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#090d13;color:#fff;padding:10px 12px;font-size:16px}textarea{min-height:92px;resize:vertical}.check{display:flex;align-items:center;gap:9px}.check input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--blue)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.formGrid .wide{grid-column:1/-1}.totalBox{padding:14px;border-radius:13px;background:#09111a;border:1px solid #27445a}.totalLine{display:flex;justify-content:space-between;padding:5px 0}.totalLine.grand{font-size:22px;font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.warning{color:var(--warn);font-size:12px}
.drawer{position:fixed;inset:0;z-index:50;display:none;background:rgba(0,0,0,.65);backdrop-filter:blur(5px)}.drawer.open{display:block}.panel{height:100%;width:min(340px,90%);margin-left:auto;background:#0b1017;border-left:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 22px) 16px 30px;overflow:auto}.panel .nav{display:block;width:100%;text-align:left;margin:7px 0;padding:14px}.close{float:right}.authStatus{font-size:12px;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}
.authGate{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at top,#10283b 0,transparent 35%),#07090d;display:flex;align-items:center;justify-content:center;padding:24px}.loginCard{width:min(430px,100%);background:#111720;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 35px 90px #000}.authError{color:#ff9a9a;font-size:13px;min-height:18px;margin-top:10px}.hidden{display:none!important}.setupBanner{border:1px solid #6c5420;background:#2a2211;color:#f7db95;border-radius:13px;padding:12px 14px;margin-bottom:14px}.setupBanner span{display:block;font-size:13px;margin-top:4px}.toast{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 18px);left:50%;transform:translateX(-50%);background:#eef2f5;color:#111;padding:11px 15px;border-radius:11px;display:none;z-index:120;box-shadow:var(--shadow);max-width:90%;text-align:center}
.calendarHead,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendarHead{margin:16px 0 7px;color:var(--muted);font-size:11px;text-align:center}.day{aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:#0b1118;color:#fff;position:relative;padding:6px}.day.out{opacity:.35}.day.today{border-color:var(--blue)}.day.selected{background:#173249;border-color:#3caef3}.day .dot{position:absolute;bottom:5px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateX(-50%)}
.modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.75);display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top) + 24px) 14px 30px;overflow:auto}.modalCard{width:min(680px,100%);background:#0e141d;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 35px 90px #000}.modalClose{float:right}.vehicleCard{border:1px solid var(--line);background:#0b1017;border-radius:12px;padding:12px;margin-top:8px}.divider{height:1px;background:var(--line);margin:16px 0}.pillRow{display:flex;gap:7px;flex-wrap:wrap}.tiny{font-size:12px}.photoThumb{width:74px;height:58px;border-radius:9px;object-fit:cover;border:1px solid var(--line)}.photoGrid{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pageHead{align-items:stretch}.pageHead>.primary{align-self:flex-start}.formGrid{grid-template-columns:1fr}.formGrid .wide{grid-column:auto}}
@media(max-width:500px){.app{padding-left:12px;padding-right:12px}.brand{font-size:25px}.pageHead{display:block}.pageHead>.primary{margin-top:8px}.stats{grid-template-columns:1fr 1fr}.card{padding:14px}.listItem{align-items:flex-start}.calendar{gap:3px}.day{padding:4px;font-size:12px}.actions button{flex:1 1 auto}}
@media print{body{background:white;color:black}.app,header,.drawer,.toast,.authGate,.modal{display:none!important}.printOnly{display:block!important}}
