:root { --admin-bg:#edf1f6; --admin-surface:#fff; --admin-line:#d4dde7; --admin-text:#172b42; --admin-muted:#6c7c8c; --admin-teal:#005ea8; --admin-dark:#061a2f; --admin-red:#a9363e; --admin-green:#287b56; }
.admin-page { color:var(--admin-text); background:var(--admin-bg); font-family:var(--sans); font-size:14px; }
.admin-page h1,.admin-page h2,.admin-page h3 { font-family:var(--sans); letter-spacing:-.03em; }
.admin-shell { min-height:100vh; }
.admin-sidebar { position:fixed; z-index:200; inset:0 auto 0 0; width:270px; display:flex; flex-direction:column; color:#b6c4d2; background:linear-gradient(180deg,#0a2c4b,var(--admin-dark)); box-shadow:8px 0 30px rgba(0,22,42,.2); }
.admin-brand { min-height:92px; display:flex; align-items:center; gap:12px; padding:15px 21px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-brand img { width:58px; height:58px; }
.admin-brand span { display:flex; flex-direction:column; }
.admin-brand strong { color:white; font-family:var(--serif); font-size:1.55rem; line-height:1; }
.admin-brand small { margin-top:5px; color:#719497; font-size:.57rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-sidebar nav { flex:1; padding:18px 12px; overflow-y:auto; }
.admin-nav-label { display:block; padding:16px 12px 6px; color:#56787c; font-size:.56rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.admin-sidebar nav a { min-height:42px; display:flex; align-items:center; gap:11px; padding:8px 11px; border-radius:6px; color:#a7bec0; font-size:.73rem; font-weight:700; }
.admin-sidebar nav a .icon { width:17px; height:17px; color:#668b8e; }
.admin-sidebar nav a:hover { color:white; background:rgba(255,255,255,.055); }
.admin-sidebar nav a.active { color:#9bd1f7; background:rgba(118,184,232,.14); }
.admin-sidebar nav a.active .icon { color:#9bd1f7; }
.admin-user { min-height:78px; display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:13px 17px; border-top:1px solid rgba(255,255,255,.1); }
.admin-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#071522; background:var(--gold); font-weight:900; }
.admin-user strong,.admin-user span { display:block; max-width:135px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user strong { color:white; font-size:.73rem; }
.admin-user span { color:#6b8d90; font-size:.58rem; text-transform:uppercase; }
.admin-user form { margin:0; }
.admin-user button { border:0; color:#7c9b9e; background:transparent; cursor:pointer; }
.admin-main { min-height:100vh; margin-left:270px; }
.admin-content { width:min(calc(100% - 52px),1460px); margin-inline:auto; padding-block:40px 70px; }
.admin-mobile-header { display:none; }
.admin-page-head { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:27px; }
.admin-page-head h1 { margin:3px 0 5px; color:var(--admin-text); font-size:clamp(1.9rem,3vw,2.6rem); }
.admin-page-head p { margin:0; color:var(--admin-muted); font-size:.76rem; }
.admin-kicker { display:block; color:var(--admin-teal); font-size:.59rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.admin-back { display:inline-block; margin-bottom:7px; color:var(--admin-teal); font-size:.7rem; font-weight:800; }
.admin-button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 16px; border:1px solid #b7c7c8; border-radius:5px; color:var(--admin-text); background:white; font-size:.68rem; font-weight:850; cursor:pointer; }
.admin-button:hover { color:var(--admin-teal); border-color:var(--admin-teal); }
.admin-button.primary { color:white; border-color:var(--admin-teal); background:var(--admin-teal); }
.admin-button.primary:hover { color:white; background:#004f8f; }
.admin-button.small { min-height:32px; padding:5px 10px; font-size:.62rem; }
.admin-button.block { width:100%; }
.admin-alert { margin-bottom:18px; padding:13px 16px; border-left:4px solid var(--admin-teal); color:#174c75; background:#e1edf8; font-size:.75rem; }
.admin-alert.error { color:#7a2a30; border-color:var(--admin-red); background:#f5e3e4; }
.admin-alert.success { color:#205b42; border-color:var(--admin-green); background:#e0efe8; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-bottom:22px; }
.admin-stat-grid article { position:relative; overflow:hidden; min-height:145px; padding:23px; border:1px solid var(--admin-line); background:white; }
.admin-stat-grid article::after { content:''; position:absolute; top:-55px; right:-55px; width:110px; height:110px; border:15px solid #edf3f2; border-radius:50%; }
.admin-stat-grid span,.admin-stat-grid small { display:block; color:var(--admin-muted); }
.admin-stat-grid span { font-size:.6rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.admin-stat-grid strong { display:block; margin:15px 0 3px; color:var(--admin-text); font-family:var(--serif); font-size:2.8rem; line-height:1; }
.admin-stat-grid strong.small-value { font-family:var(--sans); font-size:1.45rem; }
.admin-stat-grid small { font-size:.62rem; }
.admin-grid-main { display:grid; grid-template-columns:1.3fr .7fr; gap:21px; align-items:start; }
.admin-card { padding:25px; border:1px solid var(--admin-line); background:var(--admin-surface); box-shadow:0 3px 15px rgba(5,31,36,.035); }
.admin-card.table-card { padding:0; overflow:hidden; }
.admin-card+.admin-card { margin-top:20px; }
.admin-card>h2 { margin-bottom:20px; font-size:1.05rem; }
.admin-card-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:20px; }
.admin-card-head h2 { margin:2px 0 0; font-size:1.1rem; }
.activity-list { display:grid; }
.activity-list a { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:13px 0; border-bottom:1px solid var(--admin-line); }
.activity-list a:last-child { border-bottom:0; }
.activity-list i { width:7px; height:7px; border-radius:50%; background:var(--admin-teal); }
.activity-list strong,.activity-list small { display:block; }
.activity-list strong { font-size:.7rem; }
.activity-list small,.activity-list time { color:var(--admin-muted); font-size:.59rem; }
.admin-quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.admin-quick-grid a { padding:16px; border:1px solid transparent; background:var(--admin-bg); }
.admin-quick-grid a:hover { border-color:var(--admin-teal); }
.admin-quick-grid span { color:var(--admin-teal); font-family:var(--serif); font-size:1.5rem; }
.admin-quick-grid strong,.admin-quick-grid small { display:block; }
.admin-quick-grid strong { margin-top:8px; font-size:.68rem; }
.admin-quick-grid small { color:var(--admin-muted); font-size:.56rem; }
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; min-width:780px; border-collapse:collapse; }
.admin-table th { padding:13px 17px; color:var(--admin-muted); border-bottom:1px solid var(--admin-line); background:#f2f6f5; font-size:.56rem; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
.admin-table td { padding:15px 17px; color:#40565a; border-bottom:1px solid #e0e8e7; font-size:.69rem; }
.admin-table td>strong,.admin-table td>small { display:block; }
.admin-table td>strong { color:var(--admin-text); }
.admin-table td>small { margin-top:3px; color:var(--admin-muted); font-size:.58rem; }
.admin-table .table-actions { text-align:right; white-space:nowrap; }
.table-actions form { display:inline-block; margin-left:3px; }
.admin-icon-button { width:32px; height:32px; display:inline-grid; place-items:center; border:1px solid #c2cecf; border-radius:4px; color:var(--admin-red); background:white; cursor:pointer; }
.admin-badge { display:inline-flex; padding:4px 8px; border-radius:20px; font-size:.55rem; font-weight:850; text-transform:uppercase; }
.admin-badge.published { color:var(--admin-green); background:#dff0e8; }
.admin-badge.draft { color:var(--admin-teal); background:#dfeeee; }
.admin-badge.archived { color:#69787b; background:#e8ecec; }
.admin-empty { padding:35px!important; color:var(--admin-muted)!important; text-align:center; }
.admin-edit-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:21px; align-items:start; }
.admin-edit-grid>aside { position:sticky; top:20px; }
.admin-actions { display:grid; gap:8px; margin-top:13px; }
.admin-form { display:grid; gap:15px; }
.admin-form>label,.form-grid>label { display:flex; flex-direction:column; gap:6px; color:#4e6569; font-size:.62rem; font-weight:850; letter-spacing:.03em; }
.admin-form input:not([type=checkbox]):not([type=file]),.admin-form select,.admin-form textarea,.form-grid input,.form-grid select,.form-grid textarea { width:100%; min-height:41px; padding:10px 11px; border:1px solid #b9c8c9; border-radius:4px; color:var(--admin-text); background:white; font:inherit; font-size:.75rem; }
.admin-form textarea,.form-grid textarea { resize:vertical; line-height:1.6; }
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus { outline:0; border-color:var(--admin-teal); box-shadow:0 0 0 3px rgba(0,94,168,.12); }
.admin-form label>small { color:var(--admin-muted); font-weight:500; }
.admin-form input[type=file] { padding:10px; border:1px dashed #a7baba; background:#f3f7f6; font-size:.68rem; }
.form-grid { display:grid; gap:14px; }
.form-grid.two { grid-template-columns:1fr 1fr; }
.check-control { display:flex!important; flex-direction:row!important; align-items:center; gap:8px!important; min-height:35px; color:var(--admin-text)!important; cursor:pointer; }
.check-control input { width:16px; height:16px; accent-color:var(--admin-teal); }
.current-image { display:grid; grid-template-columns:180px 1fr; gap:18px; align-items:center; padding:12px; background:var(--admin-bg); }
.current-image img { width:180px; height:120px; object-fit:cover; background:white; }
.settings-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:21px; align-items:start; }
.settings-nav { position:sticky; top:20px; display:flex; flex-direction:column; padding:9px; border:1px solid var(--admin-line); background:white; }
.settings-nav a { padding:10px; color:var(--admin-muted); border-bottom:1px solid #e1e9e8; font-size:.67rem; font-weight:750; }
.settings-nav a:hover { color:var(--admin-teal); }
.settings-groups { display:grid; gap:19px; }
.settings-group { scroll-margin-top:25px; }
.admin-login { min-height:100vh; margin:0; color:var(--admin-text); background:#dce6e5; font-family:var(--sans); }
.login-shell { min-height:100vh; display:grid; grid-template-columns:1.05fr .95fr; }
.login-visual { position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:65px; color:white; background:radial-gradient(circle at 60% 20%,#0b5b9a,#082d4d 42%,#00101f 85%); }
.login-visual>img { position:absolute; z-index:2; top:55px; right:55px; width:230px; filter:drop-shadow(0 24px 35px rgba(0,0,0,.3)); }
.login-radar { position:absolute; width:620px; height:620px; top:-150px; right:-130px; border:1px solid rgba(118,184,232,.18); border-radius:50%; box-shadow:0 0 0 85px rgba(118,184,232,.035),0 0 0 170px rgba(118,184,232,.022); }
.login-visual>div:last-child { position:relative; z-index:2; }
.login-visual span { color:var(--gold); font-size:.63rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.login-visual h1 { margin:9px 0 13px; color:white; font-family:var(--serif); font-size:clamp(3.2rem,6vw,5.4rem); }
.login-visual p { color:#8eaaad; }
.login-form-panel { display:grid; align-items:center; padding:65px; background:white; }
.login-form-panel>a { position:absolute; top:30px; color:var(--admin-teal); font-size:.67rem; font-weight:800; }
.login-form-panel>div { width:min(420px,100%); margin:auto; }
.login-form-panel h2 { margin:7px 0; font-family:var(--sans); font-size:2.15rem; }
.login-form-panel p { margin-bottom:27px; color:var(--admin-muted); font-size:.77rem; }
.admin-backdrop { display:none; }
@media(max-width:1100px){.admin-sidebar{width:230px}.admin-main{margin-left:230px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-grid-main{grid-template-columns:1fr}.admin-quick-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:880px){.admin-sidebar{width:270px;transform:translateX(-105%);transition:transform .25s}.admin-sidebar.open{transform:none}.admin-main{margin-left:0}.admin-mobile-header{position:sticky;z-index:150;top:0;min-height:58px;display:flex;align-items:center;gap:14px;padding:0 16px;color:white;background:var(--admin-dark)}.admin-mobile-header button{border:0;color:white;background:transparent}.admin-mobile-header strong{font-size:.72rem}.admin-mobile-header a{margin-left:auto;color:#82d2d1;font-size:.62rem}.admin-content{width:min(calc(100% - 28px),1460px);padding-top:25px}.admin-edit-grid,.settings-layout{grid-template-columns:1fr}.admin-edit-grid>aside,.settings-nav{position:static}.settings-nav{flex-direction:row;overflow-x:auto}.settings-nav a{white-space:nowrap;border-bottom:0}.admin-backdrop{position:fixed;z-index:190;inset:0;background:rgba(3,20,25,.6)}.admin-backdrop.show{display:block}.login-shell{grid-template-columns:1fr}.login-visual{min-height:360px}.login-form-panel{min-height:560px}}
@media(max-width:620px){.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-head>.admin-button{width:100%}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat-grid article{min-height:125px;padding:18px}.admin-quick-grid,.form-grid.two{grid-template-columns:1fr}.current-image{grid-template-columns:1fr}.login-visual{min-height:300px;padding:35px}.login-visual>img{width:150px;top:30px;right:30px}.login-form-panel{padding:70px 28px 40px}}
@media(max-width:420px){.admin-stat-grid{grid-template-columns:1fr}.admin-card{padding:19px}.admin-content{width:calc(100% - 20px)}}

.admin-border-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.admin-border-card { position:relative; overflow:hidden; margin:0 !important; border-top:4px solid var(--border-admin-color); }
.admin-border-card.status-open { --border-admin-color:#2e8540; }
.admin-border-card.status-restricted { --border-admin-color:#cf8500; }
.admin-border-card.status-closed { --border-admin-color:#c41230; }
.admin-border-card::after { content:''; position:absolute; z-index:0; width:150px; height:150px; right:-75px; top:-75px; border:20px solid color-mix(in srgb,var(--border-admin-color) 10%,transparent); border-radius:50%; }
.admin-border-card > * { position:relative; z-index:1; }
.admin-border-card-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
.admin-border-card-head span:first-child { color:var(--admin-muted); font-size:.57rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.admin-border-current { padding:5px 9px; color:var(--border-admin-color); border:1px solid color-mix(in srgb,var(--border-admin-color) 34%,transparent); border-radius:999px; background:color-mix(in srgb,var(--border-admin-color) 8%,transparent); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.admin-border-route { display:flex; align-items:center; gap:8px; color:var(--admin-muted); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-border-route b { color:var(--border-admin-color); font-size:1rem; }
.admin-border-card h2 { margin:7px 0 22px; font-family:var(--serif); font-size:1.55rem; }
.admin-border-card .admin-form { gap:14px; }
.admin-border-help { margin:0 0 22px; color:var(--admin-muted); font-size:.68rem; }
@media(max-width:1180px){.admin-border-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.admin-border-grid{grid-template-columns:1fr}}

