:root { --ink:#0a0a0a; --ivory:#fbf9f4; --paper:#f1ede5; --emerald:#0f4b3b; --gold:#c9a66b; --line:rgba(10,10,10,.14); --serif:"Playfair Display",Georgia,serif; --sans:"Manrope",Arial,sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:var(--sans); }
button,input,select,textarea { font:inherit; }
button,a { color:inherit; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:260px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:2.2rem 1.6rem; background:var(--ink); color:white; }
.admin-logo { font-family:var(--serif); font-size:1.55rem; letter-spacing:.18em; text-decoration:none; }
.admin-sidebar > p { margin:2.2rem 0 1rem; color:#888; font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; }
.admin-sidebar nav { display:flex; flex-direction:column; }
.admin-sidebar nav button { padding:1rem 0; border:0; border-bottom:1px solid rgba(255,255,255,.12); background:none; color:#aaa; text-align:left; cursor:pointer; }
.admin-sidebar nav button.active,.admin-sidebar nav button:hover { color:white; }
.sidebar-bottom { display:flex; flex-direction:column; gap:1rem; margin-top:auto; }
.sidebar-bottom a,.sidebar-bottom button { padding:0; border:0; background:none; color:#bbb; font-size:.72rem; text-align:left; text-decoration:none; cursor:pointer; }
.admin-main { padding:2.5rem 4vw 5rem; overflow:hidden; }
.admin-main > header { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.kicker { margin:0 0 .7rem; font-size:.65rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.admin-main h1 { margin:0; font-family:var(--serif); font-size:clamp(2.4rem,4vw,4.5rem); font-weight:500; }
.admin-identity { display:flex; flex-direction:column; align-items:flex-end; }
.admin-identity span { font-size:.8rem; font-weight:600; }.admin-identity small { color:#777; }
.admin-panel { padding-top:2.5rem; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stats-grid article { min-height:160px; display:flex; flex-direction:column; justify-content:space-between; padding:1.4rem; background:var(--paper); }
.stats-grid span { color:#666; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.stats-grid strong { font-family:var(--serif); font-size:2.5rem; font-weight:500; }
.welcome-card { position:relative; margin-top:1rem; padding:clamp(2rem,5vw,5rem); overflow:hidden; background:var(--emerald); color:white; }
.welcome-card::after { content:"S"; position:absolute; right:3vw; bottom:-7rem; color:rgba(255,255,255,.06); font-family:var(--serif); font-size:23rem; }
.welcome-card h2 { position:relative; z-index:1; margin:0; font-family:var(--serif); font-size:clamp(2.8rem,5vw,5.5rem); font-weight:500; line-height:1; }
.welcome-card > p:not(.kicker) { position:relative; z-index:1; max-width:520px; color:rgba(255,255,255,.72); }
.welcome-card button,.primary-action { position:relative; z-index:1; padding:.8rem 1.1rem; border:1px solid var(--ink); background:var(--ink); color:white; font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; cursor:pointer; }
.welcome-card button { margin-top:1rem; border-color:white; background:white; color:var(--ink); }
.panel-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.5rem; }.panel-actions p { margin:0; color:#666; font-size:.8rem; }
.table-wrap { overflow:auto; border:1px solid var(--line); background:white; }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th,td { padding:1rem; border-bottom:1px solid var(--line); text-align:left; font-size:.75rem; }
th { color:#777; font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; }
td img { width:48px; height:58px; margin-right:.7rem; object-fit:cover; vertical-align:middle; }
td button { padding:0; border:0; border-bottom:1px solid; background:none; font-size:.67rem; cursor:pointer; }
.table-actions { display:flex; gap:.8rem; }.danger { color:#9b2c2c; }
.status-select { padding:.45rem; border:1px solid var(--line); background:var(--ivory); font-size:.7rem; }
.role-pill,.status-pill { display:inline-block; padding:.3rem .55rem; background:var(--paper); font-size:.62rem; text-transform:uppercase; }
.product-editor { position:fixed; z-index:20; inset:4vh 4vw 4vh auto; width:min(680px,92vw); overflow:auto; padding:3rem; background:var(--ivory); box-shadow:0 20px 80px rgba(0,0,0,.28); }
.editor-close { position:absolute; top:1rem; right:1.3rem; border:0; background:none; font-size:2rem; cursor:pointer; }
.product-editor h2 { margin:0 0 2rem; font-family:var(--serif); font-size:3rem; font-weight:500; }
.product-editor form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.product-editor label { display:flex; flex-direction:column; gap:.35rem; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.product-editor input,.product-editor select,.product-editor textarea { width:100%; padding:.8rem; border:1px solid var(--line); background:white; text-transform:none; }
.product-editor .wide { grid-column:1/-1; }.editor-status { min-height:1rem; margin:0; color:#9b2c2c; font-size:.7rem; }
.admin-overlay { position:fixed; z-index:15; inset:0; background:rgba(0,0,0,.5); }
.access-screen { min-height:100vh; display:grid; place-items:center; padding:2rem; background:var(--emerald); color:white; text-align:center; }
.access-screen h1 { margin:0; font-family:var(--serif); font-size:clamp(3rem,7vw,6rem); font-weight:500; }.access-screen p:not(.kicker) { color:rgba(255,255,255,.72); }.access-screen a { display:inline-block; margin-top:1rem; padding:.8rem 1.2rem; background:white; color:var(--ink); text-decoration:none; font-size:.7rem; text-transform:uppercase; }
.admin-toast { position:fixed; z-index:30; left:50%; bottom:2rem; transform:translate(-50%,150%); padding:.8rem 1.2rem; background:var(--ink); color:white; font-size:.75rem; transition:.25s; }.admin-toast.show { transform:translate(-50%,0); }
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-sidebar nav{flex-direction:row;overflow:auto}.admin-sidebar nav button{min-width:110px}.sidebar-bottom{margin-top:2rem}.stats-grid{grid-template-columns:1fr 1fr}.admin-main{padding:2rem 1rem 4rem}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.admin-main>header{align-items:flex-start}.admin-identity{display:none}.product-editor{inset:0;width:100%;padding:3.5rem 1rem}.product-editor form{grid-template-columns:1fr}.product-editor .wide{grid-column:1}.panel-actions{align-items:flex-start;flex-direction:column}}
