:root{
    --brand-red:#a93432;
    --brand-red-dark:#7f2423;
    --brand-soft:#fff3f2;
    --ink:#080808;
    --muted:#6b7280;
    --line:#eee3e2;
    --bg:#fbfaf9;
    --card:#ffffff;
    --shadow:0 14px 35px rgba(60,30,28,.08);
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;padding-bottom:82px}
.app-header{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(169,52,50,.08)}
.app-header-inner{max-width:520px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.brand-logo{height:38px;width:auto;display:block}.header-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink);text-decoration:none;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.06)}.header-link{color:var(--brand-red);font-weight:800;text-decoration:none}
.app-container{max-width:520px;padding:18px 16px 28px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:var(--brand-red);margin:0 0 6px}.eyebrow.dark{color:#403130}.hero-card{background:linear-gradient(145deg,var(--brand-red),var(--brand-red-dark));color:#fff;border-radius:28px;padding:24px 22px;min-height:150px;display:flex;align-items:flex-end;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;right:-60px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12)}.hero-card h1{font-size:30px;line-height:1.1;font-weight:900;margin:0}.hero-subtitle{margin:8px 0 0;opacity:.88}.hero-card .eyebrow{color:#ffe3e1}
.summary-card,.menu-card,.tip-card,.reservation-card,.movement-card,.payment-card,.lock-card,.balance-card{background:var(--card);border:1px solid rgba(169,52,50,.08);border-radius:24px;padding:18px;margin-bottom:15px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-head h2{font-size:20px;font-weight:900;margin:0}.section-head i{font-size:25px;color:var(--brand-red)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-grid.two-cols{grid-template-columns:repeat(2,1fr)}.summary-tile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 12px;text-align:center;text-decoration:none;color:inherit;box-shadow:inset 0 -20px 30px rgba(169,52,50,.03)}.summary-tile strong{display:block;font-size:38px;line-height:1;font-weight:950;color:var(--brand-red)}.summary-tile span{display:block;font-size:13px;color:var(--muted);margin-top:8px;font-weight:700}.summary-tile.checkout strong{color:#111}
.quick-section h2{font-size:21px;font-weight:900;margin:20px 2px 12px}.menu-list{display:grid;gap:13px}.menu-card{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;padding:15px}.menu-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:25px;background:linear-gradient(145deg,var(--brand-red),var(--brand-red-dark));flex:0 0 auto}.menu-card.soft-red .menu-icon{background:#f7d9d7;color:var(--brand-red)}.menu-card h3{font-size:17px;font-weight:900;margin:0}.menu-card p{font-size:13px;color:var(--muted);margin:4px 0 0}.arrow{color:#9ca3af;font-size:20px}.tip-card{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#fff,#fff1f0)}.tip-card>i{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#ffe4e2;color:var(--brand-red);font-size:22px;flex:0 0 auto}.tip-card h2{font-size:17px;font-weight:900;margin:0}.tip-card p{font-size:14px;color:#504544;margin:4px 0 0}
.page-title{background:linear-gradient(145deg,var(--brand-red),var(--brand-red-dark));color:white;border-radius:26px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}.page-title h1{font-size:26px;font-weight:900;margin:0}.page-title p{margin:5px 0 0;opacity:.88}.purple-title,.orange-title{background:linear-gradient(145deg,var(--brand-red),var(--brand-red-dark))}.tabs-mobile{background:white;border:1px solid var(--line);border-radius:16px;padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:14px}.tabs-mobile button{border:0;border-radius:12px;padding:11px;background:transparent;font-weight:800}.tabs-mobile .active{background:var(--brand-red);color:white}.reservation-card h2,.movement-card h2,.payment-card h2{font-size:16px;font-weight:900;margin:0}.reservation-row,.payment-row{display:flex;justify-content:space-between;border-top:1px solid #f1e8e7;padding-top:9px;margin-top:9px;font-size:14px}.reservation-row span,.payment-row span{color:var(--muted)}.badge{border-radius:999px}.movement-card{display:flex;gap:12px;align-items:center}.movement-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:white}.movement-icon.in{background:#16a34a}.movement-icon.out{background:#dc2626}.movement-card p{margin:3px 0;color:#4b5563}.movement-card small{color:var(--muted)}.balance-card p{font-weight:800;margin:0;color:#4b5563}.balance-card h2{font-size:32px;color:var(--brand-red);font-weight:950;margin:4px 0 0}.purple-balance h2{color:var(--brand-red)}.lock-screen{min-height:70vh;display:grid;place-items:center}.lock-card{text-align:center;width:100%;max-width:380px}.lock-icon{width:64px;height:64px;border-radius:22px;background:#ffe4e2;color:var(--brand-red);display:grid;place-items:center;margin:0 auto 12px;font-size:28px}.lock-card h1{font-size:22px;font-weight:900}.lock-card p{color:var(--muted)}.btn-success{background:var(--brand-red);border-color:var(--brand-red)}.btn-success:hover{background:var(--brand-red-dark);border-color:var(--brand-red-dark)}.search-input{border-radius:16px;padding:13px;border-color:var(--line)}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #efe2e1;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:30}.bottom-nav a{text-decoration:none;color:#777;text-align:center;font-size:11px;font-weight:700}.bottom-nav i{display:block;font-size:20px;margin-bottom:2px}.bottom-nav a:hover,.bottom-nav a:focus{color:var(--brand-red)}
@media (max-width:360px){.brand-logo{height:32px}.hero-card h1{font-size:26px}.summary-tile strong{font-size:32px}.menu-card{padding:13px}.menu-icon{width:52px;height:52px}}
