:root{--night:#071225;--panel:#0c1d35;--panel2:#111f3a;--gold:#d9b45b;--gold2:#f0d28a;--cream:#f7f0e2;--copy:#c5d0da;--muted:#8ea6b9;--line:rgba(142,166,185,.18);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--night);color:var(--cream);font-size:14px}
button,input{font:inherit}
.login{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh}
.brand{display:flex;flex-direction:column;justify-content:center;padding:9vw;background:linear-gradient(90deg,rgba(7,18,37,.98),rgba(7,18,37,.72)),url('/assets/memorial-lake-lantern-hero-v2.png') center/cover}
.brand img{width:68px}
.brand p,header p{color:var(--muted);font-size:11px;letter-spacing:.18em}
.brand h1{margin:22px 0 12px;color:var(--gold2);font-size:42px;line-height:1.35}
.brand span{color:var(--copy);font-size:17px}
.login form{align-self:center;width:min(420px,calc(100% - 56px));margin:auto;padding:34px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.login h2{margin:0 0 28px;color:var(--gold2);font-size:28px}
.login label{display:block;margin-top:18px;color:var(--copy)}
.login input{width:100%;height:48px;margin-top:9px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#08182b;color:var(--cream)}
.login button,.workspace button{border:1px solid rgba(217,180,91,.55);border-radius:12px;background:transparent;color:var(--gold2);cursor:pointer}
.login form>button{width:100%;height:50px;margin-top:26px;background:var(--gold2);color:#14223a;font-weight:600}
.console{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
aside{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#081429}
.side-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 24px;border-bottom:1px solid var(--line)}
.side-brand img{width:46px}
.side-brand strong,.side-brand span{display:block}
.side-brand strong{color:var(--gold2);font-size:19px}
.side-brand span{margin-top:5px;color:var(--muted);font-size:12px}
nav{margin-top:22px}
nav button{display:block;width:100%;height:44px;margin:4px 0;padding:0 16px;border:0;border-radius:10px;background:transparent;color:var(--copy);text-align:left}
nav button.active{border-left:3px solid var(--gold);background:rgba(217,180,91,.1);color:var(--gold2)}
.logout{position:absolute;bottom:24px;left:18px;right:18px;height:42px}
.workspace{min-width:0}
.workspace header{display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:18px 40px;border-bottom:1px solid var(--line);background:rgba(7,18,37,.94)}
header p,header h1{margin:0}
header h1{margin-top:7px;color:var(--gold2);font-size:26px}
header>span{color:var(--copy)}
.menu{display:none}
#content{padding:34px 40px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric,.panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.metric span,.metric small{display:block;color:var(--muted)}
.metric strong{display:block;margin:12px 0;color:var(--gold2);font-size:32px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.section-head h2{margin:0;color:var(--gold2);font-size:28px}
.section-head button{padding:9px 16px}
.table{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
table{width:100%;border-collapse:collapse}
th,td{padding:15px 17px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{color:var(--gold2);font-size:12px}
td{color:var(--copy)}
.empty{padding:50px;color:var(--muted);text-align:center}
@media(max-width:850px){.login{grid-template-columns:1fr}
.brand{min-height:42vh;padding:42px 28px}
.brand h1{font-size:30px}
.console{display:block}
aside{position:fixed;z-index:10;left:-260px;width:250px;transition:.2s}
.open aside{left:0}
.menu{display:block;margin-right:14px;padding:8px 12px}
.workspace header{justify-content:flex-start;padding:16px 20px}
header>span{margin-left:auto}
#content{padding:24px 18px}
.metrics{grid-template-columns:1fr 1fr}
}
