:root{color:#f8f5ed;--gold:#d6ad58;--panel:#151515;--muted:#aaa397;--line:#302b23;--success:#6fd2a0;background:#090909;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.center-page,.public-page,.login-page{background:radial-gradient(circle at 50% 0,#312611 0,#0000 35%),#090909;place-items:center;min-height:100vh;padding:20px;display:grid}.panel,.experience-card,.login-card{border:1px solid var(--line);background:linear-gradient(145deg,#181818,#101010);border-radius:24px;width:min(100%,680px);padding:clamp(22px,5vw,42px);box-shadow:0 24px 80px #0009}.experience-card{width:min(100%,720px)}.hero{text-align:center;padding:12px 0 24px}.hero h1{max-width:600px;margin:18px auto;font-size:clamp(2rem,9vw,4rem);line-height:.95}.hero h1 span,.eyebrow{color:var(--gold)}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em}h2{font-size:1.15rem}.eyebrow{letter-spacing:.22em;font-size:.74rem;font-weight:800}.fine-print,.field-help,small,.page-header p{color:var(--muted)}form{gap:18px;display:grid}label,fieldset{gap:8px;display:grid}label{font-size:.9rem;font-weight:650}fieldset{border:0;margin:0;padding:8px 0}legend{margin-bottom:8px;font-weight:750}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}input,select,textarea{color:#fff;background:#0b0b0b;border:1px solid #3d372c;border-radius:13px;outline:none;width:100%;padding:13px 14px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d6ad5822}textarea{resize:vertical}.primary-button,.small-button,.ghost,.choice,.rating{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.primary-button{color:#171006;letter-spacing:.04em;background:linear-gradient(135deg,#f0d79e,#b98934);min-height:52px;padding:14px 20px}.primary-button.compact{min-height:42px;padding:10px 16px}.small-button{color:#f8f5ed;background:#29251e;border:1px solid #4b402c;min-height:38px;padding:9px 13px}.small-button.warning{border-color:#84692f}.small-button.danger{color:#ffb1b1;border-color:#7e3636}.ghost{color:#ddd;background:0 0;padding:10px}.choice-row{gap:12px;display:flex}.choice{color:#ddd;background:#111;border:1px solid #373228;flex:1;min-height:60px}.choice.selected,.rating.selected,.event-option.selected{border-color:var(--gold);color:#f0d79e;background:#211b10}.event-options{gap:12px;display:grid}.event-option{background:#101010;border:1px solid #373228;border-radius:16px;gap:8px;padding:16px;display:grid;position:relative}.event-option input{opacity:0;position:absolute}.event-option span{color:#d3cdc1;align-items:center;gap:8px;font-weight:450;display:flex}.event-option svg{width:16px}.consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400;line-height:1.5}.consent input{width:20px;height:20px}.text-button{color:#f0d79e;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.alert{border:1px solid;border-radius:12px;padding:12px 14px;font-size:.9rem}.alert.error{color:#ffd1d1;background:#351919;border-color:#793e3e}.alert.success{color:#bff0d4;background:#123024;border-color:#285f47}.alert.info{color:#f1dfac;background:#252115;border-color:#67582d}.spinner{border:3px solid #3a3327;border-top-color:var(--gold);border-radius:50%;width:38px;height:38px;margin:30px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-icon{width:70px;height:70px;color:var(--success);background:#173525;border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.confirmation{text-align:center}.reservation-code{border:1px solid var(--gold);border-radius:16px;margin:24px 0;padding:18px}.reservation-code small{display:block}.reservation-code strong{font-size:1.7rem}.summary-list{text-align:left}.summary-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;display:flex}.summary-list dt{color:var(--muted)}.summary-list dd{text-align:right;margin:0}.rating-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rating{color:#ddd;background:#111;border:1px solid #373228;flex-direction:column;min-height:82px}.rating span{font-size:1.7rem}.brand{align-items:center;gap:10px;display:flex}.brand>span{border:1px solid var(--gold);width:42px;height:42px;color:var(--gold);border-radius:50%;place-items:center;font-weight:900;display:grid}.brand small,.brand b{display:block}.brand small{letter-spacing:.18em;color:var(--muted);font-size:.6rem}.brand.centered{justify-content:center}.login-card{text-align:center;width:min(100%,430px)}.login-icon{color:var(--gold);margin:30px 0 10px}.login-card form{text-align:left}.admin-shell{background:#0b0b0b;min-height:100vh}.admin-shell aside{border-right:1px solid var(--line);z-index:5;background:#111;flex-direction:column;width:230px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.admin-shell nav{gap:6px;margin-top:34px;display:grid}.admin-shell nav a{color:#bdb7ad;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.admin-shell nav a.active{color:#f0d79e;background:#2b2417}.logout{margin-top:auto}.admin-main{max-width:1300px;margin-left:230px;padding:clamp(24px,4vw,56px)}.page-header{margin-bottom:28px}.page-header h1{margin-bottom:8px;font-size:clamp(2rem,5vw,3.2rem)}.page-header.with-action{justify-content:space-between;align-items:center;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric,.data-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.metric{gap:12px;display:grid}.metric svg{color:var(--gold)}.metric span{color:var(--muted)}.metric strong{font-size:2rem}.data-list{gap:14px;margin-bottom:28px;display:grid}.compact-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.card-title p{color:var(--muted)}.badge{white-space:nowrap;background:#292929;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.badge.good{color:#9ce0ba;background:#173425}.badge.warn{color:#ecd58e;background:#392e14}.badge.bad{color:#f1a2a2;background:#411e1e}.detail-grid,.status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0;display:grid}.detail-grid span,.status-grid span{gap:4px;display:grid}.detail-grid b,.status-grid b{color:var(--muted);text-transform:uppercase;font-size:.7rem}.actions,.evaluation-action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.evaluation-action .alert{width:100%}.admin-form{margin-bottom:24px}.empty{text-align:center;color:var(--muted);border:1px dashed #494238;border-radius:16px;padding:28px}.data-card.discrepancy{border-color:#8b4e3f}.restaurant-page{background:#0b0b0b;min-height:100vh}.restaurant-header{border-bottom:1px solid var(--line);justify-content:space-between;padding:18px clamp(18px,5vw,50px);display:flex}.restaurant-content{max-width:900px;margin:auto;padding:clamp(22px,5vw,50px)}.delivered{color:var(--success);align-items:center;gap:8px;font-weight:800;display:flex}.delivered small{margin-left:auto}@media (width<=820px){.admin-shell aside{border:0;border-top:1px solid var(--line);width:auto;height:68px;padding:7px 8px;display:block;position:fixed;inset:auto 0 0}.admin-shell aside .brand,.admin-shell aside .logout{display:none}.admin-shell nav{grid-template-columns:repeat(6,1fr);gap:2px;margin:0}.admin-shell nav a{justify-items:center;gap:3px;padding:7px 2px;font-size:.62rem;display:grid}.admin-main{margin:0;padding:24px 16px 92px}.metric-grid,.rating-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.form-grid{grid-template-columns:1fr}.experience-card,.login-card,.panel{border-radius:18px;padding:20px}.public-page,.login-page{padding:12px}.choice-row{gap:8px}.metric{padding:15px}.page-header.with-action{gap:12px;display:grid}.summary-list div{gap:4px;display:grid}.summary-list dd{text-align:left}.restaurant-header .ghost{font-size:0}}
