@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0e1116;--panel:#181e27;--line:#344252;--blue:#a5bad1;--text:#eef1f3;--dim:#b2beca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 'DM Sans',sans-serif}a{color:#c4dcfa;text-decoration:none}a:hover{text-decoration:underline}button,.button{cursor:pointer;padding:12px 20px;background:#9bb0c9;color:#111822;border:0;font:600 13px 'DM Sans',sans-serif;display:inline-block}button:hover,.button:hover{background:#c6d4e6;text-decoration:none}button.ghost,.button.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}button.danger{color:#ffd5d5;background:#602c34;padding:6px 11px}.brand{display:inline-block;font:42px 'Cormorant Garamond',serif;color:#ecf1fb;letter-spacing:.04em}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:var(--blue);font-weight:700}h1,h2{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.05}h1{font-size:clamp(36px,5vw,62px);margin:8px 0}h2{font-size:37px;margin:9px 0 18px}p{color:var(--dim)}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}aside{background:#10151d;border-right:1px solid var(--line);padding:28px 25px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:19px}aside nav{display:grid;gap:8px;margin:28px 0 auto}aside nav a{padding:11px;border-radius:5px;color:#cdd7e0}aside nav a:hover{background:#263344}.main{max-width:1420px;width:100%;padding:48px clamp(18px,4vw,64px);min-width:0}.top,.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);padding:clamp(18px,3vw,32px);margin:25px 0;border-radius:10px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:30px 0}.stat{background:#19222d;border:1px solid var(--line);padding:23px;border-radius:8px}.stat span{display:block;color:var(--dim);font-size:12px}.stat strong{font:50px 'Cormorant Garamond',serif;color:#d9e8f8}.searchbar{display:flex;gap:10px;align-items:center;margin:24px 0;flex-wrap:wrap}.searchbar input{flex:1;min-width:180px}input,select,textarea{background:#0f161e;color:var(--text);border:1px solid #46576b;border-radius:3px;padding:12px;font:inherit;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#b2c8e2}.searchbar select{width:150px}.searchbar button{align-self:stretch}.clear{padding:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{color:#a7bbd2;text-transform:uppercase;letter-spacing:.12em;font-size:10px}td,th{padding:13px 12px;border-bottom:1px solid #344150}td{color:#d2dbe4}td strong{color:white}td a{font-weight:600}.muted,.fine{color:#95a4b5;font-size:12px}.actions{display:flex;gap:12px;align-items:center}.actions form{display:inline}.guest-form{max-width:810px;display:grid;gap:20px}.guest-form label,.auth label{color:#ced9e5;display:grid;gap:7px;font-size:12px;letter-spacing:.04em}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.success,.error{padding:12px 16px;border:1px solid #668d87;background:#193a34;color:#c9f4e9}.error{border-color:#ae636d;background:#48262a;color:#f8d7d9}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#11161fdd,#11161fcc),url('../assets/fallback-hero.jpg') center/cover}.auth .panel{width:min(100%,460px);padding:38px;display:grid;gap:16px;box-shadow:0 22px 80px #000b}.auth h1{margin:0}footer{text-align:center;padding:30px;color:#8192a5}@media(max-width:950px){.layout{display:block}aside{height:auto;position:static;display:block;padding:17px 23px}aside nav{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}aside nav a{padding:7px}aside form{display:inline}.main{padding:24px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.stat-grid{grid-template-columns:1fr 1fr}.stat{padding:13px}.stat strong{font-size:37px}.top,.section-head{display:block}.two{grid-template-columns:1fr}.searchbar select{flex:1}.searchbar button{width:100%}}
