.admin-page { min-height:100vh; }
.admin-header { padding:20px 36px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.admin-header-actions { display:flex; gap:18px; align-items:center; }
.admin-header .text-link { font-size:12px; }
.admin-main { max-width:1350px; margin:auto; padding:30px 36px 70px; min-height:calc(100vh - 185px); }
.admin-status { padding:14px 18px; border:1px solid var(--line); background:var(--pale); font-size:14px; border-radius:6px; margin-bottom:26px; overflow-wrap:anywhere; }
.admin-status:empty { display:none; }
.admin-status.is-error { color:#a02828; border-color:#d9a5a5; background:#fff1ee; }
.login-card { max-width:490px; margin:45px auto; padding:36px; background:var(--white); border:1px solid var(--line); border-radius:12px; }
.login-card h1 { font-size:34px; letter-spacing:-1px; margin:18px 0; }
.login-card > p { font-size:14px; }
.login-card form { margin-top:28px; }
.login-card .button { width:100%; }
.admin-title-row { display:flex; justify-content:space-between; align-items:center; gap:25px; margin:15px 0 34px; }
.admin-title-row h1 { font-size:38px; letter-spacing:-1.3px; margin:14px 0; }
.admin-title-row p { margin:0; font-size:14px; }
.save-actions { display:flex; align-items:flex-end; flex-direction:column; gap:10px; flex-shrink:0; }
.save-actions > span { font-size:12px; color:var(--muted); }
.admin-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:36px; align-items:start; }
.admin-sidebar { position:sticky; top:25px; }
.admin-sidebar nav { display:grid; gap:8px; }
.admin-sidebar nav button { display:flex; justify-content:space-between; align-items:center; padding:15px 16px; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--text); text-align:left; font-size:14px; }
.admin-sidebar nav button span { font-size:11px; color:var(--muted); }
.admin-sidebar nav button[aria-current] { border-color:var(--line); background:var(--white); color:var(--blue); font-weight:600; }
.sidebar-note { border-top:1px solid var(--line); margin-top:25px; padding:23px 15px 10px; font-size:12px; }
.sidebar-note strong { color:var(--navy); display:block; margin-bottom:10px; }
.text-button { border:0; background:transparent; color:var(--blue); text-align:left; text-decoration:underline; text-underline-offset:4px; padding:10px 15px; font-size:12px; }
.admin-sidebar .form-note { padding:0 15px; }
.editor-panel { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:30px; min-width:0; }
.editor-top { display:flex; gap:20px; align-items:start; justify-content:space-between; margin-bottom:25px; }
.editor-top h2 { font-size:25px; letter-spacing:-.6px; margin-bottom:10px; }
.editor-top p { font-size:13px; color:var(--muted); margin:0; }
.editor-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.7fr); gap:30px; }
.visibility-field { display:flex; align-items:center; gap:10px; padding:15px 0; font-size:14px; }
.visibility-field input { width:18px; height:18px; accent-color:var(--blue); }
.upload-box { padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.upload-box + .upload-box { margin-top:20px; }
.upload-box label { font-size:13px; font-weight:600; color:var(--navy); display:block; margin-bottom:12px; }
.upload-box input { display:block; max-width:100%; font-size:12px; margin-top:14px; }
.upload-box input::file-selector-button { padding:9px; margin-right:8px; background:var(--pale); border:1px solid var(--line); color:var(--navy); border-radius:4px; cursor:pointer; }
.media-preview { min-height:160px; display:flex; align-items:center; justify-content:center; background:var(--pale); border:1px solid var(--line); overflow:hidden; border-radius:4px; }
.media-preview p { font-size:12px; color:var(--muted); margin:20px; text-align:center; }
.media-preview img { width:100%; height:210px; object-fit:contain; }
.media-preview video { width:100%; max-height:230px; }
.upload-help { font-size:11px; color:var(--muted); margin:12px 0 0; }
.remove-button { display:inline-block; color:#a02828; font-size:12px; margin-top:12px; border:0; background:transparent; padding:5px 0; text-decoration:underline; }
.record-note { font-size:12px; color:var(--muted); padding:14px 0 0; border-top:1px solid var(--line); }
.upload-error { font-size:12px; color:#a02828; }
.editor-add-actions { display:flex; gap:10px; }
.admin-dialog { width:calc(100% - 36px); max-width:500px; margin:auto; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--text); }
.admin-dialog::backdrop { background:rgba(12,25,44,.6); }
.admin-dialog h2 { font-size:24px; margin:0 0 16px; }
.admin-dialog p { font-size:14px; margin-bottom:24px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:12px; }
[data-theme=dark] .upload-error { color:#ffb8b8; }
.admin-footer { display:flex; justify-content:space-between; gap:20px; padding:25px 36px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.admin-footer .footer-signature a { color:var(--blue); }
.admin-footer .footer-signature > span:first-child { color:var(--muted); }
button:disabled, input:disabled, select:disabled { opacity:.55; cursor:not-allowed; }
[data-theme=dark] .admin-status.is-error { color:#ffb8b8; border-color:#7e4545; background:#3c2429; }
[data-theme=dark] .remove-button { color:#ffb8b8; }
@media(max-width:1000px){.admin-layout{grid-template-columns:200px minmax(0,1fr);gap:22px}.editor-grid{grid-template-columns:1fr}.media-editors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-box+.upload-box{margin-top:0}}
@media(max-width:700px){.admin-header{padding:16px 18px;gap:12px;align-items:start}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.admin-header-actions .text-link{order:3;flex-basis:100%;justify-content:flex-end;border:0;font-size:11px}.admin-header .theme-toggle{font-size:11px;padding:8px}.admin-main{padding:22px 18px 40px}.admin-title-row{display:block}.save-actions{align-items:stretch;margin-top:22px}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-sidebar nav{grid-template-columns:repeat(3,1fr);gap:6px}.admin-sidebar nav button{flex-direction:column;gap:5px;font-size:12px;padding:12px 4px}.sidebar-note{margin-top:16px;padding:14px 0 0}.sidebar-note p{margin:0}.editor-panel{padding:20px}.editor-top{flex-wrap:wrap}.editor-top h2{font-size:23px}.media-editors{display:block}.upload-box+.upload-box{margin-top:16px}.admin-footer{padding:22px 18px;flex-direction:column}.login-card{padding:25px;margin:20px auto}.login-card h1{font-size:30px}}
