:root{--bg:#060812;--panel:#11172b;--line:#273252;--text:#f5f7ff;--muted:#9ba8c8;--cyan:#4cf3ff;--violet:#9d6cff;--danger:#ff6b87;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 10%,rgba(157,108,255,.15),transparent 30%),var(--bg);color:var(--text)}a{color:var(--cyan);text-decoration:none}.admin-body{min-height:100vh}.admin-header{min-height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(6,8,18,.9);position:sticky;top:0;z-index:10}.admin-brand{font-weight:800;letter-spacing:.15em}.admin-header nav{display:flex;gap:24px;flex-wrap:wrap}.admin-container{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:70px 0}.admin-kicker{color:var(--violet);font-weight:700;letter-spacing:.16em;font-size:12px}.admin-container h1,.auth-card h1{font-size:clamp(38px,6vw,68px);margin:.2em 0 .6em}.admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:18px;margin-bottom:34px}.admin-stats article,.admin-card{padding:28px;border:1px solid var(--line);background:rgba(17,23,43,.8)}.admin-stats strong{display:block;font-size:54px;color:var(--cyan)}.admin-stats span{color:var(--muted)}.admin-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-card h2{color:var(--text)}.admin-card p{color:var(--muted);line-height:1.6}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);padding:42px;border:1px solid var(--line);background:rgba(17,23,43,.92)}form{display:grid;gap:20px}label{display:grid;gap:8px;color:#dce4f9;font-weight:600}input,textarea,select{width:100%;border:1px solid var(--line);background:#090d1c;color:var(--text);padding:13px 14px;font:inherit}textarea{resize:vertical}.admin-button{display:inline-flex;justify-content:center;align-items:center;width:max-content;border:0;background:linear-gradient(100deg,var(--cyan),#9be3ff);color:#07101a;padding:14px 20px;font-weight:800;letter-spacing:.08em;cursor:pointer}.back-link{margin-top:20px;display:inline-block}.notice{padding:14px 16px;border:1px solid}.notice.success{border-color:#78e6b0;background:rgba(80,200,140,.08)}.notice.error{border-color:var(--danger);background:rgba(255,107,135,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid .full{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.admin-form{padding:28px;border:1px solid var(--line);background:rgba(17,23,43,.72)}fieldset{border:1px solid var(--line);padding:22px}legend{color:var(--cyan);font-weight:700}.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-table-wrap{overflow:auto;border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th,.admin-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}.admin-table th{color:var(--muted);font-size:12px;letter-spacing:.1em}.admin-table td small{display:block;color:var(--muted);margin-top:5px}.admin-table td a{margin-right:12px}.danger{color:var(--danger)!important}.media-admin{margin-top:42px}.media-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.media-admin-grid article{border:1px solid var(--line);background:var(--panel)}.media-admin-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.media-admin-grid article div{padding:14px;display:flex;justify-content:space-between;gap:12px}@media(max-width:800px){.admin-actions,.form-grid,.media-admin-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.admin-header{align-items:flex-start;padding-top:18px;padding-bottom:18px;gap:18px}.admin-header nav{gap:12px}.admin-title-row{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:1fr 1fr}}
.admin-container.narrow{max-width:760px}.gallery-manager-grid article small{display:block;color:#8e9abd;margin-top:5px}.gallery-manager-grid article p{margin:8px 0;font-size:13px}.gallery-manager-grid article p a{color:#4cf3ff}
