@font-face{font-family:Jakarta;src:url('fonts/plus-jakarta-sans-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#0c0b10;--surface:#17141c;--surface-2:#211c26;--input:#100e14;--text:#f9f6f9;--muted:#a7a0ad;--line:#39333e;--accent:#e38bb8;--accent-strong:#f3a7ce;--danger:#f0a4b4;--font:Jakarta,Arial,sans-serif}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body.admin-body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:14px/1.6 var(--font)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}code{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent)}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}::selection{background:var(--accent);color:#130d16}
.admin-top{border-bottom:1px solid var(--line);background:#100e14}.admin-top-inner{width:min(1320px,calc(100% - 64px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;white-space:nowrap}.admin-brand-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:var(--accent);color:#23131e;font-size:23px;font-weight:800;line-height:1}.admin-brand span:last-child{display:grid;line-height:1.15}.admin-brand small{font-size:10px;letter-spacing:.06em;color:var(--muted);font-weight:500;margin-top:3px}.admin-top nav{display:flex;gap:26px;align-items:center}.admin-top nav a{text-decoration:none;color:var(--muted);font-size:12px;font-weight:600}.admin-top nav a:hover,.sidebar-nav a:hover,.back-link:hover{color:var(--accent-strong)}
.admin-layout{width:min(1320px,calc(100% - 64px));margin:34px auto 72px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:46px;align-items:start}.admin-sidebar{position:sticky;top:28px;min-width:0}.sidebar-heading{padding-bottom:26px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.sidebar-heading h1{font-size:31px;line-height:1.2;letter-spacing:-.05em;font-weight:650;margin:12px 0}.sidebar-heading p{color:var(--muted);font-size:12px;margin:0}.sidebar-nav{display:grid;padding:18px 0;gap:3px;border-bottom:1px solid var(--line)}.sidebar-nav a{display:flex;align-items:center;gap:14px;min-height:42px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#d7d1dc;font-size:12px;font-weight:600}.sidebar-nav a:hover{background:var(--surface)}.sidebar-nav a span{color:var(--accent);font-size:10px;font-weight:700}.sidebar-nav a b{margin-left:auto;font-size:11px;color:var(--muted);font-weight:500}.sidebar-user{display:flex;align-items:center;gap:12px;padding:22px 10px;color:var(--muted);font-size:10px}.sidebar-user strong{display:block;font-size:12px;color:var(--text);font-weight:600}.user-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#352335;border-radius:9px;color:var(--accent-strong);font-size:14px;font-weight:700}.admin-content{display:grid;gap:22px;min-width:0}
.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:30px;scroll-margin-top:22px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.card-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.05em;font-weight:650;margin:8px 0 0}.section-index{font-size:10px;color:var(--muted);white-space:nowrap}.card-description{color:var(--muted);font-size:12px;margin:16px 0 24px;max-width:610px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;min-width:0}.field label{font-size:11px;font-weight:700;color:#ece6ee}.field input,.field textarea,.inline-settings input{width:100%;min-width:0;background:var(--input);border:1px solid #4b4150;color:var(--text);border-radius:9px;padding:12px 14px;font-size:13px;outline:none}.field input:focus,.field textarea:focus,.inline-settings input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(227,139,184,.12)}.field textarea{resize:vertical;min-height:94px}.field small{color:var(--muted);font-size:10px;line-height:1.5}.check-field{justify-content:center}.check-field label{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:12px;font-weight:500}.check-field input{width:16px;height:16px;accent-color:var(--accent);margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:10px 17px;border:1px solid #645268;border-radius:9px;background:var(--surface-2);color:var(--text);text-decoration:none;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#23131e}.btn.primary:hover{background:var(--accent-strong)}.btn.ghost{background:transparent}.btn.danger{background:transparent;color:var(--danger);border-color:#74515c}.btn.danger:hover{background:#3a242c}.btn.small{min-height:34px;padding:7px 11px;font-size:10px}.btn.wide{width:100%}.btn:disabled{opacity:.55;cursor:wait}
.admin-list{display:grid;gap:0;margin-top:22px}.admin-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line);min-width:0}.admin-row img{width:72px;height:82px;object-fit:cover;border-radius:8px;background:var(--input)}.row-main{display:grid;gap:5px;min-width:0}.row-main strong{font-size:13px;font-weight:650;overflow-wrap:anywhere}.row-main span{font-size:10px;color:var(--muted)}.row-main code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#857b89}.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.count-pill{display:grid;place-items:center;min-width:36px;height:30px;padding:0 9px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;color:var(--accent);font-size:11px;font-weight:700}.empty-admin{padding:26px 0 6px;color:var(--muted);font-size:12px}.inline-settings{display:flex;align-items:end;gap:12px;margin-top:22px}.inline-settings .field{flex:1;margin:0}.alert{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12px}.alert.error{background:#321d28;border-color:#694358;color:#ffd6e3}.alert.success{background:#14271e;border-color:#365944;color:#d4f6df}
.login-layout{width:min(1060px,calc(100% - 64px));min-height:100svh;margin:auto;display:grid;grid-template-columns:1fr minmax(330px,420px);gap:80px;align-items:center}.login-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:64px 0 50px}.login-intro h1{font-size:clamp(34px,4vw,56px);line-height:1.15;letter-spacing:-.06em;font-weight:650;margin:15px 0}.login-intro p{color:var(--muted);max-width:380px}.login-version{color:var(--muted);font-size:10px}.login-card{padding:34px}.login-card h2{font-size:28px;letter-spacing:-.05em;font-weight:650;margin:8px 0}.login-card .field{margin-bottom:18px}.login-card .btn{margin-top:8px}.back-link{display:block;margin-top:25px;text-align:center;text-decoration:none;color:var(--muted);font-size:11px}
/* Existing installation and one-time repair pages share the new CMS theme. */
.install-wrap{min-height:100svh;display:grid;place-items:center;padding:24px}.install-card{width:min(680px,100%)}.install-card h1{font-size:28px;font-weight:650;letter-spacing:-.05em;line-height:1.2;margin:12px 0}.install-card p{color:var(--muted);font-size:12px}.install-card .field{margin:14px 0}.install-card .form-grid{margin-top:20px}.brand-chip{color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.muted{color:var(--muted);font-size:12px}.install-card .btn{margin-top:10px}
/* Backward compatible layout for the local backup page. */
.admin-shell{width:min(1000px,calc(100% - 64px));margin:40px auto 72px}.admin-shell>.admin-card{max-width:100%}.admin-shell h1{font-size:28px;line-height:1.2;letter-spacing:-.05em;margin:18px 0}.admin-shell p{color:var(--muted);font-size:12px}.admin-shell a{color:var(--accent)}.admin-shell .admin-row{grid-template-columns:minmax(0,1fr)}.admin-shell .admin-list{margin-bottom:20px}.admin-shell .btn{margin:14px 0}.admin-shell .row-main{gap:3px}
@media(max-width:1080px){.admin-layout{gap:28px;grid-template-columns:210px minmax(0,1fr)}.admin-card{padding:24px}.admin-row{grid-template-columns:62px minmax(0,1fr)}.admin-row img{width:62px;height:72px}.row-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:760px){.admin-top-inner,.admin-layout,.admin-shell{width:calc(100% - 32px)}.admin-layout{display:block;margin-top:25px}.admin-sidebar{position:static;margin-bottom:20px}.sidebar-heading{padding-bottom:15px}.sidebar-heading h1{font-size:25px;margin:7px 0}.sidebar-heading p,.sidebar-user{display:none}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;border-bottom:0;padding:14px 0 0}.sidebar-nav a{white-space:normal;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line)}.sidebar-nav a span,.sidebar-nav a b{display:none}.admin-content{gap:16px}.login-layout{display:block;width:calc(100% - 32px);padding:24px 0}.login-intro{padding:4px 4px 20px;gap:30px}.login-intro h1{font-size:35px}.login-version{display:none}.login-card{max-width:500px;margin:auto}}
@media(max-width:560px){.admin-top-inner{min-height:66px}.admin-top nav{gap:12px}.admin-top nav a{font-size:10px}.admin-brand-icon{width:32px;height:32px;font-size:20px}.admin-brand{font-size:12px}.admin-brand small{font-size:8px}.admin-card{padding:20px;border-radius:13px}.card-heading h2{font-size:22px}.form-grid{display:block}.field input,.field textarea,.inline-settings input{font-size:16px}.admin-row{grid-template-columns:54px minmax(0,1fr);gap:12px}.admin-row img{width:54px;height:64px}.row-actions{grid-column:1/-1}.inline-settings{display:block}.inline-settings .btn{margin-top:12px}.section-index{display:none}.login-card{padding:24px}.login-intro h1{font-size:30px}.admin-shell{margin:22px auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* The richer Side 9 identity shared by dashboard, login and quick add. */
body.admin-body{background:radial-gradient(ellipse 44rem 34rem at 4% 0%,rgba(138,37,110,.17),transparent 74%),radial-gradient(ellipse 28rem 33rem at 90% 19%,rgba(103,55,139,.12),transparent 74%),#0b0811}.admin-top{border-top:2px solid #cb65a6;background:rgba(13,9,19,.88)}.admin-brand-icon{background:linear-gradient(135deg,#f78ac2,#ab78e9);color:#1a0c1c}.admin-brand small{color:#e6a0ce}.admin-sidebar{background:#18111e;border:1px solid #49314c;border-radius:18px;padding:20px;box-shadow:0 16px 44px rgba(0,0,0,.16)}.sidebar-heading{padding-top:4px}.sidebar-heading h1{font-size:34px}.sidebar-nav a:hover{background:#2e1b31;color:#f9d1ec}.sidebar-nav a:last-child{color:#deb5d0}.sidebar-user{padding-bottom:2px}.admin-card{background:#19131f;border-color:#47344b;box-shadow:0 14px 45px rgba(0,0,0,.12)}.admin-card#editor{border-top:3px solid #de78b6}.admin-card#gallery{border-top:3px solid #9e70d6}.admin-card#settings{border-top:3px solid #b76ea6}.card-heading h2{font-size:27px}.btn.primary{background:#e260ab;border-color:#e260ab;color:#1e0e1d;box-shadow:0 8px 21px rgba(222,75,158,.12)}.btn.primary:hover{background:#f07abc}.eyebrow{color:#e888be}.count-pill{background:#2a1a30;border-color:#704374;color:#f1a0d1}.field input:focus,.field textarea:focus,.inline-settings input:focus{border-color:#e68abd;box-shadow:0 0 0 3px rgba(230,138,189,.14)}
.quick-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #66436a;border-radius:16px;background:linear-gradient(105deg,#30172c 0%,#241729 66%,#1e1425 100%)}.quick-callout>div{display:grid;gap:4px}.quick-callout strong{font-size:19px;line-height:1.2;letter-spacing:-.03em}.quick-callout p{margin:0;color:#cdbdce;font-size:11px}.quick-callout .btn{flex:none}
.login-intro h1 span{background:linear-gradient(95deg,#f98dc5,#b080f0);-webkit-background-clip:text;background-clip:text;color:transparent}.login-card{border-top:3px solid #e284bc}.login-intro .admin-brand-icon{width:44px;height:44px}.login-card .btn.primary{font-size:12px}.login-layout .eyebrow{letter-spacing:.18em}
.quick-link-card{width:min(750px,100%);margin:auto;border-top:3px solid #e284bc}.quick-link-card h1{font-size:34px}.quick-created{margin:22px 0;padding:22px;border:1px solid #704a72;border-radius:13px;background:#24172a}.quick-created strong{font-size:17px}.quick-created a{display:inline-block;color:#f6add5;font-size:12px;margin-bottom:12px}.quick-copy{display:flex;gap:8px}.quick-copy input{min-width:0;flex:1;background:#110e15;color:#e9dae8;border:1px solid #604760;border-radius:9px;padding:10px 12px;font:11px var(--font)}.quick-copy .btn{margin:0}.quick-state{padding:16px;border:1px solid #604760;border-radius:10px;background:#241729}.quick-link-card form{margin-top:20px}
.quick-add-layout{width:min(510px,calc(100% - 32px));margin:0 auto;padding:36px 0 60px}.quick-add-layout>.admin-brand{margin-bottom:35px}.quick-add-card{padding:32px;border-top:3px solid #e284bc}.quick-add-card h1{font-size:31px;line-height:1.15;letter-spacing:-.05em;margin:12px 0}.quick-add-card>p{color:var(--muted);font-size:12px;margin:0 0 26px}.quick-add-card .field{margin-bottom:19px}.quick-add-card .btn{margin-top:4px}.quick-add-note{color:var(--muted);font-size:10px;text-align:center;margin-top:22px}.quick-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.quick-add-card .alert{margin-bottom:18px}.quick-add-card .alert a{color:#d7f8e0}
@media(max-width:760px){.admin-sidebar{padding:16px}.quick-callout{padding:18px}.quick-callout strong{font-size:17px}}
@media(max-width:560px){.admin-sidebar{padding:13px}.quick-callout{display:block}.quick-callout .btn{margin-top:14px}.quick-copy{flex-wrap:wrap}.quick-copy input{flex-basis:100%}.quick-link-card h1{font-size:27px}.quick-add-card{padding:22px}.quick-add-card h1{font-size:26px}}
.quick-extra{margin:4px 0 18px;border:1px solid #684565;border-radius:12px;padding:13px 15px;background:#1b1420}.quick-extra summary{cursor:pointer;color:#f0add3;font-weight:700}.quick-extra .field{margin-top:15px}.quick-extra p{color:#b8aabb;font-size:12px;margin:8px 0 0}
