:root{--blue:#062d55;--blue2:#0b477c;--yellow:#ffd400;--bg:#f3f6f9;--border:#dce4ec;--text:#17283c;--muted:#708091;--green:#1b8d58}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.admin-topbar{height:76px;background:#032541;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 24px;color:#fff;position:fixed;top:0;left:0;right:0;z-index:10}
.admin-logo img{width:175px}
.admin-user{display:flex;gap:18px;align-items:center;font-size:14px}
.admin-user a{color:#d7e5f1}
.sidebar{position:fixed;top:76px;bottom:0;left:0;width:230px;background:#fff;border-right:1px solid var(--border);padding:22px 14px}
.sidebar a{display:flex;justify-content:space-between;padding:13px 14px;border-radius:8px;font-weight:700;color:#294157;margin-bottom:5px}
.sidebar a:hover{background:#eef5fb;color:var(--blue)}
.sidebar .muted{color:#9aa7b3}
.sidebar small{font-size:10px}
.admin-main{margin-left:230px;padding:108px 34px 50px}
.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.page-title span{font-size:11px;letter-spacing:.15em;color:var(--blue2);font-weight:900}
.page-title h1{font-size:34px;margin:5px 0 0}
.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 18px;border-radius:8px;font-weight:800;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--blue);color:#fff}
.btn.secondary{background:#fff;border-color:var(--border);color:var(--blue)}
.btn.full{width:100%;margin-top:10px}
.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}
.metric,.panel{background:#fff;border:1px solid var(--border);border-radius:14px}
.metric{padding:25px}
.metric strong{font-size:36px;display:block;color:var(--blue)}
.metric span{color:var(--muted)}
.panel{padding:24px}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.panel-head h2{margin:0}
.panel-head a{color:var(--blue2);font-weight:800}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px 10px;border-bottom:1px solid #e8edf2;font-size:14px;vertical-align:middle}
th{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}
.badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}
.badge.green{background:#e1f4e9;color:#146f45}
.badge.gray{background:#edf0f3;color:#66727e}
.actions{display:flex;gap:12px;align-items:center}
.actions form{margin:0}
.link-danger{background:none;border:0;padding:0;color:#b62a2a;cursor:pointer}
.empty,.help{color:var(--muted)}
.empty-box{text-align:center;padding:50px 20px}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}
label{display:block;font-size:13px;font-weight:800;margin:15px 0 7px}
input,textarea,select{width:100%;border:1px solid #cfd8e1;border-radius:8px;background:#fff;padding:12px;color:var(--text)}
textarea{resize:vertical}
.input-title{font-size:24px;font-weight:700}
.content-editor{min-height:430px;line-height:1.6}
.editor-side{height:max-content;position:sticky;top:98px}
.current-image{width:100%;border-radius:9px;margin-bottom:7px}
.seo-box{border-top:1px solid var(--border);margin-top:26px;padding-top:15px}
.login-body{min-height:100vh;background:linear-gradient(135deg,#022441,#0a497d);display:grid;place-items:center;padding:20px}
.login-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.26)}
.login-logo{width:230px;background:#052b50;border-radius:10px;padding:12px;margin:0 auto 24px}
.login-card h1{margin:0 0 8px}
.login-card p{color:var(--muted)}
.alert{padding:12px 14px;border-radius:8px;margin:15px 0}
.alert.danger{background:#fde8e8;color:#9b2525}
.alert.success{background:#e6f5ec;color:#176b43}
@media(max-width:850px){
  .sidebar{display:none}
  .admin-main{margin-left:0;padding:100px 18px 40px}
  .admin-user span{display:none}
  .dashboard-cards,.editor-grid{grid-template-columns:1fr}
  .editor-side{position:static}
  .page-title{align-items:flex-start;gap:14px}
  .panel{overflow:auto}
}

.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.media-item{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff}
.media-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:8px}
.media-item small{display:block;margin:6px 0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-item input{font-size:11px;padding:8px}

.dashboard-cards.four{grid-template-columns:repeat(4,1fr)}
.badge.red{background:#fde4e4;color:#a62626}
.inline-form{display:flex;gap:12px;align-items:end;max-width:420px}
.inline-form select{max-width:170px}
.url-cell{max-width:420px;word-break:break-all;font-size:12px}
@media(max-width:900px){.dashboard-cards.four{grid-template-columns:1fr 1fr}.inline-form{display:block}.inline-form select{max-width:none;margin-bottom:10px}}

.auto-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.auto-controls select{width:auto;min-width:130px}
.progress-box{margin-top:18px}
.progress-line{height:18px;background:#e7edf3;border-radius:999px;overflow:hidden;border:1px solid #d5dee7}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#0b477c,#ffd400);transition:width .3s ease}
.progress-meta{display:flex;justify-content:space-between;gap:20px;margin-top:8px;color:var(--muted);font-size:13px;flex-wrap:wrap}

.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.editor-toolbar button{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:38px;height:34px;cursor:pointer;font-weight:700}
.editor-toolbar button:hover{background:#eef5fb}
@media(max-width:850px){.settings-grid,.form-2col{grid-template-columns:1fr}}

.check-row{display:flex;align-items:center;gap:8px}
.check-row input{width:auto}

.hero-preview-admin{display:block;width:100%;max-width:520px;max-height:280px;object-fit:cover;border-radius:12px;margin:0 0 14px;border:1px solid var(--border)}
.link-button{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.danger-link{color:#b42318}

.visual-editor-shell{border:1px solid #cfd8e1;border-radius:10px;background:#fff;overflow:hidden}
.visual-editor-toolbar{
  display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:9px;background:#f6f8fa;border-bottom:1px solid #dce4ec;
  position:sticky;top:76px;z-index:4
}
.visual-editor-toolbar button,.visual-editor-toolbar select{
  width:auto;min-height:34px;padding:6px 9px;border:1px solid #cfd8e1;border-radius:6px;background:#fff;color:#17283c;font-weight:700;cursor:pointer
}
.visual-editor-toolbar button:hover,.visual-editor-toolbar button.active{background:#e7f0f8;border-color:#9fb9d0}
.visual-editor-toolbar .ve-media{background:#062d55;color:#fff;border-color:#062d55}
.visual-editor-toolbar .ve-sep{width:1px;height:26px;background:#d7dee5;margin:0 2px}
.visual-editor-area{
  min-height:520px;padding:24px;font-size:17px;line-height:1.7;outline:none;background:#fff
}
.visual-editor-area:focus{box-shadow:inset 0 0 0 2px rgba(11,71,124,.08)}
.visual-editor-area p{margin:0 0 1em}
.visual-editor-area h2{font-size:1.6em;margin:1.5em 0 .55em}
.visual-editor-area h3{font-size:1.3em;margin:1.35em 0 .5em}
.visual-editor-area blockquote{margin:1.25em 0;padding:.7em 1em;border-left:4px solid #0b477c;background:#f5f7fa}
.visual-editor-area img{max-width:100%;height:auto;display:block;margin:16px auto;border-radius:8px}
.visual-editor-area .embedded-media{position:relative;width:100%;aspect-ratio:16/9;background:#111;border-radius:9px;overflow:hidden;margin:18px 0}
.visual-editor-area .embedded-media iframe,.visual-editor-area .embedded-media video{position:absolute;inset:0;width:100%;height:100%;border:0}
.visual-editor-source{
  display:none;min-height:520px;border:0;border-radius:0;padding:20px;font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.55
}
.ve-status{min-height:22px;padding:4px 12px 8px;font-size:12px;color:#708091}
.ve-status.success{color:#176b43}
.ve-status.error{color:#9b2525}
@media(max-width:850px){
  .visual-editor-toolbar{position:static}
  .visual-editor-area,.visual-editor-source{min-height:420px}
}
