:root{--green:#0e2a20;--green2:#173b2c;--green3:#24533f;--gold:#c7ab54;--gold2:#e3d39a;--ink:#18221d;--muted:#6e786f;--paper:#f5f4ef;--white:#fff;--line:#e5e6e1;--danger:#b44747;--shadow:0 10px 30px rgba(13,42,32,.08);--radius:16px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.admin-body{background:var(--paper)}
.sidebar{position:fixed;inset:0 auto 0 0;width:276px;background:linear-gradient(180deg,#0b2119,#102e23 70%,#0b2119);color:#fff;z-index:40;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(5,20,14,.12)}
.side-brand{height:88px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand img{width:47px;height:47px;object-fit:contain;background:#fff;border-radius:13px;padding:4px}.side-brand strong{font-size:14px;display:block;line-height:1.15}.side-brand span{display:block;font-size:11px;color:#d9c77a;letter-spacing:.12em;margin-top:5px}.side-close{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px}
.side-nav{padding:14px 12px 24px;overflow:auto;flex:1}.side-section{font-size:10px;letter-spacing:.14em;color:#91a79b;padding:17px 12px 7px;font-weight:700}.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#dfe8e3;font-size:14px;margin:2px 0;transition:.18s}.side-link svg,.side-footer svg,.icon-btn svg,.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.side-link:hover{background:rgba(255,255,255,.07);color:#fff}.side-link.active{background:linear-gradient(90deg,rgba(199,171,84,.23),rgba(199,171,84,.08));color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.side-link.active svg{color:#e4ce7e}.side-footer{padding:14px 12px 18px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px}.side-footer a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:9px;color:#cad8d0;font-size:13px}.side-footer a:hover{background:rgba(255,255,255,.07)}
.admin-shell{margin-left:276px;min-height:100vh}.admin-topbar{height:76px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:25;backdrop-filter:blur(12px)}.topbar-title span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.topbar-title b{font-size:14px}.topbar-actions{display:flex;align-items:center;gap:14px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;border-radius:11px}.icon-btn svg{width:17px;height:17px}.user-chip{display:flex;align-items:center;gap:9px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:11px;font-weight:800}.user-chip b{display:block;font-size:12px}.user-chip small{display:block;font-size:10px;color:var(--muted)}.mobile-menu{display:none;border:0;background:none;font-size:24px;color:var(--green)}
.admin-main{padding:30px 34px 22px;max-width:1560px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px}.page-head h1{font-size:30px;line-height:1.1;margin:0;font-weight:780;letter-spacing:-.03em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:14px}.admin-footer{margin-top:40px;padding:24px 0 10px;color:#879088;font-size:12px;border-top:1px solid var(--line)}.admin-footer span{float:right}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;flex-wrap:wrap}.toolbar .left,.toolbar .right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:13px}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}.btn.gold{background:var(--gold);color:#10241c}.btn.soft{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:#fff0f0;color:var(--danger);border:1px solid #f1cece}.btn.small{padding:7px 10px;font-size:12px}.btn svg{width:16px;height:16px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 3px 10px rgba(13,42,32,.025)}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef4f0;color:var(--green)}.kpi-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.kpi b{font-size:30px;display:block;margin:12px 0 2px}.kpi span{font-size:12px;color:var(--muted)}
.panel-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0;font-size:16px}.panel-body{padding:20px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-card{border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;gap:12px;align-items:center;background:#fff}.quick-card:hover{border-color:#b9cbbf;background:#fafcfb}.quick-card .qicon{width:38px;height:38px;border-radius:11px;background:#eef4f0;color:var(--green);display:grid;place-items:center}.quick-card svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.quick-card b{display:block;font-size:13px}.quick-card small{color:var(--muted);font-size:11px}
.table-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:#6e786f;background:#fafaf7;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:13px 16px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 16px;border-bottom:1px solid #eff0ec;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fcfcfa}.row-title{font-weight:750}.row-sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.actions{display:flex;gap:6px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750;background:#edf5f0;color:#285c45}.badge.draft{background:#f5f1e6;color:#8b6e1e}.badge.gray{background:#f0f1ef;color:#646d66}.badge.red{background:#fff0f0;color:#a74444}.dot{width:7px;height:7px;border-radius:50%;background:#3a9b69}
.search-box{position:relative}.search-box input{padding-left:37px;width:250px}.search-box:before{content:'⌕';position:absolute;left:13px;top:8px;color:#879088;font-size:18px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:720}.field .hint{font-size:11px;color:var(--muted);margin-top:-2px}.field input,.field textarea,.field select,.search-box input{width:100%;border:1px solid #dcded9;border-radius:10px;background:#fff;padding:10px 11px;color:var(--ink);outline:none;transition:.15s}.field input:focus,.field textarea:focus,.field select:focus,.search-box input:focus{border-color:#71917f;box-shadow:0 0 0 3px rgba(43,94,68,.08)}.field textarea{resize:vertical;min-height:120px}.form-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.split-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.meta-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;height:max-content}.meta-card h3{font-size:13px;margin:0 0 14px}.meta-card .field{margin-bottom:14px}
.toast{padding:12px 14px;border-radius:11px;margin:-8px 0 18px;font-size:13px;border:1px solid #cce4d4;background:#eff9f2;color:#22643d}.toast.error{background:#fff1f1;border-color:#f0cccc;color:#a03a3a}.notice{padding:14px 16px;border-radius:12px;background:#fff8df;border:1px solid #eddfaa;color:#735e18;font-size:13px}.empty-state{padding:54px 24px;text-align:center;background:#fff;border:1px dashed #d8dad5;border-radius:var(--radius)}.empty-icon{font-size:34px;color:var(--gold)}.empty-state h3{margin:8px 0 4px}.empty-state p{margin:0;color:var(--muted);font-size:13px}
.media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.media-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.media-thumb{aspect-ratio:1.25;background:#eef0ec;display:grid;place-items:center;overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-info{padding:10px}.media-info b{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-info small{font-size:10px;color:var(--muted)}.media-actions{display:flex;gap:5px;padding:0 10px 10px}.upload-zone{border:2px dashed #cdd6d0;border-radius:15px;padding:24px;text-align:center;background:#fbfcfa;margin-bottom:18px}.upload-zone input{margin-top:10px}
.list-clean{list-style:none;padding:0;margin:0}.list-clean li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.list-clean li:last-child{border:0}.list-clean b{font-size:13px}.list-clean small{color:var(--muted);display:block;margin-top:3px}.activity{display:grid;gap:10px}.activity-item{display:grid;grid-template-columns:9px 1fr;gap:10px}.activity-item:before{content:'';width:8px;height:8px;background:var(--gold);border-radius:50%;margin-top:6px}.activity-item b{font-size:12px}.activity-item span{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.login-page{min-height:100vh;background:radial-gradient(circle at 50% 35%,#214937 0,#123227 37%,#0b2119 72%);display:grid;place-items:center;padding:25px}.login-card{width:min(440px,94vw);background:#fff;border-radius:22px;padding:34px;box-shadow:0 30px 70px rgba(0,0,0,.22);position:relative;z-index:5}.login-logo{display:flex;align-items:center;gap:13px;margin-bottom:27px}.login-logo img{width:62px;height:62px;object-fit:contain}.login-logo span{display:block;color:#a6872d;font-size:10px;letter-spacing:.14em;font-weight:800}.login-logo h1{font-size:20px;margin:4px 0 0}.login-card .field{margin-bottom:13px}.login-card .btn{width:100%;justify-content:center;padding:12px;margin-top:6px}.login-note{text-align:center;font-size:10px;color:#879088;margin-top:16px}.login-error{background:#fff0f0;border:1px solid #f0cccc;color:#a03d3d;padding:10px 12px;border-radius:9px;font-size:12px;margin-bottom:12px}
.admin-overlay{display:none}.hide-mobile{display:inline}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(4,1fr)}.split-editor{grid-template-columns:1fr}.meta-card{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.meta-card h3{grid-column:1/-1}.meta-card .field{margin:0}}
@media(max-width:1024px){.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:translateX(0)}.admin-shell{margin-left:0}.mobile-menu{display:block}.side-close{display:block}.admin-overlay.show{display:block;position:fixed;inset:0;background:rgba(4,15,11,.46);z-index:35}.admin-topbar{padding:0 20px}.admin-main{padding:24px 20px}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.admin-topbar{height:68px}.topbar-title span,.user-chip div{display:none}.topbar-actions{gap:8px}.admin-main{padding:20px 14px}.page-head h1{font-size:25px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:15px}.kpi b{font-size:24px}.panel-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.meta-card{grid-template-columns:1fr}.table-card{overflow:auto}.data-table{min-width:760px}.toolbar{align-items:stretch}.toolbar .left,.toolbar .right{width:100%}.search-box{flex:1}.search-box input{width:100%}.media-grid{grid-template-columns:repeat(2,1fr)}.page-head{display:block}.page-head .btn{margin-top:12px}.hide-mobile{display:none}}
@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.login-card{padding:26px 22px}}

/* v4 modules */
.admin-section-title{font-size:15px;margin:28px 0 15px;padding-top:22px;border-top:1px solid var(--line);letter-spacing:-.01em}.admin-section-title:first-child{margin-top:0;padding-top:0;border-top:0}.privacy-admin-row{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;padding:18px;margin:0 0 14px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.check-grid label{background:#fafbf8;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:12px;font-weight:700}.status-card{border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid}.status-card b{display:block;font-size:14px}.status-card span{font-size:12px;color:var(--muted)}.ok-status{background:#eff8f1;border-color:#cbe4d0}.warn-status{background:#fff7df;border-color:#ead9a6}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.color-field{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-field input[type=color]{height:42px;padding:3px;border-radius:10px;border:1px solid var(--line);background:#fff}.config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.config-status{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.config-status .qicon{width:42px;height:42px;border-radius:12px;background:#eef4f0;color:var(--green);display:grid;place-items:center}.config-status .qicon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.config-status b{display:block;font-size:13px}.config-status small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.permalink-list{display:grid;gap:9px}.permalink-option{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:flex-start;padding:14px 15px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fff}.permalink-option:hover{border-color:#bdcbbf}.permalink-option input{margin-top:3px}.permalink-option b{display:block;font-size:13px;margin-bottom:5px}.permalink-option code{display:inline-block;background:#f0f1ee;padding:5px 7px;border-radius:6px;color:#435247;font-size:12px}.custom-structure{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.custom-structure span{font-size:12px;color:#68736d}.custom-structure input{min-width:280px;border:1px solid #dcded9;border-radius:8px;padding:8px}.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.tag-list span{font-size:11px;color:var(--muted);align-self:center}.tag-list button{border:1px solid #cfd7d1;background:#fff;color:#315b45;border-radius:7px;padding:7px 9px;cursor:pointer;font-size:11px;font-weight:700}.permalink-preview{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.permalink-preview b{display:block;font-size:11px;margin-bottom:5px}.permalink-preview code{display:block;word-break:break-all;font-size:10px;color:#587064;background:#f5f7f4;border-radius:7px;padding:8px}.recaptcha-wrap{margin:12px 0}.login-card .recaptcha-wrap{transform-origin:left top;max-width:304px;overflow:hidden}
@media(max-width:1100px){.color-grid{grid-template-columns:1fr 1fr}.config-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.custom-structure{grid-template-columns:1fr}.custom-structure input{min-width:0;width:100%}}
@media(max-width:720px){.color-grid{grid-template-columns:1fr}.status-card{display:block}.status-card span{display:block;margin-top:5px}.permalink-option{grid-template-columns:22px 1fr}.login-card .recaptcha-wrap{transform:scale(.9);margin-bottom:-8px}}
