:root { --navy:#0b2c57; --blue:#1f4f9e; --green:#07975a; --red:#bb3434; --line:#dfe7f0; --muted:#68788b; --surface:#f3f6fa; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,"Segoe UI",sans-serif; color:#15263b; background:var(--surface); }
a { color:inherit; }
.admin-body { min-height:100vh; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 75% 10%,#dceefe,transparent 34%),linear-gradient(135deg,#eef4fa,#f8fafc); }
.login-card { width:min(100%,430px); display:grid; padding:38px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 60px rgba(22,51,83,.13); }
.login-brand { width:92px; margin-bottom:22px; }
.login-brand img { display:block; width:100%; height:78px; object-fit:contain; }
.admin-kicker { color:#1975bd; font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.login-card h1,.admin-title h1 { margin:8px 0 9px; color:var(--navy); font-size:1.8rem; letter-spacing:-.035em; }
.login-card > p,.admin-title p { margin:0 0 25px; color:var(--muted); font-size:.84rem; line-height:1.6; }
.login-card label,.editor-fields label { display:grid; gap:7px; margin-top:15px; color:#35475c; font-size:.76rem; font-weight:700; }
input[type=text],input[type=password],input[type=number],textarea,select { width:100%; min-height:44px; padding:10px 12px; color:#182b42; background:#fff; border:1px solid #ccd8e5; border-radius:9px; outline:none; font:500 .83rem Inter,sans-serif; }
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:#4b91d0; box-shadow:0 0 0 4px rgba(31,105,174,.1); }
.admin-button { min-height:45px; padding:0 18px; border:0; border-radius:9px; font:700 .8rem Inter,sans-serif; cursor:pointer; }
.admin-button.primary { margin-top:22px; color:#fff; background:var(--blue); }
.admin-button.primary:hover { background:var(--navy); }
.admin-button.secondary { margin-top:22px; color:#405267; background:#e9eef4; }
.admin-button.compact { margin:0; min-height:42px; }
.back-link { margin-top:20px; color:#557089; font-size:.74rem; text-align:center; text-decoration:none; }
.admin-alert { margin:0 0 20px; padding:12px 15px; border-radius:9px; font-size:.78rem; }
.admin-alert.error { color:#8c2929; background:#fff0f0; border:1px solid #efc5c5; }
.admin-alert.success { color:#176b43; background:#eaf8f1; border:1px solid #bde5d0; }
.admin-container { width:min(1180px,calc(100% - 36px)); margin-inline:auto; }
.admin-header { min-height:70px; display:flex; align-items:center; background:#fff; border-bottom:1px solid var(--line); }
.admin-header .admin-container { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.admin-brand { display:flex; align-items:center; gap:11px; text-decoration:none; }
.admin-brand img { width:55px; height:46px; object-fit:contain; }
.admin-brand span { display:grid; gap:2px; }
.admin-brand strong { color:var(--navy); font-size:.88rem; }
.admin-brand small { color:var(--muted); font-size:.66rem; }
.admin-header-actions { display:flex; gap:9px; }
.admin-header-actions a { padding:9px 12px; color:#466078; background:#f0f4f8; border-radius:8px; font-size:.72rem; font-weight:700; text-decoration:none; }
.admin-main { padding-block:42px 70px; }
.admin-title { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.admin-title p { margin-bottom:0; }
.admin-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:22px; align-items:start; }
.module-list-panel,.editor-panel { background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 8px 30px rgba(25,52,83,.055); overflow:hidden; }
.editor-panel { position:sticky; top:20px; }
.panel-head { min-height:55px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 19px; border-bottom:1px solid var(--line); }
.panel-head strong { color:var(--navy); font-size:.83rem; }
.panel-head span { color:var(--muted); font-size:.7rem; }
.panel-head a { color:#708195; font-size:1.25rem; text-decoration:none; }
.admin-module-list { display:grid; }
.admin-module { display:grid; grid-template-columns:45px 1fr auto; gap:14px; align-items:center; padding:16px 18px; border-bottom:1px solid #edf1f5; }
.admin-module:last-child { border-bottom:0; }
.admin-module.disabled { opacity:.57; background:#f7f8fa; }
.admin-module-icon { width:43px; height:43px; display:grid; place-items:center; color:#fff; background:#2468bb; border-radius:11px; font-size:1rem; font-weight:800; }
.admin-module-icon.green{background:#049b5b}.admin-module-icon.orange{background:#e87517}.admin-module-icon.red{background:#d84c4c}.admin-module-icon.cyan{background:#1689ad}.admin-module-icon.pink{background:#be4f7c}.admin-module-icon.violet{background:#6851bd}.admin-module-icon.teal{background:#087c78}
.admin-module-copy { min-width:0; display:grid; gap:5px; }
.admin-module-copy strong { color:#1b334f; font-size:.82rem; }
.admin-module-copy span { color:var(--muted); font-size:.7rem; line-height:1.45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-module-copy small { color:#8b9aab; font-size:.63rem; }
.admin-module-actions { display:flex; gap:6px; }
.admin-module-actions a { padding:7px 9px; color:#2869a6; background:#edf5fc; border-radius:7px; font-size:.67rem; font-weight:700; text-decoration:none; }
.admin-module-actions a.delete { color:#a33a3a; background:#fff0f0; }
.editor-fields { padding:5px 20px 22px; }
.editor-fields label span { color:#d14848; }
.editor-fields label small { color:#8492a2; font-size:.65rem; font-weight:500; }
.editor-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.checkbox-field { display:flex!important; grid-template-columns:auto 1fr; align-items:center; }
.checkbox-field input { width:17px; height:17px; }
.editor-actions { display:flex; gap:9px; }
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.editor-panel{position:static}.admin-title{align-items:stretch;flex-direction:column}.admin-button.compact{align-self:start}}
@media(max-width:600px){.login-card{padding:28px 22px}.admin-container{width:min(100% - 22px,1180px)}.admin-header-actions a:first-child{display:none}.admin-module{grid-template-columns:42px 1fr}.admin-module-actions{grid-column:2;justify-content:flex-start}.editor-row{grid-template-columns:1fr}.editor-actions{display:grid}.editor-actions .admin-button{margin-top:10px}}
