:root {
    color-scheme: light;
    --bg: #f3f7fc;
    --surface: #ffffff;
    --surface-soft: #f7faff;
    --surface-strong: #eaf2ff;
    --ink: #14273d;
    --muted: #66778b;
    --line: #dfe8f3;
    --brand: #1168d9;
    --blue: var(--brand);
    --brand-dark: #0b4fa8;
    --brand-soft: #e9f2ff;
    --success: #138a66;
    --success-soft: #e5f8f1;
    --warning: #b46a09;
    --warning-soft: #fff5df;
    --danger: #c63c4a;
    --danger-soft: #fff0f2;
    --sidebar: #0d2848;
    --sidebar-soft: #14375f;
    --shadow: 0 18px 50px rgba(29, 57, 91, .09);
    --shadow-sm: 0 10px 24px rgba(29, 57, 91, .07);
    --radius: 20px;
    --radius-sm: 13px;
    --font: Inter, Manrope, "Segoe UI", system-ui, -apple-system, sans-serif;
    --eocrm-standard-app-width: 1560px;
    --eocrm-app-width: var(--eocrm-standard-app-width);
    --eocrm-module-width: 1480px;
}

html[data-workspace-width="wide"] { --eocrm-app-width: 1920px; --eocrm-module-width: 1840px; }
html[data-workspace-width="ultra"] { --eocrm-app-width: 100%; --eocrm-module-width: 100%; }
html[data-ui-font-size="small"] { font-size: 15px; }
html[data-ui-font-size="standard"] { font-size: 16px; }
html[data-ui-font-size="large"] { font-size: 18px; }
html[data-ui-font-size="xlarge"] { font-size: 20px; }

/* Posts: WordPress-like editorial workflow (0.0096). */
.posts-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.posts-tabs a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:11px;color:var(--muted);font-size:0.8125rem;font-weight:800;text-decoration:none}
.posts-tabs a span{display:inline-grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:var(--surface-soft);font-size:0.625rem}
.posts-tabs a:hover,.posts-tabs a.is-active{background:var(--blue);color:#fff}.posts-tabs a.is-active span{background:rgba(255,255,255,.2);color:#fff}
.posts-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.posts-summary-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}.posts-summary-grid small{color:var(--muted);font-weight:750}.posts-summary-grid strong{font-size:1.5rem}
.posts-list-panel{padding:0;overflow:hidden}.posts-filter-bar{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.posts-filter-bar select,.posts-filter-bar input{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:9px 11px}.posts-search{display:flex;flex:1;gap:8px}.posts-search input{flex:1;min-width:180px}
.posts-table-wrap{overflow:auto}.posts-table{width:100%;border-collapse:collapse;min-width:900px}.posts-table th,.posts-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.posts-table th{background:var(--surface-soft);color:var(--muted);font-size:0.6875rem;text-transform:uppercase;letter-spacing:.05em}.posts-table td:first-child{min-width:280px}.posts-title-link{display:block;color:var(--ink);font-weight:850;text-decoration:none}.posts-table td>small{display:flex;align-items:center;gap:7px;margin-top:4px;color:var(--muted)}.posts-table td>small em{padding:2px 6px;border-radius:999px;background:#eef4ff;color:var(--blue);font-size:0.5625rem;font-style:normal;font-weight:800}.posts-row-actions{display:flex;align-items:center;gap:9px}.posts-row-actions a,.posts-row-actions button{border:0;background:none;color:var(--blue);font-size:0.75rem;font-weight:750;text-decoration:none;cursor:pointer}.posts-row-actions form{margin:0}.posts-row-actions button{color:var(--danger)}
.posts-empty{display:grid;justify-items:center;gap:10px;padding:64px 24px;text-align:center}.posts-empty .icon{width:40px;height:40px;color:var(--blue)}.posts-empty h2,.posts-empty p{margin:0}.posts-empty p{color:var(--muted)}.posts-pagination{display:flex;justify-content:center;gap:7px;padding:16px}.posts-pagination a{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}.posts-pagination a.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
.posts-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.posts-editor-main{display:grid;gap:18px}.posts-editor-sidebar{display:grid;gap:16px;position:sticky;top:88px}.posts-editor-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.posts-title-field input{padding:14px 15px;font-size:1.25rem;font-weight:800}.posts-rich-field{min-width:0}.posts-seo-box{display:grid;gap:13px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.posts-seo-box .panel-heading{margin-bottom:0}.posts-publish-box,.posts-featured-box,.posts-source-box{display:grid;gap:14px}.posts-publish-box .panel-heading,.posts-featured-box .panel-heading{margin-bottom:0}.posts-featured-upload{margin:0}.posts-source-box h3,.posts-source-box p,.posts-source-box small{margin:0}.posts-source-box p{overflow-wrap:anywhere;color:var(--muted)}
.posts-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.posts-channel-settings{display:grid;gap:16px}.posts-channel-settings .panel-heading{margin-bottom:0}.posts-placement{display:grid;gap:9px;margin:0;padding:0;border:0}.posts-placement legend{margin-bottom:8px;color:var(--ink);font-size:0.8125rem;font-weight:800}.posts-placement label,.posts-import-check{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);cursor:pointer}.posts-placement input,.posts-import-check input{margin-top:3px;accent-color:var(--blue)}.posts-placement strong,.posts-placement small,.posts-import-check strong,.posts-import-check small{display:block}.posts-placement small,.posts-import-check small{margin-top:3px;color:var(--muted);line-height:1.45}.posts-settings-save{grid-column:1/-1}
.posts-import-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px;align-items:start}.posts-import-form{display:grid;gap:16px}.posts-import-form .panel-heading{margin-bottom:0}.posts-import-layout>aside{display:grid;gap:16px}.posts-import-report,.posts-import-history{display:grid;gap:14px}.posts-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.posts-report-grid span{padding:12px;border-radius:12px;background:var(--surface-soft)}.posts-report-grid strong,.posts-report-grid small{display:block}.posts-report-grid strong{font-size:1.4rem}.posts-report-grid small{color:var(--muted)}.posts-import-report details{color:var(--muted)}.posts-import-report li{margin-top:7px}.posts-import-history>div{display:grid;gap:9px}.posts-import-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px;border:1px solid var(--line);border-radius:12px}.posts-import-history article span strong,.posts-import-history article span small{display:block}.posts-import-history article span strong{overflow:hidden;text-overflow:ellipsis}.posts-import-history article small{color:var(--muted)}.posts-import-history article>small{grid-column:1/-1}
@media(max-width:1100px){.posts-editor-layout,.posts-import-layout{grid-template-columns:1fr}.posts-editor-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.posts-source-box{grid-column:1/-1}}
@media(max-width:760px){.posts-summary-grid,.posts-settings-grid,.posts-editor-sidebar{grid-template-columns:1fr 1fr}.posts-filter-bar{align-items:stretch;flex-direction:column}.posts-search{flex-wrap:wrap}.posts-search input{min-width:0}.posts-editor-pair{grid-template-columns:1fr}.posts-settings-save{grid-column:1/-1}.posts-tabs a{flex:1;justify-content:center}.posts-table th,.posts-table td{padding:12px}}
@media(max-width:520px){.posts-summary-grid,.posts-settings-grid,.posts-editor-sidebar{grid-template-columns:1fr}.posts-source-box{grid-column:auto}.posts-tabs{display:grid;grid-template-columns:1fr 1fr}.posts-report-grid{grid-template-columns:1fr 1fr}}

.crm-mortgage-rate-cards { display:grid; grid-template-columns:repeat(3,minmax(110px,.55fr)) minmax(260px,1.65fr); gap:12px; margin-top:18px; }
.crm-mortgage-rate-cards article { display:grid; gap:5px; min-height:104px; padding:17px; align-content:center; border:1px solid var(--line); border-radius:15px; background:linear-gradient(145deg,#f8fbff,#edf6ff); }
.crm-mortgage-rate-cards small { color:var(--muted); font-size:0.625rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.crm-mortgage-rate-cards strong { color:var(--ink); font-size:1.5rem; }
.crm-mortgage-rate-cards article.is-source strong { font-size:0.9375rem; }
.crm-mortgage-rate-cards article.is-source span { color:var(--muted); font-size:0.6875rem; }
.crm-mortgage-advisor-fields { align-items:start; margin-top:18px; }
.crm-mortgage-media-preview { display:grid; min-height:190px; padding:16px; place-items:center; border:1px dashed #acc7df; border-radius:16px; background:#f5faff; }
.crm-mortgage-media-preview img { display:block; width:100%; max-width:320px; max-height:180px; object-fit:contain; }
.crm-mortgage-media-preview > div { display:grid; place-items:center; gap:8px; color:var(--muted); }
.crm-mortgage-media-preview > div span { display:grid; width:58px; height:58px; place-items:center; border-radius:18px; background:linear-gradient(145deg,#0d4f87,#1884db); color:#fff; font-family:Georgia,serif; font-size:1.4375rem; }
.crm-mortgage-media-preview .button { margin-top:10px; }
.crm-yes-no.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1050px) {
    .crm-mortgage-rate-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .crm-mortgage-rate-cards article.is-source { grid-column:1/-1; }
}

@media (max-width:680px) {
    .crm-mortgage-rate-cards { grid-template-columns:1fr; }
    .crm-mortgage-rate-cards article.is-source { grid-column:auto; }
    .crm-yes-no.is-three { grid-template-columns:1fr; }
}

.topbar-notifications{position:relative}.topbar-notifications>summary{list-style:none;position:relative}.topbar-notifications>summary::-webkit-details-marker{display:none}.topbar-notifications>summary>span{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;font-size:0.625rem;font-weight:800;line-height:18px;text-align:center}.notification-popover{position:absolute;right:0;top:calc(100% + 12px);z-index:40;width:min(410px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 60px rgba(22,42,68,.22)}.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.notification-heading>div{display:grid;gap:2px}.notification-heading small{color:var(--muted)}.notification-heading form,.notification-item{margin:0}.notification-heading button{border:0;background:none;color:var(--brand);font:inherit;font-size:0.75rem;font-weight:800;cursor:pointer}.notification-list{max-height:440px;overflow:auto}.notification-list>p{margin:0;padding:28px 18px;text-align:center;color:var(--muted)}.notification-item button{display:flex;width:100%;gap:11px;padding:14px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.notification-item button:hover{background:var(--surface-soft)}.notification-item button>span{flex:0 0 9px;width:9px;height:9px;margin-top:5px;border-radius:50%;background:#a9b7c8}.notification-item.is-unread button>span{background:var(--brand);box-shadow:0 0 0 4px rgba(21,115,208,.12)}.notification-item.level-warning button>span{background:#e69b22}.notification-item.level-success button>span{background:#27a36a}.notification-item button>div{display:grid;gap:4px}.notification-item strong{font-size:0.8125rem}.notification-item small{color:var(--muted);font-size:0.75rem;line-height:1.4}

.crm-owner-override{margin-top:16px;padding:16px;border:1px solid rgba(21,115,208,.2);border-radius:14px;background:rgba(21,115,208,.055)}.crm-owner-override>strong{display:block;margin-bottom:10px}.crm-owner-override p{margin:8px 0 0;color:var(--muted);font-size:0.75rem}.property-profile-hero .page-actions form,.agreement-profile-side form.inline-operation{margin:0}.property-profile-owner-override{margin-top:8px;color:#b66d00;font-weight:700}

@media(max-width:700px){.topbar-preview{display:none}.notification-popover{position:fixed;right:14px;left:14px;top:68px;width:auto}.property-profile-hero .page-actions{align-items:stretch}.property-profile-hero .page-actions form .button{width:100%}}

html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0c1828;
    --surface: #14253a;
    --surface-soft: #172b43;
    --surface-strong: #1c3552;
    --ink: #edf5ff;
    --muted: #9db0c7;
    --line: #28425f;
    --brand: #5ca1ff;
    --brand-dark: #85b9ff;
    --brand-soft: #18385f;
    --success-soft: #123d34;
    --warning-soft: #493716;
    --danger-soft: #4c222c;
    --shadow: 0 18px 50px rgba(0, 0, 0, .22);
    --shadow-sm: 0 10px 24px rgba(0, 0, 0, .17);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 0.9375rem; line-height: 1.55; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--brand); text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, p, a, li, label, span { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; }
.muted-copy { color: var(--muted); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.brand-lockup { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); }
.brand-lockup:hover { color: var(--ink); }
.brand-lockup .brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: linear-gradient(140deg, var(--brand), #4a9bff); color: #fff; font-weight: 850; font-size: 0.8125rem; letter-spacing: -.03em; box-shadow: 0 10px 22px rgba(17, 104, 217, .22); }
.brand-lockup > span:last-child { display: grid; line-height: 1.12; }
.brand-lockup strong { font-size: 0.875rem; letter-spacing: -.01em; }
.brand-lockup small { color: var(--muted); font-size: 0.625rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.brand-lockup.is-light { color: #fff; }
.brand-lockup.is-light:hover { color: #fff; }
.brand-lockup.is-light small { color: rgba(255,255,255,.6); }
.brand-lockup-image { display: inline-flex; overflow: hidden; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 10px 24px rgba(2,18,38,.2); }
.sidebar-brand-logo { display: block; width: min(220px,100%); aspect-ratio: 5.18 / 1; object-fit: cover; object-position: center; }
.auth-product-logo { display: block; width: min(300px, 100%); aspect-ratio: 5.18 / 1; object-fit: cover; object-position: center; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 10px 17px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-weight: 750; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:focus-visible, .icon-button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid rgba(53, 139, 255, .28); outline-offset: 2px; }
.button-primary { background: linear-gradient(135deg, var(--brand), #3188ee); color: #fff; box-shadow: 0 12px 24px rgba(17, 104, 217, .2); }
.button-primary:hover { color: #fff; box-shadow: 0 15px 28px rgba(17, 104, 217, .27); }
.button-secondary { background: var(--surface); border-color: var(--line); color: var(--ink); }
.button-secondary:hover { color: var(--brand); border-color: #a9c9ef; }
.button-danger { background: var(--danger-soft); border-color: rgba(198,60,74,.22); color: var(--danger); }
.button-large { min-height: 50px; padding-inline: 22px; border-radius: 14px; }
.button-block { width: 100%; }
.button:disabled { opacity: .48; cursor: not-allowed; }

.field { display: grid; gap: 7px; min-width: 0; }
.field > span:first-child { color: var(--ink); font-size: 0.8125rem; font-weight: 750; }
.field input, .field textarea, .field select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); padding: 11px 12px; transition: border-color .15s ease, box-shadow .15s ease; }
.field textarea { resize: vertical; line-height: 1.5; }
.field input:hover, .field textarea:hover, .field select:hover { border-color: #b5c9df; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(17, 104, 217, .09); outline: 0; }
.field small { color: var(--muted); font-size: 0.6875rem; line-height: 1.4; }
.crm-agreement-number-status { min-height: 16px; }
.crm-agreement-number-status[data-state="loading"] { color: var(--brand); }
.crm-agreement-number-status[data-state="success"] { color: var(--success); }
.crm-agreement-number-status[data-state="manual"] { color: var(--warning); }
.crm-agreement-number-status[data-state="warning"] { color: var(--danger); }
.field-grid { display: grid; gap: 15px; }
.field-grid.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-wide { grid-column: 1 / -1; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 64px; }
.password-toggle { position: absolute; inset: 50% 8px auto auto; transform: translateY(-50%); border: 0; background: transparent; color: var(--brand); font-size: 0.6875rem; font-weight: 800; cursor: pointer; }

.eyebrow-chip { display: inline-flex; width: fit-content; padding: 5px 9px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 0.625rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-chip.is-glass { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.12); }
.version-chip { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--surface-soft); border: 1px solid var(--line); color: var(--muted); font-size: 0.6875rem; font-weight: 750; }
.version-chip.is-large { padding: 9px 14px; font-size: 0.75rem; background: var(--surface); }
.phase-badge { display: inline-flex; padding: 8px 12px; border-radius: 10px; background: var(--warning-soft); color: var(--warning); font-size: 0.75rem; font-weight: 750; }

.notice { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 13px 15px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-sm); }
.notice strong { grid-row: span 2; font-size: 0.75rem; color: var(--ink); }
.notice span { color: var(--muted); font-size: 0.8125rem; }
.notice .update-failure-hint { grid-column: 2; color: var(--muted); font-size: 0.6875rem; line-height: 1.45; }
.notice .update-failure-hint strong { display: inline; color: inherit; font-size: inherit; }
.notice-success { background: var(--success-soft); border-color: rgba(19,138,102,.2); }
.notice-success strong { color: var(--success); }
.notice-error { background: var(--danger-soft); border-color: rgba(198,60,74,.2); }
.notice-error strong { color: var(--danger); }
.notice-info { background: var(--brand-soft); border-color: rgba(17,104,217,.18); }
.notice-info strong { color: var(--brand); }

/* Installer */
.installer-body { background: radial-gradient(circle at 10% 0, #e7f1ff 0, transparent 35%), radial-gradient(circle at 100% 10%, #edf7ff 0, transparent 32%), var(--bg); }
.installer-shell { width: min(1280px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 52px; }
.installer-header { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 22px; }
.installer-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 32px; padding: 31px 34px; margin-bottom: 22px; border-radius: 25px; color: #fff; background: radial-gradient(circle at 80% 20%, rgba(105,181,255,.42), transparent 35%), linear-gradient(135deg, #0c315c, #0f63c7); box-shadow: 0 24px 55px rgba(10,55,100,.18); }
.installer-intro h1 { max-width: 680px; margin: 11px 0 8px; font-size: clamp(1.6875rem, 4vw, 2.75rem); line-height: 1.08; letter-spacing: -.04em; }
.installer-intro p { max-width: 680px; margin: 0; color: rgba(255,255,255,.72); font-size: 0.9375rem; }
.install-progress { display: flex; gap: 9px; padding: 0; margin: 0; list-style: none; }
.install-progress li { display: grid; justify-items: center; gap: 5px; min-width: 62px; color: rgba(255,255,255,.63); font-size: 0.625rem; font-weight: 750; }
.install-progress li span { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.08); }
.install-progress li.is-active { color: #fff; }
.install-progress li.is-active span { background: #fff; color: var(--brand-dark); border-color: #fff; }
.installer-grid { display: grid; grid-template-columns: 350px minmax(0, 1fr); align-items: start; gap: 22px; }
.install-check-card, .install-form-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.install-check-card { position: sticky; top: 18px; padding: 22px; }
.install-form-card { padding: 24px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.section-heading.compact { justify-content: flex-start; align-items: flex-start; }
.section-heading h2 { margin: 0; font-size: 1.125rem; letter-spacing: -.02em; }
.section-heading p { margin: 3px 0 0; color: var(--muted); font-size: 0.75rem; }
.step-number { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-weight: 850; }
.check-list { display: grid; gap: 7px; margin-top: 19px; }
.check-row { display: grid; grid-template-columns: 29px 1fr; gap: 9px; align-items: center; padding: 9px; border-radius: 10px; background: var(--surface-soft); }
.check-row .check-symbol { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; font-weight: 850; }
.check-row .icon { width: 15px; height: 15px; }
.check-row > span:last-child { display: grid; }
.check-row strong { font-size: 0.75rem; }
.check-row small { color: var(--muted); font-size: 0.625rem; }
.check-row.is-ok .check-symbol { background: var(--success-soft); color: var(--success); }
.check-row.is-warning .check-symbol { background: var(--warning-soft); color: var(--warning); }
.check-row.is-error .check-symbol { background: var(--danger-soft); color: var(--danger); }
.helper-note { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.6875rem; }
.form-section + .form-section { margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--line); }
.form-section .field-grid { margin-top: 19px; }
.install-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.secure-note { display: flex; align-items: center; gap: 8px; max-width: 320px; color: var(--muted); font-size: 0.6875rem; }
.secure-note .icon { color: var(--success); }

/* Authentication */
.auth-body { overflow-x: hidden; }
.auth-shell { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr); min-height: 100vh; }
.auth-story { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 5vw, 68px); overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 18%, rgba(79,167,255,.45), transparent 31%), radial-gradient(circle at 12% 90%, rgba(50,123,218,.32), transparent 36%), linear-gradient(145deg, #071e38, #0d4f93); }
.auth-story::after { content: ""; position: absolute; right: -120px; bottom: -180px; width: 490px; height: 490px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.018); }
.auth-story > * { position: relative; z-index: 1; }
.auth-story-copy { max-width: 540px; }
.auth-story-copy h1 { margin: 15px 0 14px; font-size: clamp(2.375rem, 5.2vw, 4.25rem); line-height: 1.02; letter-spacing: -.055em; }
.auth-story-copy > p { max-width: 480px; color: rgba(255,255,255,.7); font-size: 1.0625rem; }
.auth-feature-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.auth-feature-list span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.82); font-size: 0.6875rem; font-weight: 700; }
.auth-feature-list .icon { width: 14px; height: 14px; color: #89e1c3; }
.auth-version { color: rgba(255,255,255,.45); }
.auth-content { display: grid; place-items: center; padding: 30px; background: var(--bg); }
.auth-card { width: min(100%, 470px); padding: clamp(25px, 4vw, 38px); border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); }
.auth-card-heading h2 { margin: 11px 0 7px; font-size: 1.875rem; letter-spacing: -.04em; }
.auth-card-heading p { color: var(--muted); }
.auth-card-heading.centered { text-align: center; }
.auth-office-brand { display: grid; place-items: center; min-height: 184px; margin: -8px 0 25px; padding: 8px 10px 18px; border-bottom: 1px solid var(--line); }
.auth-office-brand img { display: block; width: min(100%, 400px); height: 174px; object-fit: contain; object-position: center; }
.auth-form { display: grid; gap: 17px; margin-top: 25px; }
.auth-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 21px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.6875rem; }
.auth-card-footer span { display: inline-flex; align-items: center; gap: 6px; }
.auth-card-footer .icon { width: 14px; height: 14px; color: var(--success); }
.status-illustration { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 21px; border-radius: 22px; font-size: 1.9375rem; font-weight: 900; }
.status-illustration.is-error { background: var(--danger-soft); color: var(--danger); }

/* Application shell */
.app-body { --app-sidebar-width: 304px; }
.app-frame { display: grid; grid-template-columns: var(--app-sidebar-width) minmax(0,1fr); min-height: 100vh; }
.app-sidebar { position: sticky; top: 0; z-index: 30; display: flex; flex-direction: column; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; padding: 22px 18px 16px; overflow: hidden; color: #dce9f7; background: radial-gradient(circle at 30% 0, #184675 0, transparent 30%), linear-gradient(180deg, var(--sidebar), #091d35); }
.sidebar-brand-row { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; padding: 0 6px 3px; }
.sidebar-close { display: none; border: 0; background: transparent; color: #fff; font-size: 1.625rem; cursor: pointer; }
.sidebar-scroll-region { min-height: 0; flex: 1 1 auto; margin: 0 -5px; padding: 0 5px 15px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(164,205,247,.42) transparent; scrollbar-gutter: stable; scrollbar-width: thin; }
.sidebar-scroll-region::-webkit-scrollbar { width: 7px; }
.sidebar-scroll-region::-webkit-scrollbar-track { background: transparent; }
.sidebar-scroll-region::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(164,205,247,.42); background-clip: padding-box; }
.sidebar-scroll-region::-webkit-scrollbar-thumb:hover { background-color: rgba(199,226,255,.68); }
.workspace-chip { display: flex; align-items: center; gap: 10px; padding: 10px; margin: 24px 0 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.055); }
.workspace-avatar, .user-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: linear-gradient(135deg, #438ff3, #6bb8ff); color: #fff; font-weight: 850; }
.workspace-chip > span:last-child { display: grid; min-width: 0; }
.workspace-chip small { color: rgba(255,255,255,.48); font-size: 0.5625rem; text-transform: uppercase; letter-spacing: .08em; }
.workspace-chip strong { overflow: hidden; color: #fff; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-nav { display: grid; gap: 5px; }
.nav-label { padding: 17px 10px 7px; color: rgba(255,255,255,.35); font-size: 0.5625rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sidebar-nav a { display: flex; align-items: center; gap: 12px; min-height: 49px; padding: 9px 12px; border-radius: 12px; color: rgba(231,241,252,.72); font-size: 0.8125rem; font-weight: 700; transition: background .15s ease, color .15s ease; }
.sidebar-nav a:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar-nav a.is-active { color: #fff; background: linear-gradient(135deg, rgba(50,135,238,.62), rgba(40,115,205,.34)); box-shadow: inset 0 0 0 1px rgba(111,180,255,.18); }
.sidebar-nav a .icon { width: 19px; height: 19px; }
.sidebar-nav a em { margin-left: auto; padding: 3px 6px; border-radius: 6px; background: rgba(98,177,255,.16); color: #9bcaff; font-size: 0.5rem; font-style: normal; text-transform: uppercase; }

.system-branded-heading-main { display: flex; align-items: center; gap: clamp(18px,2.5vw,30px); min-width: 0; }
.system-brand-logo { display: block; width: clamp(120px,12vw,168px); aspect-ratio: 1.08 / 1; flex: 0 0 auto; object-fit: cover; object-position: center; }
.crm-product-brand { display: flex; align-items: center; justify-content: center; min-height: 132px; margin-bottom: 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.crm-product-logo { display: block; width: min(100%,720px); aspect-ratio: 5.18 / 1; object-fit: cover; object-position: center; }
.sidebar-footer { display: grid; flex: 0 0 auto; gap: 11px; margin-top: 0; padding: 14px 6px 2px; border-top: 1px solid rgba(255,255,255,.08); }
.version-row { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.43); font-size: 0.625rem; }
.version-row strong { color: rgba(255,255,255,.68); }
.public-site-link { display: flex; align-items: center; justify-content: space-between; color: #cfe5ff; font-size: 0.6875rem; font-weight: 700; }
.public-site-link:hover { color: #fff; }
.public-site-link .icon { width: 15px; height: 15px; }
.sidebar-backdrop { display: none; }
.app-workspace { min-width: 0; }
.app-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; min-height: 72px; padding: 11px clamp(17px, 3vw, 34px); border-bottom: 1px solid rgba(222,232,243,.85); background: color-mix(in srgb, var(--surface) 88%, transparent); backdrop-filter: blur(14px); }
.topbar-title { display: grid; line-height: 1.22; }
.topbar-title small { color: var(--muted); font-size: 0.5625rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.topbar-title strong { font-size: 0.9375rem; }
.topbar-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.topbar-width-control { position: relative; }
.topbar-width-control > summary { display: flex; min-height: 38px; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); list-style: none; cursor: pointer; user-select: none; }
.topbar-width-control > summary::-webkit-details-marker { display: none; }
.topbar-width-control > summary:hover,.topbar-width-control[open] > summary { border-color: #b9cee7; color: var(--brand); }
.topbar-width-control > summary:focus-visible { outline: 3px solid var(--brand-soft); outline-offset: 2px; }
.topbar-width-control > summary .icon { width: 17px; height: 17px; }
.topbar-width-control > summary > span { color: var(--muted); font-size: 0.5625rem; font-weight: 750; }
.topbar-width-control > summary > strong { color: var(--ink); font-size: 0.625rem; }
.topbar-width-popover { position: absolute; top: calc(100% + 9px); right: 0; z-index: 45; display: grid; width: 286px; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: 0 20px 50px rgba(20,52,84,.18); }
.topbar-width-popover > button { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 10px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.topbar-width-popover > button:hover { border-color: var(--line); background: var(--surface-soft); }
.topbar-width-popover > button[aria-pressed="true"] { border-color: color-mix(in srgb,var(--brand) 32%,var(--line)); background: var(--brand-soft); }
.topbar-width-popover > button > i { position: relative; display: grid; width: 36px; height: 25px; place-items: center; border: 1px solid color-mix(in srgb,var(--brand) 30%,var(--line)); border-radius: 7px; background: var(--surface); }
.topbar-width-popover > button > i::after { content: ""; display: block; height: 11px; border-radius: 3px; background: var(--brand); opacity: .75; }
.topbar-width-popover > button > i.is-standard::after { width: 15px; }
.topbar-width-popover > button > i.is-wide::after { width: 23px; }
.topbar-width-popover > button > i.is-ultra::after { width: 30px; }
.topbar-width-popover > button > span { display: grid; gap: 2px; }
.topbar-width-popover strong { font-size: 0.6875rem; }
.topbar-width-popover small { color: var(--muted); font-size: 0.5625rem; line-height: 1.35; }
.topbar-font-icon { display: grid; width: 18px; height: 18px; place-items: center; color: var(--brand); font-size: 0.6875rem; font-weight: 900; line-height: 1; }
.topbar-font-popover { width: 300px; }
.font-size-preview { display: grid; width: 36px; height: 30px; place-items: center; border: 1px solid color-mix(in srgb,var(--brand) 30%,var(--line)); border-radius: 8px; background: var(--surface); color: var(--brand); font-style: normal; font-weight: 900; line-height: 1; }
.font-size-preview.is-small { font-size: 0.6875rem; }
.font-size-preview.is-standard { font-size: 0.8125rem; }
.font-size-preview.is-large { font-size: 1rem; }
.font-size-preview.is-xlarge { font-size: 1.1875rem; }
.topbar-preview { color: var(--muted); font-size: 0.6875rem; font-weight: 750; }
.topbar-preview:hover { color: var(--brand); }
.pwa-install-button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 10px; border: 1px solid #b9d3f2; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-size: 0.625rem; font-weight: 800; cursor: pointer; }
.pwa-install-button:hover { border-color: var(--brand); background: #e5f0ff; }
.pwa-install-button .icon { width: 15px; height: 15px; }
.pwa-install-button[hidden] { display: none; }
.icon-button { display: grid; place-items: center; width: 39px; height: 39px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); cursor: pointer; }
.icon-button:hover { color: var(--brand); border-color: #b9cee7; }
.icon-button .icon { width: 18px; height: 18px; }
.menu-button { display: none; margin-right: 10px; }
.user-menu { display: flex; align-items: center; gap: 9px; padding-left: 9px; border-left: 1px solid var(--line); }
.user-copy { display: grid; min-width: 105px; line-height: 1.2; }
.user-copy strong { color: var(--ink); font-size: 0.6875rem; }
.user-copy small { color: var(--muted); font-size: 0.5625rem; }
.logout-button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--muted); cursor: pointer; }
.logout-button:hover { background: var(--danger-soft); color: var(--danger); }
.logout-button .icon { width: 17px; height: 17px; }
.app-content { width: min(100%, var(--eocrm-app-width,1560px)); margin: 0 auto; padding: clamp(24px,3vw,42px) clamp(20px,3.2vw,46px) 48px; }
.crm-module-shell { width:100%; max-width:var(--eocrm-module-width,1480px); margin:0 auto; }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 24px; }
.page-heading h1 { margin: 9px 0 4px; font-size: clamp(1.6875rem, 3vw, 2.375rem); line-height: 1.08; letter-spacing: -.045em; }
.page-heading p { margin: 0; color: var(--muted); }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.panel-card { --panel-padding: clamp(18px,2vw,24px); position: relative; padding: var(--panel-padding); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.check-table { --panel-padding: 0px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.panel-heading h2 { margin: 8px 0 0; font-size: 1.1875rem; letter-spacing: -.025em; }
.panel-heading > a { color: var(--muted); font-size: 0.6875rem; font-weight: 750; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { position: relative; display: flex; align-items: center; gap: 13px; min-height: 106px; padding: 17px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card::after { content: ""; position: absolute; width: 90px; height: 90px; right: -39px; top: -42px; border-radius: 50%; background: var(--card-accent, #e9f2ff); opacity: .48; }
.metric-card .metric-icon { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; border-radius: 13px; color: var(--card-color, var(--brand)); background: var(--card-accent, var(--brand-soft)); }
.metric-card > div { display: grid; min-width: 0; }
.metric-card small { color: var(--muted); font-size: 0.5625rem; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.metric-card strong { margin: 2px 0 5px; overflow: hidden; font-size: 0.8125rem; text-overflow: ellipsis; white-space: nowrap; }
.accent-blue { --card-accent: #e8f2ff; --card-color: #1168d9; }
.accent-violet { --card-accent: #f0ebff; --card-color: #7354d7; }
.accent-cyan { --card-accent: #e4f8fb; --card-color: #14849b; }
.accent-green { --card-accent: #e6f8f0; --card-color: #16835f; }
.accent-orange { --card-accent:#fff2df; --card-color:#cf741d; }
.status-inline { width: fit-content; padding: 2px 6px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 800; }
.status-inline.is-ok { background: var(--success-soft); color: var(--success); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px,.75fr); gap: 18px; }
.setup-card, .activity-card { padding: 22px; }
.progress-ring { display: grid; place-items: center; width: 48px; height: 48px; border: 5px solid var(--brand-soft); border-top-color: var(--brand); border-radius: 50%; color: var(--brand); font-size: 0.625rem; font-weight: 850; }
.setup-list { display: grid; gap: 7px; margin-top: 20px; }
.setup-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; min-height: 60px; padding: 10px; border: 1px solid transparent; border-radius: 12px; color: var(--ink); }
a.setup-item:hover { border-color: var(--line); background: var(--surface-soft); color: var(--ink); }
.setup-item > span:first-child { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--surface-strong); color: var(--brand); font-size: 0.6875rem; font-weight: 850; }
.setup-item.is-done > span:first-child { background: var(--success-soft); color: var(--success); }
.setup-item > span:first-child .icon { width: 16px; height: 16px; }
.setup-item > div { display: grid; }
.setup-item strong { font-size: 0.75rem; }
.setup-item small { color: var(--muted); font-size: 0.625rem; }
.setup-item > .icon { width: 15px; height: 15px; color: var(--muted); }
.activity-list { display: grid; margin-top: 20px; }
.activity-item { position: relative; display: grid; grid-template-columns: 13px 1fr; gap: 8px; min-height: 48px; }
.activity-item:not(:last-child)::after { content: ""; position: absolute; left: 4px; top: 18px; bottom: 0; width: 1px; background: var(--line); }
.activity-dot { width: 9px; height: 9px; margin-top: 4px; border: 2px solid var(--surface); border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.activity-item > div { display: grid; align-content: start; }
.activity-item strong { font-size: 0.6875rem; }
.activity-item small { color: var(--muted); font-size: 0.5625rem; }
.quick-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 18px; }
.quick-actions > a { display: grid; grid-template-columns: 41px 1fr auto; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.quick-actions > a:hover { border-color: #b6cce5; color: var(--ink); transform: translateY(-1px); }
.quick-actions > a > span { display: grid; place-items: center; width: 41px; height: 41px; border-radius: 12px; background: var(--brand-soft); color: var(--brand); }
.quick-actions > a > div { display: grid; }
.quick-actions strong { font-size: 0.75rem; }
.quick-actions small { color: var(--muted); font-size: 0.625rem; }
.quick-actions > a > .icon { width: 16px; height: 16px; color: var(--muted); }

/* Team and account */
.role-badge { display: inline-flex; align-items: center; min-height: 40px; padding: 9px 13px; border: 1px solid rgba(17,104,217,.16); border-radius: 12px; background: var(--brand-soft); color: var(--brand); font-size: 0.75rem; font-weight: 800; }
.team-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); align-items: start; gap: 18px; }
.team-create-card { position: sticky; top: 91px; padding: 22px; }
.team-create-card > .muted-copy { margin: 16px 0 19px; font-size: 0.75rem; }
.team-create-form { display: grid; gap: 14px; }
.team-office-create { margin-top: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.team-office-create summary { padding: 11px 13px; color: var(--brand); cursor: pointer; font-size: 0.6875rem; font-weight: 800; }
.team-office-create form { display: grid; gap: 11px; padding: 13px; border-top: 1px solid var(--line); }
.team-list { display: grid; gap: 12px; }
.team-user-card { padding: 18px; }
.team-user-card.is-inactive { opacity: .72; }
.team-user-main { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; }
.team-user-avatar, .account-avatar { display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg,var(--brand),#5ba9ff); color: #fff; font-weight: 850; box-shadow: 0 10px 24px rgba(17,104,217,.18); }
.team-user-avatar { width: 46px; height: 46px; }
.team-user-main > div { display: grid; min-width: 0; }
.team-user-title { display: flex; align-items: center; gap: 8px; }
.team-user-title h2 { margin: 0; font-size: 0.9375rem; }
.team-user-title span { padding: 3px 6px; border-radius: 6px; background: var(--brand-soft); color: var(--brand); font-size: 0.5rem; font-weight: 850; text-transform: uppercase; }
.team-user-main a { overflow: hidden; color: var(--muted); font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.team-user-main small { margin-top: 3px; color: var(--muted); font-size: 0.5625rem; }
.team-user-controls { display: grid; grid-template-columns: repeat(2,minmax(230px,1fr)); align-items: end; gap: 10px; padding-top: 15px; margin-top: 15px; border-top: 1px solid var(--line); }
.team-user-control-form { display: grid; grid-template-columns: minmax(150px,1fr) auto; align-items: end; gap: 9px; }
.team-user-status-form { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.team-password-reset { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.team-password-reset summary { padding: 10px 12px; color: var(--brand); cursor: pointer; font-size: 0.6875rem; font-weight: 800; }
.team-password-reset form { display: grid; gap: 12px; padding: 13px; border-top: 1px solid var(--line); }
.account-layout { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); align-items: start; gap: 18px; }
.account-summary-card, .account-form-card { padding: 24px; }
.account-summary-card { display: grid; justify-items: start; }
.account-avatar { width: 66px; height: 66px; margin-bottom: 17px; font-size: 1.5rem; }
.account-summary-card h2 { margin: 0 0 3px; font-size: 1.3125rem; }
.account-summary-card > p { color: var(--muted); }
.account-summary-card .data-list { width: 100%; }
.account-security-note { display: flex; align-items: flex-start; gap: 8px; padding: 12px; margin: 18px 0 0 !important; border-radius: 11px; background: var(--success-soft); color: var(--success) !important; font-size: 0.625rem; }
.account-security-note .icon { width: 16px; height: 16px; }
.account-form { display: grid; gap: 17px; margin-top: 22px; }
.account-form-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 0.625rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.account-form-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.account-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.account-submit-row > span { display: flex; align-items: center; gap: 7px; max-width: 330px; color: var(--muted); font-size: 0.625rem; }
.account-submit-row .icon { width: 15px; height: 15px; color: var(--success); }

.module-preview-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: 18px; margin-bottom: 18px; }
.module-hero-card { position: relative; display: flex; align-items: center; gap: 20px; min-height: 230px; padding: 30px; overflow: hidden; border-radius: var(--radius); color: #fff; box-shadow: var(--shadow); }
.module-hero-card::after { content: ""; position: absolute; right: -70px; bottom: -100px; width: 300px; height: 300px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025); }
.crm-gradient { background: linear-gradient(135deg, #0b4d93, #177ada); }
.tour-gradient { background: linear-gradient(135deg, #075f74, #0d9cb2); }
.module-hero-icon { display: grid; place-items: center; width: 78px; height: 78px; flex: 0 0 78px; border: 1px solid rgba(255,255,255,.2); border-radius: 23px; background: rgba(255,255,255,.11); }
.module-hero-icon .icon { width: 37px; height: 37px; }
.module-hero-card > div { position: relative; z-index: 1; }
.module-hero-card > div > span { font-size: 0.625rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.module-hero-card h2 { margin: 8px 0; font-size: clamp(1.5rem,3vw,2.125rem); letter-spacing: -.04em; }
.module-hero-card p { max-width: 650px; margin: 0; color: rgba(255,255,255,.74); }
.module-preview-grid > .panel-card { padding: 24px; }
.feature-check-list { display: grid; gap: 13px; padding: 0; margin: 22px 0 0; list-style: none; }
.feature-check-list li { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 0.75rem; }
.feature-check-list .icon { width: 18px; height: 18px; padding: 3px; border-radius: 6px; background: var(--success-soft); color: var(--success); }
.empty-state { display: grid; place-items: center; padding: 45px 24px; border: 1px dashed #bccde0; border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 62%, transparent); text-align: center; }
.large-empty-state { min-height: 480px; }
.empty-state .empty-icon { display: grid; place-items: center; min-width: 58px; height: 58px; padding: 0 10px; margin-bottom: 15px; border-radius: 17px; background: var(--brand-soft); color: var(--brand); font-weight: 900; }
.empty-state .empty-icon .icon { width: 27px; height: 27px; }
.empty-state h1, .empty-state h2 { margin-bottom: 6px; }
.empty-state p { max-width: 690px; margin: 0 auto 18px; color: var(--muted); }

/* Estate Office CRM */
.crm-page-heading .role-badge { gap: 7px; }
.crm-page-heading .role-badge .icon { width: 16px; height: 16px; }
.crm-command-bar { display: grid; grid-template-columns: auto minmax(260px,1fr) auto; align-items: center; gap: 15px; padding: 13px; margin-bottom: 18px; }
.crm-tabs { display: flex; gap: 5px; padding: 4px; border-radius: 13px; background: var(--surface-soft); }
.crm-tabs a { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 8px 11px; border-radius: 10px; color: var(--muted); font-size: 0.6875rem; font-weight: 800; }
.crm-tabs a .icon { width: 16px; height: 16px; }
.crm-tabs a span { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 0.5625rem; }
.crm-tabs a.is-active { background: var(--surface); color: var(--brand); box-shadow: var(--shadow-sm); }
.crm-tabs a.is-active span { background: var(--brand-soft); color: var(--brand); }
.crm-search { display: flex; justify-content: flex-end; gap: 7px; min-width: 0; }
.crm-search label { width: min(100%,460px); }
.crm-search input { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); padding: 10px 13px; }
.crm-clear-search { align-self: center; font-size: 0.625rem; font-weight: 750; }
.crm-create-actions { display: flex; gap: 7px; }
.crm-workspace { display: grid; grid-template-columns: minmax(0,1.38fr) minmax(350px,.62fr); align-items: start; gap: 18px; }
.crm-records-panel, .crm-form-panel { min-width: 0; padding: 22px; }
.crm-form-panel { position: sticky; top: 91px; }
.crm-record-list { display: grid; gap: 9px; margin-top: 18px; }
.crm-record-card { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-soft); transition: border-color .15s ease, transform .15s ease; }
.crm-record-card:hover { border-color: color-mix(in srgb,var(--brand) 28%,var(--line)); transform: translateY(-1px); }
.crm-record-avatar, .crm-property-symbol { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 14px; background: linear-gradient(145deg,var(--brand),#5aa9ff); color: #fff; font-weight: 850; box-shadow: 0 9px 20px rgba(17,104,217,.16); }
.crm-property-symbol { background: linear-gradient(145deg,#7857dc,#a083f1); }
.crm-property-symbol .icon { width: 21px; height: 21px; }
.crm-record-copy { min-width: 0; }
.crm-record-title { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.crm-record-title h3 { min-width: 0; margin: 0; font-size: 0.8125rem; line-height: 1.3; }
.crm-kind-badge { padding: 3px 7px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 0.5rem; font-weight: 850; text-transform: uppercase; }
.crm-contact-lines { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; }
.crm-contact-lines a { color: var(--muted); font-size: 0.625rem; }
.crm-record-copy > small { display: block; margin-top: 5px; color: var(--muted); font-size: 0.5625rem; }
.crm-record-card.is-property { grid-template-columns: 45px minmax(0,1fr) minmax(120px,auto); }
.crm-record-card.is-property .crm-record-copy > p { margin: 4px 0; color: var(--muted); font-size: 0.625rem; }
.crm-property-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 11px; }
.crm-property-meta strong { color: var(--brand); font-size: 0.6875rem; }
.crm-property-meta small { color: var(--muted); font-size: 0.5625rem; }
.crm-record-actions { display: grid; justify-items: stretch; gap: 6px; }
.crm-record-actions .button { min-height: 34px; padding: 7px 11px; font-size: 0.625rem; }
.crm-record-actions form { display: grid; grid-template-columns: minmax(105px,1fr) auto; gap: 5px; }
.crm-record-actions select { width: 100%; min-height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); padding: 6px 9px; font-size: 0.5625rem; }
.crm-status-active { background: var(--success-soft); color: var(--success); }
.crm-status-reserved { background: var(--warning-soft); color: var(--warning); }
.crm-status-sold, .crm-status-rented { background: var(--brand-soft); color: var(--brand); }
.crm-status-archived { opacity: .72; }
.crm-empty { display: grid; justify-items: center; min-height: 380px; align-content: center; padding: 30px; text-align: center; }
.crm-empty > span { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 13px; border-radius: 18px; background: var(--brand-soft); color: var(--brand); }
.crm-empty h3 { margin-bottom: 5px; font-size: 1.0625rem; }
.crm-empty p { max-width: 430px; margin-bottom: 16px; color: var(--muted); font-size: 0.6875rem; }
.crm-form-panel .panel-heading > a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--surface-soft); color: var(--muted); font-size: 1.3125rem; line-height: 1; }
.crm-record-form { display: grid; gap: 14px; margin-top: 19px; }
.crm-price-grid { grid-template-columns: minmax(0,1.3fr) minmax(82px,.5fr) minmax(120px,.7fr); }
.crm-form-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 15px; border-top: 1px solid var(--line); }
.crm-form-welcome { display: grid; justify-items: stretch; padding: 18px 5px 5px; }
.crm-form-welcome-icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 17px; border-radius: 20px; background: linear-gradient(145deg,var(--brand-soft),color-mix(in srgb,var(--brand) 16%,var(--surface))); color: var(--brand); }
.crm-form-welcome-icon .icon { width: 27px; height: 27px; }
.crm-form-welcome h2 { margin: 10px 0 5px; font-size: 1.4375rem; }
.crm-form-welcome > p { margin-bottom: 20px; color: var(--muted); font-size: 0.6875rem; }
.crm-form-welcome > .button + .button { margin-top: 8px; }
.crm-scope-note { display: flex; align-items: flex-start; gap: 8px; padding: 12px; margin-top: 18px; border-radius: 12px; background: var(--success-soft); color: var(--success); font-size: 0.5625rem; }
.crm-scope-note .icon { width: 16px; height: 16px; }

.update-overview-grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: 18px; margin-bottom: 18px; }
.version-card, .update-roadmap-card { min-height: 230px; padding: 24px; overflow: hidden; }
.version-card .card-orb { position: absolute; right: -55px; top: -75px; width: 180px; height: 180px; border-radius: 50%; background: var(--brand-soft); }
.version-card h2 { font-size: 2.25rem; color: var(--brand); }
.status-pill { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 0.625rem; font-weight: 800; }
.status-pill.is-success { background: var(--success-soft); color: var(--success); }
.status-pill.is-warning { background: var(--warning-soft); color: var(--warning); }
.data-list { display: grid; gap: 7px; margin: 21px 0 0; }
.data-list div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.data-list dt { color: var(--muted); font-size: 0.6875rem; }
.data-list dd { margin: 0; font-size: 0.6875rem; font-weight: 750; }
.update-roadmap-card > p { max-width: 650px; margin-top: 20px; color: var(--muted); }
.update-roadmap-card .panel-heading > .icon { width: 33px; height: 33px; color: var(--brand); }
.mini-steps { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.mini-steps span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 0.625rem; font-weight: 750; }
.mini-steps span.is-done { background: var(--success-soft); border-color: transparent; color: var(--success); }
.post-update-check { display: grid; grid-template-columns: 58px minmax(240px,1fr) minmax(320px,1.2fr) auto; align-items: center; gap: 18px; margin-bottom: 18px; padding: 21px; border-color: color-mix(in srgb,var(--success) 25%,var(--line)); background: linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--success-soft) 45%,var(--surface))); }
.post-update-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: var(--success-soft); color: var(--success); }
.post-update-icon .icon { width: 27px; height: 27px; }
.post-update-copy h2 { margin: 6px 0 3px; font-size: 1.1875rem; }
.post-update-copy p { margin: 0; color: var(--muted); font-size: 0.625rem; }
.post-update-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.post-update-checklist span { display: flex; align-items: center; gap: 7px; padding: 8px 9px; border-radius: 9px; background: var(--surface-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 750; }
.post-update-checklist span.is-ok { background: var(--success-soft); color: var(--success); }
.post-update-checklist span.is-warning { background: var(--warning-soft); color: var(--warning); }
.post-update-checklist .icon { width: 13px; height: 13px; }
.automatic-update-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.automatic-update-card, .rollback-card { display: grid; align-content: start; gap: 16px; min-height: 360px; padding: 24px; }
.automatic-update-card > p, .rollback-card > p { margin: 0; color: var(--muted); font-size: 0.6875rem; }
.automatic-update-card .panel-heading > .icon, .rollback-card .panel-heading > .icon { width: 28px; height: 28px; color: var(--brand); }
.automatic-update-card form, .rollback-card form { display: grid; gap: 13px; margin-top: auto; }
.migration-external-roadmap { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; background: linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 48%,var(--surface))); }
.migration-external-roadmap h2 { margin: 7px 0 4px; font-size: 1.25rem; }
.migration-external-roadmap p { max-width: 760px; margin: 0; color: var(--muted); font-size: 0.6875rem; }
.roadmap-product-list { display: flex; flex-wrap: wrap; gap: 8px; }
.roadmap-product-list span { display: grid; gap: 2px; min-width: 105px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.roadmap-product-list strong { color: var(--ink); font-size: 0.6875rem; }
.roadmap-product-list small { color: var(--brand); font-size: 0.5625rem; font-weight: 800; }
.roadmap-heading { align-items: flex-end; }
.roadmap-metrics { margin-bottom: 18px; }
.roadmap-stop-card { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 17px; margin-bottom: 18px; border-color: color-mix(in srgb,var(--warning) 35%,var(--line)); background: linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--warning-soft) 58%,var(--surface))); }
.roadmap-stop-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: var(--warning-soft); color: var(--warning); }
.roadmap-stop-icon .icon { width: 25px; height: 25px; }
.roadmap-stop-card h2 { margin: 6px 0 3px; font-size: 1.3125rem; }
.roadmap-stop-card p { max-width: 900px; margin: 0; color: var(--muted); font-size: 0.6875rem; }
.roadmap-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,.75fr); gap: 18px; align-items: start; }
.roadmap-main-card, .roadmap-import-card, .roadmap-editor-card, .roadmap-app-card { overflow: hidden; }
.roadmap-list { display: grid; margin-top: 18px; }
.roadmap-item { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 15px; padding: 15px 0; border-top: 1px solid var(--line); }
.roadmap-version { display: grid; align-content: start; gap: 4px; }
.roadmap-version strong { color: var(--brand); font-size: 0.875rem; }
.roadmap-version small { color: var(--muted); font-size: 0.5rem; font-weight: 800; text-transform: uppercase; }
.roadmap-item p { margin: 0 0 5px; color: var(--ink); font-size: 0.6875rem; line-height: 1.55; }
.roadmap-item div > span { color: var(--muted); font-size: 0.5625rem; line-height: 1.45; }
.roadmap-side { display: grid; gap: 18px; }
.roadmap-import-card > p, .roadmap-editor-card > p, .roadmap-app-card > p { margin: 15px 0; color: var(--muted); font-size: 0.625rem; line-height: 1.55; }
.roadmap-import-card .panel-heading > .icon, .roadmap-editor-card .panel-heading > .icon, .roadmap-app-card .panel-heading > .icon { width: 27px; height: 27px; color: var(--brand); }
.roadmap-checklist { display: grid; gap: 8px; margin: 17px 0 0; padding: 0; list-style: none; }
.roadmap-checklist li { position: relative; padding: 9px 10px 9px 30px; border-radius: 10px; background: var(--surface-soft); color: var(--ink); font-size: 0.625rem; }
.roadmap-checklist li::before { position: absolute; left: 11px; top: 9px; content: '✓'; color: var(--success); font-weight: 900; }
.roadmap-app-row { display: grid; grid-template-columns: 57px 1fr; gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); }
.roadmap-app-row strong { color: var(--brand); font-size: 0.625rem; }
.roadmap-app-row span { color: var(--muted); font-size: 0.5625rem; }
.roadmap-history-card { margin-top: 18px; }
.roadmap-history-card summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.roadmap-history-card summary::-webkit-details-marker { display: none; }
.roadmap-history-card summary > span { display: grid; gap: 7px; }
.roadmap-history-card summary strong { font-size: 1.0625rem; }
.roadmap-history-card summary em { color: var(--brand); font-size: 0.625rem; font-style: normal; font-weight: 800; }
.roadmap-history-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; margin-top: 20px; border-top: 1px solid var(--line); }
.roadmap-history-list article { display: grid; grid-template-columns: 58px 1fr; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.roadmap-history-list strong { color: var(--brand); font-size: 0.625rem; }
.roadmap-history-list p { margin: 0; color: var(--muted); font-size: 0.5625rem; line-height: 1.5; }
.migration-audit-card { margin-top: 18px; }
.migration-audit-card > .panel-heading form { margin: 0; }
.migration-audit-intro { max-width: 900px; margin: 16px 0 18px; color: var(--muted); font-size: 0.6875rem; line-height: 1.6; }
.migration-audit-result { display: flex; align-items: center; gap: 12px; margin-bottom: 13px; padding: 13px 14px; border-radius: 13px; background: var(--warning-soft); color: var(--warning); }
.migration-audit-result.is-ready { background: var(--success-soft); color: var(--success); }
.migration-audit-result > span { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 11px; background: color-mix(in srgb,currentColor 12%,transparent); }
.migration-audit-result .icon { width: 18px; height: 18px; }
.migration-audit-result div { display: grid; gap: 2px; }
.migration-audit-result strong { font-size: 0.75rem; }
.migration-audit-result small { color: var(--muted); font-size: 0.5625rem; }
.migration-audit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.migration-audit-check { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: start; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.migration-audit-check > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); }
.migration-audit-check.status-ok > span { background: var(--success-soft); color: var(--success); }
.migration-audit-check.status-error > span { background: var(--danger-soft); color: var(--danger); }
.migration-audit-check.status-warning > span { background: var(--warning-soft); color: var(--warning); }
.migration-audit-check .icon { width: 17px; height: 17px; }
.migration-audit-check strong { display: block; margin: 1px 0 3px; font-size: 0.625rem; }
.migration-audit-check p { margin: 0; color: var(--muted); font-size: 0.5rem; line-height: 1.45; }
.migration-audit-check em { color: var(--ink); font-size: 0.8125rem; font-style: normal; font-weight: 850; }
.migration-audit-sources { margin-top: 16px; }
.migration-audit-sources td strong, .migration-audit-sources td small { display: block; }
.migration-audit-sources td small { margin-top: 2px; color: var(--muted); font-size: 0.5rem; }
.external-import-workspace { display: grid; gap: 24px; margin-bottom: 18px; scroll-margin-top: 24px; }
.external-import-workspace > .panel-heading { align-items: flex-start; }
.external-import-layout { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.45fr); gap: 24px; align-items: start; }
.external-import-form { display: grid; gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(160deg,var(--surface) 0%,var(--brand-soft) 160%); }
.external-import-drop { position: relative; display: grid; place-items: center; gap: 7px; min-height: 146px; padding: 22px; border: 1.5px dashed color-mix(in srgb,var(--brand) 52%,var(--line)); border-radius: 16px; background: var(--surface); text-align: center; cursor: pointer; transition: .18s ease; }
.external-import-drop:hover { border-color: var(--brand); background: color-mix(in srgb,var(--brand-soft) 55%,var(--surface)); transform: translateY(-1px); }
.external-import-drop > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--brand-soft); color: var(--brand); }
.external-import-drop .icon { width: 22px; height: 22px; }
.external-import-drop small { color: var(--muted); }
.external-import-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.external-import-scopes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 0; padding: 0; border: 0; }
.external-import-scopes legend { grid-column: 1 / -1; margin-bottom: 3px; font-size: 0.625rem; font-weight: 850; color: var(--ink); }
.external-import-scopes label { display: flex; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); font-size: 0.5625rem; font-weight: 800; }
.external-import-scopes input { accent-color: var(--brand); }
.external-import-result { min-width: 0; }
.external-import-result-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 17px; }
.external-import-result-head h3 { margin: 7px 0 5px; font-size: 1.25rem; overflow-wrap: anywhere; }
.external-import-result-head p { margin: 0; color: var(--muted); font-size: 0.5625rem; overflow-wrap: anywhere; }
.external-import-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }
.external-import-metrics > span { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); }
.external-import-metrics small { color: var(--muted); font-size: 0.5rem; }
.external-import-metrics strong { font-size: 1.3125rem; color: var(--ink); }
.external-import-entities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.external-import-entities > span { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 999px; background: var(--success-soft); color: var(--success); font-size: 0.5625rem; }
.external-import-entities > span.has-warning { background: var(--warning-soft); color: var(--warning); }
.external-import-entities small { opacity: .8; }
.external-import-result h4 { margin: 0 0 10px; font-size: 0.75rem; }
.external-import-mapping { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.external-import-mapping > span { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.external-import-mapping code { color: var(--brand); font-size: 0.5625rem; font-weight: 850; }
.external-import-mapping small { color: var(--muted); font-size: 0.5rem; }
.external-import-sample { max-height: 460px; margin-bottom: 16px; }
.external-import-sample td { vertical-align: top; max-width: 330px; overflow-wrap: anywhere; }
.external-import-sample td small { display: block; margin-top: 4px; color: var(--muted); font-size: 0.5rem; }
.external-import-history { display: grid; gap: 12px; padding-top: 22px; border-top: 1px solid var(--line); }
.external-import-history .panel-heading { margin: 0; }
.external-import-history td small { display: block; margin-top: 4px; color: var(--muted); font-size: 0.5rem; }
.asari-import-commit { display: grid; gap: 16px; margin-top: 18px; padding: 18px; border: 1px solid color-mix(in srgb,var(--brand) 25%,var(--line)); border-radius: 16px; background: color-mix(in srgb,var(--brand-soft) 35%,var(--surface)); }
.asari-import-commit > .panel-heading { align-items: flex-start; margin: 0; }
.asari-import-commit h4 { margin: 6px 0 4px; font-size: 0.9375rem; }
.asari-import-commit p { margin: 0; color: var(--muted); font-size: 0.5625rem; line-height: 1.55; }
.asari-import-commit form:not(.asari-backup-action) { display: grid; gap: 14px; }
.asari-backup-action { display: flex; }
.asari-import-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.asari-import-confirm { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.asari-import-confirm > span { align-items: flex-start; }
.asari-import-report { display: grid; gap: 17px; margin-bottom: 18px; }
.asari-import-report > .panel-heading { margin: 0; }
.asari-import-metrics { grid-template-columns: repeat(5,minmax(0,1fr)); }
.update-inline-warning { display: grid; gap: 3px; padding: 12px 13px; border-radius: 11px; background: var(--warning-soft); color: var(--warning); font-size: 0.625rem; }
.update-offer-data { margin-top: 0; }
.update-offer-data code { color: var(--brand); font-size: 0.625rem; }
.form-hint { color: var(--muted); font-size: 0.625rem; text-align: center; }
.rollback-card { background: linear-gradient(155deg,var(--surface),color-mix(in srgb,var(--danger-soft) 25%,var(--surface))); }
.rollback-card.has-backup .panel-heading > .icon { color: var(--warning); }
.rollback-empty { display: grid; justify-items: center; align-content: center; gap: 8px; min-height: 210px; padding: 24px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.rollback-empty > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--success-soft); color: var(--success); }
.rollback-empty .icon { width: 23px; height: 23px; }
.rollback-empty strong { color: var(--ink); font-size: 0.75rem; }
.rollback-empty p { max-width: 390px; margin: 0; font-size: 0.625rem; }
.backup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.backup-card { display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding: 24px; }
.backup-card-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--brand-soft); color: var(--brand); }
.restore-card .backup-card-icon { background: var(--danger-soft); color: var(--danger); }
.backup-card h2 { margin: 8px 0 5px; font-size: 1.25rem; }
.backup-card p { margin: 0; color: var(--muted); font-size: 0.75rem; }
.backup-card form { grid-column: 1 / -1; display: grid; gap: 13px; }

.health-score { display: grid; place-items: center; min-width: 95px; padding: 10px 15px; border-radius: 15px; background: var(--warning-soft); color: var(--warning); }
.health-score.is-perfect { background: var(--success-soft); color: var(--success); }
.health-score strong { font-size: 1.125rem; }
.health-score small { font-size: 0.5625rem; text-transform: uppercase; letter-spacing: .08em; }
.system-summary-card { display: flex; align-items: center; gap: 15px; padding: 19px 22px; margin-bottom: 18px; border-radius: 16px; }
.system-summary-card > span { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 13px; font-weight: 900; }
.system-summary-card h2 { margin: 0 0 2px; font-size: 1rem; }
.system-summary-card p { margin: 0; font-size: 0.6875rem; }
.system-summary-card.is-good { background: var(--success-soft); color: var(--success); }
.system-summary-card.is-good p { color: color-mix(in srgb, var(--success) 75%, var(--muted)); }
.system-summary-card.has-warnings { background: var(--warning-soft); color: var(--warning); }
.system-summary-card.has-warnings p { color: color-mix(in srgb, var(--warning) 72%, var(--muted)); }
.check-table { overflow: hidden; }
.check-table-head, .check-table-row { display: grid; grid-template-columns: .55fr .8fr .6fr 1.4fr; align-items: center; gap: 15px; padding: 13px 17px; }
.check-table-head { background: var(--surface-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.check-table-row + .check-table-row { border-top: 1px solid var(--line); }
.check-table-row > span:first-child { color: var(--muted); font-size: 0.625rem; font-weight: 750; text-transform: uppercase; }
.check-table-row strong { font-size: 0.75rem; }
.check-table-row > span:nth-child(3) { display: flex; align-items: center; gap: 7px; font-size: 0.6875rem; font-weight: 750; }
.check-table-row > span:nth-child(3) i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; font-style: normal; }
.check-table-row.is-ok > span:nth-child(3) { color: var(--success); }
.check-table-row.is-ok > span:nth-child(3) i { background: var(--success-soft); }
.check-table-row.is-warning > span:nth-child(3) { color: var(--warning); }
.check-table-row.is-warning > span:nth-child(3) i { background: var(--warning-soft); }
.check-table-row .icon { width: 13px; height: 13px; }
.check-table-row > small { color: var(--muted); font-size: 0.625rem; }
.page-bottom-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }

.license-mode-banner { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; margin-bottom: 18px; padding: 13px 15px; border: 1px solid color-mix(in srgb,var(--warning) 25%,var(--line)); border-radius: 14px; background: var(--warning-soft); color: var(--warning); }
.license-mode-banner > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: color-mix(in srgb,var(--warning) 13%,var(--surface)); }
.license-mode-banner .icon { width: 21px; height: 21px; }
.license-mode-banner div { display: grid; gap: 2px; }
.license-mode-banner strong { font-size: 0.75rem; }
.license-mode-banner small { color: color-mix(in srgb,var(--warning) 70%,var(--ink)); font-size: 0.625rem; }
.license-read-only form[data-license-write] { opacity: .58; }
.license-read-only form[data-license-write]::after { content: ''; }

/* Estate Office license */
.license-heading-status { padding: 9px 13px; font-size: 0.6875rem; }
.license-overview { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: 18px; margin-bottom: 18px; }
.license-status-card, .license-action-card { min-height: 410px; padding: 25px; }
.license-status-card { position: relative; display: grid; grid-template-columns: 86px 1fr; align-content: start; gap: 18px; overflow: hidden; }
.license-status-card::after { content: ''; position: absolute; right: -80px; top: -100px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, var(--brand-soft), transparent 70%); pointer-events: none; }
.license-status-card.is-active::after { background: radial-gradient(circle, var(--success-soft), transparent 70%); }
.license-status-visual { position: relative; display: grid; place-items: center; width: 82px; height: 82px; }
.license-shield { position: relative; z-index: 2; display: grid; place-items: center; width: 66px; height: 66px; border-radius: 21px; background: linear-gradient(145deg,#eff6ff,#dcecff); color: var(--brand); box-shadow: 0 15px 35px rgba(30,102,178,.18); }
.license-shield .icon { width: 31px; height: 31px; }
.license-status-card.is-active .license-shield { background: linear-gradient(145deg,#eafaf4,#d4f2e7); color: var(--success); }
.license-pulse { position: absolute; inset: 0; border: 1px solid color-mix(in srgb, var(--brand) 25%, transparent); border-radius: 27px; }
.license-status-card.is-active .license-pulse { border-color: color-mix(in srgb, var(--success) 30%, transparent); }
.license-status-copy { align-self: center; }
.license-status-copy h2 { margin: 7px 0 4px; font-size: 1.75rem; }
.license-status-copy p { max-width: 600px; margin: 0; color: var(--muted); font-size: 0.75rem; }
.license-data-list { grid-column: 1 / -1; margin-top: 9px; }
.license-data-list code { color: var(--brand); font-size: 0.625rem; }
.license-action-card { display: grid; align-content: start; gap: 18px; background: linear-gradient(160deg,var(--surface),color-mix(in srgb,var(--brand-soft) 32%,var(--surface))); }
.license-action-card .panel-heading > .icon { width: 30px; height: 30px; color: var(--brand); }
.license-action-card > p { margin: 0; color: var(--muted); font-size: 0.75rem; }
.license-key-form, .license-action-stack { display: grid; gap: 15px; }
.license-deactivate-box { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.license-deactivate-box summary { cursor: pointer; color: var(--muted); font-size: 0.6875rem; font-weight: 750; }
.license-deactivate-box p { margin: 11px 0; color: var(--muted); font-size: 0.625rem; }
.license-security-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.license-feature { display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: center; padding: 18px; }
.license-feature > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--brand-soft); color: var(--brand); }
.license-feature > span .icon { width: 22px; height: 22px; }
.license-feature strong { display: block; margin-bottom: 3px; font-size: 0.75rem; }
.license-feature p { margin: 0; color: var(--muted); font-size: 0.625rem; }
.license-update-card { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 23px; margin-bottom: 18px; }
.license-update-card h2 { margin: 6px 0 4px; font-size: 1.25rem; }
.license-update-card p { max-width: 720px; margin: 0; color: var(--muted); font-size: 0.6875rem; }
.license-update-result { grid-column: 1 / -1; display: flex; gap: 10px; padding: 12px 14px; border-radius: 11px; background: var(--warning-soft); color: var(--warning); font-size: 0.6875rem; }
.license-update-result.is-ok { background: var(--success-soft); color: var(--success); }

/* Visual content editor */
.visual-editor { display: grid; grid-template-columns: minmax(400px,.88fr) minmax(420px,1.12fr); gap: 18px; padding-bottom: 88px; }
.editor-fields { display: grid; align-content: start; gap: 10px; }
.editor-section { border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.editor-section summary { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; min-height: 65px; padding: 10px 14px; cursor: pointer; list-style: none; }
.editor-section summary::-webkit-details-marker { display: none; }
.editor-section summary:hover { background: var(--surface-soft); }
.editor-section summary > span:nth-child(2) { display: grid; }
.editor-section summary strong { font-size: 0.75rem; }
.editor-section summary small { color: var(--muted); font-size: 0.625rem; }
.editor-section summary > i { color: var(--muted); font-style: normal; transition: transform .18s ease; }
.editor-section[open] summary > i { transform: rotate(180deg); }
.editor-section-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-size: 0.6875rem; font-weight: 850; }
.editor-section-body { display: grid; gap: 15px; padding: 17px; border-top: 1px solid var(--line); background: var(--surface-soft); }
.service-editor-list { gap: 12px; }
.service-editor-item { display: grid; grid-template-columns: 29px 1fr; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.service-editor-item > span { color: var(--brand); font-size: 0.625rem; font-weight: 850; }
.service-editor-item > div { display: grid; gap: 10px; }
.editor-preview-panel { position: sticky; top: 90px; align-self: start; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #e8eef6; box-shadow: var(--shadow); }
.editor-preview-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 1px 2px 12px; color: #4f6174; font-size: 0.625rem; font-weight: 800; }
.editor-preview-toolbar > span { display: flex; align-items: center; gap: 7px; }
.editor-preview-toolbar > span i { width: 7px; height: 7px; border-radius: 50%; background: #24a876; box-shadow: 0 0 0 4px rgba(36,168,118,.12); }
.editor-preview-toolbar > div { display: flex; gap: 4px; }
.editor-preview-toolbar button { display: grid; place-items: center; width: 28px; height: 25px; border: 0; border-radius: 7px; background: transparent; color: #718296; cursor: pointer; }
.editor-preview-toolbar button.is-active { background: #fff; color: #1264c5; box-shadow: 0 3px 10px rgba(37,65,97,.12); }
.editor-preview-frame { width: 100%; max-width: 100%; margin: 0 auto; overflow: hidden; border-radius: 13px; background: #f4f9ff; color: #143454; box-shadow: 0 15px 35px rgba(24,52,84,.16); transition: max-width .25s ease; }
.editor-preview-frame.is-mobile { max-width: 330px; }
.preview-site-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 42px; padding: 8px 15px; background: #fff; font-size: 0.4375rem; }
.preview-site-header strong { font-size: 0.5625rem; }
.preview-site-header span { color: #60758d; }
.preview-site-hero { display: grid; justify-items: center; align-content: center; min-height: clamp(230px,32vw,390px); padding: 35px 27px; text-align: center; background: radial-gradient(circle at 10% 30%, rgba(112,181,246,.7), transparent 35%), linear-gradient(130deg, #103b68, #126ec5); color: #fff; }
.preview-site-hero small { font-size: 0.4375rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.preview-site-hero h2 { max-width: 550px; margin: 8px 0; font-family: Georgia, serif; font-size: clamp(1.4375rem,3.2vw,2.6875rem); line-height: 1.03; }
.preview-site-hero p { max-width: 520px; margin: 0 0 14px; color: rgba(255,255,255,.75); font-size: 0.5625rem; }
.preview-site-hero b { padding: 7px 12px; border-radius: 999px; background: #fff; color: #105fae; font-size: 0.5rem; }
.preview-site-about { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; align-items: center; padding: 30px; }
.preview-site-about > span { display: block; min-height: 125px; border-radius: 12px; background: linear-gradient(145deg,#bcd8f4,#e3effc); }
.preview-site-about small, .preview-site-services > small { color: #176ccc; font-size: 0.4375rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.preview-site-about h3, .preview-site-services h3 { margin: 5px 0; font-family: Georgia, serif; font-size: 1.125rem; line-height: 1.08; }
.preview-site-about p { margin: 0; color: #687d93; font-size: 0.5rem; }
.preview-site-services { padding: 25px 30px 33px; background: #fff; }
.preview-site-services > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 12px; }
.preview-site-services > div span { min-height: 55px; padding: 9px; border-top: 3px solid #1670d1; border-radius: 7px; background: #f4f8fd; font-family: Georgia, serif; font-size: 0.5625rem; font-weight: 700; }
.editor-preview-frame.is-mobile .preview-site-header span { display: none; }
.editor-preview-frame.is-mobile .preview-site-about { grid-template-columns: 1fr; padding: 21px; }
.editor-preview-frame.is-mobile .preview-site-about > span { min-height: 100px; }
.editor-preview-frame.is-mobile .preview-site-services { padding: 21px; }
.editor-preview-frame.is-mobile .preview-site-services > div { grid-template-columns: 1fr; }
.preview-note { margin: 10px 3px 0; color: #617589; font-size: 0.5625rem; text-align: center; }
.editor-savebar { position: fixed; z-index: 25; right: 0; bottom: 0; left: 264px; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 10px clamp(20px,4vw,48px); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 92%, transparent); box-shadow: 0 -12px 30px rgba(24,52,84,.08); backdrop-filter: blur(14px); }
.website-section-layout { display:grid; gap:8px; }.editor-section-help { margin:0 0 4px; color:var(--muted); font-size:.86rem; line-height:1.55; }.website-section-toggle { display:grid; grid-template-columns:auto minmax(0,1fr) 70px; align-items:center; gap:12px; padding:12px 13px; border:1px solid var(--line); border-radius:14px; background:#fbfcff; cursor:pointer; }.website-section-toggle > input:first-child { width:18px; height:18px; accent-color:var(--blue); }.website-section-toggle strong,.website-section-toggle small { display:block; }.website-section-toggle small { margin-top:2px; color:var(--muted); font-size:.78rem; }.website-section-order { width:70px!important; min-height:38px!important; text-align:center; }.editor-image-picker { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; padding:14px; border:1px dashed #b9c9e8; border-radius:14px; background:#f8fbff; }.editor-image-picker .field { margin:0; }.editor-image-picker small { line-height:1.45; }.editor-image-picker a { color:var(--blue); font-weight:700; }
.slider-editor { display:grid; gap:15px; }.slider-editor-slide { display:grid; gap:12px; margin:0; padding:15px; border:1px solid #d8e5f5; border-radius:16px; background:#f8fbff; }.slider-editor-slide legend { padding:0 7px; color:var(--blue); font-size:0.75rem; font-weight:850; }.checkbox-field > span { display:flex; align-items:center; gap:8px; font-weight:750; }.checkbox-field input { width:18px; height:18px; accent-color:var(--blue); }
.editor-savebar > div { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 0.6875rem; }
.save-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #aab8c8; }
.visual-editor.is-dirty .save-status-dot { background: var(--warning); box-shadow: 0 0 0 4px var(--warning-soft); }

.crm-property-thumb { width: 45px; height: 45px; border-radius: 14px; object-fit: cover; background: var(--surface-soft); box-shadow: 0 9px 20px rgba(17,104,217,.14); }
.media-page-heading { margin-bottom: 18px; }
.media-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
.media-workspace { display: grid; grid-template-columns: minmax(260px,.36fr) minmax(0,1fr); gap: 18px; align-items: start; }
.media-upload-panel { position: sticky; top: 90px; padding: 20px; }
.media-upload-panel form, .property-photo-upload { display: grid; gap: 14px; }
.media-drop-field { display: grid; justify-items: center; gap: 5px; padding: 25px 16px; border: 1.5px dashed color-mix(in srgb,var(--brand) 42%,var(--line)); border-radius: 17px; background: color-mix(in srgb,var(--brand-soft) 68%,var(--surface)); text-align: center; cursor: pointer; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.media-drop-field:hover, .media-drop-field:focus-within { border-color: var(--brand); background: var(--brand-soft); transform: translateY(-1px); }
.media-drop-field input { width: 100%; margin-top: 9px; color: var(--muted); font-size: 0.625rem; }
.media-drop-field input::file-selector-button { margin-right: 9px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 800; cursor: pointer; }
.media-drop-field strong { color: var(--ink); font-size: 0.8125rem; }
.media-drop-field small { color: var(--muted); font-size: 0.5625rem; }
.media-drop-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 4px; border-radius: 14px; background: var(--surface); color: var(--brand); box-shadow: 0 8px 20px rgba(17,104,217,.13); }
.media-drop-icon .icon { width: 21px; height: 21px; }
.media-upload-preview { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 11px; align-items: center; padding: 9px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); }
.media-upload-preview[hidden] { display: none; }
.media-upload-preview img { width: 62px; height: 52px; border-radius: 9px; object-fit: cover; }
.media-upload-preview span { min-width: 0; overflow: hidden; color: var(--muted); font-size: 0.5625rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.property-batch-upload { display: grid; gap: 12px; }
.property-batch-drop-field { padding: 20px 16px; }
.property-batch-summary { padding: 11px 13px; border: 1px solid color-mix(in srgb,var(--brand) 28%,var(--line)); border-radius: 12px; background: var(--brand-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 750; line-height: 1.55; }
.property-batch-summary[hidden] { display: none; }
.media-security-note { display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: start; margin-top: 16px; padding: 11px; border-radius: 12px; background: var(--success-soft); color: var(--muted); font-size: 0.5625rem; line-height: 1.5; }
.media-security-note .icon { width: 18px; color: var(--success); }
.media-library-panel { min-width: 0; padding: 20px; }
.media-storage-status { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; padding:14px 16px; border:1px solid color-mix(in srgb,var(--success) 30%,var(--line)); border-radius:15px; background:var(--success-soft); }
.media-storage-status.has-warning { border-color:#e8c56e; background:#fff8e7; }
.media-storage-status > div { display:flex; align-items:center; gap:11px; }
.media-storage-status .icon { width:22px; color:var(--success); }
.media-storage-status span { display:grid; gap:3px; }
.media-storage-status small { color:var(--muted); line-height:1.45; }
.media-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 14px; padding:0 4px; color:var(--muted); font-size:0.625rem; }
.media-breadcrumbs a { color:var(--brand); font-weight:850; }
.media-breadcrumbs strong { color:var(--ink); }
.media-folder-browser { padding:20px; }
.media-folder-browser .panel-heading p { margin:5px 0 0; color:var(--muted); font-size:0.625rem; }
.media-folder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.media-folder-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:15px; background:var(--surface); color:var(--ink); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.media-folder-card:hover,.media-folder-card:focus-visible { border-color:var(--brand); outline:0; box-shadow:0 10px 24px rgba(17,104,217,.12); transform:translateY(-1px); }
.media-folder-card--unassigned { background:var(--surface-soft); }
.media-folder-card__icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; background:var(--brand-soft); color:var(--brand); }
.media-folder-card__icon .icon { width:21px; }
.media-folder-card > div { display:grid; min-width:0; gap:3px; }
.media-folder-card strong,.media-folder-card span,.media-folder-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.media-folder-card strong { font-size:0.6875rem; }
.media-folder-card div > span { color:var(--ink); font-size:0.5625rem; font-weight:700; }
.media-folder-card small { color:var(--muted); font-size:0.5rem; }
.media-folder-card > span:last-child { color:var(--brand); font-weight:900; }
.media-workspace--unassigned { margin-top:18px; }
.media-offer-folder { margin-bottom:18px; padding:20px; }
.media-offer-folder__header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.media-offer-folder__header h2 { margin:5px 0 3px; }
.media-offer-folder__header p { margin:0; color:var(--muted); font-size:0.625rem; }
.media-offer-folder__header code { max-width:52%; overflow:hidden; padding:8px 10px; border-radius:9px; background:var(--surface-soft); color:var(--muted); font-size:0.5rem; text-overflow:ellipsis; white-space:nowrap; }
.media-folder-warning { margin:0 0 14px; padding:10px 12px; border:1px solid #e8c56e; border-radius:10px; background:#fff8e7; color:#74520e; font-size:0.5625rem; }
.media-subfolders { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.media-subfolder { display:flex; align-items:center; gap:10px; padding:13px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); color:var(--ink); }
.media-subfolder:hover,.media-subfolder:focus-visible,.media-subfolder.is-active { border-color:var(--brand); outline:0; background:var(--brand-soft); color:var(--brand); }
.media-subfolder .icon { width:20px; }
.media-subfolder span { display:grid; gap:2px; }
.media-subfolder strong { font-size:0.625rem; }
.media-subfolder small { color:var(--muted); font-size:0.5rem; }
.media-source-note { margin:0 0 14px; color:var(--muted); font-size:0.625rem; line-height:1.6; }
.media-card-copy code { overflow:hidden; margin-top:3px; color:var(--muted); font-size:0.4375rem; text-overflow:ellipsis; white-space:nowrap; }
.media-library-heading { margin-bottom: 13px; }
.media-search { display: flex; gap: 8px; align-items: center; margin-bottom: 17px; }
.media-search label { flex: 1; }
.media-search input { width: 100%; }
.media-search > a { color: var(--muted); font-size: 0.5625rem; font-weight: 800; }
.media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.media-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); transition: transform .18s ease, box-shadow .18s ease; }
.media-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.media-card-image { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--surface-soft); }
.media-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.media-card:hover .media-card-image img { transform: scale(1.025); }
.media-card-image > span { position: absolute; right: 9px; bottom: 9px; padding: 4px 7px; border-radius: 999px; background: rgba(10,26,44,.74); color: #fff; font-size: 0.4375rem; font-weight: 900; letter-spacing: .08em; backdrop-filter: blur(6px); }
.media-card-copy { display: grid; gap: 4px; padding: 12px 12px 9px; }
.media-card-copy > strong { overflow: hidden; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.media-card-copy > small { overflow: hidden; color: var(--muted); font-size: 0.5rem; text-overflow: ellipsis; white-space: nowrap; }
.media-attachment-count { width: fit-content; margin-top: 3px; padding: 4px 7px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 0.4375rem; font-weight: 850; }
.media-alt-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: end; padding: 0 12px 12px; }
.media-alt-form label { display: grid; min-width: 0; gap: 4px; }
.media-alt-form label span { color: var(--muted); font-size: 0.5rem; font-weight: 800; }
.media-alt-form input { min-width: 0; padding: 8px 9px; font-size: 0.5625rem; }
.media-alt-form button, .property-gallery-item form button { padding: 8px 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); color: var(--ink); font-size: 0.5rem; font-weight: 850; cursor: pointer; }
.media-alt-form button:hover, .property-gallery-item form button:hover { border-color: var(--brand); color: var(--brand); }
.media-empty { display: grid; justify-items: center; min-height: 310px; align-content: center; padding: 25px; text-align: center; }
.media-empty > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--brand-soft); color: var(--brand); }
.media-empty .icon { width: 25px; height: 25px; }
.media-empty h3 { margin: 13px 0 4px; }
.media-empty p { max-width: 360px; margin: 0; color: var(--muted); font-size: 0.625rem; }
.property-gallery-editor { display: grid; gap: 14px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.property-gallery-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.property-gallery-heading h3 { margin: 5px 0 0; font-size: 0.9375rem; }
.property-photo-upload { padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-soft); }
.property-photo-upload .media-drop-field { padding: 17px 12px; background: var(--surface); }
.property-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.property-gallery-item { position: relative; display: grid; gap: 7px; min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.property-gallery-item.is-cover { border-color: color-mix(in srgb,var(--brand) 65%,var(--line)); box-shadow: 0 7px 18px rgba(17,104,217,.1); }
.property-gallery-item > img { width: 100%; aspect-ratio: 4/3; border-radius: 9px; object-fit: cover; background: var(--surface-soft); }
.property-gallery-item > div { display: grid; min-width: 0; gap: 2px; }
.property-gallery-item > div strong, .property-gallery-item > div small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-gallery-item > div strong { font-size: 0.5rem; }
.property-gallery-item > div small { color: var(--muted); font-size: 0.4375rem; }
.property-gallery-item form { display: grid; }
.property-gallery-item form button.is-danger { color: var(--danger); }
.cover-badge { padding: 6px 8px; border-radius: 8px; background: var(--brand-soft); color: var(--brand); font-size: 0.5rem; font-weight: 900; text-align: center; }
.property-gallery-empty { display: grid; justify-items: center; gap: 6px; padding: 21px; border: 1px dashed var(--line); border-radius: 13px; color: var(--muted); text-align: center; }
.property-gallery-empty .icon { width: 23px; height: 23px; }
.property-gallery-empty p { margin: 0; font-size: 0.5625rem; }
.media-library-link { display: flex; gap: 7px; align-items: center; justify-content: center; color: var(--brand); font-size: 0.5625rem; font-weight: 850; }
.media-library-link .icon { width: 14px; }

@media (max-width: 1500px) {
    .app-body { --app-sidebar-width: 282px; }
    .sidebar-brand-logo { width: min(204px,100%); }
    .sidebar-nav a { min-height: 46px; font-size: 0.78125rem; }
}

@media (max-width: 1180px) {
    .app-body { --app-sidebar-width: 262px; }
    .sidebar-brand-logo { width: min(188px,100%); }
    .sidebar-nav a { min-height: 43px; padding-inline: 10px; font-size: 0.75rem; }
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .visual-editor { grid-template-columns: minmax(360px,.95fr) minmax(390px,1.05fr); }
    .post-update-check { grid-template-columns: 58px 1fr 1fr; }
    .post-update-check form { grid-column: 2 / -1; }
    .crm-command-bar { grid-template-columns: auto minmax(240px,1fr); }
    .crm-create-actions { grid-column: 1 / -1; justify-content: flex-end; }
    .media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .media-folder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .roadmap-layout { grid-template-columns: 1fr; }
    .migration-audit-grid { grid-template-columns: 1fr; }
    .external-import-layout { grid-template-columns: 1fr; }
    .topbar-width-control > summary > span { display: none; }
}

@media (max-width: 980px) {
    .installer-grid { grid-template-columns: 1fr; }
    .install-check-card { position: static; }
    .app-frame { grid-template-columns: 1fr; }
    .app-sidebar { position: fixed; left: 0; transform: translateX(-105%); width: min(292px,calc(100vw - 28px)); transition: transform .2s ease; box-shadow: 20px 0 50px rgba(0,0,0,.22); }
    body.sidebar-open .app-sidebar { transform: translateX(0); }
    .sidebar-close, .menu-button { display: grid; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 29; border: 0; background: rgba(5,18,32,.5); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
    body.sidebar-open .sidebar-backdrop { display: block; opacity: 1; pointer-events: auto; }
    .dashboard-grid, .module-preview-grid { grid-template-columns: 1fr; }
    .team-layout, .account-layout { grid-template-columns: 1fr; }
    .license-overview { grid-template-columns: 1fr; }
    .team-create-card { position: static; }
    .crm-workspace { grid-template-columns: 1fr; }
    .crm-form-panel { position: static; }
    .media-workspace { grid-template-columns: 1fr; }
    .media-upload-panel { position: static; }
    .media-storage-status,.media-offer-folder__header { align-items:stretch; flex-direction:column; }
    .media-offer-folder__header code { max-width:100%; }
    .visual-editor { grid-template-columns: 1fr; }
    .editor-preview-panel { position: static; }
    .editor-savebar { left: 0; }
    .editor-image-picker { grid-template-columns:1fr; }
    .topbar-width-control { display: none; }
}

@media (max-height: 820px) {
    .app-sidebar { padding-top: 16px; padding-bottom: 12px; }
    .sidebar-brand-logo { width: min(188px,100%); }
    .workspace-chip { margin-top: 14px; margin-bottom: 9px; }
    .nav-label { padding-top: 11px; padding-bottom: 5px; }
    .sidebar-nav { gap: 3px; }
    .sidebar-nav a { min-height: 41px; padding-block: 7px; }
    .sidebar-footer { padding-top: 10px; }
}

@media (max-width: 760px) {
    .installer-shell { width: min(100% - 20px, 680px); padding-top: 12px; }
    .installer-intro { grid-template-columns: 1fr; padding: 25px; }
    .install-progress { justify-content: flex-start; }
    .field-grid.two-columns, .backup-grid, .update-overview-grid, .automatic-update-grid { grid-template-columns: 1fr; }
    .migration-external-roadmap, .roadmap-stop-card { align-items: flex-start; grid-template-columns: 46px 1fr; flex-direction: column; }
    .migration-external-roadmap { display: grid; }
    .migration-external-roadmap .roadmap-product-list, .roadmap-stop-card > .status-pill { grid-column: 1 / -1; }
    .roadmap-stop-icon { width: 46px; height: 46px; border-radius: 14px; }
    .roadmap-history-list { grid-template-columns: 1fr; }
    .migration-audit-card > .panel-heading { align-items: stretch; flex-direction: column; }
    .migration-audit-card > .panel-heading .button { width: 100%; }
    .external-import-workspace > .panel-heading, .external-import-result-head { align-items: stretch; flex-direction: column; }
    .external-import-form { padding: 16px; border-radius: 15px; }
    .external-import-scopes, .external-import-metrics, .asari-import-fields { grid-template-columns: 1fr; }
    .roadmap-item { grid-template-columns: 1fr; gap: 7px; }
    .license-security-grid { grid-template-columns: 1fr; }
    .license-update-card { grid-template-columns: 1fr; }
    .license-update-card form .button { width: 100%; }
    .install-form-card { padding: 18px; }
    .install-submit-row { align-items: stretch; flex-direction: column; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-story { min-height: 330px; padding: 28px; }
    .auth-story-copy h1 { font-size: 2.4375rem; }
    .auth-content { padding: 18px; }
    .app-topbar { padding-inline: 12px; }
    .topbar-preview, .pwa-install-button span, .user-copy { display: none; }
    .pwa-install-button { width: 34px; min-height: 34px; justify-content: center; padding: 0; }
    .user-menu { padding-left: 6px; }
    .app-content { padding: 18px 13px 90px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .system-branded-heading-main { align-items: flex-start; }
    .page-actions { justify-content: flex-start; }
    .metric-grid, .quick-actions { grid-template-columns: 1fr; }
    .team-user-main { grid-template-columns: 42px 1fr; }
    .team-user-main > .status-pill { grid-column: 2; width: fit-content; }
    .team-user-controls, .team-user-control-form { grid-template-columns: 1fr; }
    .team-user-status-form { justify-content: stretch; }
    .team-user-status-form .button { width: 100%; }
    .account-submit-row { align-items: stretch; flex-direction: column; }
    .account-submit-row .button { width: 100%; }
    .module-hero-card { align-items: flex-start; flex-direction: column; padding: 24px; }
    .check-table-head { display: none; }
    .check-table-row { grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 15px; }
    .check-table-row > *::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--muted); font-size: 0.5rem; font-weight: 850; text-transform: uppercase; }
    .editor-page-heading { margin-bottom: 15px; }
    .editor-preview-panel { padding: 9px; }
    .editor-savebar { min-height: 80px; padding: 10px 13px; }
    .editor-savebar > div { display: none; }
    .editor-savebar .button { width: 100%; }
    .license-mode-banner { grid-template-columns: 38px 1fr; }
    .license-mode-banner .button { grid-column: 1 / -1; width: 100%; }
    .post-update-check { grid-template-columns: 46px 1fr; }
    .post-update-icon { width: 46px; height: 46px; border-radius: 14px; }
    .post-update-checklist, .post-update-check form { grid-column: 1 / -1; }
    .post-update-check form .button { width: 100%; }
    .crm-command-bar { grid-template-columns: 1fr; }
    .crm-tabs { width: 100%; }
    .crm-tabs a { flex: 1; justify-content: center; }
    .crm-search { justify-content: stretch; }
    .crm-search label { width: 100%; }
    .crm-create-actions { grid-column: auto; }
    .crm-create-actions .button { flex: 1; }
    .crm-record-card, .crm-record-card.is-property { grid-template-columns: 42px minmax(0,1fr); align-items: start; }
    .crm-edit-button, .crm-record-actions { grid-column: 2; width: 100%; }
    .crm-record-actions { grid-template-columns: 1fr; }
    .crm-record-actions form { grid-template-columns: minmax(0,1fr) auto; min-width: 0; }
    .crm-price-grid { grid-template-columns: 1fr; }
    .crm-form-actions { align-items: stretch; flex-direction: column-reverse; }
    .crm-form-actions .button { width: 100%; }
    .media-metrics { grid-template-columns: 1fr; }
    .media-search { align-items: stretch; flex-wrap: wrap; }
    .media-search label { flex-basis: 100%; }
}

@media (max-width: 430px) {
    .installer-header .version-chip { display: none; }
    .installer-intro { padding: 21px; }
    .install-progress li { min-width: 55px; }
    .auth-story { min-height: 300px; }
    .auth-story-copy > p, .auth-feature-list { display: none; }
    .auth-card { padding: 22px 18px; }
    .auth-product-logo { width: 240px; }
    .auth-office-brand { min-height: 142px; margin-bottom: 20px; padding-inline: 8px; }
    .auth-office-brand img { height: 132px; }
    .auth-card-footer { align-items: flex-start; flex-direction: column; }
    .system-branded-heading-main { flex-direction: column; gap: 12px; }
    .system-brand-logo { width: 112px; }
    .crm-product-brand { min-height: 88px; border-radius: 12px; }
    .crm-product-logo { width: 100%; }
    .metric-card { min-height: 96px; }
    .backup-card { grid-template-columns: 1fr; }
    .editor-section-body .two-columns { grid-template-columns: 1fr; }
    .media-grid, .property-gallery-grid { grid-template-columns: 1fr; }
    .media-folder-grid,.media-subfolders { grid-template-columns:1fr; }
    .media-alt-form { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Estate Office CRM — pełnoekranowy układ zgodności 0.0009 */
.crm-main-heading { margin-bottom: 14px; }
.crm-header-actions { align-items: center; }
.crm-primary-tabs { display: flex; align-items: stretch; gap: 4px; margin-bottom: 20px; padding: 6px; overflow-x: auto; scrollbar-width: thin; }
.crm-primary-tabs a { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: max-content; min-height: 46px; padding: 10px 15px; border-radius: 12px; color: var(--muted); font-size: 0.75rem; font-weight: 800; }
.crm-primary-tabs a:hover { background: var(--surface-soft); color: var(--text); }
.crm-primary-tabs a.is-active { background: linear-gradient(135deg,var(--brand),#5c68e8); color: #fff; box-shadow: 0 10px 22px rgba(76,85,210,.22); }
.crm-primary-tabs small { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: rgba(102,112,133,.11); font-size: 0.5625rem; }
.crm-primary-tabs .is-active small { background: rgba(255,255,255,.18); }
.crm-dashboard { display:grid; gap:18px; }
.crm-dashboard > * { margin-bottom:0; }
.crm-dashboard-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:24px; margin:0; padding:10px 4px 4px; }
.crm-dashboard-hero h2 { margin:0 0 6px; color:var(--brand); font-size:clamp(1.6875rem,3vw,2.375rem); font-weight:800; letter-spacing:-.035em; }
.crm-dashboard-hero p { margin:0; color:var(--muted); font-size:0.84375rem; }
.crm-dashboard-hero p strong { color:var(--ink); }
.crm-dashboard-hero-meta { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.crm-dashboard-hero-meta span { padding:5px 10px; border-radius:999px; background:var(--success-soft); color:#2f8735; font-size:0.625rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.crm-dashboard-hero-meta time { color:#7a8799; font-size:0.75rem; font-weight:600; }
.crm-quick-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.crm-quick-actions > a { display:flex; align-items:center; gap:8px; min-height:42px; padding:7px 12px 7px 8px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:#42526a; box-shadow:var(--shadow-sm); font-size:0.78125rem; font-weight:700; transition:.18s ease; }
.crm-quick-actions > a:hover { border-color:rgba(73,173,78,.5); color:var(--brand); box-shadow:0 8px 20px rgba(12,38,77,.08); transform:translateY(-1px); }
.crm-quick-actions .icon { width:28px; height:28px; padding:6px; border-radius:9px; background:var(--success-soft); color:var(--success); }
.crm-quick-actions span { display:grid; min-width:0; }
.crm-quick-actions strong { font-size:0.78125rem; }
.crm-dashboard-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; }
.crm-dashboard-metrics .metric-card { display:grid; grid-template-columns:minmax(0,1fr) 46px; grid-template-rows:auto 1fr; min-height:132px; gap:10px 12px; padding:17px 17px 15px; color:var(--ink); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.crm-dashboard-metrics .metric-card::after { display:none; }
.crm-dashboard-metrics .metric-card:hover { border-color:#d4dde9; box-shadow:0 13px 28px rgba(12,38,77,.09); transform:translateY(-2px); }
.crm-dashboard-metrics .metric-card > div { grid-row:1/3; grid-column:1; align-content:start; }
.crm-dashboard-metrics .metric-card .metric-icon { grid-row:1; grid-column:2; width:42px; height:42px; border-radius:999px; }
.crm-dashboard-metrics .metric-card small { margin:0 0 10px; color:#66758d; font-size:0.71875rem; font-weight:650; letter-spacing:0; line-height:1.3; text-transform:none; }
.crm-dashboard-metrics .metric-card strong { margin:0; color:#10233f; font-size:clamp(1.8125rem,2.7vw,2.375rem); font-weight:800; letter-spacing:-.045em; line-height:1; }
.crm-dashboard-metrics .status-inline { margin-top:9px; padding:0; background:transparent; color:#499c4d; font-size:0.6875rem; font-weight:650; }
.crm-dashboard-metrics .metric-card > b { align-self:end; justify-self:end; grid-row:2; grid-column:2; color:#a4afbf; font-size:1.0625rem; transition:color .18s ease,transform .18s ease; }
.crm-dashboard-metrics .metric-card:hover > b { color:var(--success); transform:translateX(2px); }
.crm-dashboard-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.crm-dashboard-panel { min-width: 0; padding: 22px; }
.crm-dashboard-wide { grid-column: span 2; }
.crm-dashboard-panel .panel-heading > a { color: var(--brand); font-size: 0.6875rem; font-weight: 800; }
.crm-dashboard-list { display: grid; }
.crm-dashboard-list > a { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); color: var(--text); }
.crm-dashboard-list img, .crm-list-icon { width: 48px; height: 43px; border-radius: 11px; object-fit: cover; }
.crm-list-icon { display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); }
.crm-list-icon .icon { width: 21px; }
.crm-dashboard-list > a > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.crm-dashboard-list strong { overflow: hidden; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-dashboard-list small { color: var(--muted); font-size: 0.625rem; }
.crm-mini-chart { display: grid; gap: 15px; }
.crm-mini-chart > div { display: grid; gap: 7px; }
.crm-mini-chart span { display: flex; justify-content: space-between; gap: 10px; font-size: 0.625rem; }
.crm-mini-chart i { height: 7px; overflow: hidden; border-radius: 999px; background: var(--surface-soft); }
.crm-mini-chart b { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: linear-gradient(90deg,var(--brand),#8a93ff); }
.crm-client-mini-list { display: grid; gap: 5px; }
.crm-client-mini-list > a { display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 12px; color: var(--text); }
.crm-client-mini-list > a:hover { background: var(--surface-soft); }
.crm-client-mini-list > a > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-size: 0.6875rem; font-weight: 900; }
.crm-client-mini-list div { display: grid; gap: 2px; }
.crm-client-mini-list strong { font-size: 0.6875rem; }
.crm-client-mini-list small { color: var(--muted); font-size: 0.5625rem; }
.crm-breakdown-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.crm-breakdown-columns > div { padding: 15px; border-radius: 14px; background: var(--surface-soft); }
.crm-breakdown-columns h3 { margin: 0 0 10px; font-size: 0.6875rem; }
.crm-breakdown-columns p { display: flex; justify-content: space-between; gap: 10px; margin: 7px 0; color: var(--muted); font-size: 0.625rem; }
.crm-breakdown-columns strong { color: var(--text); }
.crm-section-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 18px; padding: 13px; }
.crm-list-filter-form { display: grid; flex: 1 1 720px; justify-content: stretch; gap: 10px; max-width: 980px; }
.crm-list-search-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.crm-list-filter-form .crm-list-search-field { flex: 1 1 360px; width: auto; min-width: 180px; }
.crm-list-filters { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; }
.crm-list-filter-form .crm-filter-toggle { position: relative; width: auto; cursor: pointer; }
.crm-list-filter-form .crm-filter-toggle input { position: absolute; width: 1px; min-height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.crm-filter-toggle span { display: grid; place-items: center; min-height: 34px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 800; transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease; }
.crm-filter-toggle:hover span { border-color: color-mix(in srgb,var(--brand) 35%,var(--line)); color: var(--brand); transform: translateY(-1px); }
.crm-filter-toggle input:focus-visible + span { outline: 3px solid color-mix(in srgb,var(--brand) 28%,transparent); outline-offset: 2px; }
.crm-filter-toggle input:checked + span { border-color: color-mix(in srgb,var(--brand) 44%,var(--line)); background: var(--brand-soft); color: var(--brand); box-shadow: 0 5px 14px rgba(17,104,217,.09); }
.crm-filter-clear { align-self: center; white-space: nowrap; color: var(--brand); font-size: 0.5625rem; font-weight: 800; }
.crm-full-list-panel { padding: 22px; }
.crm-record-list-full { max-height: none; }
.crm-form-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin: 4px 0 18px; padding: 9px 4px; }
.crm-form-page-heading > div { display: grid; gap: 7px; }
.crm-form-page-heading a { width: max-content; color: var(--brand); font-size: 0.625rem; font-weight: 800; }
.crm-form-page-heading h2 { margin: 0; font-size: clamp(1.5625rem,3vw,2.375rem); letter-spacing: -.04em; }
.crm-form-page-heading p { max-width: 760px; margin: 0; color: var(--muted); }
.crm-full-form { display: grid; gap: 16px; width: 100%; }
.crm-form-section { display: grid; grid-template-columns: minmax(210px,.27fr) minmax(0,.73fr); gap: 28px; padding: 25px; }
.crm-form-section-heading { display: flex; align-items: flex-start; gap: 12px; }
.crm-form-section-heading > span { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--brand-soft); color: var(--brand); font-size: 0.625rem; font-weight: 900; }
.crm-form-section-heading h3 { margin: 2px 0 6px; font-size: 0.9375rem; }
.crm-form-section-heading p { margin: 0; color: var(--muted); font-size: 0.625rem; line-height: 1.55; }
.crm-form-section-body { display: grid; gap: 16px; min-width: 0; }
.field-grid.three-columns { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field-grid.four-columns { grid-template-columns: repeat(4,minmax(0,1fr)); }
.crm-form-info { display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; border: 1px solid rgba(76,85,210,.14); border-radius: 13px; background: var(--brand-soft); color: var(--muted); font-size: 0.625rem; line-height: 1.55; }
.crm-form-info .icon { flex: 0 0 auto; width: 19px; height: 19px; color: var(--brand); }
.crm-check { display: flex; align-items: center; gap: 8px; width: max-content; max-width: 100%; color: var(--text); font-size: 0.6875rem; font-weight: 700; }
.crm-check input, .crm-check-grid input { width: 17px; height: 17px; accent-color: var(--brand); }
.crm-check-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 9px; }
.crm-check-grid > label { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); color: var(--text); font-size: 0.625rem; font-weight: 700; }
.crm-check-grid > label input[type="number"] { width: 72px; margin-left: auto; }
.crm-option-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.crm-option-group { display: grid; gap: 9px; }
.crm-option-group > strong { font-size: 0.625rem; }
.crm-short-field { max-width: 330px; }
.crm-extra-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.crm-extra-grid > div { display: grid; align-content: start; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.crm-tags-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.crm-sticky-actions { position: sticky; z-index: 5; bottom: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb,var(--surface) 92%,transparent); box-shadow: 0 15px 40px rgba(25,31,54,.16); backdrop-filter: blur(18px); }
.crm-sticky-actions > span { margin-right: auto; color: var(--muted); font-size: 0.5625rem; }
.crm-standalone-gallery { margin-top: 20px; padding: 24px; }
.crm-planned-module { display: grid; justify-items: start; gap: 12px; min-height: 330px; padding: clamp(28px,5vw,60px); }
.crm-planned-module h2 { margin: 0; font-size: clamp(1.75rem,4vw,2.875rem); letter-spacing: -.04em; }
.crm-planned-module > p { max-width: 760px; margin: 0; color: var(--muted); font-size: 0.875rem; line-height: 1.65; }
.crm-planned-module .crm-form-info { max-width: 850px; }
.crm-planned-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: var(--brand-soft); color: var(--brand); }
.crm-planned-icon .icon { width: 27px; height: 27px; }
.crm-office-grid, .crm-agent-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 12px; }
.crm-office-grid article, .crm-agent-grid article { display: flex; align-items: center; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-soft); }
.crm-office-grid article > span, .crm-agent-grid article > span { display: grid; flex: 0 0 auto; place-items: center; width: 43px; height: 43px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); font-size: 0.75rem; font-weight: 900; }
.crm-office-grid .icon { width: 20px; }
.crm-office-grid h3, .crm-agent-grid h3 { margin: 0 0 4px; font-size: 0.75rem; }
.crm-office-grid p, .crm-agent-grid p { margin: 0; color: var(--muted); font-size: 0.5625rem; }
[data-property-block][hidden], [data-parking-fields][hidden] { display: none !important; }
.crm-check-stack { display: grid; align-content: center; gap: 12px; }
.crm-client-picker { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 9px; max-height: 330px; overflow: auto; padding: 2px; }
.crm-client-picker > label { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); cursor: pointer; }
.crm-client-picker input { width: 18px; height: 18px; accent-color: var(--brand); }
.crm-client-picker span { display: grid; gap: 3px; }
.crm-client-picker b { font-size: 0.625rem; }
.crm-client-picker small { color: var(--muted); font-size: 0.5625rem; }
.crm-agreement-contact-group { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb,var(--surface-soft) 76%,transparent); }
.crm-agreement-contact-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-agreement-contact-heading > span { padding: 5px 9px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 0.5625rem; font-weight: 800; }
.crm-agreement-contact-search { max-width: none; }
.crm-agreement-contact-empty { padding: 13px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; font-size: 0.625rem; font-weight: 700; }
.crm-agreement-contact-empty[hidden], .crm-client-picker > label[hidden] { display: none !important; }
.crm-commission-plan { display: grid; gap: 8px; }
.crm-commission-plan[hidden], [data-agreement-end][hidden] { display: none !important; }
.crm-commission-plan > .crm-muted { margin: 0 0 3px; }
.crm-commission-rows { display: grid; gap: 8px; }
.crm-commission-plan-head, .crm-commission-row { display: grid; grid-template-columns: minmax(180px,1fr) minmax(100px,.35fr) minmax(90px,.25fr) auto; gap: 8px; }
.crm-commission-plan-head { padding: 0 7px; color: var(--muted); font-size: 0.5625rem; font-weight: 800; }
.crm-commission-row { align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.crm-commission-row .button { min-width: 72px; }
.crm-commission-plan-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 3px; }
.crm-commission-plan-actions > span { color: var(--muted); font-size: 0.5625rem; font-weight: 800; }
@media (max-width: 760px) {
    .crm-commission-plan-head { display: none; }
    .crm-commission-row { grid-template-columns: 1fr 1fr; }
    .crm-commission-row > select:first-child { grid-column: 1 / -1; }
    .crm-commission-row .button { width: 100%; }
}
@media (max-width: 480px) {
    .crm-commission-row { grid-template-columns: 1fr; }
    .crm-commission-row > select:first-child { grid-column: auto; }
    .crm-commission-plan-actions { align-items: stretch; flex-direction: column; }
    .crm-commission-plan-actions .button { width: 100%; }
}
.agreement-profile-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(270px,.7fr); gap: 18px; }
.agreement-profile-main { padding: 23px; }
.agreement-stage-form { display: grid; grid-template-columns: minmax(220px,1fr) 170px auto; align-items: end; gap: 10px; margin: 18px 0 25px; padding: 15px; border-radius: 14px; background: var(--surface-soft); }
.agreement-stage-transaction { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; color: var(--muted); font-size: 0.5625rem; }
.agreement-stage-transaction input { width: 16px; height: 16px; accent-color: var(--brand); }
.agreement-timeline { display: grid; gap: 0; }
.agreement-timeline > article { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 11px; min-height: 68px; }
.agreement-timeline > article::before { position: absolute; top: 18px; bottom: -4px; left: 6px; width: 2px; background: var(--line); content: ''; }
.agreement-timeline > article:last-child::before { display: none; }
.agreement-timeline > article > span { z-index: 1; width: 14px; height: 14px; margin-top: 3px; border: 3px solid var(--surface); border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.agreement-timeline > article > div { display: grid; align-content: start; gap: 4px; padding-bottom: 19px; }
.agreement-timeline strong { font-size: 0.6875rem; }
.agreement-timeline small { color: var(--muted); font-size: 0.5625rem; }
.agreement-timeline details { margin-top: 5px; }
.agreement-timeline summary { width: max-content; color: var(--brand); font-size: 0.5625rem; font-weight: 800; cursor: pointer; }
.agreement-timeline details form { display: grid; grid-template-columns: minmax(170px,1fr) 145px auto; gap: 7px; margin-top: 8px; }
.agreement-timeline details form + form { display: block; margin-top: 6px; }
.agreement-profile-side { display: grid; align-content: start; gap: 14px; }
.agreement-profile-side > .panel-card { padding: 18px; }
.agreement-facts dl { display: grid; gap: 9px; margin: 15px 0 0; }
.agreement-facts dl > div { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.agreement-facts dt { color: var(--muted); font-size: 0.5625rem; }
.agreement-facts dd { margin: 0; font-size: 0.625rem; font-weight: 800; text-align: right; }
.agreement-relations { display: grid; gap: 9px; }
.agreement-relations > a, .agreement-relations > div { display: flex; justify-content: space-between; gap: 9px; padding: 10px; border-radius: 11px; background: var(--surface-soft); color: var(--text); }
.agreement-relations > a > *, .agreement-relations > div > * { display: block; }
.agreement-relations strong { font-size: 0.625rem; }
.agreement-relations small, .agreement-relations p { color: var(--muted); font-size: 0.5625rem; }
.form-grid { display: grid; gap: 12px; }
.form-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.input-with-suffix { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.input-with-suffix input { border: 0 !important; border-radius: 0 !important; }
.input-with-suffix b { padding: 0 12px; color: var(--muted); font-size: 0.5625rem; }
.crm-full-form-footer { position: sticky; z-index: 5; bottom: 12px; display: flex; justify-content: flex-end; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb,var(--surface) 92%,transparent); box-shadow: 0 15px 40px rgba(25,31,54,.16); backdrop-filter: blur(18px); }
.transaction-agreement-picker { min-height: 280px; }
.transaction-cooperation-fields { display: grid; gap: 14px; }
.transaction-cooperation-fields[hidden], [data-cooperation-other][hidden] { display: none !important; }
.switch-field { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); cursor: pointer; }
.switch-field input { width: 18px; height: 18px; accent-color: var(--brand); }
.switch-field > span { display: grid; gap: 3px; }
.switch-field strong { font-size: 0.6875rem; }
.switch-field small { color: var(--muted); font-size: 0.5625rem; }
.segmented-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.segmented-options label { cursor: pointer; }
.segmented-options input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-options span { display: grid; place-items: center; min-height: 42px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); color: var(--muted); font-size: 0.625rem; font-weight: 800; }
.segmented-options input:checked + span { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }
.transaction-profile-main { display: grid; align-content: start; gap: 18px; padding: 23px; }
.transaction-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.transaction-facts > div { display: grid; gap: 5px; padding: 15px; border-radius: 13px; background: var(--surface-soft); }
.transaction-facts dt { color: var(--muted); font-size: 0.5625rem; }
.transaction-facts dd { margin: 0; font-size: 0.75rem; font-weight: 800; }
.transaction-covered-stages { display: flex; flex-wrap: wrap; gap: 7px; }
.transaction-covered-stages .eyebrow-chip { width: 100%; }
.transaction-covered-stages > span:not(.eyebrow-chip) { padding: 7px 10px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); font-size: 0.5625rem; font-weight: 800; }
.crm-record-card.is-search { grid-template-columns: 45px minmax(0,1fr) minmax(120px,auto); }
.search-symbol { background: linear-gradient(145deg,#0d97a7,#4bc2c9); }
.crm-tag-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.crm-tag-picker label { cursor: pointer; }
.crm-tag-picker input { position: absolute; opacity: 0; pointer-events: none; }
.crm-tag-picker span { display: block; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 0.5625rem; font-weight: 800; transition: .16s ease; }
.crm-tag-picker input:checked + span { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); box-shadow: 0 5px 14px rgba(17,104,217,.09); }
.search-extra-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.search-extra-card { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.search-profile-main { display: grid; align-content: start; gap: 22px; padding: 23px; }
.search-profile-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.search-profile-metrics article { display: grid; gap: 5px; padding: 15px; border-radius: 14px; background: var(--surface-soft); }
.search-profile-metrics small { color: var(--muted); font-size: 0.5625rem; }
.search-profile-metrics strong { font-size: 0.8125rem; }
.search-description { display: grid; gap: 10px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; }
.search-description > div { color: var(--muted); font-size: 0.625rem; line-height: 1.7; }
.search-criteria-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.search-criteria-groups section { padding: 16px; border-radius: 14px; background: var(--surface-soft); }
.search-criteria-groups h3 { margin: 0 0 12px; font-size: 0.75rem; }
.search-criteria-groups dl { display: grid; gap: 7px; margin: 0; }
.search-criteria-groups dl > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.search-criteria-groups dt { color: var(--muted); font-size: 0.5625rem; }
.search-criteria-groups dd { margin: 0; font-size: 0.5625rem; font-weight: 800; text-align: right; }
.search-matches { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--line); }
.crm-filter-check { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 0.5625rem; white-space: nowrap; }
.crm-filter-check input { width: 15px !important; min-height: 15px !important; accent-color: var(--brand); }
.crm-stage-prompt { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 18px; padding: 16px 18px; border-color: color-mix(in srgb,var(--brand) 45%,var(--line)); background: var(--brand-soft); }
.crm-stage-prompt > div:first-child { display: flex; align-items: center; gap: 11px; }
.crm-stage-prompt .icon { width: 22px; height: 22px; color: var(--brand); }
.crm-stage-prompt span { display: grid; gap: 3px; }
.crm-stage-prompt strong { font-size: 0.6875rem; }
.crm-stage-prompt small { color: var(--muted); font-size: 0.5625rem; }
[data-search-not-plot][hidden] { display: none !important; }

@media (max-width: 1180px) {
    .crm-dashboard-hero { grid-template-columns: 1fr; }
    .crm-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-dashboard-wide { grid-column: span 2; }
    .crm-form-section { grid-template-columns: 190px minmax(0,1fr); }
    .field-grid.four-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-tags-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .agreement-profile-grid { grid-template-columns: 1fr; }
    .agreement-profile-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-quick-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .search-extra-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .crm-header-actions .button-secondary { display: none; }
    .crm-dashboard-grid { grid-template-columns: 1fr; }
    .crm-dashboard-wide { grid-column: auto; }
    .crm-quick-actions { grid-template-columns: 1fr; }
    .crm-quick-actions > a { min-height: 64px; }
    .crm-breakdown-columns, .crm-option-columns { grid-template-columns: 1fr; }
    .crm-form-section { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .field-grid.three-columns, .crm-extra-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-section-toolbar { align-items: stretch; flex-direction: column; }
    .crm-section-toolbar > .button { width: 100%; }
    .crm-list-filter-form { flex-basis: auto; max-width: none; }
    .crm-toolbar-actions .button { flex: 1 1 auto; }
    .agreement-stage-form { grid-template-columns: 1fr; }
    .agreement-profile-side { grid-template-columns: 1fr; }
    .form-grid-3 { grid-template-columns: 1fr; }
    .search-profile-metrics, .search-criteria-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .search-extra-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-stage-prompt { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
    .crm-list-search-row { align-items: stretch; flex-wrap: wrap; }
    .crm-list-filter-form .crm-list-search-field { flex-basis: 100%; min-width: 0; }
    .crm-list-search-row .button { flex: 1 1 auto; }
    .crm-filter-clear { padding: 9px 4px; }
    .crm-list-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .crm-filter-toggle span { height: 100%; text-align: center; }
}

@media (max-width: 560px) {
    .crm-primary-tabs { margin-inline: -4px; }
    .crm-primary-tabs a { min-height: 42px; padding: 9px 12px; }
    .crm-dashboard-hero { padding: 20px; }
    .crm-dashboard-list > a { grid-template-columns: 42px minmax(0,1fr); }
    .crm-dashboard-list > a > .status-pill { grid-column: 2; justify-self: start; }
    .field-grid.three-columns, .field-grid.four-columns, .crm-extra-grid, .crm-tags-grid { grid-template-columns: 1fr; }
    .crm-form-page-heading { align-items: flex-start; flex-direction: column; }
    .crm-sticky-actions { align-items: stretch; flex-direction: column-reverse; bottom: 7px; }
    .crm-sticky-actions > span { display: none; }
    .crm-sticky-actions .button { width: 100%; }
    .crm-commission-plan-head { display: none; }
    .crm-commission-row, .agreement-timeline details form { grid-template-columns: 1fr; }
    .form-grid-2, .segmented-options, .transaction-facts { grid-template-columns: 1fr; }
    .crm-full-form-footer { align-items: stretch; flex-direction: column-reverse; bottom: 7px; }
    .crm-full-form-footer .button { width: 100%; }
    .search-profile-metrics, .search-criteria-groups, .search-extra-grid { grid-template-columns: 1fr; }
    .crm-record-card.is-search { grid-template-columns: 42px minmax(0,1fr); }
}

.crm-profile-hero { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:20px; }
.crm-profile-hero h2 { margin:10px 0 6px; font-size:clamp(1.7rem,3vw,2.5rem); }
.crm-profile-hero .page-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.crm-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.crm-details-list { margin:0; display:grid; gap:0; }
.crm-details-list div { display:grid; grid-template-columns:minmax(120px,.45fr) minmax(0,1fr); gap:18px; padding:13px 0; border-bottom:1px solid var(--border); }
.crm-details-list div:last-child { border-bottom:0; }
.crm-details-list dt { color:var(--muted); font-size:.86rem; }
.crm-details-list dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.crm-related-panel { margin-top:20px; }
.crm-compact-list { display:grid; gap:8px; }
.crm-compact-list a { display:flex; justify-content:space-between; gap:18px; padding:13px 15px; border:1px solid var(--border); border-radius:14px; color:inherit; text-decoration:none; }
.crm-compact-list a:hover { border-color:var(--accent); background:var(--surface-soft); }
.crm-compact-list span { color:var(--muted); text-align:right; }
.crm-inline-check { display:inline-flex; gap:8px; align-items:center; margin-top:8px; color:var(--muted); font-size:.9rem; }
.crm-profile-photo { width:120px; height:120px; object-fit:cover; border-radius:24px; float:right; margin:0 0 16px 20px; }
.crm-agent-photo-editor { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:start; gap:22px; }
.crm-agent-photo-preview { display:grid; place-items:center; overflow:hidden; width:150px; aspect-ratio:1; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,var(--brand-soft),var(--surface-soft)); box-shadow:var(--shadow-sm); }
.crm-agent-photo-preview img { width:100%; height:100%; object-fit:cover; }
.crm-agent-photo-preview > span { display:grid; place-items:center; gap:8px; color:var(--muted); }
.crm-agent-photo-preview > span .icon { width:36px; height:36px; }
.crm-agent-photo-fields { display:grid; gap:14px; min-width:0; }
.crm-agent-photo-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; }
.crm-agent-photo-actions > span { color:var(--muted); font-size:.75rem; line-height:1.45; }
.crm-rich-editor { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.crm-rich-editor > .field-label { display:block; padding:12px 14px 8px; color:var(--ink); font-size:.78rem; font-weight:850; }
.crm-rich-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:9px 11px; border-block:1px solid var(--line); background:var(--surface-soft); }
.crm-rich-toolbar select { min-height:34px; max-width:170px; padding:6px 28px 6px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); font-size:.72rem; }
.crm-rich-toolbar-group { display:inline-flex; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.crm-rich-toolbar button { min-height:32px; padding:5px 9px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--ink); font-size:.7rem; cursor:pointer; }
.crm-rich-toolbar button:last-child { border-right:0; }
.crm-rich-toolbar button:hover,.crm-rich-toolbar button:focus-visible { background:var(--brand-soft); color:var(--brand); }
.crm-rich-color { position:relative; display:inline-grid; place-items:center; width:34px; height:34px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:var(--surface); font-size:.74rem; font-weight:850; cursor:pointer; }
.crm-rich-color input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.crm-rich-surface { overflow:auto; padding:17px; outline:0; background:var(--surface); color:var(--ink); font-size:.9rem; line-height:1.7; }
.crm-rich-surface:focus { box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 38%,transparent); }
.crm-rich-surface:empty::before { content:'Wpisz opis, wklej tekst lub użyj narzędzi formatowania…'; color:var(--muted); pointer-events:none; }
.crm-rich-surface h2,.crm-rich-content h2 { font-size:1.55em; }.crm-rich-surface h3,.crm-rich-content h3 { font-size:1.3em; }.crm-rich-surface h4,.crm-rich-content h4 { font-size:1.12em; }
.crm-rich-surface h2,.crm-rich-surface h3,.crm-rich-surface h4,.crm-rich-content h2,.crm-rich-content h3,.crm-rich-content h4 { margin:1em 0 .45em; line-height:1.25; }
.crm-rich-surface p,.crm-rich-content p { margin:.6em 0; }
.crm-rich-surface blockquote,.crm-rich-content blockquote { margin:1em 0; padding:10px 14px; border-left:4px solid var(--brand); background:var(--brand-soft); color:var(--muted); }
.crm-rich-surface ul,.crm-rich-surface ol,.crm-rich-content ul,.crm-rich-content ol { margin:.65em 0; padding-left:1.6em; }
.crm-rich-surface a,.crm-rich-content a { color:var(--brand); text-decoration:underline; overflow-wrap:anywhere; }
.crm-rich-help { display:flex; justify-content:space-between; gap:14px; padding:8px 13px; border-top:1px solid var(--line); color:var(--muted); font-size:.68rem; }
.crm-rich-help strong { white-space:nowrap; }.crm-rich-help strong.is-over-limit { color:var(--danger); }
.crm-rich-editor.is-read-only { opacity:.7; }.crm-rich-editor.is-read-only .crm-rich-surface { cursor:not-allowed; }
.crm-rich-content { color:var(--ink); line-height:1.75; overflow-wrap:anywhere; }
.crm-profile-upload-button { position:relative; overflow:hidden; cursor:pointer; }
.crm-profile-upload-button input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.crm-profile-upload-button:focus-within { outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent); outline-offset:2px; }
.crm-office-logo-editor { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; gap:22px; margin-bottom:18px; }
.crm-office-logo-preview { display:grid; place-items:center; overflow:hidden; width:190px; min-height:130px; aspect-ratio:1.45/1; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#fff,var(--surface-soft)); box-shadow:var(--shadow-sm); }
.crm-office-logo-preview img { width:100%; height:100%; padding:15px; object-fit:contain; }
.crm-office-logo-preview > span { display:grid; place-items:center; gap:8px; color:var(--muted); }
.crm-office-logo-preview > span .icon { width:34px; height:34px; }
.crm-office-logo-fields { display:grid; gap:14px; min-width:0; }
.crm-office-logo-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; }
.crm-office-logo-actions > span { color:var(--muted); font-size:.75rem; line-height:1.45; }
body.has-crm-modal { overflow:hidden; }
.crm-agent-crop-modal[hidden] { display:none; }
.crm-agent-crop-modal { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:clamp(12px,3vw,34px); }
.crm-agent-crop-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(8,24,43,.72); backdrop-filter:blur(7px); cursor:default; }
.crm-agent-crop-dialog { position:relative; display:grid; gap:18px; width:min(880px,100%); max-height:calc(100vh - 28px); overflow:auto; padding:clamp(18px,3vw,28px); border:1px solid rgba(255,255,255,.2); border-radius:24px; background:var(--surface); box-shadow:0 30px 90px rgba(3,18,36,.35); }
.crm-agent-crop-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.crm-agent-crop-heading h3 { margin:8px 0 4px; font-size:clamp(1.25rem,2vw,1.65rem); }
.crm-agent-crop-heading p { margin:0; color:var(--muted); font-size:.82rem; }
.crm-agent-crop-workspace { display:grid; grid-template-columns:minmax(280px,1fr) minmax(210px,.55fr); align-items:center; gap:24px; }
.crm-agent-crop-canvas-wrap { position:relative; overflow:hidden; width:min(100%,520px); aspect-ratio:1; margin:auto; border-radius:22px; background:#102238; box-shadow:0 18px 40px rgba(8,30,56,.2); }
.crm-agent-crop-canvas-wrap canvas { display:block; width:100%; height:100%; touch-action:none; cursor:grab; }
.crm-agent-crop-canvas-wrap canvas:active { cursor:grabbing; }
.crm-agent-crop-frame { position:absolute; pointer-events:none; inset:8px; border:2px solid rgba(255,255,255,.92); border-radius:16px; box-shadow:0 0 0 999px rgba(7,21,38,.12) inset,0 0 0 1px rgba(9,33,61,.2); }
.crm-agent-crop-controls { display:grid; gap:16px; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--surface-soft); }
.crm-agent-crop-controls label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; color:var(--ink); font-size:.76rem; font-weight:800; }
.crm-agent-crop-controls input[type="range"] { grid-column:1/-1; width:100%; accent-color:var(--brand); }
.crm-agent-crop-controls output { color:var(--brand); font-variant-numeric:tabular-nums; }
.crm-agent-crop-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:16px; border-top:1px solid var(--line); }
.crm-agent-crop-footer > span { color:var(--muted); font-size:.76rem; }
.crm-agent-crop-footer > div { display:flex; gap:10px; }
.crm-office-logo { max-width:180px; max-height:110px; object-fit:contain; float:right; margin:0 0 16px 20px; }
.crm-agent-avatar-img, .crm-office-logo-small { width:52px; height:52px; object-fit:cover; border-radius:16px; flex:0 0 auto; }
.crm-office-logo-small { object-fit:contain; background:#fff; padding:5px; }
.crm-toolbar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.crm-toolbar-actions form { margin:0; }
.crm-financial-summary { display:grid; gap:18px; margin-bottom:20px; padding:clamp(18px,2vw,24px); }
.crm-financial-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:15px; }
.crm-financial-grid article { padding:18px; border:1px solid var(--border); border-radius:18px; background:var(--surface-soft); }
.crm-financial-grid article > strong { display:block; margin:16px 0 3px; font-size:1.55rem; }
.crm-financial-grid article > small { color:var(--muted); }
.crm-financial-grid dl { margin:18px 0 0; display:grid; gap:9px; }
.crm-financial-grid dl div { display:flex; justify-content:space-between; gap:12px; }
.crm-financial-grid dt { color:var(--muted); }
.crm-financial-grid dd { margin:0; font-weight:700; text-align:right; }
.property-profile-overview { display:grid; grid-template-columns:minmax(280px,1.2fr) minmax(260px,.8fr); gap:28px; margin-bottom:20px; overflow:hidden; }
.property-profile-cover { min-height:330px; border-radius:20px; overflow:hidden; background:var(--surface-soft); display:grid; place-items:center; color:var(--muted); }
.property-profile-cover img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.property-profile-cover > span { width:64px; height:64px; }
.property-profile-facts { display:flex; flex-direction:column; justify-content:center; gap:22px; }
.property-profile-price { font-size:clamp(2rem,4vw,3.25rem); line-height:1; }
.property-profile-facts > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.property-profile-facts > div span { padding:14px; border:1px solid var(--border); border-radius:15px; background:var(--surface-soft); }
.property-profile-facts small,.property-profile-facts b { display:block; }
.property-profile-facts small { color:var(--muted); margin-bottom:4px; }
.property-profile-description,.property-profile-media { margin-bottom:20px; }
.property-profile-description > p { line-height:1.75; }
.property-profile-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.property-profile-tags span { padding:7px 11px; border-radius:999px; background:var(--surface-soft); border:1px solid var(--border); font-size:.84rem; }
.property-profile-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.property-profile-gallery figure,.property-floor-plan-grid figure { margin:0; border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--surface-soft); }
.property-profile-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.property-profile-gallery figcaption { padding:9px 12px; font-size:.8rem; color:var(--muted); }
.property-floor-plan-form { margin-bottom:20px; }
.property-floor-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.property-floor-plan-grid img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; display:block; }
.property-floor-plan-grid figcaption,.property-floor-plan-grid.is-editor article > div { padding:13px 14px; display:grid; gap:4px; }
.property-floor-plan-grid figcaption small,.property-floor-plan-grid.is-editor small { color:var(--muted); }
.property-floor-plan-grid.is-editor article { border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--surface-soft); }
.property-floor-plan-grid.is-editor article form { padding:0 14px 14px; }

@media (max-width: 780px) {
    .crm-profile-hero { flex-direction:column; }
    .crm-profile-grid { grid-template-columns:1fr; }
    .crm-details-list div { grid-template-columns:1fr; gap:4px; }
    .crm-compact-list a { flex-direction:column; gap:4px; }
    .crm-compact-list span { text-align:left; }
    .property-profile-overview { grid-template-columns:1fr; }
    .property-profile-cover,.property-profile-cover img { min-height:230px; }
    .property-profile-gallery,.property-floor-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
    .property-profile-gallery,.property-floor-plan-grid { grid-template-columns:1fr; }
}
.crm-map-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:14px; }
.crm-map-actions > span { flex:1 1 300px; color:var(--muted); font-size:.82rem; }
.crm-map-preview { margin-top:15px; overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--surface-soft); }
.crm-map-preview iframe { display:block; width:100%; height:320px; border:0; }
.crm-draft-banner { display:flex; align-items:center; gap:10px; padding:14px 16px; margin-bottom:18px; border:1px solid #9bc9f6; border-radius:16px; background:#edf7ff; color:#123c62; box-shadow:0 10px 24px rgba(22,85,144,.08); }
.crm-draft-banner > div { display:grid; margin-right:auto; }
.crm-draft-banner span { color:#52718d; font-size:.82rem; }
.agreement-new-clients { display:grid; gap:14px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.agreement-new-clients-heading, .agreement-new-client-title { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.agreement-new-clients-heading > div { display:grid; gap:4px; }
.agreement-new-clients-heading small { color:var(--muted); max-width:720px; }
.agreement-new-client-card { display:grid; gap:14px; padding:18px; border:1px solid #b9d5ef; border-radius:16px; background:#f7fbff; }
.agreement-new-client-card details { padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.agreement-new-client-card summary { cursor:pointer; font-weight:800; color:var(--ink); }
.crm-custom-fields-settings { padding:20px; }
.custom-fields-builder-list { display:grid; gap:10px; margin:18px 0; }
.crm-settings-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; padding:7px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.crm-settings-tabs a { padding:10px 15px; border-radius:11px; color:var(--muted); font-weight:700; text-decoration:none; }
.crm-settings-tabs a:hover,.crm-settings-tabs a.is-active { background:var(--primary-soft); color:var(--primary); }
.crm-settings-form { display:grid; gap:14px; }
.crm-settings-media-preview { display:flex; flex-wrap:wrap; gap:14px; margin-top:16px; }
.crm-settings-media-preview figure { display:grid; gap:7px; width:180px; margin:0; padding:12px; border:1px solid var(--border); border-radius:14px; background:var(--surface-soft); }
.crm-settings-media-preview img { width:100%; height:110px; object-fit:contain; border-radius:9px; background:#fff; }
.crm-settings-media-preview figcaption { color:var(--muted); font-size:0.75rem; font-weight:750; text-align:center; }
.crm-responsive-table { overflow-x:auto; }
.crm-onboarding-table { width:100%; border-collapse:collapse; min-width:560px; }
.crm-onboarding-table th,.crm-onboarding-table td { padding:14px 16px; border-bottom:1px solid var(--border); text-align:left; }
.crm-onboarding-table th { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.crm-yes-no { display:inline-flex; padding:4px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); }
.crm-yes-no label { cursor:pointer; }
.crm-yes-no input { position:absolute; opacity:0; pointer-events:none; }
.crm-yes-no span { display:block; min-width:48px; padding:7px 10px; border-radius:999px; text-align:center; color:var(--muted); font-size:.76rem; font-weight:800; }
.crm-yes-no input:checked + span { color:#fff; background:var(--primary); box-shadow:0 4px 12px rgba(16,101,183,.22); }
.crm-onboarding-links { display:grid; gap:10px; }
.crm-onboarding-link-row { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(260px,1.5fr) auto auto auto; gap:12px; align-items:end; padding:14px; border:1px solid var(--border); border-radius:15px; background:var(--surface-soft); }
.crm-onboarding-link-row .crm-check { min-height:44px; }
.crm-onboarding-send { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:14px; align-items:end; }
.crm-compliance-hero { display:flex; justify-content:space-between; gap:28px; align-items:center; }
.crm-compliance-hero h2 { margin:6px 0; }
.crm-compliance-summary { display:flex; gap:10px; flex-wrap:wrap; }
.crm-compliance-summary span { min-width:110px; padding:14px 18px; border-radius:15px; background:var(--primary-soft); color:var(--primary); text-align:center; }
.crm-compliance-summary strong,.crm-compliance-summary small { display:block; }
.crm-compliance-summary strong { font-size:1.5rem; }
.crm-compliance-summary small { margin-top:3px; color:var(--muted); }
.crm-compliance-sources { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 16px; }
.crm-compliance-sources a { padding:8px 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--primary); font-size:.8rem; font-weight:700; text-decoration:none; }
.crm-compliance-list { display:grid; gap:12px; }
.crm-compliance-item { display:grid; grid-template-columns:minmax(300px,1.15fr) minmax(300px,.85fr); gap:24px; padding:18px; border:1px solid var(--border); border-radius:17px; background:var(--surface-soft); }
.crm-compliance-item.has-file { border-color:rgba(24,157,103,.35); box-shadow:inset 4px 0 0 #189d67; }
.crm-compliance-title { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; }
.crm-compliance-title h3 { margin:0; font-size:1rem; }
.crm-compliance-title span { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:.7rem; font-weight:800; }
.crm-compliance-copy p { margin:9px 0; line-height:1.55; color:var(--text); }
.crm-compliance-copy small { color:var(--muted); line-height:1.45; }
.crm-compliance-controls { display:grid; gap:10px; }
.crm-compliance-file { display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; padding:12px; border-radius:13px; background:rgba(24,157,103,.09); }
.crm-compliance-file span,.crm-compliance-file small { grid-column:1; }
.crm-compliance-file a { grid-column:1; overflow-wrap:anywhere; font-weight:800; }
.crm-compliance-file .button { grid-column:2; grid-row:1/4; align-self:center; }
.crm-offer-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.crm-offer-template-card { position:relative; display:grid; gap:8px; padding:12px; border:1px solid var(--border); border-radius:17px; background:var(--surface-soft); cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.crm-offer-template-card:hover { transform:translateY(-2px); border-color:#8ebce8; box-shadow:var(--shadow-sm); }
.crm-offer-template-card > input { position:absolute; opacity:0; pointer-events:none; }
.crm-offer-template-card:has(input:checked) { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); background:var(--surface); }
.crm-offer-template-card strong { font-size:.96rem; }
.crm-offer-template-card small { min-height:2.8em; color:var(--muted); line-height:1.4; }
.crm-offer-template-card em { justify-self:start; padding:5px 9px; border-radius:999px; background:var(--surface); color:var(--muted); font-size:.7rem; font-style:normal; font-weight:800; }
.crm-offer-template-card:has(input:checked) em { background:var(--primary); color:#fff; }
.crm-offer-template-preview { position:relative; display:block; overflow:hidden; aspect-ratio:16/9; padding:0; border:1px solid var(--line); border-radius:12px; background:#eaf3fc; }
.crm-offer-template-preview img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.crm-offer-template-card:hover .crm-offer-template-preview img { transform:scale(1.02); }
.crm-offer-template-preview i { display:block; border-radius:5px; background:#fff; box-shadow:inset 0 0 0 1px rgba(22,83,140,.09); }
.crm-offer-template-preview i:first-child { grid-row:1/3; background:linear-gradient(145deg,#72addf,#dcecfb); }
.crm-offer-template-preview.is-modern-v2 { grid-template-columns:repeat(3,1fr); grid-template-rows:2fr 1fr; }
.crm-offer-template-preview.is-modern-v2 i:first-child { grid-column:1/4; grid-row:1; }
.crm-offer-template-preview.is-modern-v3 { grid-template-columns:2fr 1fr; grid-template-rows:2fr 1fr; }
.crm-offer-template-preview.is-modern-v3 i:first-child { grid-column:1/3; grid-row:1; }
.crm-offer-template-preview.is-modern-v6 { grid-template-columns:1fr 1.5fr; grid-template-rows:repeat(3,1fr); }
.crm-offer-template-preview.is-modern-v6 i:first-child { grid-column:2; grid-row:1/4; }
.crm-offer-template-preview.is-modern-v7 { grid-template-columns:2fr .55fr 1fr; grid-template-rows:repeat(3,1fr); }
.crm-offer-template-preview.is-modern-v7 i:first-child { grid-column:1; grid-row:1/4; }
.crm-offer-template-preview.is-modern-v8 { display:block; background:linear-gradient(135deg,#122c48,#3d668d); }
.crm-offer-template-preview.is-modern-v8 i:first-child { position:absolute; inset:12px; background:linear-gradient(145deg,#345e86,#8eb9db); }
.crm-offer-template-preview.is-modern-v8 i:nth-child(2) { position:absolute; left:22px; right:42%; bottom:23px; height:8px; }
.crm-offer-template-preview.is-modern-v9 { grid-template-columns:2fr 1fr; grid-template-rows:repeat(4,1fr); }
.crm-offer-template-preview.is-modern-v9 i:first-child { grid-row:1/4; }
.crm-offer-template-preview.is-modern-v10 { display:block; background:linear-gradient(135deg,#0b2238,#7097b8); }
.crm-offer-template-preview.is-modern-v10 i:first-child { position:absolute; inset:8px; background:linear-gradient(135deg,#31597a,#a6c5dd); }
.crm-offer-template-preview.is-modern-v10 i:nth-child(2) { position:absolute; right:16px; bottom:16px; width:32%; height:45%; }
.crm-offer-template-preview.is-modern-v11 { gap:7px; padding:10px; border-radius:20px; background:#edf5fb; }
.crm-offer-template-preview.is-modern-v11 i { border-radius:9px; }
.crm-offer-template-preview.is-pdf-v1 { aspect-ratio:1.414/1; grid-template-columns:1.8fr 1fr; grid-template-rows:2fr 1fr; background:#eef1f5; }
.crm-pdf-template-card { max-width:420px; }
@media (max-width:1100px) {
    .crm-onboarding-link-row { grid-template-columns:1fr 1fr auto auto; }
    .crm-onboarding-url { grid-column:2/5; }
    .crm-compliance-item { grid-template-columns:1fr; }
    .crm-offer-template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
    .crm-onboarding-link-row,.crm-onboarding-send { grid-template-columns:1fr; }
    .crm-onboarding-url { grid-column:auto; }
    .crm-compliance-hero { align-items:flex-start; flex-direction:column; }
    .crm-compliance-summary { width:100%; }
    .crm-compliance-summary span { flex:1; }
    .crm-compliance-item { padding:14px; }
    .crm-compliance-title { flex-direction:column; }
    .crm-compliance-file { grid-template-columns:1fr; }
    .crm-compliance-file span,.crm-compliance-file small,.crm-compliance-file a,.crm-compliance-file .button { grid-column:1; grid-row:auto; }
    .crm-offer-template-grid { grid-template-columns:1fr; }
}
.crm-numbering-list { display:grid; gap:12px; }
.crm-numbering-card { padding:0; overflow:hidden; }
.crm-numbering-card > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; cursor:pointer; list-style:none; }
.crm-numbering-card > summary::-webkit-details-marker { display:none; }
.crm-numbering-card > summary span:first-child { display:grid; gap:4px; }
.crm-numbering-card > summary span:last-child { color:var(--primary); font-weight:700; }
.crm-numbering-body { padding:0 22px 22px; border-top:1px solid var(--border); }
.crm-numbering-body > .field-grid { margin-top:18px; }
.crm-numbering-parts { display:grid; gap:12px; margin-top:18px; }
.crm-numbering-part { padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface-muted); }
.crm-numbering-part h3 { margin:0 0 12px; font-size:0.9375rem; }
.crm-stage-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0; }
.crm-stage-settings-grid textarea { min-height:290px; line-height:1.55; resize:vertical; }
.field-with-suffix { display:flex; align-items:center; }
.field-with-suffix input { border-radius:10px 0 0 10px; }
.field-with-suffix span { align-self:stretch; display:flex; align-items:center; padding:0 13px; border:1px solid var(--border); border-left:0; border-radius:0 10px 10px 0; background:var(--surface-muted); color:var(--muted); font-weight:700; }
@media (max-width: 900px) { .crm-stage-settings-grid { grid-template-columns:1fr; } .crm-numbering-card > summary { padding:16px; } .crm-numbering-body { padding:0 16px 16px; } }
.crm-mls-status-grid,.crm-mls-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.crm-mls-status-grid h2,.crm-mls-actions h2 { margin:8px 0; }
.crm-mls-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:18px 0; }
.crm-mls-metrics span { display:grid; gap:3px; padding:12px; border-radius:12px; background:var(--surface-muted); }
.crm-mls-metrics small { color:var(--muted); }
.crm-mls-metrics strong { font-size:1.25rem; }
.crm-check-list { display:grid; gap:9px; margin:16px 0 0; padding:0; list-style:none; }
.crm-check-list li { padding:10px 12px; border-radius:10px; background:var(--surface-muted); }
.crm-check-list li.is-ok { color:var(--success); }.crm-check-list li.is-warning { color:var(--warning); }.crm-check-list li.is-error { color:var(--danger); }
.crm-mls-errors { margin-top:14px; }.crm-mls-errors summary { cursor:pointer; color:var(--danger); font-weight:700; }.crm-mls-errors ul { display:grid; gap:6px; padding-left:20px; color:var(--muted); }
@media (max-width: 900px) { .crm-mls-status-grid,.crm-mls-actions { grid-template-columns:1fr; } .crm-mls-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.crm-notification-settings-list { display:grid; gap:10px; }
.crm-notification-setting { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:15px 17px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); cursor:pointer; }
.crm-notification-setting > span { display:grid; gap:4px; }
.crm-notification-setting small { color:var(--muted); font-weight:500; line-height:1.45; }
.crm-notification-setting input { width:18px; height:18px; accent-color:var(--brand); }
.crm-notification-setting em { min-width:70px; color:var(--brand); font-size:0.625rem; font-style:normal; font-weight:800; text-align:right; text-transform:uppercase; }
.crm-notification-setting:has(input:not(:checked)) { opacity:.68; }
.crm-notification-setting:has(input:not(:checked)) em { color:var(--muted); }
@media (max-width: 620px) { .crm-notification-setting { grid-template-columns:minmax(0,1fr) auto; } .crm-notification-setting em { display:none; } }
.crm-style-minimal .panel-card,.crm-style-minimal .metric-card,.crm-style-minimal .crm-list-card,.crm-style-minimal .crm-profile-card { box-shadow:none; }
.crm-style-minimal .module-hero-card,.crm-style-minimal .crm-form-page-heading { background:var(--surface); color:var(--text); border:1px solid var(--line); box-shadow:none; }
.crm-style-minimal .module-hero-card p,.crm-style-minimal .crm-form-page-heading p { color:var(--muted); }
.custom-field-builder-row { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr auto auto; align-items:end; gap:10px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#f8fbfe; }
.property-quick-editor { margin:0 0 18px; padding:16px 20px; }
.property-quick-editor > summary { cursor:pointer; font-weight:850; }
.property-quick-editor form { display:grid; gap:14px; margin-top:16px; }
.agreement-new-client-card details > .field-grid { margin-top:14px; }
@media (max-width: 680px) { .crm-draft-banner { align-items:stretch; flex-direction:column; } .crm-draft-banner > div { margin-right:0; } .crm-map-preview iframe { height:250px; } }
@media (max-width: 680px) { .agreement-new-clients-heading, .agreement-new-client-title { align-items:stretch; flex-direction:column; } .agreement-new-clients-heading .button, .agreement-new-client-title .button { width:100%; } }
@media (max-width: 1100px) { .custom-field-builder-row { grid-template-columns:1fr 1fr; } }
@media (max-width: 680px) { .custom-field-builder-row { grid-template-columns:1fr; } }

.button-small { min-height:34px; padding:7px 11px; border-radius:10px; font-size:.78rem; }
.status-pill.is-info { background:var(--brand-soft); color:var(--brand); }
.status-pill.is-muted { background:var(--surface-strong); color:var(--muted); }
.status-pill.is-error { background:var(--danger-soft); color:var(--danger); }
.portal-export-scope { margin-bottom:18px; }
.portal-connections-card { display:grid; gap:18px; margin-bottom:20px; }
.portal-connections-card > .panel-heading > .icon { width:30px; height:30px; color:var(--brand); }
.portal-connections-card > p { margin:0; line-height:1.65; }
.portal-connection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.portal-connection-card { display:grid; align-content:start; gap:12px; padding:16px; border:1px solid var(--line); border-radius:17px; background:var(--surface-soft); }
.portal-connection-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.portal-connection-head > div { display:grid; gap:2px; }
.portal-connection-head strong { font-size:.95rem; }
.portal-connection-head small,.portal-connection-test-time { color:var(--muted); font-size:.75rem; }
.portal-connection-error { margin:0; padding:9px 11px; border-radius:10px; background:var(--danger-soft); color:var(--danger); font-size:.77rem; }
.portal-connection-settings > summary { padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--brand); font-size:.82rem; font-weight:800; cursor:pointer; }
.portal-connection-settings[open] > summary { border-color:color-mix(in srgb,var(--brand) 35%,var(--line)); }
.portal-connection-settings > form { display:grid; gap:12px; margin-top:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.portal-clear-secrets { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.76rem; cursor:pointer; }
.portal-clear-secrets input { width:16px; height:16px; accent-color:var(--danger); }
.portal-noe-settings { margin:14px 0; padding:14px; border:1px solid rgba(51,122,255,.18); border-radius:14px; background:rgba(51,122,255,.045); }
.portal-noe-settings > .eyebrow-chip { margin-bottom:12px; }
.portal-noe-settings > small { display:block; color:var(--muted); line-height:1.5; }
.portal-export-metrics { margin-bottom:20px; }
.portal-export-setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.portal-provider-card,.portal-prepare-card { display:grid; align-content:start; gap:16px; }
.portal-provider-card > p,.portal-prepare-card > p { margin:0; color:var(--muted); }
.portal-provider-card .panel-heading > .icon,.portal-prepare-card .panel-heading > .icon { width:29px; height:29px; color:var(--brand); }
.portal-provider-card form,.portal-prepare-card form { display:grid; gap:14px; }
.portal-provider-list { display:grid; gap:9px; }
.portal-provider-list label { display:flex; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); cursor:pointer; transition:.16s ease; }
.portal-provider-list label:hover { border-color:color-mix(in srgb,var(--brand) 45%,var(--line)); }
.portal-provider-list input { width:18px; height:18px; accent-color:var(--brand); }
.portal-provider-list span { display:grid; gap:2px; }
.portal-provider-list strong { font-size:.9rem; }
.portal-provider-list small { color:var(--muted); font-size:.76rem; }
.portal-history-card { display:grid; gap:17px; margin-bottom:18px; overflow:hidden; }
.crm-table-wrap { max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:16px; }
.crm-table { width:100%; border-collapse:collapse; background:var(--surface); font-size:.82rem; }
.crm-table th { padding:12px 14px; background:var(--surface-soft); color:var(--muted); font-size:.67rem; font-weight:850; letter-spacing:.06em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.crm-table td { padding:14px; border-top:1px solid var(--line); vertical-align:top; }
.portal-history-table { min-width:1040px; }
.portal-history-table td > strong,.portal-history-table td > small,.portal-property-link > strong,.portal-property-link > small { display:block; }
.portal-history-table td > small,.portal-property-link > small { margin-top:4px; color:var(--muted); font-size:.72rem; }
.portal-property-link { color:var(--ink); }
.portal-property-link:hover strong { color:var(--brand); }
.portal-validation-error { max-width:260px; color:var(--danger) !important; line-height:1.45; }
.portal-export-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:7px; min-width:265px; }
.portal-export-actions form { margin:0; }
.portal-mark-sent { position:relative; }
.portal-mark-sent > summary { min-height:34px; padding:7px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--brand); font-size:.78rem; font-weight:750; list-style:none; cursor:pointer; }
.portal-mark-sent > summary::-webkit-details-marker { display:none; }
.portal-mark-sent[open] > form { position:absolute; z-index:15; right:0; top:calc(100% + 7px); display:grid; gap:10px; width:min(340px,80vw); padding:15px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:0 18px 50px rgba(29,57,91,.18); }
.property-portal-statuses { display:grid; gap:16px; margin-bottom:20px; }
.property-portal-status-list { display:grid; gap:9px; }
.property-portal-status-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px 14px; padding:14px 15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.property-portal-status-list article > div { display:grid; gap:3px; }
.property-portal-status-list small { color:var(--muted); font-size:.76rem; }
.property-portal-status-list p,.property-portal-status-list article > a { grid-column:1/-1; margin:0; font-size:.8rem; }
.property-portal-status-list p { color:var(--danger); }
.property-portal-status-list article > form { grid-column:1/-1; }
.property-portal-remote-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:10px; }
.property-portal-remote-list section { display:grid; gap:9px; padding:12px; border:1px solid color-mix(in srgb,var(--line) 84%,var(--brand) 16%); border-radius:12px; background:var(--surface); min-width:0; }
.property-portal-remote-list header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.property-portal-remote-list header span { color:var(--muted); font-size:.74rem; text-align:right; }
.property-portal-remote-list dl { display:grid; gap:5px; margin:0; }
.property-portal-remote-list dl div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.property-portal-remote-list dt,.property-portal-remote-list dd { margin:0; font-size:.75rem; overflow-wrap:anywhere; }
.property-portal-remote-list dt { color:var(--muted); }
.property-portal-remote-list p { font-size:.75rem; overflow-wrap:anywhere; }
.property-portal-remote-list p.is-warning { color:var(--warning); }
.property-portal-remote-list p.is-error { color:var(--danger); }
.property-portal-remote-list a { font-size:.78rem; font-weight:700; overflow-wrap:anywhere; }

@media (max-width: 900px) {
    .portal-connection-grid { grid-template-columns:1fr; }
    .portal-export-setup-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
    .property-portal-status-list article { grid-template-columns:1fr; }
    .portal-mark-sent[open] > form { position:fixed; right:14px; left:14px; top:20vh; width:auto; }
}

.crm-static-field { display:grid; gap:5px; margin-bottom:16px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.crm-static-field > span { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.crm-static-field > strong { color:var(--ink); font-size:1rem; }
.crm-static-field > small { color:var(--muted); line-height:1.45; }
.property-gallery-order-form { display:grid; gap:14px; margin:18px 0; padding:17px; border:1px solid var(--line); border-radius:17px; background:var(--surface-soft); }
.property-gallery-order-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.property-gallery-order-heading > div { display:grid; gap:4px; }
.property-gallery-order-heading small { color:var(--muted); line-height:1.45; }
.property-gallery-order-list { display:grid; gap:8px; }
.property-gallery-order-list article { display:grid; grid-template-columns:auto 58px minmax(0,1fr) auto auto; align-items:center; gap:11px; min-height:66px; padding:8px 10px; border:1px solid var(--line); border-radius:13px; background:var(--surface); cursor:grab; transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease; }
.property-gallery-order-list article:focus { outline:3px solid color-mix(in srgb,var(--brand) 24%,transparent); outline-offset:2px; }
.property-gallery-order-list article.is-dragging { opacity:.58; border-color:var(--brand); box-shadow:0 10px 28px rgba(34,91,160,.16); cursor:grabbing; }
.property-gallery-order-list img { width:58px; height:48px; border-radius:9px; object-fit:cover; }
.property-gallery-order-handle { color:var(--muted); font-size:1.05rem; letter-spacing:-.2em; }
.property-gallery-order-list article > small { padding:4px 8px; border-radius:999px; background:var(--brand-soft); color:var(--brand); font-size:.68rem; font-weight:800; }
.property-gallery-order-actions { display:flex; gap:5px; }
.property-gallery-order-actions button { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--brand); font-weight:900; cursor:pointer; }
.property-gallery-order-actions button:hover:not(:disabled) { border-color:var(--brand); background:var(--brand-soft); }
.property-gallery-order-actions button:disabled { opacity:.35; cursor:not-allowed; }
.crm-copy-materials-editor { display:grid; gap:18px; margin-bottom:20px; }
.crm-copy-media-editor,.crm-copy-floor-editor { margin:0; }
.crm-copy-material-select { display:flex; min-width:0; align-items:center; gap:10px; cursor:pointer; }
.crm-copy-material-select > input { flex:0 0 auto; width:18px; height:18px; accent-color:var(--brand); }
.crm-copy-material-select > span { display:grid; min-width:0; gap:3px; }
.crm-copy-material-select strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-copy-material-select small { color:var(--muted); font-size:.74rem; }
.crm-copy-cover-choice { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.78rem; font-weight:800; cursor:pointer; }
.crm-copy-cover-choice input { width:17px; height:17px; accent-color:var(--brand); }
.crm-copy-cover-choice:has(input:checked) { color:var(--brand); }
.crm-copy-material-list.is-floor-plan article { grid-template-columns:auto 68px minmax(170px,.8fr) minmax(310px,1.25fr) auto; }
.crm-copy-material-list.is-floor-plan img { width:68px; height:58px; object-fit:contain; background:#fff; }
.crm-copy-floor-fields { display:grid; grid-template-columns:minmax(150px,1fr) minmax(105px,.55fr); gap:9px; }
.crm-copy-floor-fields label { display:grid; gap:4px; }
.crm-copy-floor-fields label > span { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.crm-copy-floor-fields input { width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); }
@media (max-width: 680px) {
    .property-gallery-order-heading { align-items:stretch; flex-direction:column; }
    .property-gallery-order-heading .button { width:100%; }
    .property-gallery-order-list article { grid-template-columns:auto 50px minmax(0,1fr) auto; }
    .property-gallery-order-list article > small { display:none; }
    .property-gallery-order-list img { width:50px; height:44px; }
    .crm-copy-material-list.is-floor-plan article { grid-template-columns:auto 50px minmax(0,1fr) auto; }
    .crm-copy-material-list.is-floor-plan img { width:50px; height:44px; }
    .crm-copy-floor-fields { grid-column:2 / -1; grid-template-columns:1fr; width:100%; }
    .crm-copy-cover-choice { grid-column:3; }
}

.property-pdf-config { position:relative; margin:0; }
.property-pdf-config > summary { list-style:none; cursor:pointer; }
.property-pdf-config > summary::-webkit-details-marker { display:none; }
.property-pdf-config[open] > form { position:absolute; z-index:30; top:calc(100% + 9px); right:0; display:grid; gap:9px; width:min(350px,86vw); padding:17px; border:1px solid var(--line); border-radius:17px; background:var(--surface); color:var(--ink); box-shadow:0 22px 55px rgba(20,55,92,.2); }
.property-pdf-config form > strong { margin-bottom:3px; }
.property-pdf-config form > label { display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:10px; background:var(--surface-soft); color:var(--text); font-size:.8rem; font-weight:700; cursor:pointer; }
.property-pdf-config form > label input[type="checkbox"] { width:17px; height:17px; accent-color:var(--brand); }
.crm-linked-stage-panel { display:grid; gap:20px; margin-bottom:20px; overflow:hidden; }
.crm-linked-stage-head { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; }
.crm-linked-stage-head h2 { margin:6px 0; }
.crm-linked-stage-head p { margin:0; color:var(--muted); }
.crm-stage-progress { display:grid; gap:6px; width:min(260px,100%); text-align:right; }
.crm-stage-progress > strong { color:var(--brand); font-size:1.35rem; }
.crm-stage-progress > span { display:block; overflow:hidden; height:8px; border-radius:999px; background:var(--surface-strong); }
.crm-stage-progress > span i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--brand),#36a3ff); }
.crm-stage-progress > small { color:var(--muted); line-height:1.4; }
.crm-linked-stage-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.crm-linked-stage-list li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.crm-linked-stage-list li > span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--surface-strong); color:var(--muted); font-size:.75rem; font-weight:900; }
.crm-linked-stage-list li > div { display:grid; gap:4px; }
.crm-linked-stage-list li strong { font-size:.78rem; line-height:1.35; }
.crm-linked-stage-list li small { color:var(--muted); font-size:.7rem; }
.crm-linked-stage-list li.is-completed { border-color:rgba(24,157,103,.3); background:rgba(24,157,103,.06); }
.crm-linked-stage-list li.is-completed > span { background:#189d67; color:#fff; }
.crm-linked-stage-list li.is-current { border-color:var(--brand); background:var(--brand-soft); box-shadow:inset 0 0 0 1px var(--brand); }
.crm-linked-stage-list li.is-current > span { background:var(--brand); color:#fff; }
.crm-linked-stage-list li.is-skipped { opacity:.68; }
.crm-linked-stage-form { display:grid; grid-template-columns:minmax(220px,1fr) 170px minmax(230px,1fr) auto; gap:12px; align-items:end; padding:16px; border-radius:16px; background:var(--surface-soft); }
.crm-stage-transaction-choice { display:flex; align-items:center; gap:9px; min-height:44px; color:var(--muted); font-size:.78rem; font-weight:700; cursor:pointer; }
.crm-stage-transaction-choice input { width:18px; height:18px; accent-color:var(--brand); }
.crm-linked-stage-empty { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.crm-linked-stage-empty > span { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--surface-soft); color:var(--muted); }
.crm-linked-stage-empty .icon { width:24px; height:24px; }
.crm-linked-stage-empty h3,.crm-linked-stage-empty p { margin:0; }
.crm-linked-stage-empty p { margin-top:4px; color:var(--muted); }
.crm-linked-contacts { display:grid; gap:5px; }
.crm-linked-contacts a { width:max-content; max-width:100%; }
.property-profile-map { margin-bottom:20px; overflow:hidden; }
.property-profile-map iframe { display:block; width:100%; height:350px; border:0; border-radius:16px; }
@media (max-width: 1050px) { .crm-linked-stage-form { grid-template-columns:1fr 1fr; } }
@media (max-width: 700px) {
    .property-pdf-config { width:100%; }
    .property-pdf-config > summary { width:100%; }
    .property-pdf-config[open] > form { position:fixed; right:14px; left:14px; top:12vh; width:auto; max-height:76vh; overflow:auto; }
    .crm-linked-stage-head { flex-direction:column; }
    .crm-stage-progress { width:100%; text-align:left; }
    .crm-linked-stage-list { grid-template-columns:1fr; }
    .crm-linked-stage-form { grid-template-columns:1fr; }
    .property-profile-map iframe { height:260px; }
    .crm-agent-photo-editor { grid-template-columns:1fr; }
    .crm-agent-photo-preview { width:130px; }
    .crm-office-logo-editor { grid-template-columns:1fr; }
    .crm-office-logo-preview { width:min(190px,100%); }
    .crm-rich-toolbar { align-items:stretch; }
    .crm-rich-toolbar label:not(.crm-rich-color) { flex:1 1 135px; }
    .crm-rich-toolbar select { width:100%; max-width:none; }
    .crm-rich-toolbar-group { flex:1 1 auto; }
    .crm-rich-toolbar-group button { flex:1; }
    .crm-rich-help { align-items:flex-start; flex-direction:column; }
    .crm-agent-crop-workspace { grid-template-columns:1fr; }
    .crm-agent-crop-canvas-wrap { width:min(100%,420px); }
    .crm-agent-crop-footer { align-items:stretch; flex-direction:column; }
    .crm-agent-crop-footer > div { display:grid; grid-template-columns:1fr 1fr; }
}
@media (max-width: 430px) {
    .crm-agent-crop-modal { padding:6px; }
    .crm-agent-crop-dialog { max-height:calc(100vh - 12px); padding:15px; border-radius:18px; }
    .crm-agent-crop-heading p { display:none; }
    .crm-agent-crop-controls { padding:13px; }
    .crm-agent-crop-footer > div { grid-template-columns:1fr; }
}

.crm-dashboard-analytics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.crm-dashboard-chart-card { display:grid; align-content:start; gap:19px; min-width:0; min-height:330px; padding:clamp(18px,2vw,24px); }
.crm-timeline-card { grid-column:1/-1; min-height:360px; }
.crm-dashboard-chart-card .panel-heading { margin:0; }
.crm-dashboard-chart-card .panel-heading h2 { margin-top:5px; font-size:1.05rem; }
.crm-dashboard-chart-card .panel-heading p { margin:5px 0 0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.crm-sales-funnel { display:grid; grid-template-columns:minmax(180px,1fr) minmax(190px,.86fr); align-items:center; gap:clamp(18px,3vw,38px); min-height:235px; }
.crm-sales-funnel-shape { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; padding:6px 0; }
.crm-sales-funnel-segment { display:flex; align-items:center; justify-content:center; height:43px; margin-top:-1px; color:#fff; clip-path:polygon(0 0,100% 0,93% 100%,7% 100%); filter:drop-shadow(0 4px 6px rgba(9,46,111,.08)); }
.crm-sales-funnel-segment strong { font-size:0.9375rem; font-variant-numeric:tabular-nums; text-shadow:0 1px 2px rgba(5,25,58,.18); }
.crm-sales-funnel-segment.is-1 { width:100%; margin-top:0; background:#2f6db7; }
.crm-sales-funnel-segment.is-2 { width:86%; background:#428fc4; }
.crm-sales-funnel-segment.is-3 { width:72%; background:#62abc6; }
.crm-sales-funnel-segment.is-4 { width:58%; background:#86bd58; }
.crm-sales-funnel-segment.is-5 { width:44%; background:#49a84e; }
.crm-sales-funnel-legend,.crm-property-donut-legend { display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
.crm-sales-funnel-legend li,.crm-property-donut-legend li { display:grid; grid-template-columns:10px minmax(0,1fr) auto auto; align-items:center; gap:8px; min-height:40px; border-bottom:1px solid #edf1f6; }
.crm-sales-funnel-legend li:last-child,.crm-property-donut-legend li:last-child { border-bottom:0; }
.crm-sales-funnel-legend i,.crm-property-donut-legend i { width:9px; height:9px; border-radius:999px; background:var(--crm-chart-color,#2f6db7); }
.crm-sales-funnel-legend i.is-1 { background:#2f6db7; }
.crm-sales-funnel-legend i.is-2 { background:#428fc4; }
.crm-sales-funnel-legend i.is-3 { background:#62abc6; }
.crm-sales-funnel-legend i.is-4 { background:#86bd58; }
.crm-sales-funnel-legend i.is-5 { background:#49a84e; }
.crm-sales-funnel-legend span,.crm-property-donut-legend span { min-width:0; overflow:hidden; color:#43536c; font-size:0.75rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.crm-sales-funnel-legend strong,.crm-property-donut-legend strong { color:#162943; font-size:0.8125rem; font-variant-numeric:tabular-nums; }
.crm-sales-funnel-legend small,.crm-property-donut-legend small { min-width:34px; color:#8995a7; font-size:0.65625rem; font-variant-numeric:tabular-nums; text-align:right; }
.crm-property-donut { display:grid; grid-template-columns:minmax(170px,.82fr) minmax(190px,1fr); align-items:center; gap:clamp(20px,3vw,40px); min-height:235px; }
.crm-property-donut-chart { position:relative; justify-self:center; width:min(100%,205px); aspect-ratio:1; border-radius:50%; background:var(--crm-donut-gradient,conic-gradient(#dfe6ef 0 100%)); box-shadow:0 13px 28px rgba(12,38,77,.1); }
.crm-property-donut-chart::after { content:""; position:absolute; inset:27%; border:1px solid rgba(226,232,241,.85); border-radius:50%; background:var(--surface); box-shadow:0 3px 12px rgba(12,38,77,.06) inset; }
.crm-property-donut-chart > div { position:absolute; z-index:1; inset:27%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#66758d; text-align:center; }
.crm-property-donut-chart strong { color:#142640; font-size:clamp(1.5rem,3vw,2.125rem); font-weight:850; font-variant-numeric:tabular-nums; letter-spacing:-.045em; line-height:1; }
.crm-property-donut-chart span { margin-top:5px; font-size:0.65625rem; font-weight:700; }
.crm-transactions-timeline { margin-top:8px; }
.crm-transactions-timeline-scroll { max-width:100%; overflow-x:auto; scrollbar-color:#b9c6d8 transparent; scrollbar-width:thin; }
.crm-transactions-timeline-canvas { min-width:620px; }
.crm-transactions-timeline svg { display:block; width:100%; height:auto; overflow:visible; }
.crm-transactions-timeline-grid line { stroke:#e4eaf2; stroke-width:1; vector-effect:non-scaling-stroke; }
.crm-transactions-timeline-grid text { fill:#8b98aa; font-size:0.6875rem; font-variant-numeric:tabular-nums; text-anchor:end; }
.crm-transactions-timeline-area { fill:rgba(47,109,183,.12); }
.crm-transactions-timeline-line { fill:none; stroke:#2f6db7; stroke-linecap:round; stroke-linejoin:round; stroke-width:3; vector-effect:non-scaling-stroke; }
.crm-transactions-timeline-point { fill:var(--surface); stroke:#2f6db7; stroke-width:3; vector-effect:non-scaling-stroke; }
.crm-transactions-timeline ol { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; margin:-2px 0 0; padding:0 10px 0 34px; list-style:none; }
.crm-transactions-timeline li { display:flex; flex-direction:column; align-items:center; min-width:0; color:#77869b; font-size:0.6875rem; font-weight:700; text-align:center; text-transform:capitalize; }
.crm-transactions-timeline li strong { display:inline-flex; align-items:center; justify-content:center; min-width:27px; min-height:23px; margin-bottom:5px; padding:2px 7px; border:1px solid #dce5f0; border-radius:999px; background:#f8fafc; color:#17325a; font-size:0.75rem; font-variant-numeric:tabular-nums; }
.crm-agent-ranking li div > i { display:block; overflow:hidden; height:7px; border-radius:999px; background:var(--surface-strong); }
.crm-agent-ranking li div > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--brand),#40a9ff); }
.crm-export-breakdown { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:15px; border-top:1px solid var(--line); }
.crm-export-breakdown > span { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:7px; color:var(--muted); font-size:.68rem; }
.crm-export-breakdown i { width:8px; height:8px; border-radius:50%; background:#a7b2c4; }
.crm-export-breakdown i.is-both { background:#1aa371; }
.crm-export-breakdown i.is-www { background:#2788e9; }
.crm-export-breakdown i.is-portals { background:#7458d8; }
.crm-export-breakdown strong { color:var(--ink); }
.crm-dashboard-remuneration { display:grid; gap:18px; margin-bottom:18px; padding:clamp(18px,2vw,24px); }
.crm-dashboard-remuneration .panel-heading { margin:0; }
.crm-dashboard-remuneration .panel-heading p { margin:5px 0 0; color:var(--muted); font-size:.78rem; }
.crm-remuneration-periods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.crm-remuneration-periods details { overflow:hidden; align-self:start; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.crm-remuneration-periods summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 15px; color:var(--muted); font-size:.74rem; font-weight:800; list-style:none; cursor:pointer; }
.crm-remuneration-periods summary::-webkit-details-marker { display:none; }
.crm-remuneration-periods summary > span:first-child { display:grid; gap:3px; }
.crm-remuneration-periods summary strong { color:var(--ink); font-size:.83rem; }
.crm-remuneration-periods details[open] { border-color:color-mix(in srgb,var(--brand) 35%,var(--line)); background:var(--surface); box-shadow:0 13px 35px rgba(30,65,100,.08); }
.crm-remuneration-body { display:grid; gap:15px; padding:0 15px 15px; }
.crm-remuneration-totals { display:flex; flex-wrap:wrap; gap:9px; }
.crm-remuneration-totals > span,.crm-remuneration-totals > strong { display:grid; gap:3px; min-width:120px; padding:12px; border-radius:12px; background:var(--brand-soft); color:var(--brand); font-size:.94rem; }
.crm-remuneration-totals small { color:var(--muted); font-size:.66rem; }
.crm-remuneration-agents { display:grid; gap:9px; padding-top:13px; border-top:1px solid var(--line); }
.crm-remuneration-agents h3,.crm-remuneration-agents p { margin:0; }
.crm-remuneration-agents h3 { font-size:.78rem; }
.crm-remuneration-agents p { color:var(--muted); font-size:.72rem; }
.crm-remuneration-agents ol { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.crm-remuneration-agents li { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.7rem; }
.crm-remuneration-agents li > span { display:grid; gap:2px; }
.crm-remuneration-agents li small { color:var(--muted); }
.crm-remuneration-agents li b { text-align:right; }
.crm-agent-ranking { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.crm-agent-ranking li { display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:10px; }
.crm-agent-ranking li > span { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:var(--brand-soft); color:var(--brand); font-size:.7rem; font-weight:900; }
.crm-agent-ranking li > div { display:grid; gap:6px; min-width:0; }
.crm-agent-ranking li > div strong { overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.crm-agent-ranking li > small { color:var(--muted); font-size:.67rem; white-space:nowrap; }
.crm-dashboard-notification-list { display:grid; gap:8px; }
.crm-dashboard-notification-list form { margin:0; }
.crm-dashboard-notification-list button { display:grid; grid-template-columns:8px minmax(0,1fr); align-items:start; gap:10px; width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); color:var(--ink); text-align:left; cursor:pointer; }
.crm-dashboard-notification-list button > i { width:8px; height:8px; margin-top:4px; border-radius:50%; background:#a7b2c4; }
.crm-dashboard-notification-list form.is-unread button { border-color:color-mix(in srgb,var(--brand) 35%,var(--line)); background:var(--brand-soft); }
.crm-dashboard-notification-list form.is-unread button > i { background:var(--brand); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 15%,transparent); }
.crm-dashboard-notification-list button > span { display:grid; gap:3px; }
.crm-dashboard-notification-list strong { font-size:.75rem; }
.crm-dashboard-notification-list small { color:var(--muted); font-size:.68rem; line-height:1.4; }
@media (max-width: 1180px) {
    .crm-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crm-sales-funnel,.crm-property-donut { grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr); gap:18px; }
    .crm-remuneration-periods { grid-template-columns:1fr; }
}
@media (max-width: 920px) {
    .crm-dashboard-analytics { grid-template-columns:1fr; }
    .crm-timeline-card { grid-column:auto; }
    .crm-sales-funnel,.crm-property-donut { grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr); }
}
@media (max-width: 820px) {
    .crm-dashboard-hero { grid-template-columns:1fr; align-items:start; }
    .crm-quick-actions { justify-content:flex-start; }
}
@media (max-width: 620px) {
    .panel-card { --panel-padding: 16px; }
    .app-content { padding:20px 16px 96px; }
    .crm-dashboard { gap:14px; }
    .crm-dashboard-hero { gap:16px; padding:6px 2px 2px; }
    .crm-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    .crm-quick-actions > a { justify-content:flex-start; }
    .crm-dashboard-metrics { grid-template-columns:1fr; }
    .crm-dashboard-metrics .metric-card { min-height:118px; }
    .crm-dashboard-chart-card { min-height:0; padding:15px; border-radius:14px; }
    .crm-sales-funnel,.crm-property-donut { grid-template-columns:minmax(0,1fr); gap:16px; }
    .crm-sales-funnel-shape { width:min(100%,320px); margin:0 auto; }
    .crm-financial-summary,.crm-dashboard-remuneration { padding:15px; border-radius:14px; }
    .crm-export-breakdown { grid-template-columns:1fr; }
    .crm-remuneration-periods summary { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 420px) {
    .crm-quick-actions { grid-template-columns:1fr; }
}

/* Property Tour 0.0074 */
.page-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.button.is-disabled { opacity:.5; pointer-events:none; }
.tour-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.tour-summary-card { display:grid; gap:5px; padding:19px 21px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-soft); }
.tour-summary-card span { color:var(--muted); font-size:.73rem; font-weight:800; }
.tour-summary-card strong { color:var(--ink); font-size:1.75rem; line-height:1; }
.tour-summary-card small { color:var(--muted); font-size:.69rem; }
.status-pill.is-draft { background:var(--warning-soft); color:var(--warning); }
.status-pill.is-published { background:var(--success-soft); color:var(--success); }
.tour-editor-shell { display:grid; gap:24px; }
.tour-editor-shell > .panel-heading { margin:0; }
.tour-editor-shell > .panel-heading p { max-width:760px; margin:6px 0 0; color:var(--muted); }
.tour-project-form { display:grid; gap:17px; padding-top:22px; border-top:1px solid var(--line); }
.tour-upload-panel { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(320px,1.25fr); gap:22px; padding:22px; border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line)); border-radius:18px; background:linear-gradient(135deg,var(--brand-soft),var(--surface)); }
.tour-upload-panel h3,.tour-upload-panel p { margin:0; }
.tour-upload-panel h3 { margin-top:7px; }
.tour-upload-panel p { margin-top:7px; color:var(--muted); line-height:1.55; }
.tour-upload-panel form { display:grid; gap:12px; }
.tour-dropzone { display:grid; place-items:center; gap:6px; min-height:150px; padding:20px; border:1px dashed color-mix(in srgb,var(--brand) 55%,var(--line)); border-radius:15px; background:var(--surface); color:var(--ink); text-align:center; cursor:pointer; }
.tour-dropzone input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.tour-dropzone-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--brand-soft); color:var(--brand); }
.tour-dropzone small { color:var(--muted); }
.tour-scene-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.tour-scene-card { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.tour-scene-image { aspect-ratio:2/1; overflow:hidden; background:var(--surface-strong); }
.tour-scene-image img { width:100%; height:100%; object-fit:cover; }
.tour-scene-body { display:grid; gap:4px; padding:14px 15px 16px; }
.tour-scene-body span,.tour-scene-body p { color:var(--muted); font-size:.68rem; }
.tour-scene-body h3,.tour-scene-body p { margin:0; }
.tour-scenes-empty { grid-column:1/-1; display:grid; place-items:center; gap:7px; min-height:190px; padding:25px; border:1px dashed var(--line); border-radius:17px; color:var(--muted); text-align:center; }
.tour-scenes-empty > span { color:var(--brand); }
.tour-scenes-empty h3,.tour-scenes-empty p { margin:0; }
.tour-list-toolbar { margin-bottom:18px; }
.tour-list-toolbar form { display:grid; grid-template-columns:minmax(240px,1fr) auto; align-items:end; gap:12px; }
.tour-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tour-project-card { display:grid; gap:12px; min-height:292px; padding:21px; border:1px solid var(--line); border-radius:19px; background:var(--surface); box-shadow:var(--shadow-soft); }
.tour-project-card-top,.tour-project-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tour-project-card-top > span:last-child,.tour-project-card > small { color:var(--muted); font-size:.69rem; }
.tour-project-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--brand),#735de8); color:#fff; }
.tour-project-card h2,.tour-project-card p { margin:0; }
.tour-project-card p { color:var(--muted); line-height:1.5; }
.tour-project-actions { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
.tour-empty-state { grid-column:1/-1; }
@media (max-width:1000px) { .tour-project-grid,.tour-scene-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tour-upload-panel { grid-template-columns:1fr; } }
@media (max-width:700px) { .page-heading-actions { width:100%; justify-content:flex-start; } .tour-summary-grid,.tour-project-grid,.tour-scene-grid { grid-template-columns:1fr; } .tour-list-toolbar form { grid-template-columns:1fr; } .tour-editor-shell { gap:18px; } .tour-upload-panel { padding:17px; } }
.tour-scene-workspace { display:grid; grid-template-columns:minmax(250px,.56fr) minmax(0,1.44fr); overflow:hidden; border:1px solid var(--line); border-radius:19px; background:var(--surface); }
.tour-scene-sidebar { min-width:0; padding:18px; border-right:1px solid var(--line); background:var(--surface-soft); }
.tour-scene-sidebar-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.tour-scene-sidebar-heading h3 { margin:5px 0 0; font-size:.88rem; }
.tour-scene-sidebar-heading > strong { display:grid; place-items:center; min-width:28px; height:28px; border-radius:9px; background:var(--brand-soft); color:var(--brand); font-size:.75rem; }
.tour-scene-list { display:grid; gap:8px; max-height:680px; overflow:auto; padding-right:2px; }
.tour-scene-list-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; padding:5px; border:1px solid transparent; border-radius:13px; }
.tour-scene-list-item.is-active { border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); background:var(--surface); box-shadow:0 8px 18px rgba(30,65,100,.08); }
.tour-scene-list-item > a { display:grid; grid-template-columns:70px minmax(0,1fr); gap:9px; align-items:center; min-width:0; color:inherit; text-decoration:none; }
.tour-scene-list-item img { width:70px; height:45px; border-radius:8px; object-fit:cover; background:var(--surface-strong); }
.tour-scene-list-item a > span { display:grid; min-width:0; gap:2px; }
.tour-scene-list-item small,.tour-scene-list-item em { overflow:hidden; color:var(--muted); font-size:.63rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.tour-scene-list-item strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.tour-scene-list-actions { display:grid; grid-template-columns:repeat(3,23px); align-content:center; gap:2px; }
.tour-scene-list-actions form { margin:0; }
.tour-scene-list-actions button { display:grid; place-items:center; width:23px; height:23px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:.78rem; cursor:pointer; }
.tour-scene-list-actions button:hover:not(:disabled) { background:var(--brand-soft); color:var(--brand); }
.tour-scene-list-actions button:disabled { opacity:.38; cursor:default; }
.tour-scene-stage { display:grid; gap:16px; min-width:0; padding:clamp(16px,2vw,24px); }
.tour-scene-stage-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.tour-scene-stage-heading h3 { margin:5px 0 0; }
.tour-autosave-status { align-self:center; color:var(--muted); font-size:.68rem; font-weight:700; white-space:nowrap; }
.tour-autosave-status.is-saving { color:var(--brand); }
.tour-autosave-status.is-saved { color:var(--success); }
.tour-autosave-status.is-error { max-width:260px; color:var(--danger); white-space:normal; text-align:right; }
.tour-panorama-viewer { min-height:clamp(300px,50vw,590px); overflow:hidden; border-radius:15px; background:#1d2733; }
.tour-panorama-viewer.has-error { display:grid; place-items:center; padding:24px; color:#fff; text-align:center; }
.tour-scene-form { display:grid; gap:15px; }
.tour-pose-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tour-pose-grid .field { position:relative; }
.tour-pose-grid .field small { position:absolute; right:10px; bottom:10px; color:var(--muted); font-weight:700; pointer-events:none; }
.tour-pose-grid input { padding-right:58px; }
.tour-pose-help { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }
@media (max-width:1000px) { .tour-scene-workspace { grid-template-columns:1fr; } .tour-scene-sidebar { border-right:0; border-bottom:1px solid var(--line); } .tour-scene-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:260px; } }
@media (max-width:620px) { .tour-scene-sidebar,.tour-scene-stage { padding:15px; } .tour-scene-list { grid-template-columns:1fr; max-height:310px; } .tour-panorama-viewer { min-height:300px; border-radius:12px; } .tour-pose-grid { grid-template-columns:1fr; } .tour-scene-stage-heading { align-items:flex-start; flex-direction:column; } .tour-autosave-status.is-error { max-width:none; text-align:left; } }

/* Property Tour 0.0076: hotspoty scen */
.tour-hotspot-editor { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.tour-hotspot-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.tour-hotspot-heading h3 { margin:4px 0 6px; color:var(--ink); }
.tour-hotspot-heading p { max-width:620px; margin:0; color:var(--muted); font-size:.9rem; }
.tour-hotspot-form { display:grid; gap:15px; padding:18px; border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line)); border-radius:16px; background:var(--surface-soft); }
.tour-hotspot-position { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:520px; }
.tour-hotspot-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.tour-hotspot-card { display:flex; align-items:stretch; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:border-color .2s ease,box-shadow .2s ease; }
.tour-hotspot-card.is-editing { border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent); }
.tour-hotspot-card > button { display:grid; grid-template-columns:28px minmax(0,1fr); flex:1; gap:2px 9px; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.tour-hotspot-card > button > span { grid-row:1 / span 2; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--brand-soft); color:var(--brand); font-weight:800; }
.tour-hotspot-card.is-info > button > span { background:var(--success-soft); color:var(--success); }
.tour-hotspot-card strong,.tour-hotspot-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tour-hotspot-card small { color:var(--muted); }
.tour-hotspot-card-actions { display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:6px; font-size:.78rem; }
.tour-hotspot-card-actions a,.tour-hotspot-card-actions button { border:0; padding:0; background:transparent; color:var(--brand); font:inherit; cursor:pointer; text-decoration:none; }
.tour-hotspot-card-actions button { color:var(--danger); }
.tour-hotspot-empty { grid-column:1 / -1; margin:0; padding:16px; border:1px dashed var(--line); border-radius:12px; color:var(--muted); text-align:center; }
.pnlm-hotspot.eocrm-tour-hotspot { width:32px; height:32px; border:3px solid #fff; border-radius:50%; background:var(--brand); box-shadow:0 4px 14px rgba(15,42,85,.32); }
.pnlm-hotspot.eocrm-tour-hotspot:after { content:'↗'; display:block; color:#fff; font-size:1.1875rem; font-weight:800; line-height:26px; text-align:center; }
.pnlm-hotspot.eocrm-tour-hotspot-info { background:var(--success); }
.pnlm-hotspot.eocrm-tour-hotspot-info:after { content:'i'; font-family:Georgia,serif; }
@media (max-width:700px) { .tour-hotspot-heading { flex-direction:column; } .tour-hotspot-list { grid-template-columns:1fr; } }
@media (max-width:620px) { .tour-hotspot-position { grid-template-columns:1fr; } }

/* Property Tour 0.0077: publikacja i udostępnianie */
.tour-publish-panel { display:grid; grid-template-columns:minmax(260px,1fr) minmax(320px,1fr); align-items:center; gap:22px; padding:21px 22px; border:1px solid color-mix(in srgb,var(--success) 30%,var(--line)); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--success-soft) 72%,var(--surface)),var(--surface)); }
.tour-publish-panel h3,.tour-publish-panel p { margin:0; }
.tour-publish-panel h3 { margin-top:7px; }
.tour-publish-panel p { margin-top:7px; color:var(--muted); line-height:1.5; }
.tour-publish-panel > form { justify-self:end; }
.tour-share-stack { display:grid; gap:9px; }
.tour-share-field { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; min-width:0; color:var(--muted); font-size:.69rem; font-weight:800; }
.tour-share-field input { min-width:0; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; }
.tour-share-field button { padding:8px 9px; border:0; border-radius:8px; background:var(--brand-soft); color:var(--brand); font:800 .69rem inherit; cursor:pointer; }
.tour-share-stack form { margin-top:3px; }
@media (max-width:780px) { .tour-publish-panel { grid-template-columns:1fr; } .tour-publish-panel > form { justify-self:start; } }
@media (max-width:500px) { .tour-publish-panel { padding:16px; } .tour-share-field { grid-template-columns:1fr auto; } .tour-share-field > span { grid-column:1/-1; } }

/* Property Tour 0.0078: karta i lista nieruchomości */
.property-tour-link-panel { display:grid; grid-template-columns:104px minmax(0,1fr) auto; align-items:center; gap:18px; margin-top:18px; }
.property-tour-link-panel > img,.property-tour-link-icon { width:104px; height:68px; border-radius:12px; object-fit:cover; background:var(--surface-strong); }
.property-tour-link-icon { display:grid; place-items:center; color:var(--brand); }
.property-tour-link-panel h3,.property-tour-link-panel p { margin:0; }
.property-tour-link-panel h3 { margin-top:5px; font-size:1rem; }
.property-tour-link-panel p { margin-top:5px; color:var(--muted); font-size:.78rem; }
.property-tour-link-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; max-width:350px; }
.crm-record-title .status-pill.is-published,.crm-record-title .status-pill.is-draft { margin-left:4px; }
@media (max-width:760px) { .property-tour-link-panel { grid-template-columns:72px minmax(0,1fr); gap:13px; } .property-tour-link-panel > img,.property-tour-link-icon { width:72px; height:54px; } .property-tour-link-actions,.property-tour-link-panel > .button { grid-column:1/-1; justify-content:flex-start; max-width:none; } }

/* 0.0084: management of standard public pages. */
.website-pages-layout { display:grid; grid-template-columns:minmax(245px,.34fr) minmax(0,1fr); gap:20px; align-items:start; }
.website-page-list { position:sticky; top:20px; padding:20px; }
.website-page-list-items { display:grid; gap:8px; margin-top:18px; }
.website-page-list-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); color:var(--ink); transition:border-color .18s ease,background .18s ease; }
.website-page-list-item:hover,.website-page-list-item.is-active { border-color:var(--brand); background:var(--brand-soft); }
.website-page-list-item span { display:grid; min-width:0; gap:1px; }
.website-page-list-item strong { overflow:hidden; font-size:0.8125rem; text-overflow:ellipsis; white-space:nowrap; }
.website-page-list-item small { overflow:hidden; color:var(--muted); font-size:0.625rem; text-overflow:ellipsis; white-space:nowrap; }
.website-page-list-item .status-pill { flex:0 0 auto; font-size:0.5625rem; }
.website-page-list .form-hint { margin:16px 2px 0; }
.website-page-form { display:grid; gap:20px; padding:clamp(20px,3vw,32px); }
.website-page-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.website-page-form-grid .field-wide { grid-column:1/-1; }
.website-page-media-section { margin:0!important; border:1px solid var(--line); border-radius:18px; }
.website-page-form .panel-heading { margin:0; }
.editor-savebar.is-inline { position:static; margin:0; border-radius:16px; }
.editor-savebar.is-inline > span { color:var(--muted); font-size:0.75rem; font-weight:700; }
.editor-savebar.is-inline .button { margin-left:auto; }
@media (max-width:920px) { .website-pages-layout { grid-template-columns:1fr; } .website-page-list { position:static; } .website-page-list-items { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .website-page-form-grid,.website-page-list-items { grid-template-columns:1fr; } .editor-savebar.is-inline { align-items:stretch; flex-direction:column; } .editor-savebar.is-inline .button { width:100%; margin-left:0; } }

/* 0.0085: moderated inbox for public website contact forms. */
.website-inbox-metrics { display:flex; flex-wrap:wrap; gap:9px; }
.website-inbox-metrics span { display:grid; gap:1px; min-width:84px; padding:10px 13px; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--muted); font-size:0.625rem; font-weight:700; text-align:center; }
.website-inbox-metrics strong { color:var(--ink); font-size:1.125rem; line-height:1; }
.website-inbox-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.website-inbox-filters a { padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:0.75rem; font-weight:750; }
.website-inbox-filters a:hover,.website-inbox-filters a.is-active { border-color:var(--brand); background:var(--brand-soft); color:var(--brand); }
.website-inbox-list { display:grid; gap:14px; }
.website-inbox-empty { display:flex; align-items:center; gap:15px; }
.website-inbox-empty > span { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:var(--brand-soft); color:var(--brand); }
.website-inbox-empty .icon { width:23px; height:23px; }
.website-inbox-empty h2,.website-inbox-message h2 { margin:0; font-size:1.125rem; }
.website-inbox-empty p,.website-inbox-message header p { margin:4px 0 0; color:var(--muted); font-size:0.6875rem; }
.website-inbox-message { display:grid; gap:15px; padding:22px; }
.website-inbox-message.is-new { border-color:color-mix(in srgb,var(--brand) 28%,var(--line)); }
.website-inbox-message > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.website-inbox-message header > div { display:grid; gap:6px; }
.website-inbox-message header .status-pill { margin-bottom:1px; }
.website-inbox-message form { display:flex; align-items:center; gap:7px; }
.website-inbox-message .field { min-width:135px; }
.website-inbox-message .field select { min-height:36px; padding:7px 26px 7px 10px; font-size:0.6875rem; }
.website-inbox-contact { display:flex; flex-wrap:wrap; gap:7px 15px; }
.website-inbox-contact a { color:var(--brand); font-size:0.75rem; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.website-inbox-body { max-width:900px; padding:13px 15px; margin:0; border-radius:13px; background:var(--surface-soft); color:var(--ink); font-size:0.8125rem; line-height:1.65; }
.website-inbox-message footer { color:var(--muted); font-size:0.625rem; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:620px) { .website-inbox-metrics { width:100%; } .website-inbox-metrics span { flex:1; } .website-inbox-message > header { align-items:stretch; flex-direction:column; } .website-inbox-message form { justify-content:space-between; } .website-inbox-message .field { flex:1; } }

/* 0.0090: Property Tour parity repair — modal, rooms, shots and floor plan. */
.tour-project-list { display:grid; gap:12px; }
.tour-settings-panel { margin-bottom:16px; }
.tour-settings-panel > summary { color:var(--ink); font-size:.76rem; font-weight:850; cursor:pointer; }
.tour-settings-panel[open] > summary { padding-bottom:14px; margin-bottom:15px; border-bottom:1px solid var(--line); }
.tour-settings-panel > form { display:grid; gap:14px; }
.tour-settings-preview { display:flex; flex-wrap:wrap; gap:10px; }
.tour-settings-preview span { display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); font-size:.68rem; font-weight:800; }
.tour-settings-preview img { width:24px; height:24px; object-fit:contain; }
.tour-project-row { display:grid; grid-template-columns:minmax(230px,1.5fr) auto auto auto minmax(175px,.8fr) auto; align-items:center; gap:13px; padding:15px 17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-soft); }
.tour-project-row-title { min-width:0; }
.tour-project-row-title h2 { overflow:hidden; margin:0 0 4px; font-size:.95rem; text-overflow:ellipsis; white-space:nowrap; }
.tour-project-row-title small,.tour-project-row-stat { color:var(--muted); font-size:.64rem; }
.tour-project-row-title small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tour-project-row-stat { white-space:nowrap; }
.tour-project-row-stat strong { color:var(--ink); }
.tour-project-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.tour-project-row-actions > form { margin:0; }
.tour-project-row-actions .button { min-height:36px; padding:8px 12px; font-size:.66rem; white-space:nowrap; }
.tour-row-links { position:relative; }
.tour-row-links > summary { list-style:none; cursor:pointer; }
.tour-row-links > summary::-webkit-details-marker { display:none; }
.tour-row-links[open] > summary { border-color:var(--brand); color:var(--brand); }
.tour-row-links > div { position:absolute; right:0; top:calc(100% + 9px); z-index:20; display:grid; width:min(520px,80vw); gap:9px; padding:13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 18px 45px rgba(10,34,68,.22); }
.tour-row-links label { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:7px; font-size:.63rem; font-weight:800; }
.tour-row-links input { min-width:0; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); color:var(--ink); }
.tour-row-links label button { padding:8px; border:0; border-radius:8px; background:var(--brand-soft); color:var(--brand); font-size:.62rem; font-weight:800; cursor:pointer; }
.tour-row-links > div > a { color:var(--brand); font-size:.68rem; font-weight:800; text-decoration:none; }
body:has(.tour-modal-host) { overflow:hidden; }
.tour-modal-host { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:clamp(8px,2vw,24px); }
.tour-modal-backdrop { position:absolute; inset:0; background:rgba(9,22,42,.64); backdrop-filter:blur(5px); }
.tour-modal { position:relative; z-index:1; display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1500px,100%); height:min(940px,calc(100vh - clamp(16px,4vw,48px))); overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:24px; background:var(--surface); box-shadow:0 32px 100px rgba(7,25,51,.35); }
.tour-modal-header { display:grid; grid-template-columns:minmax(260px,1fr) auto 44px; align-items:center; gap:28px; padding:18px 22px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,var(--surface),var(--surface-soft)); }
.tour-modal-title h2 { max-width:520px; overflow:hidden; margin:5px 0 2px; font-size:clamp(1.25rem,2vw,1.75rem); text-overflow:ellipsis; white-space:nowrap; }
.tour-modal-title > small { color:var(--muted); font-size:.7rem; }
.tour-modal-close { display:grid; width:40px; height:40px; place-items:center; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--muted); font-size:1.6rem; line-height:1; text-decoration:none; }
.tour-modal-close:hover { border-color:var(--brand); color:var(--brand); }
.tour-stepper { display:flex; align-items:center; gap:10px; }
.tour-stepper > i { width:38px; height:1px; background:var(--line); }
.tour-step { display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid transparent; border-radius:12px; color:var(--muted); font-size:.72rem; text-decoration:none; }
.tour-step > span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--surface-strong); font-size:.67rem; font-weight:850; }
.tour-step.is-active { border-color:color-mix(in srgb,var(--brand) 22%,var(--line)); background:var(--brand-soft); color:var(--brand); }
.tour-step.is-active > span { background:var(--brand); color:#fff; }
.tour-step.is-disabled { opacity:.45; pointer-events:none; }
.tour-modal-body { min-height:0; overflow:auto; padding:20px 22px 28px; overscroll-behavior:contain; }
.tour-project-form-compact { gap:12px; padding:16px 18px; margin-bottom:18px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.tour-project-form-compact .form-actions { margin-top:0; }
.tour-advanced { border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.tour-advanced summary { padding:10px 12px; color:var(--muted); font-size:.72rem; font-weight:800; cursor:pointer; }
.tour-advanced[open] summary { border-bottom:1px solid var(--line); }
.tour-advanced > .field,.tour-advanced > .tour-pose-grid { margin:12px; }
.tour-editor-workspace { display:grid; grid-template-columns:310px minmax(0,1fr); min-height:590px; overflow:hidden; border:1px solid var(--line); border-radius:19px; background:var(--surface); }
.tour-room-sidebar { min-width:0; padding:17px; border-right:1px solid var(--line); background:var(--surface-soft); }
.tour-sidebar-heading,.tour-box-heading,.tour-map-editor-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.tour-sidebar-heading h3,.tour-box-heading h3,.tour-map-editor-heading h3 { margin:5px 0 0; }
.tour-sidebar-heading > strong,.tour-box-heading > strong { color:var(--muted); font-size:.68rem; }
.tour-room-tree { display:grid; gap:11px; margin-top:15px; }
.tour-room-node { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.tour-room-node.is-active { border-color:color-mix(in srgb,var(--brand) 55%,var(--line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 8%,transparent); }
.tour-room-row { display:flex; align-items:center; gap:7px; padding:9px; border-bottom:1px solid var(--line); }
.tour-room-row > form { display:flex; flex:1; gap:4px; min-width:0; }
.tour-room-row input { min-width:0; width:100%; padding:5px 7px; border:0; background:transparent; color:var(--ink); font-size:.76rem; font-weight:800; }
.tour-room-row button,.tour-room-actions button { border:0; border-radius:7px; background:var(--surface-strong); color:var(--muted); cursor:pointer; }
.tour-room-row > span { display:grid; min-width:25px; height:25px; place-items:center; border-radius:999px; background:var(--brand-soft); color:var(--brand); font-size:.65rem; font-weight:850; }
.tour-room-actions { display:flex; justify-content:flex-end; gap:5px; padding:6px 9px 3px; }
.tour-room-actions form { display:flex; gap:4px; }
.tour-room-actions button { min-width:27px; height:25px; }
.tour-room-actions button.is-danger,.tour-scene-management button.is-danger { color:var(--danger); }
.tour-shot-list { display:grid; gap:3px; padding:5px 8px 8px; margin:0; list-style:none; }
.tour-shot-list a { display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:9px; color:var(--ink); text-decoration:none; }
.tour-shot-list a:hover,.tour-shot-list li.is-active a { background:var(--brand-soft); color:var(--brand); }
.tour-shot-list a > span { width:8px; height:8px; flex:0 0 auto; border:2px solid currentColor; border-radius:50%; }
.tour-shot-list a > div { display:grid; min-width:0; }
.tour-shot-list strong,.tour-shot-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tour-shot-list strong { font-size:.72rem; }
.tour-shot-list small { color:var(--muted); font-size:.58rem; }
.tour-room-upload { position:relative; display:grid; grid-template-columns:1fr auto; gap:5px; padding:0 9px 9px; }
.tour-room-upload label { min-width:0; }
.tour-room-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.tour-room-upload span,.tour-room-upload button,.tour-add-room button { display:block; padding:7px 9px; border:1px dashed var(--brand); border-radius:8px; background:transparent; color:var(--brand); font-size:.66rem; font-weight:800; text-align:center; cursor:pointer; }
.tour-room-upload button,.tour-add-room button { border-style:solid; background:var(--brand); color:#fff; }
.tour-room-upload.is-uploading { opacity:.7; pointer-events:none; }
.tour-upload-preview { display:grid; grid-column:1/-1; gap:6px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.tour-upload-preview[hidden] { display:none; }
.tour-upload-preview > strong { font-size:.63rem; }
.tour-upload-preview > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.tour-upload-preview > div > span { display:grid; min-width:0; gap:3px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--ink); cursor:default; }
.tour-upload-preview img { display:block; width:100%; aspect-ratio:2/1; border-radius:6px; object-fit:cover; background:#13233a; }
.tour-upload-preview small { overflow:hidden; color:var(--muted); font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }
.tour-add-room { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; margin-top:12px; }
.tour-add-room input { min-width:0; padding:8px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); font-size:.68rem; }
.tour-upload-note { display:block; margin:11px 3px 0; color:var(--muted); font-size:.58rem; line-height:1.5; }
.tour-scene-main { display:grid; align-content:start; min-width:0; gap:15px; padding:17px; }
.tour-editor-readiness { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.tour-editor-readiness > span { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.tour-editor-readiness i { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:var(--surface-strong); color:var(--muted); font-style:normal; font-size:.68rem; font-weight:900; }
.tour-editor-readiness .is-ready i { background:var(--success-soft); color:var(--success); }
.tour-editor-readiness strong { display:grid; font-size:.7rem; }
.tour-editor-readiness small { color:var(--muted); font-size:.57rem; font-weight:650; }
.tour-placement-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line)); border-radius:13px; background:var(--brand-soft); }
.tour-placement-toolbar > span { margin-right:auto; color:var(--ink); font-size:.68rem; font-weight:800; }
.tour-placement-toolbar button { display:flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font:800 .66rem inherit; cursor:pointer; }
.tour-placement-toolbar button.is-active { border-color:var(--brand); background:var(--brand); color:#fff; }
.tour-placement-toolbar img,.tour-placement-toolbar b { width:18px; height:18px; object-fit:contain; }
.tour-placement-toolbar b { display:grid; place-items:center; border-radius:50%; background:#f3a724; color:#fff; font-family:Georgia,serif; }
.tour-panorama-wrap { overflow:hidden; border-radius:17px; background:#152238; }
.tour-panorama-wrap .tour-panorama-viewer { min-height:clamp(360px,47vh,590px); border-radius:0; }
.tour-panorama-wrap > p { margin:0; padding:9px 13px; background:#111c2e; color:#dbe7f8; font-size:.62rem; text-align:center; }
.tour-panorama-viewer.is-placing-hotspot { cursor:crosshair; box-shadow:inset 0 0 0 4px #f3a724; }
.tour-scene-editor-columns { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr); gap:15px; align-items:start; }
.tour-scene-editor-columns > * { min-width:0; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.tour-box-heading { margin-bottom:13px; }
.tour-box-heading small { color:var(--brand); font-size:.59rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.tour-box-heading h3 { font-size:.94rem; }
.tour-scene-management { display:flex; align-items:center; flex-wrap:wrap; gap:5px; padding-top:10px; border-top:1px solid var(--line); }
.tour-scene-management form { display:flex; gap:5px; }
.tour-scene-management button { padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--muted); font-size:.62rem; font-weight:750; cursor:pointer; }
.tour-hotspot-editor { padding-top:16px; margin-top:0; border-top:0; }
.tour-hotspot-form { padding:0; border:0; background:transparent; }
.tour-hotspot-coordinates { margin:0; color:var(--muted); font-size:.62rem; }
.tour-hotspot-list { grid-template-columns:1fr; max-height:280px; overflow:auto; }
.tour-hotspot-card { padding:8px 9px; }
.tour-hotspot-card > form button { border:0; background:transparent; color:var(--danger); font-size:.62rem; cursor:pointer; }
.pnlm-hotspot.eocrm-tour-hotspot { background:#f3a724 center/23px no-repeat; }
.pnlm-hotspot.eocrm-tour-hotspot:after { content:''; }
.pnlm-hotspot.eocrm-tour-hotspot-door { background-image:var(--tour-door-icon,url('../img/tour-door.svg')); }
.pnlm-hotspot.eocrm-tour-hotspot-feet { background-image:var(--tour-feet-icon,url('../img/tour-feet.svg')); }
.pnlm-hotspot.eocrm-tour-hotspot-info { background-image:none; }
.pnlm-hotspot.eocrm-tour-hotspot-info:after { content:'i'; }
.tour-panorama-empty { display:grid; min-height:520px; place-items:center; align-content:center; gap:9px; padding:30px; border:1px dashed var(--line); border-radius:17px; background:var(--surface-soft); text-align:center; }
.tour-panorama-empty > span { color:var(--brand); }
.tour-panorama-empty h3,.tour-panorama-empty p { margin:0; }
.tour-panorama-empty p { max-width:480px; color:var(--muted); font-size:.75rem; line-height:1.55; }
.tour-map-editor { display:grid; gap:18px; }
.tour-map-editor-heading p { max-width:720px; margin:6px 0 0; color:var(--muted); font-size:.75rem; }
.tour-floor-upload { display:grid; place-items:center; gap:13px; min-height:430px; padding:35px; border:2px dashed var(--line); border-radius:19px; background:var(--surface-soft); }
.tour-floor-upload label { display:grid; place-items:center; gap:8px; cursor:pointer; text-align:center; }
.tour-floor-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.tour-floor-upload label > span { display:grid; width:64px; height:64px; place-items:center; border-radius:19px; background:var(--brand-soft); color:var(--brand); }
.tour-floor-upload small { color:var(--muted); }
.tour-map-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.tour-map-canvas { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#eef3f8; cursor:crosshair; }
.tour-map-canvas > img { display:block; width:100%; height:auto; object-fit:contain; }
.tour-map-marker { position:absolute; z-index:2; display:grid; width:31px; height:31px; place-items:center; transform:translate(-50%,-50%); border:3px solid #fff; border-radius:50%; background:var(--brand); color:#fff; box-shadow:0 5px 18px rgba(10,43,91,.35); font-size:.68rem; font-weight:900; cursor:pointer; }
.tour-map-marker.is-active,.tour-map-marker.is-preview { background:#f3a724; }
.tour-map-workspace > aside { display:grid; gap:14px; padding:17px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.tour-map-position-form { display:grid; gap:13px; }
.tour-map-position-form p { margin:0; color:var(--muted); font-size:.7rem; line-height:1.5; }
.tour-modal-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:72px; padding:13px 22px; border-top:1px solid var(--line); background:var(--surface); }
.tour-modal-footer > div:first-child { display:grid; gap:3px; color:var(--muted); font-size:.68rem; }
.tour-modal-footer a { color:var(--brand); font-weight:750; text-decoration:none; }
.tour-footer-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.tour-share-popover { position:relative; }
.tour-share-popover > div { position:absolute; right:0; bottom:calc(100% + 10px); z-index:5; display:grid; width:min(520px,80vw); gap:9px; padding:13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 18px 45px rgba(10,34,68,.22); }
.tour-share-popover > div[hidden] { display:none; }
.tour-share-popover label { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:7px; font-size:.64rem; font-weight:800; }
.tour-share-popover input { min-width:0; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); color:var(--ink); }
.tour-share-popover label button { padding:8px; border:0; border-radius:8px; background:var(--brand-soft); color:var(--brand); font-size:.62rem; font-weight:800; cursor:pointer; }
@media (max-width:1250px) { .tour-project-row { grid-template-columns:minmax(220px,1fr) auto auto auto; } .tour-project-row-stat:nth-of-type(4) { display:none; } .tour-project-row-actions { grid-column:1/-1; justify-content:flex-start; padding-top:10px; border-top:1px solid var(--line); } }
@media (max-width:1100px) { .tour-modal-header { grid-template-columns:1fr 40px; } .tour-stepper { grid-column:1/-1; grid-row:2; } .tour-modal-title { grid-column:1; grid-row:1; } .tour-modal-close { grid-column:2; grid-row:1; } .tour-editor-workspace { grid-template-columns:260px minmax(0,1fr); } .tour-scene-editor-columns { grid-template-columns:1fr; } }
@media (max-width:820px) { .tour-project-row { grid-template-columns:minmax(0,1fr) auto; } .tour-project-row-stat { display:none; } .tour-modal-host { padding:0; } .tour-modal { width:100%; height:100vh; border:0; border-radius:0; } .tour-modal-header,.tour-modal-body,.tour-modal-footer { padding-left:14px; padding-right:14px; } .tour-step strong { display:none; } .tour-stepper > i { width:22px; } .tour-editor-workspace,.tour-map-workspace { grid-template-columns:1fr; } .tour-room-sidebar { border-right:0; border-bottom:1px solid var(--line); } .tour-room-tree { grid-template-columns:repeat(2,minmax(0,1fr)); } .tour-map-workspace > aside { order:-1; } .tour-modal-footer { align-items:stretch; flex-direction:column; overflow:visible; } .tour-footer-actions { justify-content:flex-start; } }
@media (max-width:560px) { .tour-project-row-actions { align-items:stretch; } .tour-project-row-actions .button { width:100%; } .tour-project-row-actions > form,.tour-row-links { flex:1 1 42%; } .tour-row-links > div { position:fixed; right:12px; bottom:18px; top:auto; width:calc(100vw - 24px); } .tour-row-links label { grid-template-columns:1fr auto; } .tour-row-links label > span { grid-column:1/-1; } .tour-room-tree,.tour-editor-readiness { grid-template-columns:1fr; } .tour-modal-body { padding-top:12px; } .tour-project-form-compact .field-grid,.tour-hotspot-form .field-grid { grid-template-columns:1fr; } .tour-panorama-wrap .tour-panorama-viewer { min-height:330px; } .tour-placement-toolbar > span { width:100%; } .tour-footer-actions .button { padding:9px 10px; font-size:.68rem; } .tour-share-popover > div { position:fixed; right:12px; bottom:82px; width:calc(100vw - 24px); } .tour-share-popover label { grid-template-columns:1fr auto; } .tour-share-popover label > span { grid-column:1/-1; } }

/* 0.0093: visual website editor with direct image upload, sortable sections and menu. */
.website-section-sorter{display:grid;gap:8px}.website-section-toggle{grid-template-columns:20px minmax(0,1fr) auto;cursor:default}.website-section-toggle>label{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}.website-section-toggle>label>input{width:18px;height:18px;accent-color:var(--blue)}.website-section-toggle>label>span{min-width:0}.website-sort-handle{color:#9aabc0;font-weight:900;letter-spacing:-3px}.website-sort-actions,.website-menu-row-actions{display:flex;gap:5px}.website-sort-actions button,.website-menu-row-actions button{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-weight:850;cursor:pointer}.website-sort-actions button:disabled,.website-menu-row-actions button:disabled{opacity:.35;cursor:not-allowed}.website-menu-row{position:relative}.website-menu-row-actions{position:absolute;top:-14px;right:7px}.website-menu-row-actions [data-website-menu-remove]{color:var(--danger)}
.website-media-picker{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px dashed #b9c9e8;border-radius:16px;background:#f8fbff}.website-media-picker-preview{display:grid;place-items:center;min-height:120px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.website-media-picker-preview img{display:block;width:100%;height:140px;object-fit:cover}.website-media-picker-preview>span{display:grid;justify-items:center;gap:7px;padding:20px;color:var(--muted);text-align:center}.website-media-picker-preview svg{width:27px}.website-media-picker-fields{display:grid;gap:9px}.website-media-picker-fields .field{margin:0}.website-media-picker-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.website-media-picker-actions label{margin:0}.website-media-picker-actions input{position:absolute;width:1px;height:1px;opacity:0}.website-media-picker.is-uploading{opacity:.65;pointer-events:none}.website-media-picker [data-website-media-status]{color:var(--muted);line-height:1.45}.editor-image-picker>.website-media-picker{grid-column:1/-1}
.preview-site-sections{display:block}.preview-site-hero{position:relative;overflow:hidden}.preview-site-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}.preview-site-hero>[data-preview-hero-standard],.preview-site-hero>[data-preview-hero-slider]{position:relative;z-index:1;display:grid;justify-items:center}.preview-site-hero>[hidden]{display:none}.preview-site-hero [data-preview-hero-slider] img{width:min(260px,80%);max-height:110px;margin-top:12px;border-radius:10px;object-fit:cover}.preview-site-about>span{overflow:hidden}.preview-site-about>span img{display:block;width:100%;height:125px;object-fit:cover}.preview-site-generic{padding:25px 30px 30px}.preview-site-generic>small{color:#176ccc;font-size:0.4375rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.preview-site-generic h3{margin:5px 0 14px;font-family:Georgia,serif;font-size:1.125rem}.preview-site-generic>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preview-site-generic>div span{display:grid;place-items:center;min-height:46px;border-radius:8px;background:#edf5fe;color:#176ccc;font-size:0.5625rem;font-weight:800}.preview-site-generic.is-process{background:#f5f8fc}.preview-site-generic.is-contact{background:#123b67;color:#fff}.preview-site-generic.is-contact>small{color:#a9d4ff}.preview-site-generic.is-contact b{font-size:0.625rem}.editor-preview-frame.is-mobile .preview-site-generic{padding:21px}.editor-preview-frame.is-mobile .preview-site-generic>div{grid-template-columns:1fr}.editor-preview-frame.is-mobile .preview-site-about>span img{height:100px}
@media(max-width:680px){.website-media-picker{grid-template-columns:1fr}.website-media-picker-preview{min-height:180px}.website-media-picker-preview img{height:200px}.website-section-toggle{grid-template-columns:minmax(0,1fr) auto}.website-sort-handle{display:none}}

/* Administrator: visibility switch, update notices and construction-page editor. */
.construction-quick-control{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;margin:13px 14px 0;padding:7px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.07)}
.construction-quick-control form,.construction-quick-control button{min-width:0;width:100%}
.construction-quick-control button{display:flex;align-items:center;gap:9px;padding:5px 7px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.construction-quick-control button i{width:11px;height:11px;flex:0 0 auto;border:2px solid rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.06)}
.construction-quick-control.is-live button i{background:#20c77a;box-shadow:0 0 0 5px rgba(32,199,122,.14),0 0 14px rgba(32,199,122,.65)}
.construction-quick-control.is-construction button i{background:#ff5c67;box-shadow:0 0 0 5px rgba(255,92,103,.14),0 0 14px rgba(255,92,103,.65)}
.construction-quick-control button span{display:grid;min-width:0}.construction-quick-control button small{color:rgba(255,255,255,.55);font-size:.55rem}.construction-quick-control button strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.construction-quick-control>a{display:grid;place-items:center;border-radius:10px;color:rgba(255,255,255,.62)}.construction-quick-control>a:hover,.construction-quick-control>a.is-active{background:rgba(255,255,255,.12);color:#fff}.construction-quick-control>a .icon{width:17px;height:17px}
.admin-update-indicator{position:relative;color:#fff!important;background:#f3a724!important;box-shadow:0 9px 24px rgba(243,167,36,.28)}.admin-update-indicator[hidden]{display:none}.admin-update-indicator>span{position:absolute;top:-7px;right:-8px;min-width:33px;padding:3px 5px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:.48rem;font-weight:900;text-align:center}
.admin-update-banner{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:14px 16px;border:1px solid color-mix(in srgb,#f3a724 45%,var(--line));border-radius:16px;background:color-mix(in srgb,#f3a724 12%,var(--surface));box-shadow:0 13px 34px rgba(115,77,6,.08)}.admin-update-banner[hidden]{display:none}.admin-update-banner>span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:12px;background:#f3a724;color:#fff}.admin-update-banner>span .icon{width:20px;height:20px}.admin-update-banner>div{display:grid;min-width:0;margin-right:auto;gap:2px}.admin-update-banner strong{font-size:.78rem}.admin-update-banner small{color:var(--muted);font-size:.66rem}
.construction-heading{align-items:center}.construction-state-button{display:flex;min-width:225px;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer}.construction-state-button i{width:15px;height:15px;border:3px solid var(--surface);border-radius:50%}.construction-state-button.is-live i{background:#18b76d;box-shadow:0 0 0 5px rgba(24,183,109,.14)}.construction-state-button.is-construction i{background:#ef4857;box-shadow:0 0 0 5px rgba(239,72,87,.14)}.construction-state-button span{display:grid;text-align:left}.construction-state-button small{color:var(--muted);font-size:.57rem}.construction-state-button strong{font-size:.76rem}
.construction-editor-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:20px;align-items:start}.construction-settings-card{display:grid;gap:18px}.construction-settings-card>form{display:grid;gap:17px}.construction-design-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.construction-design-fields input[type=color]{height:46px;padding:5px}.construction-design-fields input[type=range]{padding-left:0;padding-right:0}.construction-background-upload{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:end}.construction-background-upload .check-row{grid-column:1/-1}.construction-preview-panel{position:sticky;top:86px;display:grid;gap:13px;padding:18px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow-sm)}
.construction-preview{position:relative;display:grid;min-height:560px;overflow:hidden;border-radius:18px;background-color:var(--construction-bg);background-image:var(--construction-image,none);background-position:var(--construction-position);background-size:cover;color:#fff}.construction-preview.is-dark{color:#07152d}.construction-preview-backdrop{position:absolute;inset:0;background:rgba(3,13,31,var(--construction-overlay))}.construction-preview.is-dark .construction-preview-backdrop{background:rgba(255,255,255,var(--construction-overlay))}.construction-preview-content{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;gap:12px;padding:34px;text-align:center}.construction-preview-content>span{padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--construction-accent) 22%,transparent);font-size:.56rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.construction-preview h3{max-width:460px;font-family:Georgia,serif;font-size:2.15rem;line-height:1.05}.construction-preview p{max-width:470px;margin:0;font-size:.78rem;line-height:1.6;opacity:.88}.construction-preview-content>small{max-width:430px;line-height:1.5;opacity:.65}.construction-preview-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.construction-preview-contact b{padding:8px 10px;border:1px solid currentColor;border-radius:10px;font-size:.62rem;opacity:.76}
@media(max-width:1180px){.construction-editor-layout{grid-template-columns:1fr}.construction-preview-panel{position:static}.construction-preview{min-height:440px}}
@media(max-width:760px){.construction-design-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-background-upload{grid-template-columns:1fr}.construction-background-upload .check-row{grid-column:1}.construction-heading{align-items:stretch}.construction-state-button{width:100%}.admin-update-banner{align-items:flex-start;flex-wrap:wrap}.admin-update-banner .button{width:100%}}

/* Property Tour 0.0092: WordPress-like scene workflow and direct upload. */
.tour-editor-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tour-editor-summary span{padding:6px 10px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.63rem;font-weight:750}.tour-editor-summary span.is-complete{background:var(--success-soft);color:var(--success)}
.tour-room-upload{grid-template-columns:1fr;padding-top:3px}.tour-room-upload>label{display:block}.tour-room-upload>label>span{width:100%}.tour-room-upload>.tour-upload-live-status{display:block;padding:0 3px;color:var(--muted);font-size:.5rem;line-height:1.35;text-align:center}.tour-room-upload>.tour-upload-live-status.is-error{color:var(--danger)}
.tour-room-upload.is-uploading>label>span{border-style:solid;background:var(--brand-soft)}
.tour-live-upload-stage{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--brand) 36%,var(--line));border-radius:17px;background:var(--brand-soft);box-shadow:0 16px 44px rgba(25,78,167,.13)}.tour-live-upload-stage[hidden]{display:none}.tour-live-upload-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 10px}.tour-live-upload-heading>.eyebrow-chip{grid-row:1/3}.tour-live-upload-heading strong{font-size:.75rem}.tour-live-upload-heading small{color:var(--muted);font-size:.62rem}.tour-live-upload-heading small.is-error{color:var(--danger)}.tour-live-upload-panorama{min-height:clamp(340px,44vh,540px);overflow:hidden;border-radius:13px;background:#152238 center/cover no-repeat}
.tour-empty-upload{display:grid;justify-items:center;gap:10px;margin-top:8px}.tour-empty-upload>label{position:relative}.tour-empty-upload input{position:absolute;width:1px;height:1px;opacity:0}.tour-empty-upload>small{color:var(--muted);font-size:.62rem}.tour-empty-upload>small.is-error{color:var(--danger)}.tour-empty-upload .tour-upload-preview{width:min(460px,100%);text-align:left}
@media(max-width:700px){.tour-editor-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tour-editor-summary span{text-align:center}.tour-live-upload-heading{grid-template-columns:1fr}.tour-live-upload-heading>.eyebrow-chip{grid-row:auto}.tour-live-upload-panorama{min-height:310px}}

/* Property Tour 0.0093: the same single-workspace flow as the WordPress editor. */
.tour-sidebar-heading-actions{position:relative;display:flex;align-items:center;gap:8px}.tour-add-room-popover{position:relative}.tour-add-room-popover>summary{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--brand);color:#fff;font-size:1rem;font-weight:900;cursor:pointer;list-style:none}.tour-add-room-popover>summary::-webkit-details-marker{display:none}.tour-add-room-popover>form{position:absolute;z-index:12;top:38px;right:0;display:grid;width:250px;gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.tour-add-room-popover label{display:grid;gap:5px;font-size:.62rem;font-weight:800}.tour-add-room-popover input{min-width:0;width:100%;padding:9px;border:1px solid var(--line);border-radius:9px}.tour-add-room-popover button{padding:9px;border:0;border-radius:9px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}
.tour-room-row>strong{min-width:0;flex:1;overflow:hidden;color:var(--ink);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.tour-room-node:not(.is-active) .tour-room-actions{opacity:.45}.tour-room-node:hover .tour-room-actions{opacity:1}.tour-room-upload>.tour-upload-preview{position:absolute;z-index:8;left:10px;right:10px;margin-top:4px;background:var(--surface);box-shadow:var(--shadow)}
.tour-panorama-empty--sidebar-flow{min-height:480px}.tour-panorama-empty--sidebar-flow p{max-width:520px}.tour-panorama-empty--sidebar-flow strong{color:var(--brand)}
.tour-panorama-wrap{margin:0}.tour-panorama-wrap .tour-panorama-viewer{min-height:clamp(400px,50vh,620px)}
.tour-placement-toolbar{padding:0;border:0;background:transparent}.tour-placement-toolbar>span{margin-right:2px}.tour-placement-toolbar button{background:var(--surface);box-shadow:0 4px 13px rgba(20,52,84,.06)}.tour-placement-toolbar button:disabled{opacity:.45;cursor:not-allowed}.tour-placement-instruction{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--brand) 38%,var(--line));border-radius:12px;background:var(--brand-soft);color:var(--ink);font-size:.69rem}.tour-placement-instruction[hidden]{display:none}.tour-placement-instruction strong{color:var(--brand)}.tour-placement-instruction button{border:0;background:transparent;color:var(--brand);font-weight:850;cursor:pointer}
.tour-editor-box{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.tour-wordpress-scene-form{display:grid;gap:13px}.tour-image-source-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.tour-image-source-row input[readonly]{color:var(--muted);background:var(--surface-soft)}.tour-panorama-replace{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:-7px}.tour-panorama-replace>label{position:relative;overflow:hidden}.tour-panorama-replace input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.tour-panorama-replace small{color:var(--muted);font-size:.61rem}.tour-panorama-replace small.is-error{color:var(--danger)}.tour-initial-view-body{display:grid;gap:12px;padding-top:12px}.tour-initial-view-body>p{margin:0;color:var(--muted);font-size:.67rem}.tour-initial-view-actions{display:flex;gap:8px}.tour-edited-shot .form-actions{justify-content:flex-end}
.tour-shot-markers{margin-bottom:4px}.tour-marker-count{display:inline-grid;min-width:24px;height:24px;margin-left:5px;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.65rem}.tour-box-heading>span{color:var(--muted);font-size:.61rem}.tour-new-marker-card{display:grid;gap:13px;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:14px;background:var(--brand-soft)}.tour-new-marker-card[hidden]{display:none}.tour-new-marker-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px}.tour-new-marker-heading>.tour-marker-type{grid-row:1/3}.tour-new-marker-heading strong{font-size:.73rem}.tour-new-marker-heading small{color:var(--muted);font-size:.6rem}.tour-marker-target-fields,.tour-marker-info-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tour-marker-target-fields[hidden],.tour-marker-info-fields[hidden]{display:none}.tour-marker-type{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:.55rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.tour-marker-type.is-door{background:#e9efff;color:#315df5}.tour-marker-type.is-feet{background:#e6f6ee;color:#218657}.tour-marker-type.is-info{background:#fff4d8;color:#b57b00}
.tour-hotspot-accordion-list{display:grid;gap:8px}.tour-hotspot-accordion{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.tour-hotspot-accordion[open]{border-color:color-mix(in srgb,var(--brand) 32%,var(--line));box-shadow:0 8px 26px rgba(20,52,84,.07)}.tour-hotspot-accordion>summary{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;list-style:none}.tour-hotspot-accordion>summary::-webkit-details-marker{display:none}.tour-hotspot-chevron{color:var(--muted);transition:transform .2s}.tour-hotspot-accordion[open] .tour-hotspot-chevron{transform:rotate(180deg)}.tour-hotspot-accordion>summary>strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.tour-hotspot-accordion>summary>small{color:var(--muted);font-size:.55rem}.tour-hotspot-accordion-body{display:grid;gap:12px;padding:14px;border-top:1px solid var(--line);background:var(--surface-soft)}.tour-hotspot-accordion-body>form:first-child{display:grid;gap:12px}.tour-marker-card-actions{display:flex;justify-content:flex-end;gap:8px}.tour-marker-delete{border:0;background:transparent;color:var(--danger);font-size:.62rem;font-weight:800;cursor:pointer}.tour-hotspot-empty{display:grid;gap:4px;padding:19px}.tour-hotspot-empty strong{color:var(--ink)}.tour-hotspot-empty span{font-size:.66rem}.tour-panorama-viewer.is-placing-hotspot{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:3px;cursor:crosshair}
@media(max-width:760px){.tour-add-room-popover>form{position:fixed;top:120px;right:14px;left:14px;width:auto}.tour-marker-target-fields,.tour-marker-info-fields{grid-template-columns:1fr}.tour-hotspot-accordion>summary{grid-template-columns:18px auto minmax(0,1fr)}.tour-hotspot-accordion>summary>small{grid-column:3}.tour-marker-card-actions{flex-direction:column}.tour-marker-card-actions .button{width:100%}}

/* 0.0104: clear workspaces for the page editor and update center. */
.workspace-tabs{display:flex;align-items:stretch;gap:7px;margin:0 0 20px;padding:7px;overflow-x:auto;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm);scrollbar-width:thin}
.workspace-tabs>a{display:flex;min-width:190px;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;color:var(--muted);text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.workspace-tabs>a:hover{background:var(--surface-soft);color:var(--ink)}
.workspace-tabs>a.is-active{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,#7667ee));color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 25%,transparent)}
.workspace-tabs .icon{width:19px;height:19px;flex:0 0 auto}.workspace-tabs>a>span{display:grid;gap:2px}.workspace-tabs strong{font-size:.72rem}.workspace-tabs small{color:inherit;font-size:.55rem;opacity:.72}
.editor-fields.is-home-mode>.website-menu-section{display:none}.editor-fields.is-menu-mode>.editor-section:not(.website-menu-section){display:none}.editor-fields.is-menu-mode>.website-menu-section{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));box-shadow:0 12px 34px color-mix(in srgb,var(--brand) 10%,transparent)}
.editor-fields.is-menu-mode>.website-menu-section>summary{cursor:default}.editor-fields.is-menu-mode>.website-menu-section>summary>i{display:none}
.updates-workspace-tabs>a{min-width:240px}
.media-folder-card--team{border-color:color-mix(in srgb,var(--brand) 24%,var(--line));background:linear-gradient(135deg,var(--surface),var(--brand-soft))}.media-folder-card--team .media-folder-card__icon{background:var(--brand);color:#fff}.media-team-folder{margin-bottom:18px;padding:20px}.media-team-folder .media-offer-folder__header{margin-bottom:0}.media-workspace--team{margin-top:0}
@media(max-width:720px){.workspace-tabs{display:grid;grid-template-columns:1fr;margin-inline:-2px}.workspace-tabs>a,.updates-workspace-tabs>a{min-width:0}.website-editor-tabs{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.website-editor-tabs>a{min-width:0;justify-content:center;padding:10px 7px;text-align:center}.website-editor-tabs>a>.icon{display:none}.website-editor-tabs>a>span{min-width:0}.website-editor-tabs strong,.website-editor-tabs small{white-space:normal}.workspace-tabs:not(.website-editor-tabs)>a>span{white-space:nowrap}}

/* 0.0105: modular page builder inspired by a canvas + widget + inspector workflow. */
.website-page-form{display:grid;gap:18px;min-width:0}.website-page-form>.panel-card{padding:clamp(20px,2.5vw,30px)}
.website-page-list-item span>b{width:max-content;margin-top:5px;padding:3px 6px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-size:.48rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.page-builder-identity,.page-builder-type-section,.page-builder-publish{display:grid;gap:18px}.slug-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.slug-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.slug-field>span{padding:0 0 0 13px;color:var(--muted);font-weight:850}.slug-field input{border:0!important;box-shadow:none!important}
.page-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.page-type-card{position:relative;min-width:0;cursor:pointer}.page-type-card>input{position:absolute;opacity:0;pointer-events:none}.page-type-card>span{display:grid;height:100%;min-height:144px;align-content:start;gap:6px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.page-type-card:hover>span{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.page-type-card input:checked+span{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 15%,transparent)}.page-type-card b{display:grid;width:38px;height:30px;place-items:center;border-radius:9px;background:var(--surface);color:var(--brand);font-size:.55rem;box-shadow:0 4px 14px rgba(22,70,130,.09)}.page-type-card strong{margin-top:3px;font-size:.73rem}.page-type-card small{color:var(--muted);font-size:.6rem;line-height:1.5}
.page-builder-shell{display:grid;grid-template-columns:minmax(230px,.44fr) minmax(560px,1.56fr);gap:16px;min-width:0;align-items:start}.page-builder-shell>.panel-card,.page-builder-workspace>.panel-card{min-width:0;padding:16px}.page-builder-library{grid-column:1;position:sticky;top:82px;max-height:calc(100vh - 104px);overflow:auto}.page-builder-workspace{display:grid;grid-column:2;gap:12px;min-width:0;align-content:start}.page-builder-inspector{position:static;grid-column:auto;max-height:none;overflow:visible;padding:clamp(20px,2.4vw,30px)!important}.page-builder-panel-title{display:grid;gap:4px;margin-bottom:14px}.page-builder-panel-title.is-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-builder-panel-title h2{margin:2px 0 0;font-size:1rem}.page-builder-panel-title p{margin:0;color:var(--muted);font-size:.6rem;line-height:1.5}.page-builder-inspector>.page-builder-panel-title{max-width:850px;margin-bottom:20px}.page-builder-inspector>.page-builder-panel-title h2{font-size:clamp(1.1rem,1.6vw,1.35rem)}.page-builder-inspector>.page-builder-panel-title p{font-size:.7rem}.page-builder-search{display:block;margin-bottom:12px}.page-builder-search input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--ink)}
.page-builder-library-list{display:grid;gap:7px}.page-builder-library-list h3{margin:12px 3px 2px;color:var(--muted);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase}.page-builder-library-list h3:first-child{margin-top:0}.page-builder-library-list>button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.page-builder-library-list>button:hover{transform:translateX(2px);border-color:var(--brand);background:var(--brand-soft)}.page-builder-library-list>button>i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:.68rem;font-style:normal;font-weight:900}.page-builder-library-list>button>span{display:grid;min-width:0;gap:2px}.page-builder-library-list strong{font-size:.63rem}.page-builder-library-list small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.51rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.page-builder-canvas-panel{min-height:0}.page-builder-starter{display:grid;gap:5px;margin-bottom:12px;padding:13px;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line));border-radius:13px;background:var(--brand-soft)}.page-builder-starter strong{font-size:.67rem}.page-builder-starter span{color:var(--muted);font-size:.58rem;line-height:1.45}.page-builder-starter .button{width:100%;margin-top:4px}.page-builder-canvas{display:grid;gap:9px}.page-builder-empty{display:grid;min-height:clamp(230px,28vh,320px);place-content:center;justify-items:center;gap:7px;padding:30px;border:2px dashed var(--line);border-radius:17px;background:var(--surface-soft);text-align:center}.page-builder-empty[hidden]{display:none}.page-builder-empty>span{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:var(--brand-soft);color:var(--brand);font-size:1.3rem}.page-builder-empty h3{margin:5px 0 0;font-size:.84rem}.page-builder-empty p{max-width:330px;margin:0;color:var(--muted);font-size:.62rem;line-height:1.5}
.page-builder-module{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 5px 16px rgba(20,52,84,.04);transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.page-builder-module:hover,.page-builder-module.is-selected{border-color:var(--brand);box-shadow:0 9px 24px color-mix(in srgb,var(--brand) 10%,transparent)}.page-builder-module.is-selected{background:linear-gradient(100deg,var(--brand-soft),var(--surface) 46%)}.page-builder-module.is-dragging{opacity:.35}.page-builder-module.is-drag-over{border-top:3px solid var(--brand)}.page-builder-module-main{display:grid;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:5px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.page-builder-module-main>i{display:grid;width:39px;height:39px;place-items:center;border-radius:11px;background:var(--brand-soft);color:var(--brand);font-size:.7rem;font-style:normal;font-weight:900}.page-builder-module-main>span{display:grid;min-width:0;gap:2px}.page-builder-module-main small{color:var(--brand);font-size:.5rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.page-builder-module-main strong{overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.page-builder-module-actions{display:flex;gap:3px}.page-builder-module-actions button{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:.65rem;font-weight:900;cursor:pointer}.page-builder-module-actions button:hover{border-color:var(--brand);color:var(--brand)}.page-builder-module-actions button:last-child:hover{border-color:var(--danger);color:var(--danger)}.page-builder-module-actions button:disabled{opacity:.25;cursor:not-allowed}
.page-builder-inspector-empty{display:grid;min-height:190px;place-content:center;justify-items:center;gap:7px;padding:28px;border:1px dashed var(--line);border-radius:15px;background:var(--surface-soft);color:var(--muted);text-align:center}.page-builder-inspector-empty>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:1.25rem}.page-builder-inspector-empty strong{color:var(--ink);font-size:.78rem}.page-builder-inspector-empty small{font-size:.64rem}.builder-inspector-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.builder-inspector-heading>i{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--brand);color:#fff;font-size:.75rem;font-style:normal;font-weight:900}.builder-inspector-heading>div{display:grid;gap:2px}.builder-inspector-heading small{color:var(--muted);font-size:.62rem}.builder-inspector-heading strong{font-size:.86rem}.builder-inspector-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.builder-inspector-fields>.field-wide,.builder-inspector-fields>.builder-repeater,.builder-inspector-fields>.builder-form-fields{grid-column:1/-1}.builder-inspector-fields .field{display:grid;align-content:start;gap:7px;margin:0}.builder-inspector-fields .field>span:first-child,.builder-repeater-item label>span,.builder-form-field label>span{font-size:.68rem;font-weight:850}.builder-inspector-fields input,.builder-inspector-fields select,.builder-inspector-fields textarea,.builder-repeater-item input,.builder-repeater-item textarea,.builder-form-field input,.builder-form-field select,.builder-form-field textarea{min-width:0;width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.75rem}.builder-inspector-fields textarea{min-height:108px;resize:vertical;line-height:1.55}.builder-rich-toolbar{display:flex!important;gap:5px}.builder-rich-toolbar button{min-width:34px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-size:.62rem;cursor:pointer}.builder-rich-toolbar button:hover{border-color:var(--brand);color:var(--brand)}
.builder-media-field{display:grid;gap:7px}.builder-media-preview{display:flex;min-width:0;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.builder-media-preview>img{width:58px;height:48px;flex:0 0 auto;border-radius:7px;object-fit:cover}.builder-media-preview>i{display:grid;width:48px;height:42px;place-items:center;border-radius:7px;background:var(--brand-soft);color:var(--brand);font-style:normal}.builder-media-preview>span{display:grid;min-width:0;gap:1px}.builder-media-preview strong{overflow:hidden;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.builder-media-preview small,.builder-media-field>[data-builder-upload-status]{color:var(--muted);font-size:.5rem}.builder-media-upload{position:relative;display:grid;padding:8px;place-items:center;border:1px dashed color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:.57rem;font-weight:850;cursor:pointer}.builder-media-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}
.builder-repeater,.builder-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.builder-repeater-heading{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:8px}.builder-repeater-heading>div{display:grid}.builder-repeater-heading strong{font-size:.7rem}.builder-repeater-heading small{color:var(--muted);font-size:.58rem}.builder-repeater-heading button{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:.62rem;font-weight:850;cursor:pointer}.builder-repeater-item,.builder-form-field{display:grid;align-content:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.builder-repeater-item>div,.builder-form-field>header{display:flex;align-items:center;gap:7px}.builder-repeater-item>div>b,.builder-form-field>header>b{display:grid;width:26px;height:26px;place-items:center;border-radius:7px;background:var(--brand);color:#fff;font-size:.58rem}.builder-repeater-item>div>button,.builder-form-field>header>button{margin-left:auto;border:0;background:transparent;color:var(--danger);font-size:.9rem;cursor:pointer}.builder-repeater-item label,.builder-form-field label{display:grid;gap:5px}.builder-field-type{margin-left:auto;padding:4px 6px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-size:.52rem;font-weight:850;text-transform:uppercase}.builder-form-field>header>select{width:auto;margin-left:auto}.builder-form-field>header>i{margin-left:auto;color:var(--brand);font-size:.45rem}.builder-required{display:flex!important;align-items:center;grid-template-columns:auto 1fr}.builder-required input{width:18px!important;height:18px;padding:0!important;accent-color:var(--brand)}
.builder-gallery-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:290px;overflow:auto}.builder-gallery-picker>label{position:relative;display:grid;overflow:hidden;border:2px solid transparent;border-radius:9px;background:var(--surface-soft);cursor:pointer}.builder-gallery-picker input{position:absolute!important;top:5px;left:5px;z-index:2;width:16px!important;height:16px;padding:0!important;accent-color:var(--brand)}.builder-gallery-picker img{width:100%;height:78px;object-fit:cover}.builder-gallery-picker span{overflow:hidden;padding:5px;font-size:.48rem;text-overflow:ellipsis;white-space:nowrap}.builder-gallery-picker label:has(input:checked){border-color:var(--brand)}
.page-builder-publish .editor-savebar{margin-top:5px}.page-builder-publish .panel-heading p,.page-builder-identity .panel-heading p,.page-builder-type-section .panel-heading p{margin:.3rem 0 0;color:var(--muted);font-size:.66rem}
@media(max-width:1320px){.page-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-builder-shell{grid-template-columns:210px minmax(360px,1fr)}.builder-inspector-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.page-builder-shell{grid-template-columns:1fr}.page-builder-library,.page-builder-workspace{grid-column:auto}.page-builder-library{position:static;max-height:none}.page-builder-library-list{grid-template-columns:repeat(2,minmax(0,1fr))}.page-builder-library-list h3{grid-column:1/-1}.page-builder-inspector{grid-column:auto}.page-builder-canvas-panel{min-height:0}}
@media(max-width:620px){.page-type-grid,.page-builder-library-list,.builder-inspector-fields,.builder-repeater,.builder-form-fields{grid-template-columns:1fr}.page-type-card>span{min-height:0}.page-builder-shell>.panel-card,.page-builder-workspace>.panel-card{padding:13px}.page-builder-inspector{padding:17px!important}.page-builder-panel-title.is-row{display:grid}.page-builder-module{grid-template-columns:1fr}.page-builder-module-actions{justify-content:flex-end;padding:0 5px 4px}.page-builder-canvas-panel{min-height:0}.builder-gallery-picker{grid-template-columns:1fr}.page-builder-empty{min-height:230px}.page-builder-identity,.page-builder-type-section,.page-builder-publish{padding:18px!important}}
.page-builder-starter[hidden]{display:none}

/* 0.0106: calm, step-by-step creation flow for standard pages. */
.website-pages-layout.is-creating{grid-template-columns:minmax(0,1fr)}
.website-page-form.is-wizard{gap:18px;padding:0}
.page-wizard-panel[hidden]{display:none!important}
.page-wizard-nav{position:sticky;z-index:18;top:14px;overflow:hidden;padding:15px 18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 32px rgba(20,52,84,.09);backdrop-filter:blur(14px)}
.page-wizard-nav ol{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.page-wizard-nav li{min-width:0}
.page-wizard-nav button{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.page-wizard-nav button:hover{background:var(--surface-soft);color:var(--ink)}
.page-wizard-nav button:focus-visible{outline:3px solid var(--brand-soft);outline-offset:1px}
.page-wizard-nav button>b{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:0.75rem;transition:background .18s ease,border-color .18s ease,color .18s ease}
.page-wizard-nav button>span{display:grid;min-width:0;gap:1px}
.page-wizard-nav button strong{overflow:hidden;color:inherit;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.page-wizard-nav button small{overflow:hidden;color:var(--muted);font-size:0.625rem;text-overflow:ellipsis;white-space:nowrap}
.page-wizard-nav button.is-active{background:var(--brand-soft);color:var(--brand)}
.page-wizard-nav button.is-active>b{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 5px 15px color-mix(in srgb,var(--brand) 25%,transparent)}
.page-wizard-nav button.is-complete{color:var(--ink)}
.page-wizard-nav button.is-complete>b{border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}
.page-wizard-progress{position:absolute;right:30px;bottom:0;left:30px;height:3px;border-radius:3px;background:var(--line)}
.page-wizard-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--success));transition:width .25s ease}
.page-wizard-error{margin:12px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:0.75rem;font-weight:800}
.page-wizard-error[hidden]{display:none}
.page-wizard-panel{min-width:0}
.page-wizard-stage-intro,.page-builder-content-stage{display:grid;gap:14px}
.page-wizard-stage-heading{display:flex;align-items:flex-start;gap:14px;min-width:0}
.page-wizard-stage-heading>div{min-width:0}
.page-wizard-stage-heading h2{margin:5px 0 0;font-size:clamp(1.05rem,2vw,1.35rem)}
.page-wizard-stage-heading h2[tabindex="-1"]:focus{outline:none}
.page-wizard-stage-heading p{max-width:760px;margin:6px 0 0;color:var(--muted);font-size:0.75rem;line-height:1.6}
.page-wizard-stage-number{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--brand);box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 22%,transparent);color:#fff;font-size:0.9375rem;font-weight:900}
.website-page-form:not(.is-wizard) .page-wizard-stage-number{display:none}
.page-type-card>span>em{align-self:end;margin-top:auto;color:var(--brand);font-size:0.625rem;font-style:normal;font-weight:850;opacity:.68}
.page-type-card input:checked+span>em{opacity:1}
.page-type-card input:checked+span>em::before{content:'✓ ';color:var(--success)}
.page-builder-identity .field>span b{color:var(--danger)}
.page-builder-identity .field small,.page-builder-publish .field small{color:var(--muted);font-size:0.625rem;line-height:1.45}
.page-builder-publish .field>span em{color:var(--muted);font-size:0.5625rem;font-style:normal;font-weight:700}
.page-address-preview{display:grid;gap:5px;padding:13px 15px;border:1px dashed color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:12px;background:var(--brand-soft)}
.page-address-preview>span{color:var(--muted);font-size:0.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.page-address-preview>strong{overflow:hidden;color:var(--brand);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.page-address-preview b{font-weight:900}
.page-wizard-actions{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:14px;margin-top:4px;padding-top:17px;border-top:1px solid var(--line)}
.page-wizard-actions>span{color:var(--muted);font-size:0.6875rem;line-height:1.45;text-align:center}
.page-wizard-actions>span b{display:block;color:var(--ink);font-size:0.6875rem}
.page-wizard-actions>.button:only-of-type{grid-column:3}
.page-builder-starter>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:6px}
.page-builder-starter>div .button{margin:0}
.page-wizard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.page-wizard-summary article{display:grid;min-width:0;gap:5px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.page-wizard-summary span{color:var(--muted);font-size:0.5625rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.page-wizard-summary strong{overflow:hidden;color:var(--ink);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.page-wizard-summary strong b{font:inherit}
.page-wizard-final-note{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--success) 7%,var(--surface))}
.page-wizard-final-note>span{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--success);color:#fff;font-weight:900}
.page-wizard-final-note strong{font-size:0.75rem}
.page-wizard-final-note p{margin:3px 0 0;color:var(--muted);font-size:0.625rem;line-height:1.5}
.page-builder-mobile-tabs{display:none}
@media(max-width:960px){.page-wizard-nav button{grid-template-columns:30px minmax(0,1fr);padding:8px}.page-wizard-nav button>b{width:30px;height:30px}.page-wizard-nav button small{display:none}.page-wizard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.page-builder-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 7px 20px rgba(20,52,84,.07)}.page-builder-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px 6px;border:0;border-radius:9px;outline:none;background:transparent;color:var(--muted);font-size:0.625rem;font-weight:850;cursor:pointer}.page-builder-mobile-tabs button:focus-visible{box-shadow:0 0 0 3px var(--brand-soft)}.page-builder-mobile-tabs button>span{font-size:0.8125rem}.page-builder-mobile-tabs button.is-active{background:var(--brand-soft);color:var(--brand)}.page-builder-shell [data-builder-pane]:not(.is-mobile-active){display:none}.page-builder-shell [data-builder-pane].is-mobile-active{grid-column:1/-1}}
@media(max-width:620px){.website-page-form.is-wizard{gap:13px}.page-wizard-nav{position:static;padding:12px}.page-wizard-nav ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.page-wizard-nav button{grid-template-columns:28px minmax(0,1fr);padding:7px}.page-wizard-nav button>b{width:28px;height:28px}.page-wizard-nav button strong{font-size:0.625rem}.page-wizard-progress{display:none}.page-wizard-stage-heading{gap:10px}.page-wizard-stage-number{flex-basis:36px;width:36px;height:36px;border-radius:11px;font-size:0.8125rem}.page-wizard-actions,.page-wizard-actions.is-final{grid-template-columns:1fr;align-items:stretch}.page-wizard-actions>span{grid-row:1;text-align:left}.page-wizard-actions>.button,.page-wizard-actions>.button:only-of-type{grid-column:1;width:100%}.page-wizard-actions>[data-wizard-prev]{grid-row:3}.page-wizard-actions>[data-wizard-next],.page-wizard-actions>[type="submit"],.page-wizard-actions>.button:only-of-type{grid-row:2}.page-builder-starter>div,.page-wizard-summary{grid-template-columns:1fr}.page-address-preview>strong{white-space:normal;overflow-wrap:anywhere}}
