/* Bienes BAQ — UI foundation */
*,
*::before,
*::after { box-sizing: border-box; }

:root {
    --primary: #635BFF;
    --primary-dark: #4038D8;
    --secondary: #101828;
    --accent: #14B8A6;
    --app-bg: #F4F7FB;
    --surface: #FFFFFF;
    --text: #101828;
    --muted: #667085;
    --sidebar: #111827;
    --radius: 18px;
    --border: #E5EAF1;
    --shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px rgba(16, 24, 40, .03);
    --shadow-lg: 0 24px 64px rgba(16, 24, 40, .14);
    --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { min-height: 100%; background: var(--app-bg); }
body {
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    background: var(--app-bg);
    font-family: var(--font);
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    display: flex;
    width: 274px;
    flex-direction: column;
    overflow: hidden;
    color: #F8FAFC;
    background:
        radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--primary) 28%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--sidebar) 94%, #000), var(--sidebar));
    border-right: 1px solid rgba(255,255,255,.06);
}

.sidebar::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: 4%;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    filter: blur(4px);
    pointer-events: none;
}

.sidebar-brand {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 92px;
    align-items: center;
    gap: 12px;
    padding: 22px 22px;
}

.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    border-radius: 13px;
    color: white;
    background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 64%, var(--accent)));
    box-shadow: 0 10px 28px color-mix(in srgb, var(--primary) 28%, transparent);
    font-size: 20px;
    font-weight: 800;
}

.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: flex; min-width: 0; flex-direction: column; }
.brand-copy strong { overflow: hidden; font-size: 15px; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.brand-copy small { overflow: hidden; color: #98A2B3; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.sidebar-nav { position: relative; z-index: 1; flex: 1; padding: 14px 14px; }
.nav-label {
    margin: 10px 12px 8px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.nav-label-spaced { margin-top: 28px; }
.nav-link {
    position: relative;
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 12px;
    margin: 3px 0;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #98A2B3;
    text-decoration: none;
    transition: .18s ease;
}
.nav-link:hover { color: white; background: rgba(255,255,255,.055); transform: translateX(2px); }
.nav-link.active {
    color: white;
    background: linear-gradient(90deg, color-mix(in srgb, var(--primary) 30%, transparent), rgba(255,255,255,.055));
    border-color: color-mix(in srgb, var(--primary) 28%, transparent);
    box-shadow: inset 3px 0 0 var(--primary);
}
.nav-link.is-disabled { cursor: default; opacity: .72; }
.nav-link.is-disabled:hover { transform: none; }
.nav-icon { display: grid; flex: 0 0 auto; place-items: center; }
.nav-icon svg { width: 19px; height: 19px; }
.nav-badge {
    margin-left: auto;
    padding: 2px 7px;
    border-radius: 999px;
    color: #B9C0CD;
    background: rgba(255,255,255,.08);
    font-size: 9px;
    font-weight: 700;
}

.sidebar-footer { position: relative; z-index: 1; padding: 14px; }
.sidebar-status {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}
.sidebar-status div { display: flex; flex-direction: column; }
.sidebar-status strong { font-size: 11px; }
.sidebar-status small { color: #667085; font-size: 10px; }
.status-pulse { width: 9px; height: 9px; border: 2px solid rgba(46, 211, 154, .25); border-radius: 50%; background: #2ED39A; box-shadow: 0 0 0 4px rgba(46,211,154,.08); }

.main-stage { min-width: 0; flex: 1; margin-left: 274px; }
.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    height: 76px;
    align-items: center;
    justify-content: space-between;
    padding: 0 34px;
    border-bottom: 1px solid rgba(229,234,241,.86);
    background: color-mix(in srgb, var(--surface) 84%, transparent);
    backdrop-filter: blur(16px);
}
.topbar-left, .topbar-actions { display: flex; align-items: center; gap: 12px; }
.global-search {
    display: flex;
    width: min(440px, 38vw);
    height: 42px;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: #98A2B3;
    background: color-mix(in srgb, var(--surface) 94%, var(--app-bg));
    transition: .18s ease;
}
.global-search:focus-within { border-color: color-mix(in srgb, var(--primary) 48%, var(--border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 10%, transparent); }
.global-search svg { width: 18px; }
.global-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; }
.global-search input::placeholder { color: #98A2B3; }
.search-key { padding: 2px 7px; border: 1px solid var(--border); border-radius: 6px; color: #98A2B3; background: var(--surface); font-size: 10px; }

.icon-button, .logout-button {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--muted);
    background: var(--surface);
    cursor: pointer;
    transition: .18s ease;
}
.icon-button:hover, .logout-button:hover { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 30%, var(--border)); }
.notification-button { position: relative; }
.notification-dot { position: absolute; top: 8px; right: 8px; width: 7px; height: 7px; border: 2px solid var(--surface); border-radius: 50%; background: #F04438; }
.user-menu { display: flex; align-items: center; gap: 10px; margin-left: 4px; padding-left: 14px; border-left: 1px solid var(--border); }
.avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); font-weight: 800; }
.user-copy { display: flex; min-width: 126px; flex-direction: column; }
.user-copy strong { font-size: 12px; }
.user-copy small { color: var(--muted); font-size: 10px; }
.logout-button { width: 34px; height: 34px; border: 0; background: transparent; }
.account-password-button { display: grid; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--muted); text-decoration: none; }
.mobile-menu { display: none; }

.page-content { width: 100%; max-width: 1600px; margin: 0 auto; padding: 34px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading h1 { margin: 2px 0 4px; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; letter-spacing: -.045em; }
.page-heading p { margin: 0; color: var(--muted); }
.eyebrow { margin: 0; color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.heading-actions { display: flex; gap: 10px; }

.button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: calc(var(--radius) * .7);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 22%, transparent); }
.button-primary:hover { box-shadow: 0 14px 30px color-mix(in srgb, var(--primary) 30%, transparent); }
.button-secondary { color: var(--text); border-color: var(--border); background: var(--surface); box-shadow: var(--shadow-sm); }
.button-ghost { min-height: 36px; padding: 0 10px; color: var(--primary); background: transparent; }
.button-large { width: 100%; min-height: 52px; }

.alert { margin-bottom: 20px; padding: 13px 16px; border: 1px solid; border-radius: 13px; font-weight: 600; }
.alert-success { color: #067647; border-color: #ABEFC6; background: #ECFDF3; }
.alert-danger { color: #B42318; border-color: #FECDCA; background: #FEF3F2; }
.alert-warning { color: #B54708; border-color: #FEDF89; background: #FFFAEB; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metric-card {
    position: relative;
    min-height: 170px;
    overflow: hidden;
    padding: 21px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.metric-card::after { content: ""; position: absolute; top: -70px; right: -60px; width: 150px; height: 150px; border-radius: 50%; background: var(--metric-soft); }
.metric-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.metric-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; color: var(--metric); background: var(--metric-soft); font-size: 19px; font-weight: 800; }
.metric-trend { padding: 3px 8px; border-radius: 999px; color: var(--metric); background: var(--metric-soft); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.metric-card > strong { position: relative; z-index: 1; display: block; margin-top: 18px; font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.metric-card > p { position: relative; z-index: 1; margin: 7px 0 16px; color: var(--muted); font-size: 12px; }
.metric-violet { --metric: #635BFF; --metric-soft: #EFEEFF; }
.metric-blue { --metric: #2E90FA; --metric-soft: #EFF8FF; }
.metric-teal { --metric: #12B76A; --metric-soft: #ECFDF3; }
.metric-amber { --metric: #F79009; --metric-soft: #FFFAEB; }
.progress-track { height: 4px; overflow: hidden; border-radius: 999px; background: #F1F3F6; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--metric); }
.sparkline { display: flex; height: 18px; align-items: end; gap: 4px; }
.sparkline i { width: 8px; border-radius: 3px 3px 1px 1px; background: var(--metric); opacity: .2; }
.sparkline i:nth-child(1) { height: 4px; }.sparkline i:nth-child(2) { height: 8px; }.sparkline i:nth-child(3) { height: 7px; }.sparkline i:nth-child(4) { height: 13px; }.sparkline i:nth-child(5) { height: 10px; }.sparkline i:nth-child(6) { height: 17px; opacity: .55; }.sparkline i:nth-child(7) { height: 14px; opacity: .8; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 16px; margin-top: 16px; }
.panel { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 22px 16px; }
.panel-header h2, .settings-card-header h2 { margin: 1px 0 0; font-size: 17px; letter-spacing: -.02em; }
.activity-list { padding: 0 10px 12px; }
.activity-row { display: flex; align-items: center; gap: 12px; padding: 13px 12px; border-top: 1px solid #F0F2F5; color: inherit; text-decoration: none; }
.activity-row:hover { border-radius: 11px; background: #F8FAFC; }
.activity-symbol { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-weight: 800; }
.activity-main { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.activity-main strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.activity-main small { color: var(--muted); font-size: 10px; }
.status-chip { padding: 4px 9px; border-radius: 999px; color: #344054; background: #F2F4F7; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.status-in_progress { color: #175CD3; background: #EFF8FF; }
.status-ready_to_close { color: #067647; background: #ECFDF3; }
.empty-state { display: grid; min-height: 230px; place-items: center; align-content: center; padding: 30px; text-align: center; }
.empty-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-size: 24px; }
.empty-state h3 { margin: 14px 0 4px; font-size: 14px; }
.empty-state p { max-width: 320px; margin: 0; color: var(--muted); font-size: 11px; }

.focus-panel { overflow: hidden; }
.focus-score { display: flex; align-items: center; gap: 16px; padding: 6px 22px 20px; }
.score-ring { display: flex; width: 82px; height: 82px; flex: 0 0 auto; align-items: baseline; justify-content: center; padding-top: 21px; border-radius: 50%; background: conic-gradient(var(--accent) 0 86%, #EAEFF4 86%); box-shadow: inset 0 0 0 8px var(--surface); }
.score-ring strong { font-size: 23px; }.score-ring span { color: var(--muted); font-size: 9px; }
.focus-score > div:last-child strong { font-size: 13px; }.focus-score p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.focus-items { padding: 0 16px 16px; }
.focus-items > div { display: flex; align-items: center; gap: 10px; padding: 12px 8px; border-top: 1px solid #F0F2F5; }
.focus-items p { display: flex; flex: 1; flex-direction: column; margin: 0; }
.focus-items p strong { font-size: 11px; }.focus-items p small { color: var(--muted); font-size: 9px; }
.focus-items b { font-size: 13px; }
.focus-dot { width: 8px; height: 8px; border-radius: 50%; }.focus-dot.red { background: #F04438; }.focus-dot.teal { background: #12B76A; }.focus-dot.violet { background: #7F56D9; }

/* Guest and authentication */
.guest-body { overflow-x: hidden; background: #0B1020; }
.guest-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(440px, 1.1fr) minmax(440px, .9fr); }
.guest-visual {
    position: relative;
    display: flex;
    overflow: hidden;
    align-items: center;
    padding: clamp(40px, 7vw, 110px);
    color: white;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--sidebar) 94%, black), #111A32 60%, color-mix(in srgb, var(--primary) 30%, #101828));
}
.guest-visual::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to bottom right, black, transparent 70%); }
.guest-brand { position: relative; z-index: 2; max-width: 640px; }
.brand-mark-large { width: 58px; height: 58px; margin-bottom: 42px; border-radius: 17px; }
.eyebrow-light { color: #A9B6FF; }
.guest-brand h1 { max-width: 640px; margin: 10px 0 22px; font-size: clamp(44px, 6vw, 76px); line-height: .99; letter-spacing: -.065em; }
.guest-brand > p:last-child { max-width: 520px; margin: 0; color: #B9C2D0; font-size: clamp(15px, 1.4vw, 19px); }
.guest-orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.guest-orb-one { top: -15%; right: -15%; width: 540px; height: 540px; background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--primary) 70%, white), transparent 68%); opacity: .26; }
.guest-orb-two { bottom: -34%; left: 16%; width: 640px; height: 640px; border: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 0 120px color-mix(in srgb, var(--accent) 15%, transparent); }
.guest-signal-card { position: absolute; right: 8%; bottom: 7%; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(255,255,255,.06); backdrop-filter: blur(16px); }
.guest-signal-card div { display: flex; flex-direction: column; }.guest-signal-card strong { font-size: 11px; }.guest-signal-card small { color: #98A2B3; font-size: 9px; }
.signal-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 16%, transparent); }
.guest-content { display: grid; place-items: center; padding: 42px; background: var(--surface); }
.guest-content-inner { width: min(100%, 440px); }
.auth-card h2 { margin: 7px 0 6px; font-size: 32px; letter-spacing: -.045em; }
.auth-intro { margin: 0 0 28px; color: var(--muted); }
.form-stack { display: flex; flex-direction: column; gap: 17px; }
.field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.field > span:first-child, .color-field > span:first-child { color: #344054; font-size: 11px; font-weight: 750; }
.field small { color: var(--muted); font-size: 10px; }
.field input, .field select, .inline-test-form input {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid #D9E0E8;
    border-radius: 11px;
    outline: 0;
    color: var(--text);
    background: var(--surface);
    transition: .16s ease;
}
.field input:focus, .field select:focus, .inline-test-form input:focus { border-color: color-mix(in srgb, var(--primary) 48%, #D9E0E8); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 10%, transparent); }
.field input:disabled { color: var(--muted); background: #F8FAFC; }
.password-field { position: relative; display: flex; }
.password-field input { padding-right: 56px; }
.password-field button { position: absolute; top: 7px; right: 7px; height: 32px; border: 0; border-radius: 8px; color: var(--primary); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.form-between { display: flex; align-items: center; justify-content: space-between; }
.check-field { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.check-field input { accent-color: var(--primary); }
.text-link { color: var(--primary); font-size: 11px; font-weight: 750; text-decoration: none; }
.security-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 24px 0 0; color: #98A2B3; font-size: 9px; }
.security-note span { color: #12B76A; }
.mobile-brand { display: none; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field-grid-three { grid-template-columns: .55fr .75fr 1.7fr; }

/* Settings */
.settings-heading { align-items: center; }
.settings-save-state { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #D1FADF; border-radius: 999px; color: #067647; background: #ECFDF3; font-size: 10px; font-weight: 750; }
.settings-save-state i { width: 7px; height: 7px; border-radius: 50%; background: #12B76A; }
.settings-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 20px; align-items: start; }
.settings-nav { position: sticky; top: 98px; display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.settings-tab { display: flex; width: 100%; align-items: center; gap: 12px; padding: 12px; border: 0; border-radius: 13px; color: var(--muted); background: transparent; text-align: left; cursor: pointer; transition: .16s ease; }
.settings-tab > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #F2F4F7; font-weight: 900; }
.settings-tab div { display: flex; flex-direction: column; }.settings-tab strong { color: var(--text); font-size: 11px; }.settings-tab small { font-size: 9px; }
.settings-tab:hover { background: #F8FAFC; }.settings-tab.active { color: var(--primary); background: color-mix(in srgb, var(--primary) 7%, white); }.settings-tab.active > span { color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, white); }
.settings-section { display: none; }.settings-section.active { display: block; animation: reveal .25s ease both; }
@keyframes reveal { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.settings-card { margin-bottom: 16px; overflow: hidden; }
.settings-card-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid #EEF1F5; }
.settings-card-header > div { display: flex; align-items: center; gap: 12px; }
.settings-card-header p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.section-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; font-size: 13px; font-weight: 800; }
.section-icon.violet { color: #6938EF; background: #F4F3FF; }.section-icon.teal { color: #087E8B; background: #ECFDFF; }.section-icon.blue { color: #1570EF; background: #EFF8FF; }.section-icon.amber { color: #DC6803; background: #FFFAEB; }.section-icon.green { color: #067647; background: #ECFDF3; }
.settings-card-body { display: flex; flex-direction: column; gap: 21px; padding: 22px; }
.settings-card-footer { display: flex; justify-content: flex-end; padding: 15px 22px; border-top: 1px solid #EEF1F5; background: #FCFDFE; }
.logo-upload-grid { display: grid; grid-template-columns: 1fr 1fr .6fr; gap: 12px; }
.upload-card { display: flex; min-width: 0; flex-direction: column; gap: 4px; padding: 12px; border: 1px dashed #D0D7E2; border-radius: 14px; cursor: pointer; transition: .16s ease; }
.upload-card:hover { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 3%, white); }
.upload-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-card strong { margin-top: 5px; font-size: 10px; }.upload-card small { color: var(--muted); font-size: 8px; }
.upload-preview { display: grid; height: 74px; place-items: center; overflow: hidden; border-radius: 10px; }
.upload-preview img { width: 90%; height: 80%; object-fit: contain; }
.light-preview { color: var(--text); background: #F7F8FA; }.dark-preview { color: white; background: var(--sidebar); }.favicon-preview { width: 74px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); font-size: 24px; font-weight: 800; }
.color-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.color-field { display: flex; flex-direction: column; gap: 7px; padding: 12px; border: 1px solid #E8ECF2; border-radius: 12px; background: #FCFDFE; }
.color-control { display: flex; align-items: center; gap: 9px; }
.color-control input { width: 34px; height: 34px; padding: 2px; border: 1px solid #D9E0E8; border-radius: 9px; background: white; cursor: pointer; }
.color-control code { color: var(--muted); font-size: 10px; }
.range-field { display: grid; grid-template-columns: 1fr minmax(160px, .6fr) 52px; align-items: center; gap: 18px; padding: 16px; border: 1px solid #E8ECF2; border-radius: 14px; }
.range-field > span { display: flex; flex-direction: column; }.range-field strong { font-size: 11px; }.range-field small { color: var(--muted); font-size: 9px; }.range-field input { accent-color: var(--primary); }.range-field output { color: var(--primary); font-size: 11px; font-weight: 800; }
.theme-preview { display: grid; min-height: 180px; grid-template-columns: 110px 1fr; overflow: hidden; border: 1px solid #E2E7EE; border-radius: calc(var(--radius) * .8); background: var(--app-bg); }
.preview-sidebar { display: flex; flex-direction: column; gap: 11px; padding: 22px 16px; background: var(--sidebar); }.preview-sidebar i { display: block; width: 75%; height: 8px; border-radius: 6px; background: rgba(255,255,255,.13); }.preview-sidebar i:first-child { width: 40%; height: 22px; margin-bottom: 8px; background: var(--primary); }
.preview-stage { padding: 26px; }.preview-stage > span { display: block; width: 28px; height: 5px; border-radius: 99px; background: var(--accent); }.preview-stage strong { display: block; margin: 12px 0 3px; font-size: 18px; }.preview-stage p { margin: 0 0 20px; color: var(--muted); font-size: 10px; }.preview-stage button { padding: 8px 13px; border: 0; border-radius: calc(var(--radius) * .55); color: white; background: var(--primary); font-size: 9px; font-weight: 800; }
.switch { position: relative; display: inline-flex; }.switch input { position: absolute; opacity: 0; }.switch span { width: 42px; height: 24px; padding: 3px; border-radius: 99px; background: #D0D5DD; cursor: pointer; transition: .18s; }.switch span::after { content: ""; display: block; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: .18s; }.switch input:checked + span { background: var(--primary); }.switch input:checked + span::after { transform: translateX(18px); }
.inline-test-form { display: flex; gap: 10px; padding: 0 22px 22px; }.inline-test-form input { flex: 1; }
.error-card { max-width: 560px; text-align: center; }.error-card > span { color: var(--primary); font-size: 72px; font-weight: 900; letter-spacing: -.06em; }.error-card h1 { margin: 0 0 8px; font-size: 27px; letter-spacing: -.04em; }.error-card p { margin: 0 0 24px; color: var(--muted); }

.sidebar-backdrop { display: none; }

@media (max-width: 1180px) {
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    .sidebar { transform: translateX(-100%); transition: transform .22s ease; }
    .sidebar.open { transform: none; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 35; background: rgba(5,10,20,.48); backdrop-filter: blur(2px); }
    .sidebar.open + .sidebar-backdrop { display: block; }
    .main-stage { margin-left: 0; }
    .mobile-menu { display: grid; }
    .guest-shell { grid-template-columns: 1fr; }
    .guest-visual { display: none; }
    .guest-content { min-height: 100vh; }
    .mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 34px; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .settings-layout { grid-template-columns: 1fr; }
    .settings-nav { position: static; display: grid; grid-template-columns: repeat(3, 1fr); }
    .settings-tab { justify-content: center; }.settings-tab div { display: none; }
}

@media (max-width: 720px) {
    .topbar { height: 66px; padding: 0 16px; }
    .page-content { padding: 24px 16px; }
    .global-search { width: 42px; padding: 0 11px; }.global-search input, .search-key { display: none; }
    .user-copy { display: none; }.user-menu { min-width: 0; padding-left: 9px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .heading-actions { width: 100%; }.heading-actions .button { flex: 1; }
    .metric-grid { grid-template-columns: 1fr; }
    .metric-card { min-height: 154px; }
    .field-grid, .field-grid-three { grid-template-columns: 1fr; }
    .logo-upload-grid { grid-template-columns: 1fr; }
    .color-grid { grid-template-columns: 1fr; }
    .range-field { grid-template-columns: 1fr; gap: 8px; }
    .theme-preview { grid-template-columns: 76px 1fr; }
    .settings-card-header { align-items: flex-start; }
    .inline-test-form { flex-direction: column; }
    .guest-content { padding: 26px 18px; }
}

/* Catalog administration */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.settings-tab-link { text-decoration: none; }
.catalog-heading { align-items: center; }
.catalog-heading-badge { display: grid; grid-template-columns: 35px auto; grid-template-rows: auto auto; align-items: center; column-gap: 10px; min-width: 155px; padding: 11px 14px; border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border)); border-radius: 15px; background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 7%, white), var(--surface)); box-shadow: var(--shadow-sm); }
.catalog-heading-badge > span { display: grid; grid-row: 1 / 3; width: 35px; height: 35px; place-items: center; border-radius: 11px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); }
.catalog-heading-badge strong { font-size: 15px; line-height: 1; }.catalog-heading-badge small { color: var(--muted); font-size: 8px; }
.catalog-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; gap: 16px; }
.catalog-sidebar { position: sticky; top: 92px; max-height: calc(100vh - 110px); padding: 8px; overflow-y: auto; }
.catalog-sidebar-intro { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; padding: 11px; border-radius: 13px; color: white; background: linear-gradient(135deg, var(--sidebar), color-mix(in srgb, var(--sidebar) 72%, var(--primary))); }
.catalog-sidebar-intro > span { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.09); font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.catalog-sidebar-intro div { display: flex; min-width: 0; flex-direction: column; }.catalog-sidebar-intro strong { font-size: 9px; }.catalog-sidebar-intro small { color: rgba(255,255,255,.62); font-size: 7px; }
.catalog-sidebar section > p { margin: 14px 10px 5px; color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.catalog-sidebar section > a { display: flex; align-items: center; gap: 9px; padding: 8px 9px; border-radius: 10px; color: var(--muted); text-decoration: none; transition: .15s ease; }
.catalog-sidebar section > a > span { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, white); font-size: 8px; font-weight: 900; }
.catalog-sidebar section > a strong { overflow: hidden; color: inherit; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.catalog-sidebar section > a:hover { color: var(--primary); background: #F8FAFC; }
.catalog-sidebar section > a.active { color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, white); }.catalog-sidebar section > a.active > span { color: white; background: var(--primary); box-shadow: 0 6px 14px color-mix(in srgb, var(--primary) 24%, transparent); }
.catalog-stage { min-width: 0; }
.catalog-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; overflow: hidden; background: radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--primary) 11%, transparent), transparent 38%), var(--surface); }
.catalog-hero > div { display: flex; align-items: center; gap: 14px; }.catalog-hero-icon { display: grid; width: 50px; height: 50px; flex: 0 0 auto; place-items: center; border-radius: 15px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); box-shadow: 0 12px 25px color-mix(in srgb, var(--primary) 22%, transparent); font-size: 13px; font-weight: 900; }
.catalog-hero h2 { margin: 2px 0 3px; font-size: 19px; letter-spacing: -.035em; }.catalog-hero p { margin: 0; color: var(--muted); font-size: 9px; }.catalog-hero .eyebrow { color: var(--primary); font-size: 7px; }
.catalog-count { display: flex; min-width: 112px; flex-direction: column; padding: 11px 14px; border: 1px solid #E8ECF2; border-radius: 13px; background: rgba(255,255,255,.75); }.catalog-count strong { font-size: 17px; }.catalog-count small { color: var(--muted); font-size: 7px; }
.catalog-toolbar { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px; }.catalog-toolbar select { min-width: 135px; }.catalog-toolbar .filter-clear { padding: 0 6px; }
.catalog-search { display: flex; min-width: 220px; flex: 1; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid var(--border); border-radius: 11px; background: #FAFBFC; }.catalog-search > span { color: var(--primary); font-size: 17px; }.catalog-search input { width: 100%; min-height: 36px; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 9px; }
.catalog-create { margin-top: 12px; overflow: hidden; }.catalog-create > summary { display: flex; align-items: center; gap: 11px; padding: 14px 16px; cursor: pointer; list-style: none; }.catalog-create > summary::-webkit-details-marker, .catalog-edit > summary::-webkit-details-marker { display: none; }
.catalog-create > summary > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-size: 17px; }.catalog-create > summary > div { display: flex; flex: 1; flex-direction: column; }.catalog-create > summary strong { font-size: 10px; }.catalog-create > summary small { color: var(--muted); font-size: 8px; }.catalog-create > summary b { color: var(--primary); font-size: 8px; }
.catalog-create[open] > summary { border-bottom: 1px solid #EEF1F5; }.catalog-create > form { padding: 18px; background: #FCFDFE; }
.catalog-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.catalog-field-grid > .is-wide { grid-column: 1 / -1; }.catalog-field-grid textarea { width: 100%; resize: vertical; }
.catalog-create footer, .catalog-edit-popover footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 16px; padding-top: 13px; border-top: 1px solid #E9EDF2; }.catalog-create footer p { flex: 1; margin: 0; color: var(--muted); font-size: 8px; }.catalog-create footer p span { color: #12B76A; }
.catalog-check { display: flex; align-items: center; min-height: 58px; padding: 10px 12px; border: 1px solid #E1E6ED; border-radius: 11px; background: white; cursor: pointer; }.catalog-check > input { position: absolute; opacity: 0; pointer-events: none; }.catalog-check > span { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 10px; width: 100%; }
.catalog-check i { position: relative; grid-row: 1 / 3; width: 34px; height: 20px; border-radius: 99px; background: #D0D5DD; transition: .16s; }.catalog-check i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.22); transition: .16s; }
.catalog-check input:checked + span i { background: var(--primary); }.catalog-check input:checked + span i::after { transform: translateX(14px); }.catalog-check strong { font-size: 9px; }.catalog-check small { color: var(--muted); font-size: 7px; }
.catalog-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }.catalog-item { overflow: visible; transition: border-color .15s, box-shadow .15s; }.catalog-item:hover { border-color: color-mix(in srgb, var(--primary) 20%, var(--border)); box-shadow: 0 10px 28px rgba(16,24,40,.06); }.catalog-item.is-inactive { opacity: .68; }
.catalog-item > header { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px 14px; }.catalog-item-index { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, white); font-size: 8px; font-weight: 900; }.catalog-item h3 { margin: 0; font-size: 10px; }.catalog-item header p { margin: 2px 0 0; color: var(--muted); font-size: 7px; }
.status-chip { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 99px; font-size: 7px; font-weight: 850; }.status-active { color: #067647; background: #ECFDF3; }.status-inactive { color: #475467; background: #F2F4F7; }
.catalog-edit { position: relative; }.catalog-edit > summary { padding: 6px 9px; border: 1px solid #E0E5EC; border-radius: 8px; color: var(--primary); background: white; cursor: pointer; font-size: 8px; font-weight: 800; list-style: none; }
.catalog-edit-popover { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(590px, calc(100vw - 330px)); padding: 16px; border: 1px solid #DFE4EB; border-radius: 15px; background: white; box-shadow: 0 22px 55px rgba(16,24,40,.18); }.catalog-edit-popover::before { content: ""; position: absolute; top: -6px; right: 18px; width: 10px; height: 10px; transform: rotate(45deg); border-top: 1px solid #DFE4EB; border-left: 1px solid #DFE4EB; background: white; }
.catalog-toggle-form { margin-top: 9px; text-align: right; }.button-danger-soft { color: #B42318; background: #FEF3F2; }
.catalog-empty { display: grid; min-height: 240px; margin-top: 12px; place-items: center; align-content: center; gap: 5px; text-align: center; }.catalog-empty > span { color: var(--primary); font-size: 28px; }.catalog-empty h2 { margin: 3px 0 0; font-size: 14px; }.catalog-empty p { margin: 0; color: var(--muted); font-size: 9px; }
.catalog-footnote { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 11px 13px; border: 1px solid #B2DDFF; border-radius: 12px; color: #175CD3; background: #EFF8FF; }.catalog-footnote > span { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: white; background: #2E90FA; font-size: 8px; font-weight: 900; }.catalog-footnote p { margin: 1px 0 0; font-size: 8px; line-height: 1.55; }

@media (max-width: 1100px) {
    .catalog-layout { grid-template-columns: 205px minmax(0, 1fr); }
    .catalog-edit-popover { width: min(540px, calc(100vw - 285px)); }
}
@media (max-width: 820px) {
    .catalog-layout { grid-template-columns: 1fr; }
    .catalog-sidebar { position: static; display: flex; max-height: none; gap: 6px; overflow-x: auto; }
    .catalog-sidebar-intro, .catalog-sidebar section > p { display: none; }.catalog-sidebar section { display: flex; gap: 5px; }.catalog-sidebar section > a { white-space: nowrap; }
    .catalog-edit-popover { position: fixed; top: 90px; right: 18px; left: 18px; width: auto; max-height: calc(100vh - 115px); overflow-y: auto; }.catalog-edit-popover::before { display: none; }
}
@media (max-width: 620px) {
    .catalog-heading-badge, .catalog-count { display: none; }.catalog-hero { padding: 16px; }
    .catalog-toolbar { align-items: stretch; flex-direction: column; }.catalog-search { min-width: 0; }.catalog-toolbar select, .catalog-toolbar .button { width: 100%; }
    .catalog-field-grid { grid-template-columns: 1fr; }.catalog-field-grid > .is-wide { grid-column: auto; }
    .catalog-item > header { grid-template-columns: 35px minmax(0, 1fr) auto; }.catalog-item .status-chip { display: none; }
    .catalog-create > summary b { display: none; }
}

/* Legibility scale — optimized for 13–15 inch laptop screens */
.brand-copy strong { font-size: 17px; }
.brand-copy small { font-size: 12px; }
.nav-label { font-size: 11px; }
.nav-link { min-height: 50px; font-size: 15px; }
.nav-badge { font-size: 11px; }
.sidebar-status strong { font-size: 13px; }
.sidebar-status small { font-size: 12px; }
.global-search input { font-size: 14px; }
.search-key { font-size: 12px; }
.user-copy strong { font-size: 14px; }
.user-copy small { font-size: 12px; }
.page-heading h1 { font-size: clamp(30px, 3vw, 42px); }
.page-heading > div > p:not(.eyebrow) { font-size: 15px; }
.eyebrow { font-size: 11px; }
.button { min-height: 44px; font-size: 13px; }
.alert { font-size: 13px; }
.field > span:first-child,
.color-field > span:first-child { font-size: 13px; }
.field small { font-size: 12px; }
.field input,
.field select,
.inline-test-form input,
.field textarea { font-size: 14px; }
.field input,
.field select,
.inline-test-form input { height: 48px; }

/* Settings */
.settings-save-state { font-size: 12px; }
.settings-tab strong { font-size: 13px; }
.settings-tab small { font-size: 11px; }
.settings-card-header p { font-size: 12px; }
.upload-card strong { font-size: 13px; }
.upload-card small { font-size: 11px; }
.color-control code { font-size: 12px; }
.range-field strong { font-size: 13px; }
.range-field small { font-size: 11px; }
.range-field output { font-size: 13px; }
.preview-stage p { font-size: 12px; }
.preview-stage button { font-size: 12px; }

/* Dashboard */
.metric-trend { font-size: 11px; }
.metric-card > p { font-size: 14px; }
.activity-main strong { font-size: 14px; }
.activity-main small { font-size: 12px; }
.status-chip { font-size: 11px; }
.empty-state h3 { font-size: 16px; }
.empty-state p { font-size: 13px; }
.score-ring span { font-size: 11px; }
.focus-score > div:last-child strong { font-size: 15px; }
.focus-score p { font-size: 12px; }
.focus-items p strong { font-size: 13px; }
.focus-items p small { font-size: 11px; }

/* Property module */
.property-stat-card small,
.property-card header small,
.property-card-address small,
.property-card-identifiers small,
.record-field small,
.property-form-nav small,
.form-section header p,
.occupancy-box p,
.property-hero-tags > span:not(.quality-pill),
.property-hero-metrics small,
.property-hero-metrics em,
.detail-card > header .eyebrow,
.inventory-list small,
.document-list small,
.process-list small,
.timeline time,
.timeline p,
.record-footer,
.danger-zone p,
.document-drop small { font-size: 11px; }
.property-stat-card strong { font-size: 25px; }
.property-search input,
.property-results-meta,
.filter-clear,
.property-card-address p,
.property-card-identifiers strong,
.property-card footer,
.record-field strong,
.property-form-nav strong,
.form-section h2,
.occupancy-box h3,
.property-form-actions strong,
.property-hero-address,
.property-hero-metrics strong,
.detail-tabs button,
.detail-card > header h2,
.administration-current strong,
.narrative-grid p,
.inventory-list strong,
.document-list strong,
.process-list strong,
.timeline strong,
.danger-zone strong,
.document-drop strong { font-size: 13px; }
.quality-pill { min-height: 27px; padding: 0 10px; font-size: 10px; }
.property-card h2 { font-size: 16px; }
.property-form-nav a { padding: 13px 11px; }
.form-section > header { padding: 20px 22px; }
.form-section-body { padding: 23px; }
.segmented-field legend { font-size: 13px; }
.segmented-field label { font-size: 12px; }
.address-builder .field > span:first-child { font-size: 11px; }
.property-form-actions small { font-size: 11px; }
.detail-tabs button { min-height: 42px; }
.detail-tabs button span { font-size: 10px; }
.mini-empty p,
.detail-note { font-size: 12px; }
.narrative-grid small { font-size: 11px; }
.document-type,
.document-actions a,
.document-actions button { font-size: 10px; }

/* Title studies and field provenance */
.field-update-source { display: inline-flex; width: fit-content; margin-top: 6px; padding: 4px 8px; border: 1px solid #ABEFC6; border-radius: 999px; color: #067647; background: #ECFDF3; font-size: 10px; font-weight: 750; }
.study-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.study-stat-grid article { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.study-stat-grid article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #6938EF; background: #F4F3FF; font-size: 18px; font-weight: 900; }
.study-stat-grid article div { display: flex; flex-direction: column; }.study-stat-grid small { color: var(--muted); font-size: 11px; }.study-stat-grid strong { font-size: 21px; }
.study-filters { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; padding: 12px; }.study-filters input { flex: 1; }.study-filters select { width: 190px; }
.study-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.study-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; color: inherit; text-decoration: none; transition: transform .18s, box-shadow .18s; }.study-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.study-card > header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 17px; border-bottom: 1px solid #EEF1F5; }
.study-card > header > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; color: #6938EF; background: #F4F3FF; font-size: 12px; font-weight: 900; }
.study-card header div { min-width: 0; }.study-card header small { color: var(--muted); font-size: 11px; }.study-card h2 { overflow: hidden; margin: 2px 0 0; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.study-status { display: inline-flex; align-items: center; min-height: 27px; padding: 0 9px; border-radius: 999px; color: #344054; background: #F2F4F7; font-size: 10px; font-weight: 850; }
.study-status.status-finalized { color: #067647; background: #ECFDF3; }.study-status.status-reopened { color: #B54708; background: #FFFAEB; }.study-status.status-draft { color: #175CD3; background: #EFF8FF; }.study-status.status-voided { color: #B42318; background: #FEF3F2; }
.study-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 17px; }.study-card dt { color: var(--muted); font-size: 10px; }.study-card dd { overflow: hidden; margin: 3px 0 0; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.study-card footer { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding: 13px 17px; border-top: 1px solid #EEF1F5; color: var(--muted); background: #FCFDFE; font-size: 10px; }.study-card footer strong { color: var(--primary); white-space: nowrap; }
.study-empty { display: grid; min-height: 320px; place-items: center; align-content: center; gap: 7px; text-align: center; }.study-empty > span { color: #6938EF; font-size: 34px; }.study-empty h2 { margin: 4px 0 0; }.study-empty p { margin: 0; color: var(--muted); }
.study-detail-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }.study-detail-top .back-link { margin: 0; }
.study-hero { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 17px; padding: 22px; background: radial-gradient(circle at 90% 0%, #F4F3FF, transparent 38%), var(--surface); }
.study-hero-mark { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 19px; color: white; background: linear-gradient(135deg, #7F56D9, #4F46E5); font-size: 27px; font-weight: 900; box-shadow: 0 14px 28px rgba(105,56,239,.2); }
.study-hero h1 { margin: 3px 0; font-size: clamp(23px, 3vw, 34px); letter-spacing: -.04em; }.study-hero p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.study-final-banner { display: flex; gap: 10px; margin: 13px 0; padding: 13px 16px; border: 1px solid #ABEFC6; border-radius: 13px; color: #05603A; background: #ECFDF3; font-size: 12px; }.study-final-banner span { color: #067647; }
.study-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 14px; margin-top: 14px; }.study-main { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.study-section { overflow: hidden; scroll-margin-top: 92px; }.study-section > header { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #EEF1F5; }.study-section > header > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 12px; color: #6938EF; background: #F4F3FF; font-size: 10px; font-weight: 900; }.study-section > header div { flex: 1; }.study-section h2, .study-side-card h2, .study-upload-panel h2 { margin: 2px 0 0; font-size: 15px; }.study-section-body { padding: 20px; }
.study-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.study-grid textarea { width: 100%; }.destination-decision { display: grid; grid-template-columns: minmax(240px, .8fr) 1.2fr; align-items: end; gap: 14px; margin-bottom: 17px; padding: 15px; border: 1px solid #D9D6FE; border-radius: 14px; background: #F9F5FF; }.destination-decision strong { font-size: 12px; }.destination-decision p { margin: 4px 0 0; color: #6941C6; font-size: 11px; line-height: 1.55; }
.owner-list { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }.owner-row { display: grid; grid-template-columns: 1.7fr .7fr 1fr .65fr 32px; align-items: end; gap: 9px; padding: 12px; border: 1px solid #E7EBF1; border-radius: 13px; background: #FAFBFC; }.owner-remove { width: 32px; height: 42px; border: 0; border-radius: 9px; color: #B42318; background: #FEF3F2; font-size: 18px; cursor: pointer; }
.study-actions { position: sticky; bottom: 12px; z-index: 4; display: flex; align-items: center; gap: 12px; padding: 14px 16px; box-shadow: 0 14px 36px rgba(16,24,40,.14); }.study-actions div { display: flex; flex: 1; flex-direction: column; }.study-actions strong { font-size: 12px; }.study-actions small { color: var(--muted); font-size: 10px; }
.study-aside { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 13px; }.study-side-card { overflow: hidden; }.study-side-card > header { display: flex; align-items: center; justify-content: space-between; padding: 17px; border-bottom: 1px solid #EEF1F5; }.study-side-card > header > span { display: grid; min-width: 31px; height: 31px; place-items: center; border-radius: 10px; color: #6938EF; background: #F4F3FF; font-size: 11px; font-weight: 850; }
.study-requirement { display: flex; align-items: center; gap: 10px; margin: 14px; padding: 11px; border-radius: 11px; color: #B54708; background: #FFFAEB; }.study-requirement.is-complete { color: #067647; background: #ECFDF3; }.study-requirement b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: rgba(255,255,255,.7); }.study-requirement div { display: flex; flex-direction: column; }.study-requirement strong { font-size: 11px; }.study-requirement small { font-size: 9px; }
.study-side-card .document-list { padding: 0 14px 8px; }.study-side-card .document-list article { align-items: flex-start; flex-wrap: wrap; }.study-side-card .document-actions { width: 100%; margin-left: 49px; }
.study-upload { display: flex; align-items: center; gap: 10px; padding: 14px; border-top: 1px solid #EEF1F5; }.study-upload p { flex: 1; margin: 0; color: var(--muted); font-size: 10px; }.study-finalize { padding-bottom: 15px; border-color: #D9D6FE; }.study-finalize > p { margin: 14px; color: var(--muted); font-size: 11px; line-height: 1.55; }.study-finalize > .button { width: calc(100% - 28px); margin: 0 14px; }
.study-side-card > form { display: flex; flex-direction: column; gap: 11px; padding: 14px; }.study-side-card > form .button { width: 100%; }
.study-upload-panel { display: grid; grid-template-columns: .75fr 1.25fr; gap: 25px; margin-top: 14px; padding: 20px; scroll-margin-top: 92px; }.study-upload-panel > div > p:last-child { color: var(--muted); font-size: 11px; line-height: 1.6; }.study-upload-panel form { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }.study-upload-panel .document-drop { grid-column: 1 / -1; }.study-upload-panel .button { justify-self: end; grid-column: 1 / -1; }

@media (max-width: 1180px) {
    .study-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .study-workspace { grid-template-columns: minmax(0, 1fr) 290px; }
    .owner-row { grid-template-columns: 1.4fr .7fr 1fr; }.owner-row .field:nth-child(4) { grid-column: 1 / 2; }
}
@media (max-width: 920px) {
    .study-workspace { grid-template-columns: 1fr; }.study-aside { position: static; }
    .study-upload-panel { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .study-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.study-filters { align-items: stretch; flex-direction: column; }.study-filters select { width: 100%; }
    .study-card-grid { grid-template-columns: 1fr; }.study-hero { grid-template-columns: 52px minmax(0, 1fr); }.study-hero-mark { width: 52px; height: 52px; }.study-hero > .study-status { grid-column: 1 / -1; justify-self: start; }
    .study-grid, .destination-decision { grid-template-columns: 1fr; }.owner-row { grid-template-columns: 1fr 1fr; }.owner-row .field:nth-child(4) { grid-column: auto; }.owner-remove { width: 100%; grid-column: 1 / -1; }
    .study-upload-panel form { grid-template-columns: 1fr; }.study-upload-panel .document-drop, .study-upload-panel .button { grid-column: auto; }
}

/* Reports */
.report-heading { align-items: center; }.report-heading-badge { display: flex; align-items: center; gap: 11px; padding: 12px 16px; border: 1px solid #ABEFC6; border-radius: 16px; background: #F6FEF9; box-shadow: var(--shadow-sm); }.report-heading-badge > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: white; background: linear-gradient(135deg, #12B76A, #079455); font-size: 17px; font-weight: 900; }.report-heading-badge div { display: flex; flex-direction: column; }.report-heading-badge strong { font-size: 12px; }.report-heading-badge small { color: var(--muted); font-size: 10px; }
.report-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 17px; }.report-stat-grid article { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }.report-stat-grid article > span { display: grid; width: 41px; height: 41px; flex: 0 0 auto; place-items: center; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-size: 16px; font-weight: 900; }.report-stat-grid article div { display: flex; min-width: 0; flex-direction: column; }.report-stat-grid small { color: var(--muted); font-size: 11px; }.report-stat-grid strong { overflow: hidden; margin-top: 2px; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.report-card { position: relative; display: flex; min-height: 460px; overflow: hidden; flex-direction: column; padding: 23px; isolation: isolate; }.report-card::before { position: absolute; z-index: -1; top: -120px; right: -120px; width: 290px; height: 290px; border-radius: 50%; background: color-mix(in srgb, var(--primary) 7%, transparent); content: ""; }.report-card-siga::before { background: rgba(181,138,54,.1); }.report-card > header { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 13px; }.report-card-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); box-shadow: 0 12px 25px color-mix(in srgb, var(--primary) 20%, transparent); font-size: 11px; font-weight: 900; }.report-card-siga .report-card-icon { background: linear-gradient(135deg, #B58A36, #7F5E1D); box-shadow: 0 12px 25px rgba(181,138,54,.23); }.report-card h2 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.025em; }.report-card > header > b { padding: 6px 9px; border-radius: 999px; color: #067647; background: #ECFDF3; font-size: 10px; }.report-card-siga > header > b { color: #7A2E0E; background: #FEF0C7; }.report-card > p { margin: 22px 0 18px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.report-feature-list { display: flex; flex-direction: column; gap: 9px; }.report-feature-list span { display: flex; align-items: center; gap: 9px; color: #344054; font-size: 12px; }.report-feature-list span::before { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #067647; background: #ECFDF3; content: "✓"; font-size: 10px; font-weight: 900; }.report-card footer { display: flex; align-items: flex-end; gap: 15px; margin-top: auto; padding-top: 24px; border-top: 1px solid #EEF1F5; }.report-card footer > div { display: flex; min-width: 0; flex: 1; flex-direction: column; }.report-card footer strong { font-size: 12px; }.report-card footer small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }.report-card footer .button { flex: 0 0 auto; }.report-card footer .button span { font-size: 15px; }
.report-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 15px; padding: 16px 18px; border-color: #B2DDFF; background: #EFF8FF; }.report-note > span { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 9px; color: white; background: #2E90FA; font-weight: 900; }.report-note strong { font-size: 12px; }.report-note p { margin: 3px 0 0; color: #175CD3; font-size: 11px; line-height: 1.55; }
@media (max-width: 1050px) {
    .report-grid { grid-template-columns: 1fr; }.report-card { min-height: 420px; }
}
@media (max-width: 760px) {
    .report-heading { align-items: flex-start; }.report-heading-badge { width: 100%; }
    .report-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-card { min-height: 0; padding: 18px; }.report-card > header { grid-template-columns: 46px minmax(0, 1fr); }.report-card-icon { width: 46px; height: 46px; }.report-card > header > b { grid-column: 1 / -1; justify-self: start; }
    .report-card footer { align-items: stretch; flex-direction: column; }.report-card footer .button { justify-content: center; width: 100%; }
}

/* Visits */
.visit-stat-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px }
.visit-stat-grid article { display:flex;align-items:center;gap:12px;padding:17px 19px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm) }
.visit-stat-grid article>span { display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,white);font-size:18px;font-weight:900 }
.visit-stat-grid small,.visit-stat-grid strong { display:block }.visit-stat-grid small{color:var(--muted);font-size:11px}.visit-stat-grid strong{font-size:23px}
.visit-filters { display:grid;grid-template-columns:minmax(260px,1fr) 190px auto auto;gap:10px;padding:12px }
.visit-filters input,.visit-filters select { min-height:46px;padding:0 13px;border:1px solid #d8e0ea;border-radius:12px;background:white;font-size:12px }
.visit-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:17px }
.visit-card { display:flex;min-width:0;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;transition:.18s }
.visit-card:hover { transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:0 18px 40px rgba(15,23,42,.1) }
.visit-card header { display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:11px;padding:17px }
.visit-card header>span { display:grid;width:43px;height:43px;place-items:center;border-radius:13px;color:white;background:linear-gradient(145deg,var(--primary),var(--accent));font-size:11px;font-weight:900 }
.visit-card header small,.visit-card header h2 { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }.visit-card header small{color:var(--muted);font-size:10px}.visit-card header h2{margin:2px 0 0;font-size:15px}
.visit-status { display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap }
.status-assigned{color:#344054;background:#f2f4f7}.status-scheduled{color:#175cd3;background:#eff8ff}.status-in_progress{color:#6941c6;background:#f4f3ff}.status-completed{color:#067647;background:#ecfdf3}.status-returned{color:#b54708;background:#fffaeb}.status-cancelled{color:#b42318;background:#fef3f2}
.visit-address { min-height:42px;margin:0;padding:0 17px;color:var(--muted);font-size:11px;line-height:1.55 }
.visit-card dl { display:grid;grid-template-columns:1fr 1fr;margin:0;padding:13px 17px;border-top:1px solid #eef1f5 }.visit-card dl div{min-width:0}.visit-card dt{color:var(--muted);font-size:9px}.visit-card dd{overflow:hidden;margin:3px 0 0;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.visit-card footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:12px 17px;border-top:1px solid #eef1f5;background:#fcfdfe;font-size:9px }.visit-card footer span{color:var(--muted)}.visit-card footer strong{color:var(--primary)}
.visit-empty { display:grid;min-height:300px;place-items:center;align-content:center;text-align:center }.visit-empty>span{color:var(--primary);font-size:36px}.visit-empty h2{margin:8px 0 0}.visit-empty p{color:var(--muted)}
.visit-detail-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:12px }.visit-detail-top .back-link{margin:0}.visit-detail-actions{display:flex;gap:8px}
.visit-hero { overflow:hidden }.visit-hero-main{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:23px;background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 36%)}.visit-hero-main>span{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;color:white;background:linear-gradient(145deg,var(--primary),var(--accent));font-size:25px}.visit-hero h1{margin:2px 0 4px;font-size:27px;letter-spacing:-.04em}.visit-hero-main p{margin:0;color:var(--muted);font-size:11px}.visit-hero-main .eyebrow{color:var(--primary)}
.visit-hero-meta { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #eef1f5;background:#fcfdfe }.visit-hero-meta div{min-width:0;padding:14px 20px;border-right:1px solid #eef1f5}.visit-hero-meta div:last-child{border:0}.visit-hero-meta small,.visit-hero-meta strong{display:block}.visit-hero-meta small{color:var(--muted);font-size:9px}.visit-hero-meta strong{overflow:hidden;margin-top:3px;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.visit-section-nav { position:sticky;z-index:8;top:76px;display:flex;gap:4px;margin:14px 0;padding:6px;overflow-x:auto }.visit-section-nav a{padding:10px 13px;border-radius:9px;color:var(--muted);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.visit-section-nav a:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,white)}
.visit-section { margin-bottom:14px;overflow:hidden;scroll-margin-top:130px }.visit-section>header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #eef1f5}.visit-section>header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:white;background:var(--primary);font-size:10px;font-weight:900}.visit-section h2{margin:1px 0 0;font-size:16px}.visit-section header p:not(.eyebrow){margin:3px 0 0;color:var(--muted);font-size:10px}.visit-section fieldset{margin:0;padding:0;border:0}.visit-section fieldset>.form-grid{padding:20px}.visit-section form>fieldset>footer{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #eef1f5}
.visit-service-block { padding:0 20px 20px }.visit-service-block h3,.visit-side-form h3{margin:0 0 11px;font-size:13px}.visit-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visit-service-grid article{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px;border:1px solid #e1e7ef;border-radius:13px;background:#fafbfc}.visit-service-grid .scope-check{grid-column:1/-1}.visit-service-grid input:not([type=checkbox]):not([type=hidden]){min-width:0;height:39px;padding:0 10px;border:1px solid #d8e0ea;border-radius:9px;background:white;font-size:10px}
.visit-review-form { padding:20px;border-bottom:1px solid #eef1f5;background:#fcfdfe }.visit-review-form>.button{margin-top:14px}.review-current-value{margin-top:12px;padding:13px;border:1px solid #dce4ed;border-radius:12px;background:white}.review-current-value small,.review-current-value strong{display:block}.review-current-value small{color:var(--muted);font-size:9px}.review-current-value strong{margin-top:4px;font-size:12px;white-space:pre-wrap}.visit-review-form [data-proposal-fields]{margin-top:12px}
.visit-review-list{display:grid;gap:10px;padding:20px}.review-card{overflow:hidden;border:1px solid #e1e7ef;border-left:4px solid #98a2b3;border-radius:13px}.review-confirmed{border-left-color:#12b76a}.review-change_proposed{border-left-color:#7f56d9}.review-not_verified{border-left-color:#f79009}.review-card>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #eef1f5}.review-card header small,.review-card header strong{display:block}.review-card header small{color:var(--muted);font-size:8px}.review-card header strong{font-size:12px}.review-card header>span{padding:5px 8px;border-radius:999px;color:var(--muted);background:#f2f4f7;font-size:9px;font-weight:800}.review-values{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#eef1f5}.review-values p{margin:0;padding:14px;background:white;font-size:11px;line-height:1.55}.review-values small{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:800}.review-justification{margin:0;padding:11px 15px;color:var(--muted);background:#fafbfc;font-size:10px}.review-evidence{display:flex;gap:7px;padding:10px 15px}.review-evidence a{color:var(--primary);font-size:9px;font-weight:800}.review-card>footer{display:flex;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid #eef1f5}.review-card>footer>b{padding:5px 8px;border-radius:99px;font-size:8px}.proposal-pending{color:#b54708;background:#fffaeb}.proposal-approved{color:#067647;background:#ecfdf3}.proposal-rejected{color:#b42318;background:#fef3f2}.review-card>footer form{display:flex;flex:1;gap:7px}.review-card>footer input{min-width:120px;flex:1;padding:0 10px;border:1px solid #d8e0ea;border-radius:9px}
.visit-split { display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;padding:20px }.visit-side-form{padding:16px;border:1px solid #e1e7ef;border-radius:14px;background:#fafbfc}.visit-inventory-list,.visit-document-list{display:grid}.visit-inventory-list article,.visit-document-list article{display:flex;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid #eef1f5}.visit-inventory-list article>span,.visit-document-list article>span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,white);font-size:9px;font-weight:900}.visit-inventory-list article>div,.visit-document-list article>div{min-width:0;flex:1}.visit-inventory-list strong,.visit-document-list strong{display:block;font-size:11px}.visit-inventory-list small,.visit-document-list small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.visit-inventory-list p,.visit-document-list p{margin:3px 0 0;color:var(--muted);font-size:9px}
.visit-return-card{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:18px;padding:18px;border-color:#fecdca}.visit-return-card strong{font-size:13px}.visit-return-card p{margin:3px 0 0;color:var(--muted);font-size:10px}.visit-return-card form{display:flex;gap:9px}.visit-return-card textarea{min-height:58px;flex:1;padding:10px;border:1px solid #fda29b;border-radius:11px;resize:vertical}
@media(max-width:1100px){.visit-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-service-grid{grid-template-columns:1fr}.visit-split{grid-template-columns:1fr}.visit-side-form{order:-1}}
@media(max-width:760px){.visit-stat-grid{grid-template-columns:1fr 1fr}.visit-filters,.visit-card-grid{grid-template-columns:1fr}.visit-detail-top{align-items:flex-start;flex-direction:column}.visit-detail-actions{width:100%}.visit-detail-actions form,.visit-detail-actions button{width:100%}.visit-hero-main{grid-template-columns:48px 1fr}.visit-hero-main>span{width:48px;height:48px}.visit-hero-main>.visit-status{grid-column:1/-1;justify-self:start}.visit-hero-meta{grid-template-columns:1fr 1fr}.visit-hero-meta div:nth-child(2){border-right:0}.visit-service-grid article,.review-values{grid-template-columns:1fr}.visit-split{padding:14px}.review-card>footer,.review-card>footer form,.visit-return-card,.visit-return-card form{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.visit-return-card{display:grid}.visit-section-nav{top:68px}}
.visit-document-actions{display:flex!important;flex:0 0 auto!important;align-items:center;gap:6px}.visit-document-actions form{display:flex}
.property-check-guide{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #e9eef4;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 5%,white),white)}.property-check-guide>span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:9px;color:white;background:var(--primary);font-size:10px;font-weight:900}.property-check-guide p{display:flex;min-width:0;flex-direction:column;margin:0 18px 0 0}.property-check-guide strong{font-size:11px}.property-check-guide small{margin-top:2px;color:var(--muted);font-size:9px}
.property-check-sheet{background:#f7f9fc}.property-check-group{padding:18px 20px;border-bottom:1px solid #e1e7ef}.property-check-group>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.property-check-group>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,white);font-size:9px;font-weight:900}.property-check-group>header div{flex:1}.property-check-group>header small,.property-check-group>header h3{display:block}.property-check-group>header small{color:var(--muted);font-size:8px}.property-check-group>header h3{margin:1px 0 0;font-size:14px}.property-check-group>header>b{padding:5px 8px;border-radius:99px;color:var(--muted);background:#eef2f6;font-size:8px}
.property-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.property-check-card{min-width:0;overflow:hidden;border:1px solid #dce4ed;border-radius:15px;background:white;box-shadow:0 3px 10px rgba(15,23,42,.035);transition:border-color .18s,box-shadow .18s}.property-check-card.is-confirmed{border-color:#a6f4c5;box-shadow:0 0 0 2px #ecfdf3}.property-check-card.is-not-verified{border-color:#fedf89;box-shadow:0 0 0 2px #fffaeb}.property-check-card.is-change-proposed{border-color:#d6bbfb;box-shadow:0 0 0 2px #f4f3ff}.property-check-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:13px 14px 7px}.property-check-card header small{display:block;color:var(--muted);font-size:8px}.property-check-card h4{margin:2px 0 0;font-size:12px}.property-check-card header>b{padding:4px 7px;border-radius:99px;font-size:7px}.property-check-value{min-height:47px;padding:4px 14px 12px;overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.5}
.property-check-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0!important;padding:9px!important;border:0!important;border-top:1px solid #eef1f5!important;background:#fafbfc}.property-check-actions label{min-width:0;cursor:pointer}.property-check-actions input{position:absolute;width:1px;height:1px;opacity:0}.property-check-actions span{display:flex;min-height:36px;align-items:center;justify-content:center;padding:5px;border:1px solid #dce4ed;border-radius:9px;color:var(--muted);background:white;font-size:8px;font-weight:800;text-align:center;transition:.15s}.property-check-actions input:checked+span{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.property-check-actions:disabled span{cursor:default}
.property-check-proposal{display:grid;gap:10px;padding:13px 14px;border-top:1px solid #e4d7fc;background:#fbfaff}.property-check-proposal[hidden]{display:none!important}.property-check-evidence{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px;border:1px dashed #c9b8ed;border-radius:11px;background:white}.property-check-proposal .review-evidence{padding:0}
.property-check-save{position:sticky;z-index:7;bottom:10px;display:flex;align-items:center;gap:12px;margin:14px 20px 20px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(15,23,42,.13);backdrop-filter:blur(12px)}.property-check-save>div{display:flex;flex:1;flex-direction:column}.property-check-save strong{font-size:11px}.property-check-save small{margin-top:2px;color:var(--muted);font-size:9px}
.proposal-review-queue{margin:0 20px 20px;overflow:hidden;border:1px solid #e1e7ef;border-radius:14px;background:white}.proposal-review-queue>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef1f5}.proposal-review-queue h3{margin:1px 0 0;font-size:13px}.proposal-review-queue>header>span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:#6941c6;background:#f4f3ff;font-size:10px;font-weight:900}.proposal-review-queue>article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(310px,.8fr);align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #eef1f5}.proposal-review-queue>article:last-child{border:0}.proposal-review-queue article small{color:var(--muted);font-size:8px;font-weight:800}.proposal-review-queue article p{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0;font-size:10px}.proposal-review-queue del{color:#b42318}.proposal-review-queue article strong{color:#067647}.proposal-review-queue em{color:var(--muted);font-size:9px;font-style:normal}.proposal-review-queue article>b{padding:5px 8px;border-radius:99px;font-size:8px}.proposal-review-queue form{display:grid;grid-template-columns:1fr auto auto;gap:6px}.proposal-review-queue form input{min-width:0;padding:0 9px;border:1px solid #d8e0ea;border-radius:9px;font-size:9px}
@media(max-width:900px){.property-check-grid{grid-template-columns:1fr}.proposal-review-queue>article{grid-template-columns:1fr auto}.proposal-review-queue form{grid-column:1/-1}}
@media(max-width:620px){.property-check-guide{align-items:flex-start;flex-wrap:wrap}.property-check-guide p{width:calc(100% - 48px);margin:0}.property-check-group{padding:14px}.property-check-actions{grid-template-columns:1fr}.property-check-evidence{grid-template-columns:1fr}.property-check-save{align-items:stretch;flex-direction:column;margin:12px}.property-check-save .button{width:100%}.proposal-review-queue{margin:0 12px 14px}.proposal-review-queue>article{grid-template-columns:1fr}.proposal-review-queue form{grid-template-columns:1fr}.proposal-review-queue article>b{justify-self:start}}

/* Management cases */
.management-heading { align-items: flex-end; }
.management-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}
.management-stat-grid article {
    display: flex;
    min-height: 92px;
    align-items: center;
    gap: 14px;
    padding: 17px 19px;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    background: var(--surface, #fff);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}
.management-stat-icon,
.section-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 900;
}
.management-stat-icon.violet, .section-icon.violet { color: #5B21B6; background: #F3E8FF; }
.management-stat-icon.blue, .section-icon.blue { color: #175CD3; background: #EFF8FF; }
.management-stat-icon.teal, .section-icon.teal { color: #087A67; background: #E8FFF8; }
.management-stat-icon.amber, .section-icon.amber { color: #B54708; background: #FFF4E5; }
.management-stat-grid small { display: block; color: var(--muted); font-size: 11px; }
.management-stat-grid strong { display: block; margin-top: 2px; font-size: 25px; letter-spacing: -.04em; }
.management-filters {
    display: grid;
    grid-template-columns: minmax(290px, 1fr) repeat(3, minmax(150px, auto)) auto auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
}
.management-search {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid #D8E0EA;
    border-radius: 13px;
    background: #F9FBFD;
}
.management-search span { color: var(--primary); font-size: 18px; }
.management-search input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 13px; }
.management-filters select { min-height: 46px; padding: 0 34px 0 12px; border: 1px solid #D8E0EA; border-radius: 13px; background-color: white; font-size: 12px; }
.management-empty {
    display: grid;
    min-height: 320px;
    place-items: center;
    align-content: center;
    gap: 7px;
    margin-top: 18px;
    text-align: center;
}
.management-empty > span { color: var(--primary); font-size: 38px; }
.management-empty h2 { margin: 0; font-size: 20px; }
.management-empty p { margin: 0 0 8px; color: var(--muted); font-size: 13px; }
.management-results-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 22px 2px 10px;
    color: var(--muted);
    font-size: 12px;
}
.management-results-meta p { margin: 0; }
.management-card-list { display: grid; gap: 11px; }
.management-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(290px, 1.35fr) minmax(320px, 1fr) auto 24px;
    align-items: center;
    gap: 20px;
    padding: 16px 18px;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.management-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--primary) 35%, #D8E0EA);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}
.management-card.is-overdue { border-left: 4px solid #F04438; }
.management-card-identity { display: flex; min-width: 0; align-items: center; gap: 13px; }
.management-case-mark,
.management-property-mark {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 15px;
    color: white;
    background: linear-gradient(145deg, var(--primary), var(--primary-dark));
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 24%, transparent);
}
.management-card-identity small { color: var(--muted); font-size: 10px; }
.management-card-identity h2 { overflow: hidden; margin: 3px 0; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.management-card-identity p { overflow: hidden; margin: 0; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.management-card-work { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.management-card-work > div { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid #E7ECF2; border-radius: 13px; background: #FBFCFE; }
.task-symbol {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}
.task-symbol.visit { color: #087A67; background: #E8FFF8; }
.task-symbol.legal { color: #6941C6; background: #F4EBFF; }
.management-card-work p { min-width: 0; margin: 0; }
.management-card-work small { display: block; color: var(--muted); font-size: 9px; }
.management-card-work strong { display: block; overflow: hidden; margin-top: 2px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.management-card-work em { color: var(--primary); font-size: 9px; font-style: normal; font-weight: 800; }
.management-card-meta { display: grid; justify-items: end; gap: 7px; }
.management-card-meta small { color: var(--muted); font-size: 10px; white-space: nowrap; }
.management-card-meta .overdue-text { color: #D92D20; font-weight: 800; }
.priority-pill,
.management-status,
.task-state {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}
.priority-low { color: #475467; background: #F2F4F7; }
.priority-normal { color: #175CD3; background: #EFF8FF; }
.priority-high { color: #B54708; background: #FFF4E5; }
.priority-urgent { color: #B42318; background: #FEF3F2; }
.management-status.status-draft { color: #475467; background: #F2F4F7; }
.management-status.status-assigned { color: #175CD3; background: #EFF8FF; }
.management-status.status-in_progress { color: #6941C6; background: #F4EBFF; }
.management-status.status-ready_to_close { color: #067647; background: #ECFDF3; }
.management-status.status-closed { color: #344054; background: #EAECF0; }
.management-status.status-cancelled { color: #B42318; background: #FEF3F2; }
.management-card-arrow { color: var(--primary); font-size: 18px; }

.management-create-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 285px;
    align-items: start;
    gap: 18px;
}
.management-form-main { display: grid; gap: 15px; }
.management-form-section { overflow: visible; }
.management-form-section > header {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 18px 20px;
    border-bottom: 1px solid #E9EEF4;
}
.management-form-section > header > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    color: white;
    background: var(--primary);
    font-size: 11px;
    font-weight: 900;
}
.management-form-section header h2 { margin: 1px 0 0; font-size: 16px; }
[data-work-fields][hidden],
[data-work-reason][hidden],
[data-proposal-fields][hidden] { display: none !important; }
.scope-requirement { display: grid; gap: 10px; }
.management-form-section .form-grid,
.management-form-section > .property-picker,
.management-form-section > .management-work-grid { margin: 20px; }
.property-picker { position: relative; }
.property-picker-input {
    display: flex;
    min-height: 49px;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid #CDD5DF;
    border-radius: 13px;
    background: white;
}
.property-picker-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.property-picker-input > span { color: var(--primary); font-size: 18px; }
.property-picker-input input { width: 100%; border: 0; outline: 0; font-size: 13px; }
.property-picker-results {
    position: absolute;
    z-index: 30;
    top: 76px;
    right: 0;
    left: 0;
    max-height: 330px;
    overflow: auto;
    padding: 7px;
    border: 1px solid #D8E0EA;
    border-radius: 15px;
    background: white;
    box-shadow: 0 22px 48px rgba(15, 23, 42, .17);
}
.property-picker-results button {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    cursor: pointer;
    text-align: left;
}
.property-picker-results button:hover { background: #F3F6FA; }
.property-picker-results button > span,
.property-picker-selected > span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 10%, white);
    font-size: 12px;
    font-weight: 900;
}
.property-picker-results strong,
.property-picker-results small,
.property-picker-selected strong,
.property-picker-selected small { display: block; }
.property-picker-results strong, .property-picker-selected strong { font-size: 12px; }
.property-picker-results small, .property-picker-selected small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.property-picker-results > p { margin: 0; padding: 16px; color: var(--muted); text-align: center; font-size: 12px; }
.property-picker-selected {
    display: none;
    align-items: center;
    gap: 11px;
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid color-mix(in srgb, var(--primary) 24%, #D8E0EA);
    border-radius: 13px;
    background: color-mix(in srgb, var(--primary) 4%, white);
}
.property-picker-selected.is-visible { display: flex; }
.property-picker-selected div { min-width: 0; flex: 1; }
.property-picker-selected button { border: 0; color: #667085; background: transparent; cursor: pointer; font-size: 21px; }
.management-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.work-config-card { padding: 16px; border: 1px solid #DDE5EE; border-radius: 16px; background: #FCFDFE; }
.work-config-card.visit { border-top: 3px solid #12B76A; }
.work-config-card.legal { border-top: 3px solid #7F56D9; }
.work-config-title { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.work-config-title > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; font-size: 16px; font-weight: 900; }
.work-config-card.visit .work-config-title > span { color: #087A67; background: #E8FFF8; }
.work-config-card.legal .work-config-title > span { color: #6941C6; background: #F4EBFF; }
.work-config-title h3 { margin: 0; font-size: 14px; }
.work-config-title p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.switch { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.switch input { position: absolute; opacity: 0; }
.switch i { position: relative; width: 34px; height: 20px; border-radius: 999px; background: #CDD5DF; transition: .2s; }
.switch i::after { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: white; box-shadow: 0 1px 4px rgba(0,0,0,.2); content: ""; transition: .2s; }
.switch input:checked + i { background: var(--primary); }
.switch input:checked + i::after { transform: translateX(14px); }
.switch b { font-size: 9px; white-space: nowrap; }
.work-config-fields { display: grid; grid-template-columns: 1fr 150px; gap: 10px; margin-top: 16px; }
.work-not-required { margin-top: 16px; }
.management-create-aside { position: sticky; top: 100px; display: grid; gap: 13px; }
.management-submit-card { display: grid; justify-items: center; padding: 24px 20px; text-align: center; }
.management-submit-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; color: white; background: linear-gradient(145deg, var(--primary), var(--primary-dark)); font-size: 22px; }
.management-submit-card h2 { margin: 13px 0 5px; font-size: 18px; }
.management-submit-card p { margin: 0 0 17px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.management-submit-card .button { width: 100%; justify-content: center; }
.management-help-card { padding: 15px; border: 1px solid #B2DDFF; border-radius: 15px; color: #175CD3; background: #EFF8FF; }
.management-help-card strong { font-size: 11px; }
.management-help-card p { margin: 4px 0 0; font-size: 10px; line-height: 1.55; }

.management-detail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.management-detail-heading h1 { max-width: 850px; margin: 9px 0 6px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.045em; }
.management-detail-heading > div:first-child > p { max-width: 820px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.management-detail-kicker { display: flex; align-items: center; gap: 8px; margin-top: 13px; }
.management-detail-kicker > span:first-child { color: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .06em; }
.management-deadline { display: flex; min-width: 190px; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid #D8E0EA; border-radius: 15px; background: white; }
.management-deadline > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; color: #175CD3; background: #EFF8FF; }
.management-deadline small, .management-deadline strong { display: block; }
.management-deadline small { color: var(--muted); font-size: 9px; }
.management-deadline strong { margin-top: 2px; font-size: 13px; }
.management-deadline.is-overdue { border-color: #FECDCA; background: #FFFBFA; }
.management-deadline.is-overdue > span { color: #B42318; background: #FEF3F2; }
.management-property-banner { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto auto; align-items: center; gap: 15px; padding: 16px 18px; }
.management-property-mark { width: 54px; height: 54px; }
.management-property-banner small { color: var(--muted); font-size: 10px; }
.management-property-banner h2 { margin: 3px 0; font-size: 16px; }
.management-property-banner p { margin: 0; color: var(--muted); font-size: 11px; }
.management-property-ids { display: flex; gap: 24px; }
.management-property-ids span { min-width: 115px; }
.management-property-ids strong { display: block; margin-top: 2px; font-size: 12px; }
.management-progress-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 14px 0; }
.management-work-card { overflow: hidden; border-top: 3px solid; }
.management-work-card.visit { border-top-color: #12B76A; }
.management-work-card.legal { border-top-color: #7F56D9; }
.management-work-card > header { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 15px 17px; border-bottom: 1px solid #EDF1F5; }
.management-work-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; font-size: 16px; font-weight: 900; }
.management-work-card.visit .management-work-icon { color: #087A67; background: #E8FFF8; }
.management-work-card.legal .management-work-icon { color: #6941C6; background: #F4EBFF; }
.management-work-card h2 { margin: 1px 0 0; font-size: 15px; }
.task-state { color: #175CD3; background: #EFF8FF; }
.task-state.is-muted { color: #475467; background: #F2F4F7; }
.work-owner { display: flex; align-items: center; gap: 11px; padding: 15px 17px 10px; }
.work-owner > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, white); font-size: 12px; font-weight: 900; }
.work-owner small, .work-owner strong, .work-owner p { display: block; margin: 0; }
.work-owner small { color: var(--muted); font-size: 9px; }
.work-owner strong { margin: 2px 0; font-size: 12px; }
.work-owner p { color: var(--muted); font-size: 9px; }
.work-progress-rail { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 9px 17px 17px; }
.work-progress-rail::before { position: absolute; top: 14px; right: 12%; left: 12%; height: 2px; background: #E4E7EC; content: ""; }
.work-progress-rail span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; color: var(--muted); }
.work-progress-rail i { width: 12px; height: 12px; border: 3px solid white; border-radius: 50%; background: #D0D5DD; box-shadow: 0 0 0 1px #D0D5DD; }
.work-progress-rail span.is-done { color: var(--text); }
.work-progress-rail span.is-done i { background: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.work-progress-rail small { font-size: 8px; }
.work-exemption { min-height: 104px; padding: 18px; }
.work-exemption strong { font-size: 11px; }
.work-exemption p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.management-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 14px; }
.management-detail-main { display: grid; gap: 14px; }
.management-detail-aside { position: sticky; top: 96px; display: grid; gap: 12px; }
.management-section-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid #E9EEF4; }
.management-section-card h2, .management-facts-card h2 { margin: 2px 0 0; font-size: 15px; }
.assignment-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; }
.assignment-form { display: grid; gap: 10px; padding: 14px; border: 1px solid #E0E7EF; border-radius: 14px; background: #FBFCFE; }
.assignment-form-title { display: flex; align-items: center; gap: 9px; margin-bottom: 2px; }
.assignment-form-title strong, .assignment-form-title small { display: block; }
.assignment-form-title strong { font-size: 12px; }
.assignment-form-title small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.assignment-form .button { justify-content: center; }
.assignment-history { padding: 4px 18px 12px; }
.assignment-history article { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid #EDF1F5; }
.assignment-history article:last-child { border-bottom: 0; }
.assignment-history small, .assignment-history strong, .assignment-history p, .assignment-history em { display: block; }
.assignment-history div > small { color: var(--muted); font-size: 9px; }
.assignment-history strong { margin: 2px 0; font-size: 11px; }
.assignment-history p { margin: 0; color: var(--muted); font-size: 9px; }
.assignment-history em { margin-top: 3px; color: #475467; font-size: 9px; font-style: normal; }
.assignment-history-state { display: grid; justify-items: end; gap: 4px; }
.assignment-history-state span { padding: 4px 8px; border-radius: 999px; color: #475467; background: #F2F4F7; font-size: 8px; font-weight: 800; }
.assignment-history-state span.is-current { color: #067647; background: #ECFDF3; }
.management-timeline { padding: 8px 18px 14px; }
.management-timeline article { position: relative; display: flex; gap: 12px; padding: 10px 0; }
.management-timeline article:not(:last-child)::before { position: absolute; top: 23px; bottom: -10px; left: 4px; width: 1px; background: #DDE2E9; content: ""; }
.management-timeline i { position: relative; z-index: 1; width: 9px; height: 9px; flex: 0 0 auto; margin-top: 5px; border: 2px solid color-mix(in srgb, var(--primary) 25%, white); border-radius: 50%; background: var(--primary); }
.management-timeline article > div { min-width: 0; flex: 1; }
.management-timeline div > span { display: flex; justify-content: space-between; gap: 12px; }
.management-timeline strong { font-size: 10px; }
.management-timeline time, .management-timeline p { color: var(--muted); font-size: 9px; }
.management-timeline p { margin: 3px 0 0; }
.management-facts-card { padding: 17px; }
.management-facts-card header { margin-bottom: 8px; }
.management-facts-card dl { margin: 0; }
.management-facts-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #EEF1F5; }
.management-facts-card dl > div:last-child { border-bottom: 0; }
.management-facts-card dt { color: var(--muted); font-size: 9px; }
.management-facts-card dd { margin: 0; text-align: right; font-size: 10px; font-weight: 750; }
.management-facts-card dd small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 400; }
.management-action-details, .management-danger-card { overflow: hidden; }
.management-action-details > summary, .management-danger-card > summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 15px; cursor: pointer; list-style: none; font-size: 11px; font-weight: 800; }
.management-action-details > summary::-webkit-details-marker, .management-danger-card > summary::-webkit-details-marker { display: none; }
.management-action-details[open] > summary, .management-danger-card[open] > summary { border-bottom: 1px solid #E9EEF4; }
.management-action-details form, .management-danger-card form { padding: 14px; }
.scope-check { display: flex; align-items: center; gap: 8px; font-size: 10px; }
.scope-check input { width: 16px; height: 16px; accent-color: var(--primary); }
.management-close-card { padding: 18px; border-color: #ABEFC6; text-align: center; }
.management-close-card > span { display: grid; width: 42px; height: 42px; margin: 0 auto; place-items: center; border-radius: 13px; color: #067647; background: #ECFDF3; font-size: 17px; font-weight: 900; }
.management-close-card h2 { margin: 10px 0 3px; font-size: 15px; }
.management-close-card > p, .management-danger-card p { color: var(--muted); font-size: 9px; line-height: 1.5; }
.management-close-card form { display: grid; gap: 10px; margin-top: 12px; text-align: left; }
.management-close-card .button, .management-danger-card .button { width: 100%; justify-content: center; }
.management-danger-card { border-color: #FECDCA; }
.management-danger-card > summary { color: #B42318; }
.management-closed-note { padding: 15px; border: 1px solid #ABEFC6; border-radius: 14px; color: #067647; background: #ECFDF3; }
.management-closed-note.is-cancelled { border-color: #FECDCA; color: #B42318; background: #FEF3F2; }
.management-closed-note strong { font-size: 11px; }
.management-closed-note p { margin: 4px 0 0; font-size: 9px; line-height: 1.5; }
.process-list > a { display: flex; align-items: center; gap: 11px; padding: 10px 0; border-bottom: 1px solid #EEF1F5; color: inherit; text-decoration: none; }
.process-list > a:last-child { border-bottom: 0; }

@media (max-width: 1220px) {
    .management-card { grid-template-columns: minmax(250px, 1fr) minmax(290px, 1fr) auto 20px; gap: 13px; }
    .management-card-work > div { grid-template-columns: 30px minmax(0, 1fr); }
    .management-card-work em { grid-column: 2; }
    .management-detail-layout { grid-template-columns: minmax(0, 1fr) 275px; }
}
@media (max-width: 1000px) {
    .management-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .management-filters { grid-template-columns: 1fr 1fr 1fr; }
    .management-search { grid-column: 1 / -1; }
    .management-card { grid-template-columns: minmax(0, 1fr) auto; }
    .management-card-work { grid-column: 1 / -1; grid-row: 2; }
    .management-card-meta { grid-column: 2; grid-row: 1; }
    .management-card-arrow { display: none; }
    .management-create-layout, .management-detail-layout { grid-template-columns: 1fr; }
    .management-create-aside, .management-detail-aside { position: static; }
    .management-create-aside { grid-template-columns: 1fr 1fr; }
    .management-property-banner { grid-template-columns: 54px minmax(0, 1fr) auto; }
    .management-property-ids { grid-column: 2; }
    .management-property-banner > .button { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 720px) {
    .management-detail-heading { align-items: stretch; flex-direction: column; }
    .management-deadline { min-width: 0; }
    .management-stat-grid, .management-work-grid, .management-progress-grid, .assignment-form-grid, .management-create-aside { grid-template-columns: 1fr; }
    .management-filters { grid-template-columns: 1fr; }
    .management-search { grid-column: auto; }
    .management-filters select { width: 100%; }
    .management-card { grid-template-columns: 1fr; }
    .management-card-meta { grid-column: 1; grid-row: auto; justify-items: start; grid-template-columns: auto auto 1fr; align-items: center; }
    .management-card-work { grid-column: 1; grid-row: auto; grid-template-columns: 1fr; }
    .management-card-identity { align-items: flex-start; }
    .management-card-identity h2, .management-card-identity p { white-space: normal; }
    .management-form-section .form-grid { grid-template-columns: 1fr; }
    .management-form-section .field-wide { grid-column: auto; }
    .work-config-title { grid-template-columns: 42px minmax(0, 1fr); }
    .work-config-title .switch { grid-column: 1 / -1; }
    .work-config-fields { grid-template-columns: 1fr; }
    .management-property-banner { grid-template-columns: 48px minmax(0, 1fr); }
    .management-property-mark { width: 48px; height: 48px; }
    .management-property-ids { grid-column: 1 / -1; }
    .management-property-banner > .button { grid-column: 1 / -1; grid-row: auto; justify-content: center; }
    .management-detail-kicker { align-items: flex-start; flex-wrap: wrap; }
    .assignment-history article { grid-template-columns: 36px minmax(0, 1fr); }
    .assignment-history-state { grid-column: 2; justify-items: start; }
    .management-timeline div > span { flex-direction: column; gap: 2px; }
}

/* In-app notifications created by operational assignments */
.notification-center { position: relative; }
.notification-button > b {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 4px;
    border: 2px solid var(--surface);
    border-radius: 999px;
    color: white;
    background: #D92D20;
    font-size: 8px;
    line-height: 1;
}
.notification-button:has(> b) .notification-dot { display: none; }
.notification-panel {
    position: absolute;
    z-index: 80;
    top: calc(100% + 12px);
    right: 0;
    width: min(390px, calc(100vw - 28px));
    overflow: hidden;
    border: 1px solid #D8E0EA;
    border-radius: 17px;
    background: white;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .2);
}
.notification-panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #E9EEF4;
}
.notification-panel header strong, .notification-panel header small { display: block; }
.notification-panel header strong { font-size: 13px; }
.notification-panel header small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.notification-panel header button { border: 0; color: var(--primary); background: transparent; cursor: pointer; font-size: 9px; font-weight: 800; }
.notification-list { max-height: 430px; overflow: auto; padding: 6px; }
.notification-list form { border-radius: 12px; }
.notification-list form.is-unread { background: color-mix(in srgb, var(--primary) 5%, white); }
.notification-list form + form { border-top: 1px solid #EEF1F5; }
.notification-list button {
    display: grid;
    width: 100%;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 11px;
    border: 0;
    border-radius: 11px;
    color: inherit;
    background: transparent;
    cursor: pointer;
    text-align: left;
}
.notification-list button:hover { background: #F5F7FA; }
.notification-list button > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, white); font-size: 13px; font-weight: 900; }
.notification-list strong { display: block; font-size: 10px; }
.notification-list p { margin: 3px 0; color: #475467; font-size: 9px; line-height: 1.45; }
.notification-list small { color: var(--muted); font-size: 8px; }
.notification-empty { display: grid; min-height: 160px; place-items: center; align-content: center; gap: 5px; color: var(--muted); text-align: center; }
.notification-empty span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #067647; background: #ECFDF3; font-size: 15px; }
.notification-empty p { margin: 0; font-size: 10px; }

/* User administration */
.user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.user-stats article{padding:17px 19px;border:1px solid #e2e8f0;border-radius:17px;background:#fff}.user-stats small{display:block;color:var(--muted);font-size:11px}.user-stats strong{display:block;margin-top:4px;font-size:24px}.user-filters{display:grid;grid-template-columns:minmax(260px,1fr) 190px 160px auto auto;gap:10px;padding:12px}.user-filters input,.user-filters select{min-height:46px;padding:0 13px;border:1px solid #d8e0ea;border-radius:12px;background:#fff;font-size:12px}.user-list{display:grid;gap:10px;margin-top:18px}.user-card{display:grid;grid-template-columns:46px minmax(240px,1fr) minmax(180px,.7fr) 150px auto;align-items:center;gap:14px;padding:14px 17px}.user-card.is-inactive{opacity:.68}.user-card-avatar{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-weight:900}.user-card-main strong,.user-card-main small{display:block}.user-card-main strong{font-size:13px}.user-card-main small,.user-card-main p{margin:3px 0 0;color:var(--muted);font-size:10px}.user-role-pills{display:flex;flex-wrap:wrap;gap:5px}.user-role-pills span{padding:5px 8px;border-radius:999px;color:#6941c6;background:#f4ebff;font-size:9px;font-weight:800}.user-access{display:grid;justify-items:start;gap:4px}.user-access>span{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.user-access .active{color:#067647;background:#ecfdf3}.user-access .inactive{color:#b42318;background:#fef3f2}.user-access small{color:var(--muted);font-size:9px}.user-empty{display:grid;min-height:280px;place-items:center;align-content:center}.user-empty>span{font-size:35px;color:var(--primary)}.user-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px}.user-form{overflow:hidden}.user-form>header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #e9eef4}.user-form>header>span{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:#fff;background:var(--primary);font-weight:900}.user-form header h2{margin:0;font-size:16px}.user-form header p{margin:3px 0 0;color:var(--muted);font-size:10px}.user-form>.form-grid{padding:20px}.role-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:20px;border:0;border-top:1px solid #e9eef4}.role-selector legend{padding-top:18px;font-size:12px;font-weight:850}.role-selector label{display:flex;gap:10px;padding:13px;border:1px solid #dce4ed;border-radius:13px;cursor:pointer}.role-selector input{width:17px;height:17px;accent-color:var(--primary)}.role-selector strong,.role-selector small{display:block}.role-selector strong{font-size:11px}.role-selector small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.password-create{border-top:1px solid #e9eef4}.password-create p{grid-column:1/-1;margin:0;color:var(--muted);font-size:10px}.user-form>footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid #e9eef4}.user-security{display:grid;gap:12px}.user-security>section{padding:17px}.user-security h2{margin:0;font-size:14px}.user-security p{color:var(--muted);font-size:10px;line-height:1.5}.user-security .button{width:100%;justify-content:center}.user-danger{border-color:#fecdca}.password-change-wrap{display:grid;min-height:calc(100vh - 170px);place-items:center}.password-change-card{width:min(460px,100%);padding:28px}.password-change-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;color:#fff;background:var(--primary);font-size:20px}.password-change-card h1{margin:10px 0 5px;font-size:25px}.password-change-card>p{color:var(--muted);font-size:12px;line-height:1.5}.password-change-card form{margin-top:20px}.password-change-card form>small{color:var(--muted);font-size:10px}.password-change-card .button{justify-content:center}
@media(max-width:1000px){.user-card{grid-template-columns:46px 1fr auto}.user-role-pills{grid-column:2}.user-access{grid-column:3;grid-row:1/3}.user-card>.button{grid-column:3}.user-form-layout{grid-template-columns:1fr}.user-security{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.user-stats{grid-template-columns:1fr 1fr}.user-filters{grid-template-columns:1fr}.user-card{grid-template-columns:42px 1fr}.user-role-pills,.user-access,.user-card>.button{grid-column:1/-1}.user-access{grid-row:auto}.user-form>.form-grid,.role-selector,.user-security{grid-template-columns:1fr}.password-create p{grid-column:auto}}

/* Carga masiva de inmuebles */
.property-import-heading { align-items: flex-end; }
.import-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.import-step-grid article,
.import-summary-grid article {
    background: var(--surface, #fff);
    border: 1px solid var(--border, #dfe7ef);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
}
.import-step-grid article {
    display: flex;
    gap: 13px;
    min-height: 112px;
    padding: 18px;
}
.import-step-grid article > span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--primary, #4f46e5) 12%, white);
    color: var(--primary, #4f46e5);
    font-size: 11px;
    font-weight: 800;
}
.import-step-grid strong { display: block; margin: 2px 0 6px; font-size: 14px; }
.import-step-grid p { margin: 0; color: var(--muted, #64748b); font-size: 12px; line-height: 1.55; }
.import-upload-panel { padding: 28px; }
.import-panel-copy {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border, #e2e8f0);
}
.import-panel-copy h2,
.import-confirm-panel h2,
.import-progress-copy h2,
.import-complete-panel h2 { margin: 3px 0 7px; font-size: 20px; }
.import-panel-copy p:not(.eyebrow),
.import-confirm-panel p:not(.eyebrow),
.import-progress-copy p:not(.eyebrow),
.import-complete-panel p:not(.eyebrow) { margin: 0; color: var(--muted, #64748b); font-size: 13px; }
.import-panel-icon {
    display: grid;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, #10b981, #047857);
    color: white;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(5, 150, 105, .2);
}
.import-upload-form { display: grid; gap: 18px; padding-top: 24px; }
.import-file-drop {
    display: grid;
    min-height: 190px;
    place-items: center;
    align-content: center;
    gap: 7px;
    border: 1.5px dashed color-mix(in srgb, var(--primary, #4f46e5) 45%, #cbd5e1);
    border-radius: 20px;
    background: color-mix(in srgb, var(--primary, #4f46e5) 3%, white);
    cursor: pointer;
    text-align: center;
    transition: .2s ease;
}
.import-file-drop:hover { border-color: var(--primary, #4f46e5); transform: translateY(-1px); }
.import-file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.import-file-drop-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    background: var(--primary, #4f46e5);
    color: #fff;
    font-size: 25px;
}
.import-file-drop strong { font-size: 14px; }
.import-file-drop small { color: var(--muted, #64748b); font-size: 12px; }
.import-mode {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}
.import-mode legend { grid-column: 1 / -1; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.import-mode label {
    display: flex;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 15px;
    cursor: pointer;
}
.import-mode label:has(input:checked) {
    border-color: color-mix(in srgb, var(--primary, #4f46e5) 55%, white);
    background: color-mix(in srgb, var(--primary, #4f46e5) 5%, white);
}
.import-mode input { margin-top: 3px; accent-color: var(--primary, #4f46e5); }
.import-mode strong,
.import-mode small { display: block; }
.import-mode strong { margin-bottom: 4px; font-size: 13px; }
.import-mode small { color: var(--muted, #64748b); font-size: 11px; line-height: 1.45; }
.import-submit { justify-self: end; min-width: 210px; }
.import-history { margin-top: 28px; }
.import-history-list { display: grid; gap: 10px; }
.import-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.import-history-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto auto 28px;
    align-items: center;
    gap: 15px;
    padding: 15px 18px;
    color: inherit;
    text-decoration: none;
}
.import-history-delete { display: flex; align-items: center; }
.import-history-delete .button { min-width: 92px; min-height: 42px; justify-content: center; border: 1px solid #FECDCA; }
.import-history-card:hover { border-color: color-mix(in srgb, var(--primary, #4f46e5) 38%, #dbe4ec); transform: translateY(-1px); }
.import-history-mark {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 11px;
    font-weight: 800;
}
.import-history-card strong,
.import-history-card small { display: block; }
.import-history-card > div > strong { font-size: 13px; }
.import-history-card small { margin-top: 4px; color: var(--muted, #64748b); font-size: 10px; }
.import-history-numbers { display: flex; gap: 22px; }
.import-history-numbers span { color: var(--muted, #64748b); font-size: 10px; text-align: right; }
.import-history-numbers b { display: block; color: var(--text, #0f172a); font-size: 14px; }
.import-status,
.row-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.import-status.large { min-height: 35px; padding: 0 14px; }
.import-status-completed,
.row-status-valid,
.row-status-inserted,
.row-status-updated { background: #dcfce7; color: #15803d; }
.import-status-committing,
.row-status-warning { background: #fef3c7; color: #a16207; }
.import-status-completed_with_errors,
.import-status-failed,
.row-status-error { background: #fee2e2; color: #b91c1c; }
.row-status-duplicate,
.row-status-skipped { background: #f1f5f9; color: #475569; }
.import-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.import-summary-grid article {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 88px;
    padding: 15px;
}
.import-summary-grid article > span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 12px;
    font-weight: 900;
}
.tone-blue { background: #dbeafe; color: #1d4ed8; }
.tone-green { background: #dcfce7; color: #15803d; }
.tone-amber { background: #fef3c7; color: #a16207; }
.tone-red { background: #fee2e2; color: #b91c1c; }
.tone-violet { background: #ede9fe; color: #6d28d9; }
.tone-teal { background: #ccfbf1; color: #0f766e; }
.import-summary-grid small,
.import-summary-grid strong { display: block; }
.import-summary-grid small { margin-bottom: 4px; color: var(--muted, #64748b); font-size: 9px; }
.import-summary-grid strong { font-size: 19px; }
.import-confirm-panel,
.import-complete-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px; }
.import-confirm-panel small { display: block; margin-top: 9px; color: #4338ca; font-size: 10px; font-weight: 700; }
.import-progress-panel { padding: 24px; }
.import-progress-copy { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 15px; }
.processing-orb {
    width: 42px;
    height: 42px;
    border: 4px solid #c7d2fe;
    border-top-color: #4f46e5;
    border-radius: 50%;
    animation: import-spin 1s linear infinite;
}
@keyframes import-spin { to { transform: rotate(360deg); } }
.import-progress-copy > strong { color: #4338ca; font-size: 24px; }
.import-progress-track { height: 10px; margin-top: 20px; overflow: hidden; border-radius: 999px; background: #e8edf3; }
.import-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4f46e5, #14b8a6); transition: width .25s ease; }
.import-progress-meta { display: flex; justify-content: space-between; margin-top: 9px; color: var(--muted, #64748b); font-size: 10px; }
.import-complete-panel > span {
    display: grid;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    place-items: center;
    border-radius: 16px;
    background: #dcfce7;
    color: #15803d;
    font-size: 22px;
    font-weight: 900;
}
.import-complete-panel > div { flex: 1; }
.import-review { margin-top: 28px; }
.import-review-table-wrap { overflow: auto; }
.import-review-table { width: 100%; border-collapse: collapse; min-width: 950px; }
.import-review-table th {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border, #e2e8f0);
    color: var(--muted, #64748b);
    font-size: 9px;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
}
.import-review-table td { padding: 14px; border-bottom: 1px solid #edf1f5; font-size: 11px; vertical-align: top; }
.import-review-table td code { display: block; max-width: 260px; overflow: hidden; color: #334155; font-size: 10px; text-overflow: ellipsis; }
.import-review-table td small { display: block; margin-top: 5px; color: var(--muted, #64748b); font-size: 9px; }
.import-review-table td ul { margin: 0; padding-left: 16px; color: #92400e; }
.import-review-table td li + li { margin-top: 4px; }
.validation-ok { color: #15803d; font-weight: 700; }

@media (max-width: 1180px) {
    .import-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .import-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .import-step-grid,
    .import-mode,
    .import-summary-grid { grid-template-columns: 1fr; }
    .import-history-card { grid-template-columns: 48px minmax(0, 1fr) auto; }
    .import-history-row { grid-template-columns: 1fr; }
    .import-history-delete { justify-content: flex-end; }
    .import-history-numbers,
    .import-history-arrow { display: none; }
    .import-confirm-panel,
    .import-complete-panel { align-items: flex-start; flex-direction: column; }
    .import-progress-copy { grid-template-columns: 42px minmax(0, 1fr); }
    .import-progress-copy > strong { grid-column: 2; }
}

/* Catalog module */
.catalog-heading-badge { min-width: 180px; padding: 13px 16px; }
.catalog-heading-badge strong { font-size: 20px; }
.catalog-heading-badge small { font-size: 11px; }
.catalog-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 18px; }
.catalog-sidebar { padding: 10px; }
.catalog-sidebar-intro { padding: 13px; }
.catalog-sidebar-intro > span { width: 39px; height: 39px; font-size: 10px; }
.catalog-sidebar-intro strong { font-size: 12px; }
.catalog-sidebar-intro small { font-size: 10px; }
.catalog-sidebar section > p { margin-top: 17px; font-size: 10px; }
.catalog-sidebar section > a { min-height: 44px; padding: 9px 10px; }
.catalog-sidebar section > a > span { width: 30px; height: 30px; font-size: 11px; }
.catalog-sidebar section > a strong { font-size: 12px; }
.catalog-hero { padding: 23px; }
.catalog-hero-icon { width: 58px; height: 58px; border-radius: 17px; font-size: 16px; }
.catalog-hero h2 { font-size: 25px; }
.catalog-hero p { font-size: 13px; }
.catalog-hero .eyebrow { font-size: 10px; }
.catalog-count { min-width: 135px; padding: 13px 16px; }
.catalog-count strong { font-size: 22px; }
.catalog-count small { font-size: 10px; }
.catalog-toolbar { padding: 12px; }
.catalog-search input { min-height: 40px; font-size: 13px; }
.catalog-create > summary { padding: 16px 18px; }
.catalog-create > summary > span { width: 40px; height: 40px; }
.catalog-create > summary strong { font-size: 14px; }
.catalog-create > summary small { font-size: 11px; }
.catalog-create > summary b { font-size: 11px; }
.catalog-create > form { padding: 21px; }
.catalog-create footer p { font-size: 11px; }
.catalog-check { min-height: 64px; }
.catalog-check strong { font-size: 12px; }
.catalog-check small { font-size: 10px; }
.catalog-item > header { grid-template-columns: 42px minmax(0, 1fr) auto auto; gap: 14px; padding: 15px 17px; }
.catalog-item-index { width: 42px; height: 42px; font-size: 11px; }
.catalog-item h3 { font-size: 15px; }
.catalog-item header p { font-size: 11px; }
.catalog-item .status-chip { font-size: 10px; }
.catalog-edit > summary { padding: 8px 12px; font-size: 12px; }
.catalog-footnote { padding: 13px 15px; }
.catalog-footnote p { font-size: 12px; }

@media (max-width: 1180px) {
    .catalog-layout { grid-template-columns: 245px minmax(0, 1fr); }
    .catalog-sidebar section > a strong { font-size: 11px; }
}
@media (max-width: 820px) {
    .catalog-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .page-heading h1 { font-size: 30px; }
    .catalog-item > header { grid-template-columns: 42px minmax(0, 1fr) auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Property master file */
.back-link { display: inline-flex; margin-bottom: 12px; color: var(--primary); font-size: 10px; font-weight: 800; text-decoration: none; }
.property-heading { align-items: flex-end; }
.property-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.property-stat-grid article { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.property-stat-grid article > div { display: flex; min-width: 0; flex-direction: column; }
.property-stat-grid small { color: var(--muted); font-size: 9px; font-weight: 700; }
.property-stat-grid strong { font-size: 22px; letter-spacing: -.04em; }
.property-stat-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 12px; font-size: 16px; font-weight: 900; }
.property-stat-icon.violet { color: #6938EF; background: #F4F3FF; }.property-stat-icon.teal { color: #087E8B; background: #ECFDFF; }
.property-stat-icon.blue { color: #1570EF; background: #EFF8FF; }.property-stat-icon.amber { color: #DC6803; background: #FFFAEB; }
.property-filters { display: flex; align-items: center; gap: 9px; padding: 12px; }
.property-filters select, .property-search { min-height: 40px; border: 1px solid #D9E0E8; border-radius: 11px; background: var(--surface); }
.property-filters select { max-width: 190px; padding: 0 32px 0 11px; color: var(--text); font-size: 10px; }
.property-search { display: flex; min-width: 260px; flex: 1; align-items: center; gap: 8px; padding: 0 12px; }
.property-search > span { color: var(--muted); font-size: 18px; }.property-search input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.filter-clear { color: var(--primary); font-size: 10px; font-weight: 750; text-decoration: none; }
.property-results-meta { display: flex; align-items: center; justify-content: space-between; margin: 18px 2px 10px; color: var(--muted); font-size: 10px; }
.property-results-meta p { margin: 0; }.property-results-meta strong { color: var(--text); }
.property-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.property-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); color: inherit; background: var(--surface); box-shadow: var(--shadow-sm); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.property-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--primary) 24%, var(--border)); box-shadow: 0 16px 36px rgba(16,24,40,.09); }
.property-card.is-inactive { opacity: .65; }
.property-card header { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 16px 16px 12px; }
.property-card-mark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); font-size: 16px; font-weight: 900; }
.property-card header > div { min-width: 0; }.property-card header small { color: var(--muted); font-size: 8px; }.property-card h2 { overflow: hidden; margin: 1px 0 0; font-size: 13px; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.quality-pill { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 99px; font-size: 8px; font-weight: 850; white-space: nowrap; }
.quality-pending { color: #344054; background: #F2F4F7; }.quality-valid { color: #067647; background: #ECFDF3; }.quality-with_warnings { color: #B54708; background: #FFFAEB; }.quality-duplicate_review { color: #B42318; background: #FEF3F2; }
.property-card-address { display: flex; min-height: 59px; gap: 8px; margin: 0 16px; padding: 11px 0; border-top: 1px solid #F0F2F5; color: var(--primary); }
.property-card-address p { display: flex; min-width: 0; flex-direction: column; margin: 0; color: var(--text); font-size: 10px; font-weight: 700; }
.property-card-address small { overflow: hidden; color: var(--muted); font-size: 8px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.property-card-identifiers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 16px 14px; }
.property-card-identifiers div { min-width: 0; padding: 9px 10px; border-radius: 10px; background: color-mix(in srgb, var(--app-bg) 80%, var(--surface)); }
.property-card-identifiers small, .record-field small { display: block; color: var(--muted); font-size: 8px; font-weight: 650; }.property-card-identifiers strong { display: block; overflow: hidden; margin-top: 2px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.property-card footer { display: flex; align-items: center; gap: 7px; margin-top: auto; padding: 11px 16px; border-top: 1px solid #F0F2F5; background: #FCFDFE; }
.property-card footer span { overflow: hidden; padding: 3px 7px; border-radius: 7px; color: var(--muted); background: #F2F4F7; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }.property-card footer b { margin-left: auto; color: var(--primary); }
.property-empty { display: grid; min-height: 330px; place-items: center; align-content: center; gap: 8px; padding: 40px; text-align: center; }.property-empty h2 { margin: 5px 0 0; }.property-empty p { margin: 0 0 12px; color: var(--muted); }
.pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }.pagination a, .pagination span { padding: 8px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); font-size: 9px; text-decoration: none; }

.property-form-heading { align-items: flex-end; }.form-security-badge { padding: 7px 10px; border: 1px solid #ABEFC6; border-radius: 99px; color: #067647; background: #ECFDF3; font-size: 9px; font-weight: 800; }
.property-form { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 16px; }
.property-form-nav { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 3px; padding: 8px; }
.property-form-nav a { display: flex; align-items: center; gap: 10px; padding: 11px; border-radius: 11px; color: var(--muted); text-decoration: none; transition: .15s; }.property-form-nav a:hover { color: var(--primary); background: color-mix(in srgb, var(--primary) 6%, white); }
.property-form-nav a > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, white); font-size: 8px; font-weight: 900; }
.property-form-nav div { display: flex; flex-direction: column; }.property-form-nav strong { color: var(--text); font-size: 9px; }.property-form-nav small { font-size: 7px; }
.property-form-content { min-width: 0; }.form-section { margin-bottom: 14px; overflow: hidden; scroll-margin-top: 92px; }
.form-section > header { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #EEF1F5; }
.form-section > header > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-size: 9px; font-weight: 900; }
.form-section h2 { margin: 0; font-size: 14px; }.form-section header p { margin: 2px 0 0; color: var(--muted); font-size: 9px; }
.form-section-body { display: flex; flex-direction: column; gap: 18px; padding: 21px; }
.form-section textarea { width: 100%; resize: vertical; }
.segmented-field { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; }.segmented-field legend { margin-bottom: 7px; color: #344054; font-size: 11px; font-weight: 750; }
.segmented-field label { display: inline-flex; align-items: center; gap: 5px; padding: 8px 11px; border: 1px solid #D9E0E8; border-radius: 9px; color: var(--muted); font-size: 9px; cursor: pointer; }.segmented-field input { accent-color: var(--primary); }
.segmented-field.compact { flex-wrap: wrap; align-content: flex-start; }
.address-builder { display: grid; grid-template-columns: 1.3fr .65fr .8fr .8fr .8fr .8fr .8fr .65fr; gap: 8px; padding: 14px; border: 1px solid #E7EBF1; border-radius: 13px; background: #FAFBFC; }
.address-builder .field > span:first-child { font-size: 8px; }.address-builder input, .address-builder select { padding: 0 8px; }
[data-address-rural][hidden], [data-address-urban][hidden] { display: none !important; }
.occupancy-box { display: flex; flex-direction: column; gap: 14px; padding: 16px; border: 1px solid #E7EBF1; border-radius: 14px; background: #FAFBFC; }.occupancy-box h3 { margin: 0; font-size: 11px; }.occupancy-box p { margin: 2px 0 0; color: var(--muted); font-size: 8px; }
.occupancy-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.property-form-actions { position: sticky; bottom: 12px; z-index: 5; display: flex; align-items: center; gap: 9px; padding: 13px 15px; box-shadow: 0 12px 34px rgba(16,24,40,.13); }.property-form-actions > div { display: flex; flex: 1; flex-direction: column; }.property-form-actions strong { font-size: 10px; }.property-form-actions small { color: var(--muted); font-size: 8px; }

.property-detail-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }.property-detail-top .back-link { margin: 0; }.property-detail-actions { display: flex; gap: 8px; }
.property-hero { overflow: hidden; }.property-hero.is-inactive { opacity: .72; }
.property-hero-main { display: flex; align-items: center; gap: 16px; padding: 24px; background: radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 34%); }
.property-hero-mark { display: grid; width: 68px; height: 68px; flex: 0 0 auto; place-items: center; border-radius: 20px; color: white; background: linear-gradient(135deg, var(--primary), var(--accent)); box-shadow: 0 15px 30px color-mix(in srgb, var(--primary) 25%, transparent); font-size: 26px; font-weight: 900; }
.property-hero h1 { margin: 2px 0 4px; font-size: clamp(22px, 3vw, 34px); letter-spacing: -.045em; }.property-hero-address { margin: 0; color: var(--muted); font-size: 11px; }
.property-hero-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.property-hero-tags > span:not(.quality-pill) { padding: 4px 8px; border-radius: 99px; color: var(--muted); background: #F2F4F7; font-size: 8px; font-weight: 700; }
.property-hero-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #EEF1F5; background: #FCFDFE; }.property-hero-metrics div { min-width: 0; padding: 14px 20px; border-right: 1px solid #EEF1F5; }.property-hero-metrics div:last-child { border: 0; }.property-hero-metrics small { display: block; color: var(--muted); font-size: 8px; }.property-hero-metrics strong { display: block; overflow: hidden; margin-top: 3px; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.property-hero-metrics em { color: var(--muted); font-size: 8px; font-style: normal; }
.detail-tabs { display: flex; gap: 3px; margin: 14px 0; padding: 6px; overflow-x: auto; }.detail-tabs button { min-height: 36px; padding: 0 13px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; cursor: pointer; font-size: 9px; font-weight: 750; white-space: nowrap; }.detail-tabs button:hover { background: #F7F8FA; }.detail-tabs button.active { color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); }.detail-tabs button span { margin-left: 4px; padding: 1px 5px; border-radius: 99px; background: #EAECF0; font-size: 7px; }
.detail-panel { display: none; }.detail-panel.active { display: block; animation: reveal .2s ease both; }
.property-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.detail-card { min-width: 0; overflow: hidden; }
.detail-card > header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #EEF1F5; }.detail-card > header h2 { margin: 2px 0 0; font-size: 13px; }.detail-card > header .eyebrow { font-size: 8px; }
.detail-card-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; font-size: 12px; font-weight: 900; }.detail-card-icon.blue { color: #1570EF; background: #EFF8FF; }.detail-card-icon.violet { color: #6938EF; background: #F4F3FF; }.detail-card-icon.teal { color: #087E8B; background: #ECFDFF; }.detail-card-icon.amber { color: #DC6803; background: #FFFAEB; }.detail-card-icon.green { color: #067647; background: #ECFDF3; }.detail-card-icon.red { color: #B42318; background: #FEF3F2; }
.detail-card-wide { grid-column: 1 / -1; }.record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 8px 20px 18px; }.record-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }.record-grid.compact { padding: 8px 0 0; }
.record-field { min-width: 0; padding: 11px 10px 11px 0; border-bottom: 1px solid #F2F4F7; }.record-field.is-wide { grid-column: 1 / -1; }.record-field strong { display: block; margin-top: 3px; overflow-wrap: anywhere; font-size: 10px; line-height: 1.55; }
.administration-current { display: flex; align-items: center; gap: 11px; margin: 18px 20px 4px; padding: 13px; border-radius: 13px; background: color-mix(in srgb, var(--primary) 6%, white); }.administration-current > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: white; background: var(--primary); font-weight: 900; }.administration-current div { display: flex; flex-direction: column; }.administration-current strong { font-size: 10px; }.administration-current small { color: var(--muted); font-size: 8px; }
.mini-empty { display: grid; min-height: 150px; place-items: center; align-content: center; gap: 7px; padding: 22px; text-align: center; }.mini-empty > span { color: var(--primary); font-size: 26px; }.mini-empty p { max-width: 320px; margin: 0; color: var(--muted); font-size: 9px; }
.occupancy-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 20px; }.occupancy-summary > div > span { display: flex; justify-content: space-between; font-size: 8px; }.occupancy-summary em { color: var(--muted); font-style: normal; }.occupancy-summary i { display: block; height: 5px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #EAECF0; }.occupancy-summary b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary), var(--accent)); }
.detail-note { margin: 0 20px 20px; padding: 11px; border-radius: 10px; color: var(--muted); background: #F8FAFC; font-size: 9px; }
.narrative-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 20px; }.narrative-grid small { color: var(--muted); font-size: 8px; font-weight: 750; }.narrative-grid p { margin: 6px 0 0; font-size: 10px; line-height: 1.7; }
.detail-two-column { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .75fr); align-items: start; gap: 13px; }.sticky-card { position: sticky; top: 92px; }
.inventory-list, .document-list, .process-list { padding: 4px 18px 16px; }.inventory-list article, .document-list article, .process-list article { display: flex; align-items: center; gap: 11px; padding: 12px 2px; border-bottom: 1px solid #F0F2F5; }.inventory-list article:last-child, .document-list article:last-child, .process-list article:last-child { border: 0; }
.inventory-list article > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); font-size: 11px; font-weight: 900; }.inventory-list article > div, .document-list article > div:nth-child(2), .process-list article > div { display: flex; min-width: 0; flex: 1; flex-direction: column; }.inventory-list small, .document-list small, .process-list small { color: var(--muted); font-size: 8px; }.inventory-list strong, .document-list strong, .process-list strong { font-size: 10px; }.inventory-list p, .document-list p { margin: 2px 0 0; color: var(--muted); font-size: 8px; }
.icon-danger { width: 29px; height: 29px; border: 0; border-radius: 8px; color: #B42318; background: #FEF3F2; cursor: pointer; }
.compact-form { padding: 18px; }.compact-form .button { align-self: flex-end; }
.document-type { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #175CD3; background: #EFF8FF; font-size: 8px; font-weight: 900; }
.document-actions { display: flex !important; flex: 0 0 auto !important; flex-direction: row !important; gap: 6px; }.document-actions a, .document-actions button { padding: 5px 7px; border: 0; border-radius: 7px; color: var(--primary); background: color-mix(in srgb, var(--primary) 7%, white); font-size: 7px; font-weight: 800; text-decoration: none; cursor: pointer; }.document-actions button { color: #B42318; background: #FEF3F2; }
.document-drop { display: grid; min-height: 115px; place-items: center; align-content: center; gap: 3px; border: 1px dashed #B8C1CF; border-radius: 13px; cursor: pointer; text-align: center; }.document-drop:hover { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 3%, white); }.document-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }.document-drop > span { color: var(--primary); font-size: 20px; }.document-drop strong { font-size: 9px; }.document-drop small { color: var(--muted); font-size: 7px; }
.process-list .status-chip { flex: 0 0 auto; }.timeline { padding: 12px 20px 20px; }.timeline article { position: relative; display: flex; gap: 13px; padding: 9px 0; }.timeline article:not(:last-child)::before { content: ""; position: absolute; top: 22px; bottom: -10px; left: 4px; width: 1px; background: #DDE2E9; }.timeline i { position: relative; z-index: 1; width: 9px; height: 9px; flex: 0 0 auto; margin-top: 4px; border: 2px solid color-mix(in srgb, var(--primary) 28%, white); border-radius: 50%; background: var(--primary); }.timeline article > div { flex: 1; }.timeline div > span { display: flex; justify-content: space-between; gap: 12px; }.timeline strong { font-size: 9px; }.timeline time, .timeline p { color: var(--muted); font-size: 7px; }.timeline p { margin: 2px 0 0; }
.record-footer { display: flex; justify-content: space-between; padding: 12px 20px; border-top: 1px solid #EEF1F5; color: var(--muted); background: #FCFDFE; font-size: 8px; }
.danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding: 16px 18px; border-color: #FECDCA; }.danger-zone strong { font-size: 10px; }.danger-zone p { margin: 2px 0 0; color: var(--muted); font-size: 8px; }.button-danger { color: white; background: #D92D20; }

@media (max-width: 1240px) {
    .property-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .address-builder { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .record-grid-four { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .property-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .property-form { grid-template-columns: 1fr; }
    .property-form-nav { position: static; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow-x: auto; }.property-form-nav a { justify-content: center; }.property-form-nav a div { display: none; }
    .property-detail-grid, .detail-two-column { grid-template-columns: 1fr; }.sticky-card { position: static; }
}
@media (max-width: 720px) {
    .property-filters { align-items: stretch; flex-direction: column; }.property-search { min-width: 0; }.property-filters select { width: 100%; max-width: none; }
    .property-card-grid { grid-template-columns: 1fr; }
    .property-card header { grid-template-columns: 40px minmax(0, 1fr); }.property-card header .quality-pill { grid-column: 1 / -1; justify-self: start; }
    .property-detail-top { align-items: flex-start; flex-direction: column; }.property-detail-actions { width: 100%; }.property-detail-actions .button { flex: 1; }
    .property-hero-main { align-items: flex-start; padding: 18px; }.property-hero-mark { width: 50px; height: 50px; border-radius: 15px; font-size: 20px; }
    .property-hero-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.property-hero-metrics div:nth-child(2) { border-right: 0; }.property-hero-metrics div:nth-child(-n+2) { border-bottom: 1px solid #EEF1F5; }
    .record-grid, .record-grid-four, .narrative-grid { grid-template-columns: 1fr; }.record-field.is-wide { grid-column: auto; }
    .occupancy-summary, .occupancy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .address-builder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .property-form-actions { align-items: stretch; flex-wrap: wrap; }.property-form-actions > div { flex-basis: 100%; }.property-form-actions .button { flex: 1; }
    .document-list article { align-items: flex-start; flex-wrap: wrap; }.document-actions { width: 100%; margin-left: 49px; }
    .record-footer, .danger-zone { align-items: flex-start; flex-direction: column; }
}

/* Final property typography overrides: keep these after module-specific rules. */
.property-stat-card small,
.property-card header small,
.property-card-address small,
.property-card-identifiers small,
.record-field small,
.property-form-nav small,
.form-section header p,
.occupancy-box p,
.property-hero-tags > span:not(.quality-pill),
.property-hero-metrics small,
.property-hero-metrics em,
.detail-card > header .eyebrow,
.inventory-list small,
.document-list small,
.process-list small,
.inventory-list p,
.document-list p,
.timeline time,
.timeline p,
.record-footer,
.danger-zone p,
.document-drop small { font-size: 11px; }
.property-search input,
.property-results-meta,
.filter-clear,
.property-card-address p,
.property-card-identifiers strong,
.property-card footer,
.record-field strong,
.property-form-nav strong,
.form-section h2,
.occupancy-box h3,
.property-form-actions strong,
.property-hero-address,
.property-hero-metrics strong,
.detail-tabs button,
.detail-card > header h2,
.administration-current strong,
.narrative-grid p,
.inventory-list strong,
.document-list strong,
.process-list strong,
.timeline strong,
.danger-zone strong,
.document-drop strong { font-size: 13px; }
.property-card h2 { font-size: 16px; }
.quality-pill { min-height: 27px; padding: 0 10px; font-size: 10px; }
.property-form-nav a { padding: 13px 11px; }
.form-section > header { padding: 20px 22px; }
.form-section-body { padding: 23px; }
.segmented-field legend { font-size: 13px; }
.segmented-field label { font-size: 12px; }
.address-builder .field > span:first-child { font-size: 11px; }
.property-form-actions small { font-size: 11px; }
.detail-tabs button { min-height: 42px; }
.detail-tabs button span { font-size: 10px; }
.mini-empty p,
.detail-note { font-size: 12px; }
.narrative-grid small { font-size: 11px; }
.document-type,
.document-actions a,
.document-actions button { font-size: 10px; }
