:root{--ink:#14291e;--forest:#183d2b;--deep:#0e2319;--paper:#f8f9f3;--white:#fff;--lime:#d9ec9a;--muted:#586359;--line:#d7ddd3;--admin-gap:16px;--admin-line-soft:color-mix(in srgb,var(--white),transparent 72%);--admin-focus:color-mix(in srgb,var(--forest),transparent 68%);--admin-surface-soft:color-mix(in srgb,var(--paper),var(--lime) 16%);--admin-media-fallback:color-mix(in srgb,var(--line),var(--white) 45%)}
.admin-shell{min-height:100vh;background:var(--paper);color:var(--ink)}
.admin-top{background:var(--deep);color:var(--white);padding:20px clamp(20px,4vw,64px);display:flex;justify-content:space-between;align-items:center;gap:24px}
.admin-top a{color:inherit;text-decoration:none}.admin-top .brand{font:32px/1 Georgia,serif;letter-spacing:-.04em}.admin-top small{display:block;margin-top:8px;color:var(--lime);font:12px/1.4 Arial,sans-serif;letter-spacing:.05em}
.admin-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-nav a,.admin-nav button{min-height:44px;padding:11px 16px;border:1px solid var(--admin-line-soft);border-radius:999px;color:var(--white);background:transparent;text-decoration:none;font:inherit;cursor:pointer}.admin-nav a[aria-current=page]{background:var(--lime);border-color:var(--lime);color:var(--deep)}
.admin-main{max-width:1440px;margin:0 auto;padding:48px clamp(20px,4vw,64px) 96px}.admin-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.admin-main h1{margin:8px 0 16px;font-size:clamp(32px,5vw,52px);line-height:1.2;letter-spacing:-.04em}.admin-intro{max-width:760px;margin:0 0 32px;color:var(--muted);line-height:1.8}
.admin-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-link{min-height:190px;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.admin-link:hover{background:var(--admin-surface-soft)}.admin-link h2{font-size:24px;margin:0}.admin-link p{color:var(--muted);line-height:1.7}.admin-link strong{font-size:14px}
.admin-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.admin-toolbar input,.admin-toolbar select,.admin-record input,.admin-record textarea,.admin-record select,.admin-form input,.admin-form textarea,.admin-form select{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;min-height:48px;padding:10px 14px}.admin-toolbar input{flex:1;min-width:220px}.admin-toolbar select,.admin-record select,.admin-form select{min-width:180px}.admin-toolbar input:focus-visible,.admin-toolbar select:focus-visible,.admin-record :focus-visible,.admin-form :focus-visible{outline:3px solid var(--admin-focus);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-count{margin-left:auto;color:var(--muted);font-size:14px}.admin-records{display:grid;gap:14px}.admin-record{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;background:var(--white);border-radius:20px;padding:18px}.admin-record img{width:180px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--admin-media-fallback)}.admin-record label,.admin-form label{display:grid;gap:8px;margin-bottom:12px;font-size:14px;color:var(--muted)}.admin-record input,.admin-record textarea,.admin-record select{width:100%}.admin-record textarea{min-height:84px;resize:vertical}.admin-record-actions,.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.admin-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:var(--white);font:inherit;text-decoration:none;cursor:pointer}.admin-button.secondary{background:transparent;color:var(--forest)}.admin-button:disabled{opacity:.5;cursor:wait}.admin-status{min-height:26px;margin:12px 0;color:var(--forest)}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 0}.admin-empty{padding:36px;border-radius:20px;background:var(--white);color:var(--muted)}
.admin-form{max-width:760px;padding:24px;border-radius:20px;background:var(--white)}.admin-form input[type=file]{padding:9px}.admin-form textarea{min-height:130px;resize:vertical}.admin-preview{width:min(100%,420px);aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--admin-media-fallback)}.admin-login{min-height:100vh;display:grid;place-items:center;background:var(--deep);padding:24px}.admin-login-card{width:min(100%,440px);padding:36px;border-radius:20px;background:var(--paper)}.admin-login-card h1{font-size:36px}.admin-login-card p{line-height:1.7;color:var(--muted)}.admin-login-card form{display:grid;gap:14px}.admin-login-card label{display:grid;gap:8px}.admin-login-card input{min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font:inherit}.admin-login-card :focus-visible{outline:3px solid var(--admin-focus);outline-offset:2px}
.works-page{background:var(--paper);min-height:100vh}.works-heading{padding:64px clamp(20px,4vw,64px) 28px;max-width:1440px;margin:auto}.works-heading h1{font-size:clamp(40px,7vw,72px);line-height:1.12;letter-spacing:-.04em;margin:10px 0 16px}.works-heading p{color:var(--muted);line-height:1.8}.works-grid{max-width:1440px;margin:0 auto;padding:20px clamp(20px,4vw,64px) 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.works-card{color:var(--ink);text-decoration:none}.works-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;background:var(--admin-media-fallback)}.works-card p{margin:14px 0 6px;color:var(--muted);font-size:13px}.works-card h2{margin:0;font-size:21px;line-height:1.4}.works-pages{display:flex;justify-content:center;gap:12px;padding-bottom:72px}
@media(max-width:900px){.admin-links{grid-template-columns:1fr 1fr}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-top{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.admin-main{padding-top:32px}.admin-links{grid-template-columns:1fr}.admin-record{grid-template-columns:1fr}.admin-record img{width:100%;max-height:280px}.works-grid{grid-template-columns:1fr;gap:28px}.admin-count{margin-left:0;width:100%}.admin-nav{gap:6px}.admin-nav a,.admin-nav button{padding:9px 12px}}
