:root { --admin-blue:#002f86; --admin-deep:#001a4c; --admin-yellow:#ffd21c; --admin-paper:#eef3ff; --admin-ink:#06132f; --admin-line:#b8c9e8; }
.admin-page { min-height:100vh; background:var(--admin-paper); color:var(--admin-ink); }
.admin-auth-shell { min-height:100vh; display:grid; place-items:center; padding:1.5rem; background:var(--admin-deep); }
.admin-auth-card { width:min(560px,100%); padding:clamp(2rem,7vw,4.5rem); background:#fff; box-shadow:14px 14px 0 var(--admin-yellow); }
.admin-auth-card h1,.admin-content h1,.admin-content h2 { color:var(--admin-deep); }
.admin-auth-card h1 em,.admin-content h1 em,.admin-content h2 em { color:#f28c00; }
.admin-auth-message { margin-top:1rem; padding:.8rem; background:#fff2d6; color:#6a3a00; font-size:.85rem; }
.admin-login-notice { position:fixed; z-index:50; top:1rem; right:1rem; margin:0; padding:.8rem 1rem; background:var(--admin-yellow); color:var(--admin-deep); box-shadow:4px 4px 0 rgba(0,26,76,.3); font:600 .76rem var(--mono); }
.admin-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1rem,4vw,3rem); background:var(--admin-deep); color:#fff; }
.admin-header .link-button { color:var(--admin-yellow); }
.admin-layout { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 72px); }
.admin-sidebar { padding:1.5rem; background:var(--admin-blue); display:grid; align-content:start; gap:.35rem; }
.admin-sidebar a { color:#fff; padding:.75rem .8rem; font-size:.86rem; }
.admin-sidebar a:hover,.admin-sidebar a.active { background:var(--admin-yellow); color:var(--admin-deep); }
.admin-content { padding:clamp(1.5rem,5vw,4rem); max-width:1200px; width:100%; }
.admin-content > section { scroll-margin-top:1rem; margin-bottom:4rem; }
.admin-content h2 { font-size:clamp(2rem,4vw,3.5rem); }
.admin-panel { padding:1.25rem; background:#fff; border:1px solid var(--admin-line); }
.admin-panel form { display:grid; gap:.8rem; }
.admin-panel label { display:grid; gap:.35rem; font-size:.8rem; font-weight:700; }
.admin-panel input,.admin-panel select,.admin-panel textarea { width:100%; padding:.7rem; border:1px solid var(--admin-line); color:var(--admin-ink); background:#fff; }
.admin-panel textarea { min-height:120px; resize:vertical; }
.admin-panel button { justify-self:start; }
.admin-list { list-style:none; padding:0; margin:1.25rem 0 0; display:grid; gap:.65rem; }
.admin-list li { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.85rem; background:#fff; border:1px solid var(--admin-line); }
.admin-list small { display:block; color:#52647f; margin-top:.2rem; }
.admin-feedback { min-height:1.3rem; font-size:.82rem; }
.admin-feedback[data-state="error"] { color:#ae250f; }.admin-feedback[data-state="success"] { color:#08713d; }
.admin-collection-toolbar { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:1.2rem 0; }.admin-collection-search { display:grid; gap:.35rem; min-width:min(100%,290px); font:700 .72rem var(--mono); text-transform:uppercase; letter-spacing:.05em; }.admin-collection-search input { width:100%; padding:.65rem .75rem; border:1px solid var(--admin-line); background:#fff; color:var(--admin-ink); font:400 .85rem var(--sans); text-transform:none; letter-spacing:normal; }.admin-pagination { display:flex; align-items:center; justify-content:flex-end; gap:.8rem; margin-top:1rem; font-size:.78rem; }.admin-pagination button { border:1px solid var(--admin-line); padding:.5rem .65rem; background:#fff; color:var(--admin-ink); cursor:pointer; }.admin-pagination button:disabled { cursor:not-allowed; opacity:.45; }.admin-edit-modal { width:min(760px,calc(100% - 2rem)); max-height:calc(100vh - 2rem); padding:0; border:0; background:#fff; color:var(--admin-ink); box-shadow:0 22px 70px rgba(0,26,76,.38); }.admin-edit-modal::backdrop { background:rgba(0,26,76,.7); backdrop-filter:blur(4px); }.admin-edit-modal__head { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; background:var(--admin-deep); color:#fff; }.admin-edit-modal__head h2 { margin:0; color:#fff; font-size:1.55rem; }.admin-edit-modal__close { width:38px; height:38px; border:1px solid #7891c5; border-radius:50%; background:transparent; color:#fff; font-size:1.5rem; cursor:pointer; }.admin-edit-modal form { display:grid; gap:.8rem; padding:1.25rem; }.admin-edit-modal label { display:grid; gap:.35rem; font-size:.8rem; font-weight:700; }.admin-edit-modal input,.admin-edit-modal select,.admin-edit-modal textarea { width:100%; padding:.7rem; border:1px solid var(--admin-line); color:var(--admin-ink); background:#fff; }.admin-edit-modal textarea { min-height:120px; resize:vertical; }
@media (max-width:760px) { .admin-layout { grid-template-columns:1fr; }.admin-sidebar { grid-template-columns:repeat(2,1fr); padding:.7rem; }.admin-content { padding:1.5rem; }.admin-list li { align-items:flex-start; flex-direction:column; } }
@media (max-width:620px) { .admin-collection-toolbar { align-items:stretch; flex-direction:column; }.admin-collection-toolbar .button { justify-content:space-between; }.admin-collection-search { min-width:0; }.admin-pagination { justify-content:space-between; }.admin-edit-modal { width:100%; max-height:100vh; }.admin-edit-modal__head { padding:.9rem 1rem; }.admin-edit-modal form { padding:1rem; } }
