@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#090a0d;--panel:#13141b;--panel2:#191b23;--line:#2d2f38;--text:#f5f3f4;--muted:#a5a8b2;--brand:#f05268;--accent:#ff8091;font-family:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse 1000px 580px at 90% -15%,#44141f 0%,transparent 62%),var(--bg);min-height:100vh}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
[hidden]{display:none!important}
.admin-shell{max-width:1300px;padding:0 30px;margin:0 auto}
.admin-topbar{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.admin-brand{display:flex;align-items:center;gap:8px;color:var(--text);font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.035em;font-size:17px}
.admin-brand:hover{text-decoration:none}.admin-brand span:not(.admin-emblem){color:var(--brand)}.admin-brand small{font-size:10px;color:var(--muted);letter-spacing:.14em;font-weight:500}
.admin-emblem{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--brand);border-radius:10px;color:var(--brand);margin-right:6px}
.admin-topbar nav{display:flex;align-items:center;gap:20px;font-size:13px}
main{padding:62px 0 90px;min-height:calc(100vh - 170px)}
.eyebrow{font-size:11px;color:var(--brand);letter-spacing:.25em;font-weight:700;text-transform:uppercase;margin:0 0 13px}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-.035em;margin:0}h1{font-size:clamp(36px,5.6vw,65px);line-height:1.13}h1 em{font-style:normal;color:var(--brand)}h2{font-size:24px}h3{font-size:16px}
.intro{font-size:15px;line-height:1.8;color:var(--muted);max-width:560px;margin:21px 0 30px}
.gate-panel{max-width:620px;margin:0 auto;padding:48px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(130deg,#18171f,#101116)}
.stack{display:flex;flex-direction:column;gap:11px;margin-top:26px}.stack label{font-size:13px;font-weight:600;color:#e1e0e4}.stack input:not([type=checkbox]),.stack textarea,.stack select{width:100%;background:#0e1016;border:1px solid #393b46;color:var(--text);border-radius:10px;padding:13px 15px;outline:none;transition:border-color .2s}
.stack input:focus,.stack textarea:focus,.stack select:focus{border-color:var(--brand)}.stack textarea{resize:vertical;line-height:1.65}.stack button{align-self:flex-start}
.primary{border:1px solid #ea435c;background:linear-gradient(125deg,#d73450,#ee596e);color:white;font-weight:700;border-radius:10px;padding:13px 23px;transition:filter .2s}.primary:hover{filter:brightness(1.1)}
.ghost{border:1px solid var(--line);background:transparent;color:#d1d0d6;padding:9px 14px;border-radius:9px;font-size:12px}.ghost:hover{border-color:var(--brand);color:white}
.status{min-height:20px;margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.status.is-error{color:#ff9eaa}.status.is-success{color:#a4dfbb}
.tiny{font-size:12px;line-height:1.7;color:#8f929e;margin:17px 0 0}
.console-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px}.identity{font-size:13px;color:var(--muted);margin:14px 0 0}.public-link{font-size:13px;white-space:nowrap}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;align-items:start}
.editor-pane,.posts-pane{padding:28px;border-radius:16px;border:1px solid var(--line);background:var(--panel)}
.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.publish-toggle{display:flex!important;align-items:center;gap:13px;padding:17px;border-radius:12px;border:1px solid var(--line);background:#101116;cursor:pointer;margin-top:10px}
.publish-toggle input{width:18px;height:18px;accent-color:var(--brand);flex:0 0 auto}.publish-toggle span{display:flex;flex-direction:column;gap:4px}.publish-toggle small{font-size:11px;color:var(--muted);font-weight:400}
.form-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.form-actions .status{margin:0}
.admin-posts{display:flex;flex-direction:column;gap:12px}
.post-row{padding:17px;border:1px solid var(--line);background:var(--panel2);border-radius:12px}
.post-meta{font-size:11px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);align-items:center;margin-bottom:10px}
.post-status{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid #666;border-radius:30px;padding:3px 8px}
.post-status.live{color:#9cdebb;border-color:#407f61}.post-status.draft{color:#f2c687;border-color:#a27b47}
.post-row h3{line-height:1.4}.post-row p{color:var(--muted);font-size:12px;line-height:1.65}
.row-actions{display:flex;gap:9px;margin-top:12px}.row-actions button{background:transparent;border:1px solid var(--line);color:#dedbe0;font-size:12px;border-radius:7px;padding:8px 12px}.row-actions button:hover{border-color:var(--brand)}.row-actions .danger:hover{background:#5c1e2a}
.muted{color:var(--muted);font-size:13px;line-height:1.6}
.admin-footer{border-top:1px solid var(--line);padding:25px 0 35px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.console-heading{align-items:start;flex-direction:column}}
@media(max-width:600px){.admin-shell{padding:0 16px}.admin-topbar{height:70px}.admin-brand{font-size:14px}.admin-brand small{display:none}.admin-topbar nav{gap:10px}main{padding:35px 0 70px}.gate-panel{padding:28px 20px}.editor-pane,.posts-pane{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.auth-modes{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#0e1016;margin:28px 0 6px}
.mode-button{flex:1;padding:12px 15px;font-size:12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#a3a5af;font-weight:600}
.mode-button:hover{color:#fff}.mode-button.selected{color:#fff;background:#3c1922;border-color:#7e3545}
.mode-button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:430px){.mode-button{padding:11px 9px;font-size:11px}}

/* Shared member account and password-based authentication */
.gate-panel .auth-modes{margin-top:28px}
.gate-panel .stack>div:not(.form-actions) label{display:block;margin-bottom:9px}
.gate-panel .stack>div:not(.form-actions) input{display:block;width:100%}
.quiet-link{display:inline-block;color:#ff96a5;background:none;border:0;padding:12px 0 0;font-size:12px;cursor:pointer}
.quiet-link:hover{text-decoration:underline}.quiet-link:focus-visible{outline:2px solid #ff8395;outline-offset:3px}
#password-reset-form{margin-top:14px;padding:15px 0;border-top:1px solid var(--line)}
.account-panel{border:1px solid var(--line);background:linear-gradient(135deg,#181920,#101117);border-radius:16px;padding:29px;margin-bottom:32px}
.account-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.account-heading h1{font-size:clamp(29px,4vw,43px)}
.account-panel .identity{font-size:14px;overflow-wrap:anywhere}
.role-label{display:inline-block;background:#3d1b25;border:1px solid #824454;color:#ff9cae;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;border-radius:50px;padding:8px 13px}
.password-details{border-top:1px solid var(--line);margin-top:24px;padding-top:17px}
.password-details summary{cursor:pointer;color:#f5b3c0;font-size:13px;font-weight:600}
.password-details summary:focus-visible{outline:2px solid #ff8799;outline-offset:4px}
.password-details form{max-width:460px}
@media(max-width:600px){.account-panel{padding:22px 18px}.role-label{font-size:10px}}

/* Owner moderation console */
.account-panel .profile-link-button{display:inline-block;margin:17px 0 5px;text-decoration:none}
.account-panel .profile-link-button:hover{text-decoration:none}
.moderation-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;margin-top:24px}
.moderation-heading{align-items:flex-start}.moderation-heading p.muted{margin-top:10px}
.moderation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.moderation-card{padding:22px;border-radius:13px;border:1px solid #38343e;background:#1a1a23;min-width:0;overflow-wrap:anywhere}
.moderation-card h3{font:600 19px/1.35 'Space Grotesk',sans-serif;color:#f5eff2;margin:10px 0}
.moderation-card p{font-size:12px;color:#c5c1c9;line-height:1.75}
.moderation-outline{white-space:pre-line;padding:15px;background:#12131b;border-radius:8px;color:#d7ced3!important;max-height:360px;overflow:auto}
.moderation-note{border-left:2px solid #ca6980;padding:12px;background:#241d27}
.moderation-feedback-input{width:100%;padding:12px 14px;margin-top:11px;border:1px solid #4c444d;border-radius:9px;background:#101116;color:#f1eef0;resize:vertical;font:13px/1.5 'DM Sans',sans-serif}
.moderation-feedback-input:focus-visible{outline:2px solid #f0758c}
.moderation-card .row-actions{flex-wrap:wrap}
.moderation-card .row-actions .moderation-approve{background:#6e2d40;color:#fff;border-color:#ad5470}
.moderation-card .row-actions .moderation-approve:hover{background:#90405a}
@media(max-width:880px){.moderation-list{grid-template-columns:1fr}}
@media(max-width:600px){.moderation-panel{padding:20px 16px}}

/* CrimsonCore member directory and protected account actions */
.user-management{margin-top:28px;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.users-heading{align-items:flex-start}.users-heading .muted{margin-top:12px}
.users-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.users-toolbar label{color:#dedce4;font-size:12px;font-weight:600}
.users-toolbar input{flex:1;min-width:190px;max-width:430px;background:#0e1016;border:1px solid #393b46;color:var(--text);border-radius:9px;padding:12px 15px}
.users-counter{font-size:12px;color:var(--muted)}
.users-list{display:flex;flex-direction:column;gap:11px}
.member-admin-card{display:flex;align-items:center;gap:18px;padding:17px;border:1px solid #3a3540;border-radius:12px;background:#1c1a23;min-width:0}
.member-admin-avatar{width:66px;height:66px;object-fit:cover;border-radius:15px;border:1px solid #50404c;flex-shrink:0}
.member-admin-info{min-width:0;flex:1;overflow-wrap:anywhere}
.member-admin-info h3{font-size:17px;margin:0 0 6px}
.member-admin-email{font-size:13px;color:#ddd6de;margin:0 0 5px}
.member-admin-meta{font-size:11px;color:#9999a7;margin:0}
.member-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.member-admin-actions .ghost{white-space:nowrap}
.member-admin-actions .member-danger{border-color:#733645;color:#ffc0cb}
.member-admin-actions .member-danger:hover{background:#602533;color:#fff}
.admin-protected{color:#c3a9b2;font-size:11px;font-weight:600}
.users-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;color:#aaa5af;font-size:12px}
.admin-user-dialog{max-width:min(520px,calc(100vw - 30px));width:100%;border:1px solid #65404e;border-radius:16px;padding:30px;background:#171820;color:#faf7fa;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.admin-user-dialog::backdrop{background:rgba(2,2,6,.79)}
.admin-user-dialog h2{font-size:27px}.admin-user-dialog .stack{margin:0;gap:13px}
.admin-user-dialog .stack label{display:block;margin:14px 0 9px}
.admin-user-dialog input,.admin-user-dialog textarea{display:block;width:100%;color:#fff;background:#101116;border:1px solid #514453;border-radius:9px;padding:13px;font:13px/1.5 'DM Sans',sans-serif}
.user-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:16px}
@media(max-width:780px){.member-admin-card{align-items:flex-start;flex-wrap:wrap}.member-admin-info{flex-basis:calc(100% - 95px)}.member-admin-actions{width:100%;justify-content:flex-start}.user-management{padding:20px}}
@media(max-width:450px){.member-admin-avatar{width:53px;height:53px}.member-admin-info{flex-basis:calc(100% - 71px)}.user-dialog-actions button{flex:1}}

/* Owner-only online member activity */
.admin-shell [hidden]{display:none!important}
.online-members-panel{margin-top:28px;padding:30px;background:var(--panel);border:1px solid #50313f;border-radius:16px}
.online-members-panel .pane-heading{align-items:center}
.online-count{font:700 15px/1 'Space Grotesk',sans-serif;color:#a4e9ba;border:1px solid #3e7758;border-radius:28px;padding:5px 11px;vertical-align:middle;margin-left:5px}
.online-members-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin-top:18px}
.online-member-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #3b4045;border-radius:13px;background:#191c23;min-width:0}
.online-member-avatar{width:48px;height:48px;border:1px solid #50434a;border-radius:12px;flex-shrink:0}
.online-member-info{flex:1;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:3px}
.online-member-info strong{font-size:13px;color:#f7f2f4}
.online-member-info span{font-size:11px;color:#aaa6b0}
.member-admin-heading{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:6px}
.member-admin-heading h3{margin:0}
.presence-state{display:inline-flex;align-items:center;gap:6px;border:1px solid #494750;border-radius:25px;padding:5px 9px;color:#aaaab3;font-size:10px;font-weight:700;white-space:nowrap}
.presence-state::before{content:'';width:7px;height:7px;border-radius:50%;background:#777784;flex:0 0 auto}
.presence-state.is-online{color:#b2eec4;border-color:#43785a;background:#182b23}
.presence-state.is-online::before{background:#69e598;box-shadow:0 0 0 3px #28604166}
.presence-state.is-offline{color:#b0abb4}
.presence-state.is-unknown{color:#eac7a3;border-color:#755939}
@media(max-width:780px){.online-members-panel{padding:20px}}
