:root { --ink:#173126; --green:#24523b; --cream:#f4f2e9; --line:#d9ddd7; --danger:#a82c2c; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#eef1eb; font-family:Inter,system-ui,sans-serif; line-height:1.5; }
a { color:inherit; }
h1,h2 { margin:.1em 0 .5em; font-family:Inter,system-ui,sans-serif; font-weight:800; line-height:1.05; letter-spacing:-.035em; }
h1 { font-size:clamp(2.1rem,5vw,3.6rem); }
.admin-body { min-height:100vh; }
.login-shell,.install-shell { display:grid; place-items:center; min-height:100vh; padding:1.2rem; }
.install-shell { align-items:start; padding-top:4rem; }
.admin-card { padding:clamp(1.4rem,4vw,2.4rem); background:white; border:1px solid var(--line); border-radius:20px; box-shadow:0 18px 50px rgba(23,49,38,.08); }
.login-shell .admin-card { width:min(460px,100%); }
.install-shell .admin-card { width:min(800px,100%); }
.admin-kicker { margin:0 0 .6rem; color:#6b806f; font-size:.72rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.admin-form { display:grid; gap:1rem; }
.admin-form label { display:grid; gap:.35rem; font-size:.86rem; font-weight:750; }
.admin-form input,.admin-form textarea,.admin-form select { width:100%; padding:.8rem .9rem; color:var(--ink); background:#fbfcf9; border:1px solid #cbd2cc; border-radius:10px; font:inherit; }
.admin-form textarea { resize:vertical; line-height:1.55; }
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { outline:3px solid #d8e7d9; border-color:var(--green); }
.admin-form small { color:#748179; font-weight:400; }
.admin-form hr { width:100%; border:0; border-top:1px solid var(--line); }
.admin-button { display:inline-flex; align-items:center; justify-content:center; width:max-content; padding:.75rem 1.1rem; color:white; background:var(--green); border:0; border-radius:999px; font-weight:800; text-decoration:none; cursor:pointer; }
.alert { margin-bottom:1rem; padding:.8rem 1rem; background:#e1f0df; border-radius:10px; }
.alert-error { color:#7c2020; background:#f8e1e1; }
.grid-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.admin-header { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1rem 2rem; color:white; background:var(--ink); }
.admin-header strong,.admin-header span { display:block; }
.admin-header span { color:#aabbb0; font-size:.8rem; }
.admin-header nav { display:flex; gap:1.2rem; font-size:.88rem; }
.admin-layout { display:grid; grid-template-columns:230px 1fr; min-height:calc(100vh - 73px); }
.admin-nav { display:flex; flex-direction:column; gap:.35rem; padding:1.5rem; background:#e3e9e1; border-right:1px solid var(--line); }
.admin-nav a { padding:.75rem .9rem; border-radius:10px; font-weight:750; text-decoration:none; }
.admin-nav a.active,.admin-nav a:hover { background:white; }
.admin-content { min-width:0; padding:clamp(1.2rem,4vw,3.5rem); }
.admin-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
.admin-stack { display:grid; gap:1.2rem; }
.form-title { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--line); }
.form-title span { color:#718078; font-size:.75rem; }
.admin-table { display:grid; overflow:hidden; margin-bottom:2rem; background:white; border:1px solid var(--line); border-radius:15px; }
.admin-table > div { display:grid; grid-template-columns:80px 1.5fr .8fr auto auto; gap:1rem; align-items:center; padding:.9rem 1rem; border-bottom:1px solid var(--line); }
.admin-table > div:last-child { border:0; }
.admin-table form { margin:0; }
.status { width:max-content; padding:.2rem .45rem; color:#6e756f; background:#eceeea; border-radius:999px; font-size:.67rem; font-weight:850; text-transform:uppercase; }
.status.published { color:#205931; background:#ddefdf; }
.link-danger { padding:0; color:var(--danger); background:none; border:0; text-decoration:underline; cursor:pointer; }
.editor { max-width:900px; scroll-margin-top:2rem; }
.check { display:flex!important; grid-template-columns:auto 1fr; align-items:center; justify-content:start; }
.check input { width:auto; }
@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.admin-nav{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.admin-table>div{grid-template-columns:1fr 1fr}.admin-header{padding:1rem}.admin-header nav a:first-child{display:none}}
@media(max-width:560px){.grid-form{grid-template-columns:1fr}.admin-heading{align-items:start;flex-direction:column}.admin-table>div{grid-template-columns:1fr}.form-title{flex-direction:column}}

