:root { --wine:#431226; --deep:#240812; --gold:#d5af5b; --cream:#fffaf0; --green:#173d32; --ink:#211816; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:#f6f1e8; font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; }
a { color:inherit; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 20%,rgba(213,175,91,.2),transparent 28%),linear-gradient(145deg,var(--deep),var(--wine),var(--green)); }
.login-card { width:min(430px,100%); padding:42px; border-radius:24px; background:var(--cream); box-shadow:0 30px 80px rgba(0,0,0,.34); }
.logo { color:var(--wine); font-family:Georgia,serif; font-size:1.35rem; font-weight:700; letter-spacing:.12em; }
.logo span { color:#c84e35; }
.login-card h1 { margin:18px 0 8px; font-family:Georgia,serif; font-size:2.4rem; }
.login-card p { color:#6f625e; }
.login-card label { display:block; margin:28px 0 18px; color:var(--wine); font-size:.82rem; font-weight:800; }
.login-card input { width:100%; margin-top:8px; padding:14px; border:1px solid #d8cec2; border-radius:11px; outline:none; }
.login-card input:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(213,175,91,.15); }
.login-card button { width:100%; padding:14px; border:0; border-radius:99px; color:var(--deep); background:var(--gold); font-weight:800; cursor:pointer; }
.login-card > a { display:block; margin-top:18px; color:var(--green); text-align:center; font-size:.86rem; }
.alert { padding:11px 13px; border-radius:10px; color:#8d1c1c; background:#ffe7e7; }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:30px clamp(22px,5vw,70px); color:white; background:linear-gradient(120deg,var(--deep),var(--wine)); }
.admin-header p,.admin-header h1 { margin:0; }
.admin-header p { color:var(--gold); font-size:.75rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.admin-header h1 { margin-top:4px; font-family:Georgia,serif; font-size:clamp(2rem,5vw,3.8rem); font-weight:500; }
.header-actions { display:flex; flex-wrap:wrap; gap:10px; }
.header-actions a { padding:10px 14px; border:1px solid rgba(255,255,255,.23); border-radius:99px; text-decoration:none; font-size:.82rem; }
.dashboard { padding:44px clamp(18px,5vw,70px) 70px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.stats-grid article { padding:25px; border:1px solid rgba(67,18,38,.08); border-radius:18px; background:white; box-shadow:0 10px 30px rgba(40,17,20,.05); }
.stats-grid span { display:block; color:#766b67; font-size:.78rem; }
.stats-grid strong { display:block; margin-top:8px; color:var(--wine); font-family:Georgia,serif; font-size:2.7rem; }
.table-card { margin-top:28px; overflow:hidden; border-radius:20px; background:white; box-shadow:0 15px 45px rgba(40,17,20,.07); }
.table-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 26px; border-bottom:1px solid #eee6dc; }
.table-heading p,.table-heading h2 { margin:0; }
.table-heading p { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.table-heading h2 { margin-top:3px; font-family:Georgia,serif; font-size:2rem; }
.download { padding:10px 14px; border-radius:99px; color:white; background:var(--green); text-decoration:none; font-size:.82rem; font-weight:750; }
.table-wrap { overflow:auto; }
table { width:100%; min-width:950px; border-collapse:collapse; }
th,td { padding:14px 16px; border-bottom:1px solid #f0e9df; text-align:left; vertical-align:top; font-size:.82rem; }
th { color:#70645f; background:#fbf8f3; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.status { display:inline-block; padding:5px 9px; border-radius:99px; font-weight:800; }
.status.yes { color:#0f653e; background:#e6f7ef; }
.status.no { color:#8b2727; background:#ffebeb; }
.empty { padding:70px 20px; color:#776c67; text-align:center; }
.warning { margin-top:22px; padding:16px 18px; border-left:4px solid var(--gold); border-radius:10px; background:#fff8df; }
code { padding:2px 6px; border-radius:5px; background:#f0e8da; }
@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.admin-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}}
@media(max-width:540px){.stats-grid{grid-template-columns:1fr}.login-card{padding:30px 22px}.table-heading{align-items:flex-start;flex-direction:column}}
