.admin-shell,.admin-login{--admin-forest:#173c2d;--admin-forest-deep:#112c23;--admin-cream:#faf6ee;--admin-paper:#fffdf8;--admin-ink:#23392e;--admin-muted:#56655d;--admin-line:#e5ddcf;--admin-gold:#f4c581;--admin-orange:#944019;color:var(--admin-ink);font-family:system-ui,sans-serif}.admin-shell{background:radial-gradient(ellipse at top right, #f8e8d3, transparent 55%), var(--admin-cream);grid-template-columns:248px minmax(0,1fr);min-height:100svh;display:grid}.admin-rail{background:linear-gradient(160deg, var(--admin-forest), var(--admin-forest-deep));color:#f8f6ec;flex-direction:column;min-width:0;height:100svh;display:flex;position:sticky;top:0}.admin-rail-header{padding:1.55rem 1.1rem}.admin-brand{align-items:center;gap:.7rem;font-size:.92rem;font-weight:700;display:flex}.admin-rail .admin-brand,.admin-rail .admin-brand:hover{color:#fff9eb}.admin-brand small{color:#d6e2d6;margin-top:.18rem;font-size:.74rem;font-weight:500;display:block}.admin-brand-mark{background:#fff9ed;border-radius:11px;flex:none;place-items:center;padding:.45rem;display:inline-grid}.admin-menu-toggle{display:none}.admin-rail-content{flex-direction:column;flex:1;min-height:0;padding:0 .85rem;display:flex;overflow:auto}.admin-navigation{gap:1.25rem;padding:.65rem 0 1.25rem;display:grid}.admin-nav-group{gap:.22rem;display:grid}.admin-nav-group>p{color:#cad9cd;letter-spacing:.12em;text-transform:uppercase;margin:0 .75rem .3rem;font-size:.65rem;font-weight:700}.admin-navigation a,.admin-rail-footer>a,.admin-sign-out{color:#ecf2ec;border-radius:8px;align-items:center;gap:.65rem;min-height:42px;padding:.55rem .7rem;font-size:.88rem;display:flex}.admin-navigation a:hover,.admin-rail-footer>a:hover,.admin-sign-out:hover{color:#fff;background:#ffffff18}.admin-navigation a[aria-current=page]{background:var(--admin-gold);color:#402a17;font-weight:700}.admin-rail-footer{border-top:1px solid #ffffff25;gap:.3rem;margin-top:auto;padding:.85rem 0;display:grid}.admin-rail-footer>a{justify-content:space-between}.admin-sign-out{text-align:left;width:100%}.admin-main-content{min-width:0;padding:clamp(1rem,3.5vw,3.75rem)}.admin-page{width:100%;max-width:1180px;margin-inline:auto}.admin-page-header{background:linear-gradient(118deg,#173a2c 5%,#2e5b43 100%);border:1px solid #284e3e;border-radius:18px;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.65rem;padding:clamp(1.4rem,3.6vw,2.65rem);display:flex;box-shadow:0 12px 26px #183d2816}.admin-eyebrow{color:var(--admin-orange);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .5rem;font-size:.69rem;font-weight:750}.admin-page-header .admin-eyebrow{color:#f9ce90}.admin-page-header h1{color:#fffdf5;margin:0 0 .45rem;font-size:clamp(2rem,4vw,3.45rem);line-height:1.06}.admin-page-description{color:#e4eee5;margin:0;font-size:.93rem}.admin-section-icon{color:#f9ce90;background:#ffffff12;border:1px solid #f9ce9060;border-radius:21px;flex:none;place-items:center;width:74px;height:74px;display:grid}.admin-count{color:#3c2717;background:var(--admin-gold);border-radius:99px;margin-top:.9rem;padding:.25rem .65rem;font-size:.8rem;font-weight:700;display:inline-block}.admin-page .card{border:1px solid var(--admin-line)}.admin-page .admin-editor{background:var(--admin-paper);border-radius:14px;margin-bottom:1.65rem;padding:clamp(1rem,2.8vw,2rem);box-shadow:0 6px 24px #5a3d160a}.admin-page .admin-editor>h2,.admin-page .admin-editor>h3{letter-spacing:-.02em;font-family:inherit;font-size:1.22rem;font-weight:700}.admin-page label{color:var(--admin-ink);font-size:.88rem}.admin-page input:not([type=color]),.admin-page textarea{background:#fffcf6}.admin-page input[type=file]::file-selector-button{color:#673a20;font:inherit;cursor:pointer;background:#f8e5c9;border:0;border-radius:6px;margin-inline-end:.6rem;padding:.45rem .75rem}.admin-page .btn-primary{background:var(--admin-forest)}.admin-page .btn-primary:hover{background:var(--admin-forest-deep)}.admin-page table{font-size:.88rem}.admin-login{background:radial-gradient(ellipse at 5% 95%, #f2d3ab, transparent 58%), var(--admin-cream);place-items:center;min-height:100svh;padding:clamp(1rem,5vw,4rem);display:grid}.admin-login-frame{border:1px solid var(--admin-line);background:var(--admin-paper);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,920px);display:grid;overflow:hidden;box-shadow:0 18px 60px #4e35211b}.admin-login-art{background:linear-gradient(160deg, #0e2c23bb 5%, transparent 48%, #0f2a21eb 100%), url(/hero-grain.jpg) center / cover, var(--admin-forest);flex-direction:column;justify-content:space-between;padding:2rem;display:flex}.admin-login-art-label{color:#fff6df;align-items:center;gap:.55rem;font-size:.85rem;font-weight:750;display:flex}.admin-login-art p{color:#fff6df;margin:0;font:2.5rem/1.08 Georgia,serif}.admin-login-panel{padding:clamp(1.3rem,4.5vw,3.25rem)}.admin-login-panel .admin-brand-mark{background:#fae8cf;margin-bottom:1.15rem}.admin-login-panel h1{margin-bottom:.5rem;font-size:clamp(2.25rem,5vw,3.25rem)}.admin-login-panel>p:not(.admin-eyebrow){color:var(--admin-muted)}.admin-login-panel form{gap:.7rem;margin-top:1.65rem;display:grid}.admin-login-panel label{font-size:.88rem;font-weight:650}.admin-login-panel input{background:#fffcf6;border-color:#d9cdbd}.admin-login-panel input[aria-invalid=true]{border-color:#a94628}.admin-login-error{color:#842e18;background:#fce7de;border-radius:7px;margin:0;padding:.65rem .8rem;font-size:.84rem}.admin-login-button{background:var(--admin-forest);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:47px;margin-top:.4rem;padding:.65rem 1rem;font-size:.93rem;font-weight:700;display:flex}.admin-login-button:enabled:hover{background:var(--admin-forest-deep)}.admin-return-link{color:var(--admin-orange);margin-top:1.35rem;font-size:.83rem;font-weight:650;display:inline-block}@media (max-width:768px){body:has(.admin-shell,.admin-login){padding-bottom:0}.admin-shell{grid-template-columns:minmax(0,1fr);align-content:start}.admin-rail{height:auto;position:static}.admin-rail-header{justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.admin-menu-toggle{color:#fff;background:#ffffff18;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.admin-rail-content[data-open=false],.admin-section-icon{display:none}.admin-page .grid-cols-2,.admin-page .grid-cols-3{grid-template-columns:minmax(0,1fr)}.admin-login-frame{grid-template-columns:minmax(0,1fr);max-width:480px}.admin-login-art{background-position:50% 48%;min-height:135px;padding:1.2rem 1.35rem}.admin-login-art p{margin-top:.55rem;font-size:1.55rem}}.admin-editable-row{flex-wrap:wrap}.admin-editable-row h3,.admin-editable-row h4{overflow-wrap:anywhere}.admin-content-actions{flex-wrap:wrap;flex:none;align-items:center;gap:.45rem;display:flex}.admin-item-button{color:#234433;background:#f8f4e9;border:1px solid #d9d5c7;border-radius:7px;padding:.42rem .7rem;font-size:.84rem;font-weight:650}.admin-item-button:hover{background:#f3e5cb}.admin-item-delete{color:#8b3022;background:#fff1eb;border-color:#f0cfc6}.admin-item-delete:hover{background:#f9dfd5}.admin-item-saved{color:#286044;flex-basis:100%;font-size:.76rem}.admin-edit-dialog{border:1px solid var(--admin-line);background:var(--admin-paper);width:min(590px,100% - 2rem);max-height:min(90dvh,820px);color:var(--admin-ink);border-radius:16px;margin:auto;padding:clamp(1rem,3vw,2rem);position:fixed;inset:0;overflow:auto;box-shadow:0 22px 72px #0d291d3b}.admin-edit-dialog::backdrop{background:#102a21a6}.admin-edit-form,.admin-edit-form fieldset{gap:1rem;display:grid}.admin-edit-form h2{margin:0;font-size:clamp(1.65rem,4vw,2.25rem)}.admin-edit-form label{gap:.35rem;font-weight:650;display:grid}.admin-edit-form input,.admin-edit-form textarea{font-weight:400}.admin-edit-current-image{color:var(--admin-muted);align-items:center;gap:.8rem;font-size:.83rem;display:flex}.admin-edit-current-image img{-o-object-fit:cover;object-fit:cover;border-radius:7px;width:76px;height:58px}.admin-edit-progress{color:var(--admin-muted);margin:0;font-size:.84rem}.admin-edit-footer{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}
