@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#21151c;--muted:#796b70;--cream:#f8f5f0;--panel:#fffdfa;--line:#e7ded6;--rose:#a85e68;--green:#32745b;--amber:#9c6a16;--red:#a7434c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px 'DM Sans',sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}aside{background:#281923;color:#f8efea;padding:28px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand img{width:150px;filter:brightness(1.9) grayscale(1) contrast(.8)}.workspace,.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#ba8991}.workspace{margin:40px 10px 13px}nav{display:grid;gap:3px}nav button{color:#decfd0;text-align:left;border:0;background:transparent;padding:12px 13px;border-radius:5px;font-weight:600;font-size:13px}nav button:hover,nav button.active{background:#ffffff18;color:#fff}nav i{float:right;background:#ad6270;color:#fff;font-style:normal;border-radius:12px;font-size:10px;padding:2px 6px}.sidebar-foot{margin-top:auto;padding:16px 10px;border-top:1px solid #ffffff1a;color:#d6c4c4;line-height:1.6;font-size:11px}.sidebar-foot small{color:#a89195}.online-dot{display:inline-block;background:#67b68d;width:7px;height:7px;border-radius:50%;margin-right:5px}main{padding:37px 4vw 70px;max-width:1600px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:36px;margin:5px 0 0;letter-spacing:-1px}.eyebrow{margin:0}.head-actions{display:flex;align-items:center;gap:12px}.quiet,.admin-pill,.button,select,input,textarea{font:inherit}.quiet{border:1px solid var(--line);background:var(--panel);padding:10px 13px;color:#594a50}.admin-pill{border:0;background:#f0e3df;border-radius:22px;padding:7px 13px;color:#4f2d37;font-size:12px}.admin-pill span{margin-left:7px}.boundary{background:#f3e9db;border:1px solid #ead8c2;padding:12px 15px;display:flex;gap:13px;color:#725d44;font-size:12px;line-height:1.55;margin-bottom:25px}.boundary strong{white-space:nowrap;color:#76502b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat,.panel{border:1px solid var(--line);background:var(--panel)}.stat{padding:18px}.stat label{font-size:11px;color:var(--muted)}.stat strong{display:block;font:500 31px 'Playfair Display';margin:8px 0 2px}.stat span{font-size:11px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.35fr .8fr;gap:18px;margin-top:18px}.panel{padding:20px}.panel h2{margin:0;font-size:22px}.panel-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px}.panel-top p,.muted{color:var(--muted);font-size:12px;margin:5px 0 0}.link-button{border:0;background:none;padding:0;color:var(--rose);font-weight:700;font-size:12px}.metric-list,.feed{display:grid}.metric-list>div,.feed>div{padding:13px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:12px}.metric-list b{font-size:13px}.feed small{color:var(--muted)}.status{font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:4px 7px;border-radius:10px;background:#eee;color:#56454b;white-space:nowrap}.status.published,.status.approved,.status.completed,.status.active{background:#e0f0e8;color:var(--green)}.status.pending,.status.assigned,.status.review{background:#f7ead0;color:var(--amber)}.status.archived,.status.suspended,.status.cancelled,.status.rejected{background:#f6e1e2;color:var(--red)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;gap:12px}.toolbar h2{font-size:25px;margin:0}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:10px 13px;font-size:12px;font-weight:700}.button.soft{color:var(--ink);border-color:var(--line);background:#fff}.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--panel)}table{border-collapse:collapse;width:100%;min-width:750px}th{text-align:left;background:#fcf9f5;font-size:10px;letter-spacing:1px;color:#78686d;padding:12px}td{border-top:1px solid var(--line);padding:14px 12px;font-size:12px;vertical-align:middle}td strong{display:block;font-size:13px}td small{color:var(--muted);display:block;margin-top:3px}.actions-cell{white-space:nowrap}.action{border:1px solid var(--line);background:#fff;padding:6px 8px;font-size:11px;margin:2px;color:#5c484e}.action.danger{color:var(--red)}.empty{padding:45px;text-align:center;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail{background:#fcf9f5;padding:13px;margin:12px 0;font-size:12px;color:#66565b;line-height:1.55}.modal{position:fixed;inset:0;background:#21151c88;display:grid;place-items:center;padding:18px;z-index:5}.modal.hidden{display:none}.modal-card{position:relative;background:#fffdfa;width:min(630px,100%);max-height:90vh;overflow:auto;padding:28px}.x{position:absolute;right:12px;top:8px;background:none;border:0;font-size:27px;color:#6a595d}form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}form label{font-size:11px;font-weight:700;color:#5f5054}form label.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);padding:10px;background:#fff;color:var(--ink)}textarea{min-height:82px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;justify-content:end;gap:9px;margin-top:6px}.toast{position:fixed;bottom:24px;right:24px;background:#2c1c25;color:white;padding:12px 16px;font-size:12px;opacity:0;transform:translateY(18px);transition:.2s;z-index:8}.toast.show{opacity:1;transform:none}.audit-note{border-left:3px solid #d9bcc0;padding-left:10px}.role-note{font-size:12px;padding:12px;background:#f8efea;color:#744652;margin-bottom:15px}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{position:static;height:auto;padding:16px}.brand img{width:125px}.workspace,.sidebar-foot{display:none}nav{display:flex;overflow:auto;margin-top:13px}nav button{white-space:nowrap}main{padding:25px 5vw}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:560px){header{align-items:start;gap:12px}.head-actions{flex-direction:column;align-items:end}.admin-pill span{display:none}.boundary{display:block}.boundary strong{display:block;margin-bottom:4px}.stats,.split,form{grid-template-columns:1fr}h1{font-size:30px}}
/* Server-side admin session gate for production deployments. */
.admin-login-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(31,20,27,.64);backdrop-filter:blur(8px)}
.admin-login-card{width:min(420px,100%);display:grid;gap:14px;padding:32px;background:#fffaf5;border:1px solid #e8d9d3;box-shadow:0 24px 70px rgba(30,18,25,.35)}
.admin-login-card p{margin:0;color:#ad6975;font-size:11px;font-weight:800;letter-spacing:.16em}.admin-login-card h1{margin:0;color:#21151c;font-family:Georgia,serif;font-size:38px}.admin-login-card>span{color:#75666a;font-size:14px;line-height:1.5}.admin-login-card label{display:grid;gap:6px;color:#493a3f;font-size:12px;font-weight:800}.admin-login-card input{min-height:46px;border:1px solid #ddcfca;background:#fff;color:#21151c;padding:0 12px;font:inherit}.admin-login-card .button{border:0;min-height:48px;background:#21151c;color:#fff;font-weight:800}.admin-login-error{padding:10px;background:#f5e1e3;color:#8a3e4d;font-size:12px}
