:root{color-scheme:dark;--bg:#121213;--surface:#1b1b1c;--border:#3c3b3d;--text:#f2eeee;--muted:#b7b1b3;--gold:#d8bb85;--accent:#873c4e;--green:#91c6ad;--danger:#ffb0af}
*{box-sizing:border-box;letter-spacing:0}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--gold);text-underline-offset:4px}
button,input,select{font:inherit}
button{min-height:42px;padding:9px 16px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:#272628;cursor:pointer;display:inline-flex;gap:10px;align-items:center;justify-content:center;line-height:1.3}
button:hover{background:#353236;border-color:#92878e}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);border-color:#a6576a;color:#fff}button.primary:hover{background:#a24d61}button.danger{color:var(--danger)}
input,select{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #696168;border-radius:4px;padding:10px 12px;background:#171618;color:var(--text)}
input:read-only{color:var(--muted);background:#232124}input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:3px 0;accent-color:var(--accent)}select[multiple]{min-height:110px}
label{display:block;margin:18px 0 7px;font-weight:550;font-size:14px}label.check{display:flex;gap:10px;align-items:start;font-weight:400}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
h1,h2,h3,p{margin:0 0 12px}h1{font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2}h2{font-size:20px;font-weight:600;line-height:1.35}h3{font-size:17px;line-height:1.35}
.muted,.subtle{color:var(--muted)}.eyebrow{font-size:12px;text-transform:uppercase;color:var(--gold);margin:12px 0 36px}.wordmark{font-family:Georgia,serif;font-size:25px;color:var(--gold);text-decoration:none;line-height:1.15;overflow-wrap:anywhere}.wide{width:100%;margin-top:24px;justify-content:space-between}
.message{min-height:24px;margin-top:18px;color:var(--danger);font-size:14px;overflow-wrap:anywhere}.message.success{color:var(--green)}
.login-page{min-height:100dvh;background:#161318 url('/assets/grimoire.jpg') center/cover fixed no-repeat}.login-page:before{content:"";position:fixed;inset:0;background:#0a090be0;pointer-events:none}.login-main{position:relative;max-width:440px;width:100%;padding:56px 28px 24px;margin:auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.login-form{margin:4px 0 30px}.login-foot{border-top:1px solid #72656c;padding-top:22px;font-size:13px;color:#d3ccd0}.subtle{font-size:13px}footer{font-size:12px;color:var(--muted);padding-top:24px}
.app-header{border-bottom:1px solid var(--border);background:#181719;padding:20px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}.app-header nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-header .wordmark{font-size:21px}.page{max-width:1168px;padding:40px 24px 64px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px;flex-wrap:wrap}.page-heading h1{font-size:30px}.section{border-top:1px solid var(--border);padding:28px 0;margin-top:24px}
.table-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}.table-item{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:22px;display:flex;flex-direction:column;min-height:230px;gap:12px;min-width:0}.table-item h2{overflow-wrap:anywhere;font-family:Georgia,serif;font-weight:400;font-size:23px}.table-item .meta{font-size:13px;color:var(--muted);display:grid;gap:5px;flex:1}.status{font-size:12px;color:var(--green);text-transform:uppercase}.status.paused{color:var(--gold)}.status.archived{color:var(--muted)}.empty{padding:40px 0;color:var(--muted)}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form label{margin-top:0}.inline-form .field{flex:1;min-width:min(220px,100%)}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.form-stack{max-width:520px}.list{border-top:1px solid var(--border);margin-top:18px}.list-row{border-bottom:1px solid var(--border);padding:17px 0;display:flex;gap:14px;justify-content:space-between;align-items:center;min-width:0}.list-row .details{min-width:0;overflow-wrap:anywhere}.list-row small{display:block;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}
dialog{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:28px;max-width:460px;width:calc(100% - 32px)}dialog::backdrop{background:#000b}dialog .actions{margin-top:24px;justify-content:end}
.member-bar{position:sticky;top:0;z-index:1000;background:#171518;border-bottom:1px solid #68535d;padding:9px 16px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font:13px/1.4 system-ui,sans-serif;letter-spacing:0;color:#f3eced}.member-bar .actions{display:flex;gap:8px;flex-wrap:wrap}.member-bar a{color:#e0c89c;white-space:nowrap}.member-bar button{font:inherit;border:1px solid #75626c;background:#292227;color:#f3eced;border-radius:4px;padding:7px 11px;min-height:34px;cursor:pointer}.member-bar .save-status{color:#a8d3bc;overflow-wrap:anywhere}
@media(max-width:640px){.login-main{padding:36px 24px 24px}.eyebrow{margin-bottom:26px}.page{padding:28px 18px}.grid{grid-template-columns:minmax(0,1fr)}.app-header{padding:18px}.app-header nav{width:100%}.wordmark{font-size:23px}.page-heading h1{font-size:27px}.list-row{align-items:start;flex-wrap:wrap}.member-bar{position:relative}.member-bar .actions{width:100%}.table-item{min-height:210px}}
