@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Ubuntu:wght@400;500;700&display=swap");
:root { --ink:#172433; --navy:#102c47; --bronze:#c18b49; --paper:#f2f1ed; --white:#fff; --line:#d9dde1; --muted:#6b7580; --danger:#a43131; --green:#1d7657; --shadow:0 18px 55px rgba(13,30,47,.12); }
* { box-sizing:border-box; }
body { margin:0; font-family:Montserrat,Arial,sans-serif; color:var(--ink); background:var(--paper); }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.admin-body { min-height:100vh; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; width:265px; padding:25px 20px; display:flex; flex-direction:column; z-index:20; background:#0c1c2c; color:#fff; }
.admin-brand { padding:0 8px 25px; border-bottom:1px solid rgba(255,255,255,.12); }
.admin-brand img { width:190px; filter:brightness(0) invert(1); }
.admin-brand span { display:block; margin-top:10px; color:rgba(255,255,255,.55); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.admin-sidebar nav { margin-top:25px; display:grid; gap:5px; }
.admin-sidebar nav a { padding:13px 15px; display:flex; align-items:center; justify-content:space-between; border-radius:8px; color:rgba(255,255,255,.72); font-size:.86rem; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.is-active { background:rgba(255,255,255,.1); color:#fff; }
.nav-count { min-width:26px; padding:3px 6px; border-radius:12px; background:var(--bronze); color:#fff; text-align:center; font-size:.67rem; }
.admin-sidebar-bottom { margin-top:auto; padding:20px 8px 0; display:grid; gap:10px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.55); font-size:.72rem; }
.admin-sidebar-bottom a { color:#fff; }
.admin-main { min-height:100vh; margin-left:265px; padding:0 38px 40px; }
.admin-topbar { min-height:106px; display:flex; align-items:center; gap:18px; }
.admin-topbar h1 { margin:0; font-family:Ubuntu,Arial,sans-serif; font-size:2rem; font-weight:700; }
.admin-topbar p { margin:5px 0 0; color:var(--muted); font-size:.78rem; }
.admin-menu-toggle { display:none; }
.admin-flash { margin:0 0 22px; padding:14px 17px; border-radius:8px; font-size:.84rem; }
.admin-flash-success { background:#def3e8; color:#155d44; }
.admin-flash-error { background:#f7dddd; color:#8d2727; }
.admin-panel { margin-bottom:25px; padding:27px; border:1px solid #e0e2e4; border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(16,35,52,.04); }
.panel-head { margin-bottom:23px; display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.panel-head h2 { margin:0; font-family:Ubuntu,Arial,sans-serif; font-size:1.65rem; font-weight:500; }
.panel-head p { margin:6px 0 0; color:var(--muted); font-size:.79rem; }
.dashboard-stats { margin-bottom:25px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.dashboard-stats a { min-height:145px; padding:25px; display:flex; flex-direction:column; justify-content:space-between; border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(16,35,52,.05); }
.dashboard-stats strong { font-family:Ubuntu,Arial,sans-serif; font-size:3rem; font-weight:500; color:var(--bronze); }
.dashboard-stats span { font-size:.8rem; color:var(--muted); }
.admin-grid-two { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.quick-actions a { min-height:78px; padding:16px; display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; font-size:.82rem; }
.quick-actions a:hover { border-color:var(--bronze); background:#fbf7f0; }
.path-box { padding:14px; border-radius:7px; background:#eef1f4; color:#44515e; font-family:monospace; font-size:.72rem; overflow-wrap:anywhere; }
.status-list { margin:18px 0 0; padding:0; list-style:none; }
.status-list li { padding:11px 0; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); font-size:.78rem; }
.status-list b { color:var(--green); }
.workflow-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.workflow-grid article { min-height:220px; padding:23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.workflow-grid b { color:var(--bronze); font-family:Ubuntu,Arial,sans-serif; font-size:1.7rem; }
.workflow-grid h3 { margin:45px 0 8px; font-size:1rem; }
.workflow-grid p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.6; }
.admin-list-cards { display:grid; gap:10px; }
.admin-list-cards a { padding:20px; display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); border-radius:9px; transition:.2s ease; }
.admin-list-cards a:hover { border-color:var(--bronze); transform:translateX(3px); }
.admin-list-cards strong { display:block; font-size:.95rem; }
.admin-list-cards p { margin:5px 0 0; color:var(--muted); font-size:.76rem; }
.admin-list-cards span { color:var(--bronze); font-size:.76rem; white-space:nowrap; }
.admin-list-cards.compact { grid-template-columns:1fr 1fr; }
.service-admin-group + .service-admin-group { margin-top:35px; }
.service-admin-group > h3 { margin:0 0 12px; color:var(--bronze); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.editor-toolbar { position:sticky; z-index:10; top:0; margin:0 0 22px; padding:15px 18px; display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.96); box-shadow:var(--shadow); }
.editor-toolbar > div:last-child { display:flex; gap:10px; }
.editor-toolbar a { color:var(--bronze); font-size:.78rem; }
.editor-toolbar p { margin:4px 0 0; color:var(--muted); font-size:.68rem; }
.editor-toolbar code { font-size:.65rem; }
.admin-primary-button,.admin-secondary-button,.inline-admin-form button,.media-meta-form button,.media-actions button { min-height:42px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--navy); border-radius:7px; background:var(--navy); color:#fff!important; font-size:.75rem; }
.admin-secondary-button { background:#fff; color:var(--navy)!important; }
.editor-group { margin-bottom:20px; padding:23px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.editor-group.depth-1 { background:#fafafa; }
.editor-group.depth-2 { padding:17px; background:#fff; }
.editor-group-head { margin-bottom:17px; padding-bottom:11px; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.editor-group-head h2 { margin:0; font-family:Ubuntu,Arial,sans-serif; font-size:1.35rem; font-weight:500; }
.editor-group-head span { color:#9aa1a8; font-family:monospace; font-size:.65rem; }
.editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.editor-group .editor-group { grid-column:1/-1; margin:0; }
.editor-field { display:grid; gap:7px; align-content:start; }
.editor-field > label { color:#4e5965; font-size:.72rem; font-weight:600; }
.editor-field input[type=text],.editor-field input[type=number],.editor-field textarea,.editor-field select { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:7px; background:#fff; outline:0; font-size:.79rem; }
.editor-field textarea { resize:vertical; line-height:1.55; }
.editor-field input:focus,.editor-field textarea:focus { border-color:var(--bronze); box-shadow:0 0 0 3px rgba(193,139,73,.1); }
.editor-field small { color:#8a9299; font-size:.66rem; }
.input-with-action { display:flex; gap:8px; }
.input-with-action input { min-width:0; flex:1; }
.media-pick-button { padding:0 12px; border:1px solid var(--bronze); border-radius:7px; background:#fff7ed; color:#8f622b; font-size:.7rem; white-space:nowrap; }
.switch { display:flex!important; align-items:center; gap:10px!important; font-weight:400!important; }
.switch input { position:absolute; opacity:0; }
.switch span { width:45px; height:24px; padding:3px; border-radius:20px; background:#cbd0d4; transition:.2s; }
.switch span::after { content:""; display:block; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.switch input:checked + span { background:var(--green); }
.switch input:checked + span::after { transform:translateX(21px); }
.switch b { font-size:.72rem; font-weight:500; }
.editor-save-bottom { padding:20px 0 10px; text-align:right; }
.media-toolbar-grid { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:15px; align-items:end; }
.media-toolbar-grid form { min-width:0; }
.media-toolbar-grid label { display:grid; gap:6px; color:#56616b; font-size:.7rem; }
.media-toolbar-grid select,.media-toolbar-grid input[type=text],.media-toolbar-grid input[type=file] { width:100%; min-height:43px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:.75rem; }
.inline-admin-form { display:flex; gap:8px; align-items:end; }
.inline-admin-form label { flex:1; }
.media-admin-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.media-admin-card { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; }
.media-thumb { position:relative; width:100%; height:210px; padding:0; border:0; background:#e8e8e4; }
.media-thumb img { width:100%; height:100%; object-fit:cover; }
.media-thumb span { position:absolute; left:9px; bottom:9px; padding:5px 8px; border-radius:4px; background:rgba(12,28,44,.9); color:#fff; font-size:.68rem; }
.media-thumb.is-picker::after { content:"Choose"; position:absolute; top:9px; right:9px; padding:5px 8px; border-radius:4px; background:var(--bronze); color:#fff; font-size:.65rem; }
.media-meta-form { padding:13px; display:grid; gap:9px; }
.media-meta-form label { display:grid; gap:4px; color:#5c6670; font-size:.64rem; }
.media-meta-form input[type=text] { min-height:36px; padding:7px 9px; border:1px solid var(--line); border-radius:5px; font-size:.7rem; }
.media-checks { display:flex; gap:15px; font-size:.68rem; }
.media-actions { padding:0 13px 13px; }
.media-actions summary { color:var(--bronze); font-size:.68rem; cursor:pointer; }
.media-actions form { margin-top:8px; display:flex; gap:6px; }
.media-actions input { min-width:0; flex:1; padding:7px; border:1px solid var(--line); border-radius:5px; font-size:.7rem; }
.media-actions button { min-height:34px; padding-inline:10px; font-size:.65rem; }
.media-actions .danger { background:var(--danger); border-color:var(--danger); }
.admin-pagination { margin-top:25px; display:flex; flex-wrap:wrap; gap:6px; }
.admin-pagination a { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:5px; background:#fff; font-size:.7rem; }
.admin-pagination a.is-active { background:var(--navy); color:#fff; }
.empty-state { padding:55px; border:1px dashed var(--line); text-align:center; }
.empty-state h3 { margin:0 0 8px; }
.empty-state p { margin:0; color:var(--muted); font-size:.8rem; }
.quote-admin-list { display:grid; gap:16px; }
.quote-admin-card { padding:21px; border:1px solid var(--line); border-radius:9px; }
.quote-admin-head { display:flex; justify-content:space-between; gap:20px; }
.quote-admin-head strong,.quote-admin-head span { display:block; }
.quote-admin-head strong { font-size:1rem; }
.quote-admin-head span { margin-top:3px; color:var(--bronze); font-size:.72rem; }
.quote-admin-head time { color:var(--muted); font-size:.7rem; }
.quote-admin-grid { margin:18px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.quote-admin-grid div { padding:10px; background:#f4f5f5; }
.quote-admin-grid small,.quote-admin-grid span,.quote-admin-grid a { display:block; }
.quote-admin-grid small,.quote-details small,.quote-files small { color:#8a9299; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }
.quote-admin-grid span,.quote-admin-grid a { margin-top:5px; font-size:.75rem; }
.quote-details p { margin:6px 0 0; color:#56616b; font-size:.78rem; }
.quote-files { margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.quote-files a { padding:7px 10px; border-radius:5px; background:#eef2f4; font-size:.68rem; }
.admin-footer { padding:20px 0; color:#90979d; font-size:.66rem; }
.login-body { min-height:100vh; display:grid; place-items:center; padding:30px; background:#0d1d2d; }
.login-shell { width:min(980px,100%); min-height:600px; display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border-radius:18px; box-shadow:0 30px 100px rgba(0,0,0,.25); }
.login-brand { padding:60px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(160deg,#122f4b,#091827); color:#fff; }
.login-brand img { width:220px; margin-bottom:auto; filter:brightness(0) invert(1); }
.login-brand > span { color:#d1a66c; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; }
.login-brand h1 { margin:12px 0 15px; font-family:Ubuntu,Arial,sans-serif; font-size:3rem; font-weight:700; line-height:1.08; }
.login-brand p { margin:0; color:rgba(255,255,255,.6); }
.login-card { padding:60px; display:flex; flex-direction:column; justify-content:center; background:#fff; }
.login-kicker { color:var(--bronze); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.login-card h2 { margin:12px 0; font-family:Ubuntu,Arial,sans-serif; font-size:2.5rem; font-weight:700; }
.login-card > p { margin:0 0 23px; color:var(--muted); font-size:.82rem; }
.login-card form { display:grid; gap:13px; }
.login-card label { display:grid; gap:7px; color:#56616b; font-size:.72rem; }
.login-card input { height:52px; padding:0 14px; border:1px solid var(--line); border-radius:7px; font-size:.9rem; }
.login-card button { height:52px; border:0; border-radius:7px; background:var(--navy); color:#fff; }
.otp-input { font-size:1.5rem!important; letter-spacing:.35em; text-align:center; }
.login-alert { margin-bottom:17px; padding:12px; border-radius:6px; font-size:.75rem; }
.login-alert.error { background:#f7dddd; color:#8d2727; }
.login-alert.success { background:#def3e8; color:#155d44; }
.reset-form { margin-top:10px; }
.reset-form button { height:auto!important; background:transparent!important; color:var(--bronze)!important; text-align:left; }
.login-back { margin-top:25px; color:var(--muted); font-size:.72rem; }
@media(max-width:1100px){.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.is-open{transform:none}.admin-main{margin-left:0;padding-inline:22px}.admin-menu-toggle{display:block;border:0;background:#0c1c2c;color:#fff;width:42px;height:42px;border-radius:7px}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.media-admin-grid{grid-template-columns:repeat(3,1fr)}.workflow-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-grid-two,.editor-fields,.admin-list-cards.compact,.media-toolbar-grid,.login-shell{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}.workflow-grid{grid-template-columns:1fr}.media-admin-grid{grid-template-columns:repeat(2,1fr)}.quote-admin-grid{grid-template-columns:repeat(2,1fr)}.editor-toolbar{position:static;align-items:flex-start;flex-direction:column}.editor-toolbar>div:last-child{width:100%;flex-wrap:wrap}.login-brand{display:none}.login-card{padding:38px}.login-shell{min-height:auto}.admin-main{padding-inline:14px}.admin-panel{padding:18px}}
@media(max-width:500px){.dashboard-stats,.media-admin-grid,.quote-admin-grid{grid-template-columns:1fr}.media-thumb{height:260px}.admin-topbar h1{font-size:1.55rem}}

/* Westline V5.2 admin additions */
.dashboard-stats { grid-template-columns: repeat(5, 1fr); }
@media(max-width:1350px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.dashboard-stats{grid-template-columns:1fr}}

/* V5.5 administrator access */
.admin-grid-two { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:24px; }
.admin-count-badge { min-width:38px; height:38px; padding:0 10px; display:grid; place-items:center; border-radius:20px; background:#e9f0f5; color:#153451; font-weight:700; }
.admin-access-list { display:grid; border-top:1px solid #e5e9ed; }
.admin-access-row { min-height:78px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:14px; border-bottom:1px solid #e5e9ed; }
.admin-access-avatar { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#153451; color:#fff; font-weight:700; }
.admin-access-copy { min-width:0; }
.admin-access-copy strong { display:block; overflow-wrap:anywhere; color:#172433; }
.admin-access-copy span { display:block; margin-top:3px; color:#74808b; font-size:.76rem; }
.admin-owner-badge,.admin-current-badge { padding:7px 10px; border-radius:4px; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.admin-owner-badge { background:#f4e4ca; color:#8d5a1d; }
.admin-current-badge { background:#e7f1ec; color:#2e6847; }
.admin-danger-button { padding:8px 11px; border:1px solid #d9a6a6; background:#fff; color:#a23c3c; border-radius:4px; cursor:pointer; }
.admin-simple-form { display:grid; gap:16px; }
.admin-simple-form label { display:grid; gap:7px; color:#34404c; font-weight:600; font-size:.78rem; }
.admin-simple-form input { min-height:48px; padding:10px 12px; border:1px solid #d8dee4; border-radius:4px; }
.admin-simple-form button { min-height:48px; border:0; border-radius:4px; background:#c58d45; color:#fff; font-weight:700; cursor:pointer; }
.admin-owner-note { margin-top:24px; padding:18px; background:#f5f2ec; border-left:3px solid #c58d45; }
.admin-owner-note p { margin:6px 0 0; color:#68737d; font-size:.78rem; line-height:1.55; overflow-wrap:anywhere; }
@media (max-width:900px){ .admin-grid-two{grid-template-columns:1fr;} }
@media (max-width:560px){ .admin-access-row{grid-template-columns:38px minmax(0,1fr); padding:12px 0;} .admin-access-row>form,.admin-owner-badge,.admin-current-badge{grid-column:2; justify-self:start;} }
.dashboard-stats { grid-template-columns: repeat(6, minmax(0,1fr)); }
@media(max-width:1450px){.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:500px){.dashboard-stats{grid-template-columns:1fr;}}

/* Westline V5.6 quote storage, delivery and workflow */
.quote-health-panel { background:linear-gradient(135deg,#f7f9fa,#fff); }
.quote-health-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.quote-health-item { min-width:0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.quote-health-item small,.quote-health-item strong,.quote-health-item span { display:block; }
.quote-health-item small { color:#87919a; font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; }
.quote-health-item strong { margin-top:6px; font-size:.92rem; }
.quote-health-item span { margin-top:5px; color:#6f7b85; font-size:.68rem; line-height:1.45; overflow-wrap:anywhere; }
.quote-health-item.is-good { border-left:4px solid #3c8a65; }
.quote-health-item.is-good strong { color:#276548; }
.quote-health-item.is-bad { border-left:4px solid #b44a4a; }
.quote-health-item.is-bad strong { color:#963b3b; }
.quote-list-heading { align-items:flex-end; }
.quote-filter-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.quote-filter-tabs a { padding:8px 11px; border:1px solid var(--line); border-radius:5px; background:#fff; color:#53606c; font-size:.68rem; font-weight:700; }
.quote-filter-tabs a.is-active { border-color:var(--navy); background:var(--navy); color:#fff; }
.quote-admin-card { position:relative; overflow:hidden; }
.quote-admin-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#d1a15f; }
.quote-admin-card.quote-status-processed::before { background:#3c8a65; }
.quote-admin-identity { min-width:0; }
.quote-admin-date { text-align:right; }
.quote-admin-date small { display:block; margin-top:5px; color:#929aa1; font-size:.62rem; }
.quote-status-row { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.quote-status-badge,.mail-status-badge { display:inline-flex!important; width:max-content; margin:0!important; padding:5px 8px; border-radius:999px; font-size:.6rem!important; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.quote-status-badge.unprocessed { background:#fff0d9; color:#955d16!important; }
.quote-status-badge.processed { background:#e2f2e9; color:#266346!important; }
.mail-status-badge { background:#edf1f4; color:#5b6873!important; }
.mail-status-badge.sent { background:#e2f2e9; color:#266346!important; }
.mail-status-badge.partial { background:#fff0d9; color:#955d16!important; }
.mail-status-badge.failed { background:#f7dddd; color:#8d2727!important; }
.quote-delivery-summary { margin-top:14px; display:grid; gap:5px; padding:11px 12px; border-radius:6px; background:#f5f7f8; color:#63707b; font-size:.68rem; overflow-wrap:anywhere; }
.quote-delivery-summary .has-failure { color:#993f3f; }
.quote-admin-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; padding-top:16px; border-top:1px solid var(--line); }
.admin-action-button { min-height:38px; padding:0 13px; border:1px solid transparent; border-radius:5px; cursor:pointer; font-size:.68rem; font-weight:800; }
.admin-action-button.primary { background:var(--navy); color:#fff; }
.admin-action-button.secondary { border-color:var(--line); background:#fff; color:#42505c; }
@media(max-width:900px){.quote-health-grid{grid-template-columns:1fr}.quote-list-heading{align-items:flex-start;flex-direction:column}.quote-admin-head{align-items:flex-start;flex-direction:column}.quote-admin-date{text-align:left}}
@media(max-width:560px){.quote-filter-tabs{width:100%}.quote-filter-tabs a{flex:1;text-align:center}.quote-admin-actions form,.admin-action-button{width:100%}}

/* Westline V5.11 Blog administration */
.dashboard-stats { grid-template-columns:repeat(7,minmax(0,1fr)); }
.workflow-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.blog-admin-toolbar { margin-bottom:24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.blog-admin-stats { flex:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.blog-admin-stats article { min-height:92px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:10px; background:#fff; }
.blog-admin-stats small { color:#7c8791; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.blog-admin-stats strong { color:var(--bronze); font-family:Ubuntu,Arial,sans-serif; font-size:2rem; font-weight:500; }
.blog-new-button { flex:0 0 auto; min-height:52px; padding-inline:22px; }
.blog-admin-filter-panel { padding-block:19px; }
.blog-admin-filters { display:grid; grid-template-columns:minmax(220px,1fr) 190px 230px auto auto; gap:12px; align-items:end; }
.blog-admin-filters label { display:grid; gap:6px; color:#58636e; font-size:.68rem; font-weight:700; }
.blog-admin-filters input,.blog-admin-filters select { width:100%; min-height:44px; padding:8px 11px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.blog-admin-filters button { min-height:44px; padding:0 17px; border:0; border-radius:6px; background:var(--navy); color:#fff; font-size:.72rem; font-weight:700; }
.blog-admin-filters > a { min-height:44px; display:flex; align-items:center; color:var(--bronze); font-size:.7rem; font-weight:700; }
.blog-list-heading { align-items:flex-end; }
.blog-list-heading > a { color:var(--bronze); font-size:.72rem; font-weight:700; }
.blog-admin-list { display:grid; gap:14px; }
.blog-admin-row { padding:14px; display:grid; grid-template-columns:180px minmax(0,1fr) auto; gap:22px; align-items:center; border:1px solid var(--line); border-radius:10px; background:#fff; }
.blog-admin-thumb { position:relative; height:126px; overflow:hidden; border-radius:7px; background:#e7e9ea; }
.blog-admin-thumb img { width:100%; height:100%; object-fit:cover; }
.blog-status-badge { position:absolute; left:9px; bottom:9px; padding:5px 8px; border-radius:999px; color:#fff; background:#6b7782; font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.blog-status-badge.published { background:#2d7a58; }
.blog-status-badge.scheduled { background:#315f91; }
.blog-status-badge.draft { background:#9a6d2e; }
.blog-admin-copy { min-width:0; }
.blog-admin-meta { display:flex; flex-wrap:wrap; gap:7px 14px; color:#8a949d; font-size:.61rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.blog-admin-meta span:first-child { color:var(--bronze); }
.blog-admin-copy h3 { margin:9px 0 7px; font-family:Ubuntu,Arial,sans-serif; font-size:1.25rem; }
.blog-admin-copy p { margin:0; color:#6e7983; font-size:.75rem; line-height:1.55; }
.blog-admin-tags { margin-top:9px; display:flex; flex-wrap:wrap; gap:6px; }
.blog-admin-tags span { padding:4px 7px; border-radius:999px; background:#eef1f3; color:#65717c; font-size:.58rem; }
.blog-admin-row-actions { min-width:112px; display:grid; gap:7px; }
.blog-admin-row-actions form { margin:0; }
.blog-admin-row-actions .admin-primary-button,.blog-admin-row-actions .admin-secondary-button,.blog-delete-button { width:100%; min-height:36px; padding:0 11px; border-radius:5px; font-size:.64rem; }
.blog-delete-button { border:1px solid #dfb6b6; background:#fff; color:#a14242; font-weight:700; }
.blog-editor-topbar { position:sticky; z-index:30; top:12px; margin-bottom:22px; padding:15px 18px; display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.97); box-shadow:var(--shadow); }
.blog-editor-topbar > div:first-child a { color:var(--bronze); font-size:.75rem; font-weight:700; }
.blog-editor-topbar p { margin:4px 0 0; color:#8b949c; font-size:.65rem; }
.blog-editor-topbar > div:last-child { display:flex; gap:9px; }
.blog-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 345px; gap:24px; align-items:start; }
.blog-editor-main,.blog-editor-sidebar { min-width:0; }
.blog-title-panel { padding:20px 24px; }
.blog-title-field { display:grid; gap:8px; color:#505c67; font-size:.7rem; font-weight:700; }
.blog-title-field input { width:100%; min-height:58px; padding:6px 0; border:0; border-bottom:1px solid var(--line); outline:0; color:#172433; font-family:Ubuntu,Arial,sans-serif; font-size:2rem; font-weight:500; }
.blog-title-field input:focus { border-bottom-color:var(--bronze); }
.blog-slug-row { margin-top:14px; display:flex; align-items:center; gap:4px; color:#88929a; font-family:monospace; font-size:.65rem; }
.blog-slug-row span { white-space:nowrap; }
.blog-slug-row input { min-width:0; flex:1; padding:5px 7px; border:1px solid transparent; border-radius:4px; color:#51606c; font-family:monospace; font-size:.68rem; }
.blog-slug-row input:focus { border-color:var(--line); outline:0; background:#f7f8f9; }
.blog-content-panel { padding:0; overflow:visible; }
.blog-content-panel-head { padding:22px 24px; display:flex; justify-content:space-between; gap:22px; align-items:flex-start; border-bottom:1px solid var(--line); }
.blog-content-panel-head h2 { margin:0; font-family:Ubuntu,Arial,sans-serif; font-size:1.5rem; font-weight:500; }
.blog-content-panel-head p { max-width:650px; margin:5px 0 0; color:#77828b; font-size:.72rem; }
.blog-editor-tabs { flex:0 0 auto; display:flex; padding:3px; border-radius:7px; background:#edf0f2; }
.blog-editor-tabs button { min-height:34px; padding:0 13px; border:0; border-radius:5px; background:transparent; color:#68747f; font-size:.67rem; font-weight:700; }
.blog-editor-tabs button.is-active { background:#fff; color:var(--navy); box-shadow:0 2px 8px rgba(15,30,44,.08); }
.blog-wysiwyg-toolbar { position:sticky; z-index:24; top:var(--blog-editor-toolbar-top, 92px); min-height:50px; padding:8px 10px; display:flex; flex-wrap:wrap; gap:5px; align-items:center; border:1px solid var(--line); border-inline:0; background:rgba(248,249,249,.98); box-shadow:0 10px 24px rgba(15,30,44,.10); backdrop-filter:blur(12px); }
.blog-wysiwyg-toolbar select,.blog-wysiwyg-toolbar button { min-height:32px; padding:0 9px; border:1px solid #d9dee2; border-radius:4px; background:#fff; color:#3d4b57; font-size:.65rem; }
.blog-wysiwyg-toolbar select { min-width:130px; }
.blog-wysiwyg-toolbar button:hover { border-color:var(--bronze); color:#8c5f29; }
.blog-wysiwyg-toolbar > span { width:1px; height:24px; margin:0 3px; background:#d8dde1; }
.blog-visual-editor { min-height:640px; padding:36px 42px 70px; outline:0; background:#fff; color:#27333f; font-size:1rem; line-height:1.8; }
.blog-visual-editor:focus { box-shadow:inset 0 0 0 2px rgba(193,139,73,.08); }
.blog-visual-editor h2 { margin:1.8em 0 .6em; font-family:Ubuntu,Arial,sans-serif; font-size:2rem; }
.blog-visual-editor h3 { margin:1.6em 0 .55em; font-family:Ubuntu,Arial,sans-serif; font-size:1.55rem; }
.blog-visual-editor p { margin:0 0 1.35em; }
.blog-visual-editor blockquote { margin:2em 0; padding:22px 25px; border-left:4px solid var(--bronze); background:#f0ece5; font-family:Ubuntu,Arial,sans-serif; font-size:1.25rem; }
.blog-visual-editor img { max-width:100%; height:auto; }
.blog-visual-editor figure { margin:2em 0; }
.blog-visual-editor figcaption { margin-top:8px; color:#7d8790; font-size:.72rem; }
.blog-code-notice { padding:15px 18px; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); background:#10202f; color:#fff; }
.blog-code-notice strong { font-size:.72rem; }
.blog-code-notice span { max-width:700px; color:rgba(255,255,255,.6); font-size:.65rem; }
.blog-html-editor textarea { width:100%; min-height:720px; padding:24px; border:0; outline:0; resize:vertical; background:#0e1822; color:#dce7ef; font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; tab-size:2; }
.blog-field-stack { display:grid; gap:18px; }
.blog-field-stack label,.blog-editor-sidebar label { display:grid; gap:7px; color:#4f5b66; font-size:.7rem; font-weight:700; }
.blog-field-stack label > span { justify-self:end; margin-top:-20px; color:#9099a1; font-size:.62rem; font-weight:500; }
.blog-field-stack label small,.blog-editor-sidebar label small { color:#8a949d; font-size:.63rem; font-weight:400; }
.blog-field-stack input,.blog-field-stack textarea,.blog-editor-sidebar input,.blog-editor-sidebar textarea,.blog-editor-sidebar select { width:100%; min-height:44px; padding:10px 11px; border:1px solid var(--line); border-radius:6px; background:#fff; outline:0; font-size:.76rem; }
.blog-field-stack textarea,.blog-editor-sidebar textarea { resize:vertical; line-height:1.55; }
.blog-field-stack input:focus,.blog-field-stack textarea:focus,.blog-editor-sidebar input:focus,.blog-editor-sidebar textarea:focus,.blog-editor-sidebar select:focus { border-color:var(--bronze); box-shadow:0 0 0 3px rgba(193,139,73,.1); }
.blog-editor-sidebar { position:sticky; top:var(--blog-editor-sidebar-top, 92px); max-height:calc(100vh - var(--blog-editor-sidebar-top, 92px) - 14px); padding-right:7px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c8cfd4 transparent; }
.blog-editor-sidebar::-webkit-scrollbar { width:7px; }
.blog-editor-sidebar::-webkit-scrollbar-thumb { border-radius:999px; background:#c8cfd4; }
.blog-editor-sidebar .admin-panel { padding:21px; }
.blog-editor-sidebar .panel-head { margin-bottom:17px; }
.blog-editor-sidebar .panel-head h2 { font-size:1.2rem; }
.blog-editor-sidebar .panel-head p { font-size:.68rem; }
.blog-publish-panel { display:grid; gap:14px; }
.blog-publish-panel .admin-primary-button { width:100%; min-height:48px; margin-top:3px; }
.blog-publish-note { margin:0; color:#8a949d; font-size:.64rem; line-height:1.5; }
.blog-featured-panel { display:grid; gap:14px; }
.blog-featured-preview { aspect-ratio:16/10; overflow:hidden; border-radius:7px; background:#e8ebed; }
.blog-featured-preview img { width:100%; height:100%; object-fit:cover; }
.blog-featured-panel .input-with-action { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.blog-featured-panel .media-pick-button { min-height:44px; }
.blog-taxonomy-panel { display:grid; gap:15px; }
.blog-social-preview { overflow:hidden; border:1px solid #dfe3e6; border-radius:8px; background:#fff; }
.blog-social-preview > img { width:100%; aspect-ratio:1.91/1; object-fit:cover; background:#e8ebed; }
.blog-social-preview > div { padding:12px; }
.blog-social-preview small,.blog-social-preview strong,.blog-social-preview p { display:block; }
.blog-social-preview small { color:#8b949c; font-size:.57rem; text-transform:uppercase; }
.blog-social-preview strong { margin-top:5px; color:#253541; font-size:.78rem; line-height:1.35; }
.blog-social-preview p { margin:5px 0 0; color:#697681; font-size:.63rem; line-height:1.45; }
.admin-flash ul { margin:8px 0 0; padding-left:20px; }

@media(max-width:1500px){
  .dashboard-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .workflow-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1200px){
  .blog-admin-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .blog-editor-layout { grid-template-columns:minmax(0,1fr) 300px; }
  .blog-admin-filters { grid-template-columns:1fr 160px 190px auto; }
  .blog-admin-filters > a { grid-column:1/-1; }
}
@media(max-width:860px){
  .blog-editor-layout { grid-template-columns:1fr; }
  .blog-editor-sidebar { position:static; order:-1; max-height:none; padding-right:0; overflow:visible; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .blog-social-preview-panel { grid-column:1/-1; }
  .blog-admin-row { grid-template-columns:150px minmax(0,1fr); }
  .blog-admin-row-actions { grid-column:2; display:flex; flex-wrap:wrap; }
  .blog-admin-row-actions > * { min-width:90px; }
}
@media(max-width:760px){
  .blog-admin-toolbar { align-items:stretch; flex-direction:column; }
  .blog-admin-stats { grid-template-columns:1fr 1fr; }
  .blog-new-button { width:100%; }
  .blog-admin-filters { grid-template-columns:1fr; }
  .blog-list-heading { align-items:flex-start; flex-direction:column; }
  .blog-admin-row { grid-template-columns:1fr; }
  .blog-admin-thumb { height:230px; }
  .blog-admin-row-actions { grid-column:1; }
  .blog-editor-topbar { position:static; align-items:flex-start; flex-direction:column; }
  .blog-editor-topbar > div:last-child { width:100%; flex-wrap:wrap; }
  .blog-editor-topbar .admin-primary-button,.blog-editor-topbar .admin-secondary-button { flex:1; }
  .blog-editor-sidebar { grid-template-columns:1fr; }
  .blog-social-preview-panel { grid-column:auto; }
  .blog-content-panel-head { align-items:flex-start; flex-direction:column; }
  .blog-visual-editor { min-height:500px; padding:28px 22px 55px; }
  .blog-title-field input { font-size:1.55rem; }
  .blog-slug-row { align-items:flex-start; flex-direction:column; }
}
@media(max-width:500px){
  .blog-admin-stats { grid-template-columns:1fr; }
  .blog-admin-row-actions { display:grid; grid-template-columns:1fr 1fr; }
  .blog-wysiwyg-toolbar { top:0; flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .blog-wysiwyg-toolbar > * { flex:0 0 auto; }
  .blog-wysiwyg-toolbar > span { display:none; }
  .blog-code-notice { flex-direction:column; }
}

.recaptcha-settings-summary { margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(135deg,#f7f3ec,#fff); border-color:#dcc8aa; }
.recaptcha-settings-summary h2 { margin:9px 0 6px; font-family:Ubuntu,Arial,sans-serif; font-size:1.35rem; font-weight:500; }
.recaptcha-settings-summary p { max-width:850px; margin:0; color:#697681; font-size:.75rem; line-height:1.65; }
.recaptcha-status { display:inline-flex; min-height:27px; padding:0 10px; align-items:center; border-radius:999px; font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.recaptcha-status.is-active { background:#dff2e8; color:#236044; }
.recaptcha-status.is-disabled { background:#eceff1; color:#68747f; }

/* V5.13 Google & Tracking */
.integration-intro { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:30px; margin-bottom:22px; }
.integration-intro h2 { margin:5px 0 8px; font-size:1.65rem; }
.integration-intro p { margin:0; max-width:760px; color:var(--admin-muted, #667085); }
.integration-kicker { text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; font-weight:700; color:#a66f2f; }
.integration-status-grid { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.integration-status { display:flex; gap:9px; align-items:center; border:1px solid #d9dee6; background:#f8fafc; padding:9px 12px; border-radius:6px; font-size:.75rem; letter-spacing:.06em; }
.integration-status b { color:#8b95a5; }
.integration-status.is-on { border-color:#b7d6c2; background:#f1fbf4; }
.integration-status.is-on b { color:#1f7a3d; }
.admin-flash-warning { background:#fff8e6; border:1px solid #efd9a2; color:#725317; padding:14px 18px; margin-bottom:20px; border-radius:6px; }
.integration-form { display:grid; gap:18px; }
.integration-section { padding:28px; }
.integration-section-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:22px; }
.integration-section-head > div > span { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid #d4d9e0; font-size:.7rem; color:#8b95a5; margin-bottom:12px; }
.integration-section-head h2 { margin:0 0 7px; font-size:1.35rem; }
.integration-section-head p { margin:0; color:#6f7784; max-width:760px; line-height:1.65; }
.integration-toggle { display:flex; align-items:center; gap:9px; white-space:nowrap; font-weight:600; font-size:.82rem; cursor:pointer; }
.integration-toggle input { position:absolute; opacity:0; pointer-events:none; }
.integration-toggle span { width:42px; height:23px; background:#c8ced7; border-radius:30px; position:relative; transition:.2s; }
.integration-toggle span:after { content:""; width:17px; height:17px; border-radius:50%; background:#fff; position:absolute; left:3px; top:3px; box-shadow:0 1px 4px rgba(0,0,0,.2); transition:.2s; }
.integration-toggle input:checked + span { background:#1f7a3d; }
.integration-toggle input:checked + span:after { transform:translateX(19px); }
.integration-toggle.compact { font-size:.75rem; }
.integration-grid { display:grid; gap:16px; }
.integration-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.integration-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.integration-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.integration-grid label, .integration-code-grid label { display:grid; gap:7px; font-size:.82rem; }
.integration-grid label b, .integration-code-grid label b { font-size:.78rem; }
.integration-grid input, .integration-grid select, .integration-code-grid textarea, .page-code-rule input, .page-code-add input { width:100%; border:1px solid #d6dbe2; background:#fff; padding:11px 12px; border-radius:4px; font:inherit; box-sizing:border-box; }
.integration-grid small { color:#7b8492; line-height:1.5; }
.integration-note { margin:18px 0 0; border-left:2px solid #b6864b; padding-left:13px; color:#687180; font-size:.82rem; line-height:1.65; }
.integration-badge { padding:7px 10px; border:1px solid #d8dde4; color:#7a8390; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.integration-badge.is-live { border-color:#b7d6c2; color:#1f7a3d; background:#f1fbf4; }
.integration-code-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.integration-code-grid textarea { min-height:150px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; font-size:.75rem; line-height:1.55; background:#111820; color:#d8e2ec; border-color:#202b35; tab-size:2; }
.integration-save-bar { position:sticky; bottom:14px; z-index:12; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:16px 18px; border:1px solid #cfd5dd; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); box-shadow:0 12px 34px rgba(15,23,42,.12); border-radius:6px; }
.integration-save-bar div { display:grid; gap:2px; }
.integration-save-bar span { color:#7b8492; font-size:.76rem; }
.page-code-manager { margin-top:22px; }
.page-code-add { border:1px dashed #cbd2dc; padding:20px; margin-bottom:20px; background:#fafbfc; }
.page-code-list { display:grid; gap:16px; }
.page-code-rule { border:1px solid #d8dde5; padding:20px; background:#fff; }
.page-code-rule-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.page-code-rule-head > div { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.page-code-rule-head code { font-size:.72rem; padding:5px 7px; background:#f1f3f6; color:#505968; }
.page-code-actions { display:flex; gap:10px; margin-top:14px; }
.admin-danger-button { border:1px solid #e0b5b5; background:#fff5f5; color:#a52a2a; padding:10px 14px; border-radius:4px; cursor:pointer; font:inherit; font-weight:600; }
@media (max-width:1100px) { .integration-grid.four,.integration-grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); } .integration-code-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .integration-intro,.integration-section-head,.integration-save-bar,.page-code-rule-head { align-items:flex-start; flex-direction:column; } .integration-status-grid { justify-content:flex-start; } .integration-grid.two,.integration-grid.three,.integration-grid.four { grid-template-columns:1fr; } .integration-save-bar { bottom:8px; } }


/* Westline V5.15 favicon management */
.favicon-settings-card{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;align-items:center;margin-bottom:20px;background:linear-gradient(135deg,#f7f3ec,#fff);border-color:#dcc8aa}.favicon-settings-copy h2{margin:9px 0 6px;font-family:Ubuntu,Arial,sans-serif;font-size:1.35rem;font-weight:500}.favicon-settings-copy p{max-width:850px;margin:0 0 18px;color:#697681;font-size:.75rem;line-height:1.65}.favicon-upload-field{display:flex;flex-direction:column;gap:8px;max-width:520px;font-weight:600;color:#243543}.favicon-upload-field input[type=file]{display:block;width:100%;padding:12px;border:1px solid #d7dce0;border-radius:8px;background:#fff;font:inherit;font-weight:400}.favicon-settings-copy small{display:block;margin-top:9px;max-width:700px;color:#7b8790;line-height:1.55}.favicon-preview-box{min-height:170px;border:1px solid #e2d6c5;background:#fff;border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}.favicon-preview-box img{width:82px;height:82px;object-fit:contain;border-radius:16px;border:1px solid #edf0f2;background:#fafafa;padding:8px}.favicon-preview-box strong{font-size:.82rem;color:#22313c}.favicon-preview-box span,.favicon-preview-box a{font-size:.7rem;color:#76828b}.favicon-preview-box a{color:#9b6c35;text-decoration:none;font-weight:600}.favicon-empty{width:82px;height:82px;border-radius:16px;background:#0c2338;color:#fff;display:grid;place-items:center;font-family:Ubuntu,Arial,sans-serif;font-size:1.5rem;font-weight:700}@media(max-width:760px){.favicon-settings-card{grid-template-columns:1fr}.favicon-preview-box{min-height:145px}}
