:root { --navy:#13243a; --navy-2:#1e344f; --teal:#1ca6a8; --orange:#f36b35; --bg:#f3f6f7; --line:#d8e2e4; --muted:#657780; --white:#fff; }
* { box-sizing:border-box; }
html { color:var(--navy); background:var(--bg); font-family:Inter,Segoe UI,Arial,sans-serif; }
body { margin:0; }
button,input,textarea,select { font:inherit; }
a { color:inherit; text-decoration:none; }
.admin-header { position:sticky; z-index:20; top:0; display:flex; min-height:72px; align-items:center; justify-content:space-between; padding:0 max(24px,calc((100vw - 1240px)/2)); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.admin-brand { display:flex; align-items:center; gap:12px; font-weight:900; }
.admin-brand img { width:176px; }
.admin-brand span { padding:5px 9px; color:#fff; border-radius:7px; background:var(--navy); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.admin-header nav { display:flex; align-items:center; gap:22px; font-size:13px; font-weight:800; }
.admin-header nav form { margin:0; }
.admin-header nav button { padding:0; color:var(--muted); border:0; background:none; cursor:pointer; }
.primary-link { color:var(--teal); }
.admin-main { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:58px 0 90px; }
.admin-main.narrow { width:min(760px,calc(100% - 40px)); }
.dashboard-hero,.page-title,.editor-topbar { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.admin-kicker { color:var(--teal); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin:10px 0 8px; font-size:clamp(34px,5vw,56px); letter-spacing:-.04em; }
h2 { letter-spacing:-.025em; }
.dashboard-hero p,.muted,.login-card p { color:var(--muted); line-height:1.6; }
.primary-button,.ghost-button,.danger-button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 16px; border-radius:10px; border:1px solid transparent; font-weight:900; cursor:pointer; }
.primary-button { color:#fff; background:var(--orange); }
.primary-button:hover { background:#da5829; }
.primary-button.big { min-height:50px; padding-inline:22px; }
.ghost-button { color:var(--navy); border-color:var(--line); background:#fff; }
.danger-button { color:#b52d2d; border-color:#efc1c1; background:#fff5f5; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.project-card,.panel,.login-card { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 14px 34px rgba(19,36,58,.06); }
.project-card { display:flex; min-height:290px; flex-direction:column; padding:24px; }
.project-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.status { padding:6px 9px; border-radius:999px; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.status.live { color:#157b61; background:#e8f8f2; }
.status.draft { color:#8b6715; background:#fff5d9; }
.updated { color:#829299; font-size:11px; }
.project-card h2 { margin:24px 0 9px; font-size:24px; }
.project-url { color:#17788e; font-size:13px; font-weight:800; }
.project-stats { display:flex; gap:24px; margin:auto 0 22px; padding-top:26px; color:var(--muted); font-size:12px; }
.project-stats span { display:grid; gap:4px; }
.project-stats b { color:var(--navy); font-size:15px; }
.project-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.empty-state { padding:50px; color:var(--muted); border:1px dashed #b9cbce; border-radius:18px; background:#fff; text-align:center; }
.panel { margin-bottom:18px; padding:28px; }
.panel h2 { margin-bottom:22px; font-size:25px; }
.stack-form,.form-grid { display:grid; gap:18px; }
.form-grid { grid-template-columns:1fr 1fr; }
label,.field-title { display:grid; gap:7px; color:#31465a; font-size:12px; font-weight:900; }
label small { color:var(--muted); font-weight:500; }
input,textarea,select { width:100%; min-height:44px; padding:10px 12px; color:var(--navy); border:1px solid #cbd8da; border-radius:9px; outline:none; background:#fff; }
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(28,166,168,.12); }
.domain-input { display:flex; align-items:center; border:1px solid #cbd8da; border-radius:9px; overflow:hidden; }
.domain-input:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(28,166,168,.12); }
.domain-input input { border:0; box-shadow:none !important; }
.domain-input span { padding:0 12px; color:var(--muted); font-weight:700; white-space:nowrap; }
.form-error,.form-success { padding:12px 14px; border-radius:9px; font-size:13px; font-weight:800; }
.form-error { color:#9b2929; background:#fff0f0; }
.form-success { color:#157b61; background:#e8f8f2; }
.login-wrap { display:grid; min-height:calc(100vh - 72px); padding:30px; place-items:center; }
.login-card { width:min(440px,100%); padding:34px; }
.login-card h1 { font-size:40px; }
.editor-main { width:min(1460px,calc(100% - 34px)); }
.editor-topbar { position:sticky; z-index:15; top:72px; align-items:center; margin:-20px 0 22px; padding:18px 22px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.97); box-shadow:0 10px 25px rgba(19,36,58,.07); }
.editor-topbar h1 { display:inline; margin:0 16px 0 0; font-size:27px; }
.back-link { display:block; margin-bottom:7px; color:var(--muted); font-size:12px; font-weight:800; }
.editor-actions { display:flex; align-items:center; gap:9px; }
#save-status { color:var(--muted); font-size:12px; }
.editor-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:20px; align-items:start; }
.editor-nav { position:sticky; top:174px; display:grid; gap:5px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.editor-nav button { padding:12px 13px; color:#53646d; border:0; border-radius:9px; background:transparent; text-align:left; font-weight:800; cursor:pointer; }
.editor-nav button.active { color:#fff; background:var(--navy); }
.editor-tab { display:none; }
.editor-tab.active { display:block; }
.repeat-row,.benefit-edit { display:grid; grid-template-columns:1fr auto; gap:8px; margin-bottom:8px; }
.benefit-edit { grid-template-columns:1fr 2fr auto; }
.icon-button { width:42px; min-height:42px; color:#9f3b3b; border:1px solid #edcccc; border-radius:9px; background:#fff7f7; cursor:pointer; }
.inline-add { min-height:38px; padding:0 12px; color:#167e80; border:1px dashed #69bfc0; border-radius:9px; background:#f1fbfb; font-weight:900; cursor:pointer; }
.media-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.media-field { display:grid; gap:11px; }
.media-preview { display:grid; min-height:220px; overflow:hidden; place-items:center; border:1px solid var(--line); border-radius:12px; background:#eef3f4; }
.media-preview img { width:100%; height:260px; object-fit:contain; }
.panel-heading,.section-editor-head,.item-edit,.estimate-section-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.estimate-section-editor { margin-bottom:14px; overflow:hidden; border:1px solid var(--line); border-radius:13px; }
.section-editor-head { padding:14px; background:#edf3f4; }
.section-editor-head .fields { display:grid; flex:1; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; }
.section-editor-head label { display:flex; align-items:center; gap:7px; }
.section-editor-head input[type=checkbox] { width:18px; min-height:18px; }
.item-edit { display:grid; grid-template-columns:minmax(240px,1fr) 90px 84px 120px 42px; padding:8px 14px; border-top:1px solid #e4ebec; }
.item-edit input { min-height:39px; }
.section-footer { display:flex; justify-content:space-between; padding:10px 14px; border-top:1px solid #e4ebec; background:#fafcfc; }
.switch-row { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; padding:16px; border:1px solid var(--line); border-radius:12px; }
.switch-row input { width:20px; min-height:20px; }
.switch-row span { display:grid; gap:5px; }
.switch-row small { color:var(--muted); }
.publish-url { margin:22px 0; padding:16px; border-radius:10px; background:#eef5f5; font-family:ui-monospace,Consolas,monospace; }
hr { margin:26px 0; border:0; border-top:1px solid var(--line); }
@media(max-width:1000px){.project-grid{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:1fr}.editor-nav{position:static;grid-template-columns:repeat(3,1fr)}.editor-topbar{position:static}.media-grid{grid-template-columns:1fr}}
@media(max-width:680px){.admin-header{padding:0 16px}.admin-header nav>a:first-child{display:none}.admin-brand img{width:145px}.admin-main{width:min(100% - 24px,1240px);padding-top:28px}.dashboard-hero,.page-title,.editor-topbar{align-items:stretch;flex-direction:column}.project-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.editor-nav{grid-template-columns:1fr 1fr}.editor-actions{width:100%}.editor-actions button{flex:1}.benefit-edit{grid-template-columns:1fr 42px}.benefit-edit input:nth-child(2){grid-column:1/-1;grid-row:2}.item-edit{grid-template-columns:1fr 1fr}.item-edit input:first-child{grid-column:1/-1}.section-editor-head .fields{grid-template-columns:1fr}.domain-input span{font-size:11px}}
