:root {
    --color-bg: #f7f4ee;
    --color-surface: #fffefa;
    --color-surface-muted: #f1eee8;
    --color-text: #172033;
    --color-muted: #667085;
    --color-border: #e2ddd4;
    --color-primary: #5871ae;
    --color-primary-strong: #40598f;
    --color-success: #5f806e;
    --color-danger: #b42318;
    --color-wine: #5b0013;
    --color-gold: #d5a33f;
    --sidebar-width: 268px;
    --focus-ring: 0 0 0 .2rem rgba(88, 113, 174, .18);
    --ui-font-body: 13.5px;
    --ui-space-sm: 8px;
    --ui-space-md: 14px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--color-bg); }
body { margin: 0; color: var(--color-text); background: var(--color-bg); font: var(--ui-font-body)/1.45 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.btn-primary { --bs-btn-bg: var(--color-primary); --bs-btn-border-color: var(--color-primary); --bs-btn-hover-bg: var(--color-primary-strong); --bs-btn-hover-border-color: var(--color-primary-strong); }
.form-control, .form-select { min-height: 38px; border-color: var(--color-border); border-radius: 7px; font-size: .875rem; transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease; }
.form-control:hover, .form-select:hover { border-color: #b8c3d3; }
.form-control:focus, .form-select:focus { border-color: var(--color-primary); box-shadow: var(--focus-ring); }
.eyebrow { display: inline-block; margin-bottom: .45rem; color: var(--color-primary); font-size: .74rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1030; width: var(--sidebar-width); overflow: hidden auto; color: var(--color-text); background: #fbfcff; border-right: 1px solid #dce5f2; box-shadow: 12px 0 32px rgba(23,32,51,.1); transform: translateX(-101%); transition: transform .2s ease; }
.sidebar-backdrop { position: fixed; inset: 0; z-index: 1020; visibility: hidden; background: rgba(15,23,42,.46); opacity: 0; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
.is-menu-open .sidebar { transform: translateX(0); }
.is-menu-open .sidebar-backdrop { visibility: visible; opacity: 1; pointer-events: auto; }
.brand { display: flex; align-items: center; gap: 12px; height: 68px; padding: 0 20px; border-bottom: 1px solid #e1e8f2; white-space: nowrap; }
.brand-mark { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; color: var(--color-primary); background: #edf3ff; border: 1px solid #d5e2fb; border-bottom: 2px solid var(--color-gold); border-radius: 9px; font-size: 1.2rem; }
.brand-name { overflow: hidden; color: var(--color-text); font-weight: 750; text-overflow: ellipsis; }
.menu-search { position: relative; display: flex; align-items: center; margin: 16px 14px 8px; }
.menu-search i { position: absolute; left: 13px; color: #61728c; }
.menu-search input { width: 100%; height: 40px; padding: 0 12px 0 38px; color: var(--color-text); background: #fff; border: 1px solid #d7e1ee; border-radius: 9px; outline: 0; }
.menu-search input::placeholder { color: #61728c; }
.menu-search input:focus { border-color: var(--color-primary); box-shadow: var(--focus-ring); }
.menu-list { padding: 5px 10px 28px; }
.sidebar-section { margin: 3px 0; }
.sidebar-section > summary { display: flex; min-height: 38px; align-items: center; justify-content: space-between; padding: 8px 12px; color: #52647f; border-radius: 7px; font-size: .7rem; font-weight: 800; letter-spacing: .08em; list-style: none; text-transform: uppercase; cursor: pointer; }
.sidebar-section > summary::-webkit-details-marker { display: none; }
.sidebar-section > summary:hover, .sidebar-section[open] > summary { color: var(--color-primary-strong); background: #edf3ff; }
.sidebar-section > summary i { font-size: .72rem; transition: transform .18s ease; }
.sidebar-section[open] > summary i { transform: rotate(180deg); }
.sidebar-section-body { padding: 2px 0 7px; }
.menu-form { margin: 2px 0; }
.menu-form.is-submenu .menu-item { min-height: 40px; }
.menu-item { display: flex; width: 100%; min-height: 42px; align-items: center; gap: 11px; padding: 7px 12px 7px calc(12px + var(--menu-indent, 0px)); color: #273b58; background: transparent; border: 0; border-radius: 7px; font-size: .82rem; font-weight: 600; text-align: left; white-space: nowrap; cursor: pointer; }
.menu-item i { flex: 0 0 24px; color: #526d9d; font-size: 1.1rem; text-align: center; }
.menu-item span { overflow: hidden; text-overflow: ellipsis; }
.menu-item:hover, .menu-item:focus-visible { color: var(--color-primary-strong); background: #edf3ff; }
.menu-item.active { color: var(--color-primary-strong); background: #e6efff; box-shadow: inset 3px 0 var(--color-primary); font-weight: 750; }
.menu-item:hover i, .menu-item.active i { color: var(--color-primary); }
.app-main { min-height: 100vh; margin-left: 0; }
.topbar { position: sticky; top: 0; z-index: 1010; display: flex; height: 58px; align-items: center; gap: 12px; padding: 0 clamp(14px,2.5vw,28px); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--color-border); backdrop-filter: blur(12px); }
.topbar-title { flex: 1; font-size: 1.05rem; font-weight: 750; }
.user-summary { display: flex; align-items: center; gap: 12px; }
.user-summary form { margin: 0; }
.user-copy { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.user-copy small { color: var(--color-muted); }
.date-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; color: #345078; background: #edf3fb; border: 1px solid #d9e5f4; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.icon-button { display: inline-grid; width: 36px; height: 36px; place-items: center; padding: 0; color: var(--color-text); background: transparent; border: 1px solid transparent; border-radius: 7px; cursor: pointer; }
.icon-button:hover { background: var(--color-surface-muted); border-color: var(--color-border); }
.icon-button i { font-size: 1.25rem; }
.content { width: 100%; max-width: 1580px; margin: 0 auto; padding: clamp(16px,2.5vw,28px); }
.content.is-loading { min-height: 55vh; opacity: .55; pointer-events: none; }
.master-selector-panel { padding-block: 12px; }
.master-selector-panel .inline-form { align-items: end; }
.master-selector-panel label { min-width: min(100%, 360px); }
.catalog-swatch { display: inline-flex; align-items: center; gap: 8px; color: var(--color-muted); white-space: nowrap; }
.catalog-swatch i { display: inline-grid; width: 30px; height: 30px; place-items: center; color: white; background: var(--catalog-color); border-radius: 8px; }
.table-actions { display: flex; align-items: center; gap: 4px; }
.table-actions form { margin: 0; }
.panel { --panel-inset: clamp(14px,2vw,20px); margin-bottom: 16px; padding: var(--panel-inset); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 12px; box-shadow: 0 7px 24px rgba(23,32,51,.055); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.panel h2 { margin: 0; font-size: 1.1rem; }
.panel-heading p { margin: .35rem 0 0; color: var(--color-muted); }
.panel:not(.table-panel):has(> form) > .panel-heading,
.panel.create-box > .panel-heading { margin: calc(-1 * var(--panel-inset)) calc(-1 * var(--panel-inset)) 20px; padding: 15px var(--panel-inset); color: #fff; background: linear-gradient(115deg,#17345f,var(--color-primary)); border-bottom: 1px solid rgba(255,255,255,.15); border-radius: 11px 11px 0 0; }
.panel:not(.table-panel):has(> form) > .panel-heading h2,
.panel.create-box > .panel-heading h2 { color: inherit; font-size: 1rem; font-weight: 750; }
.panel:not(.table-panel):has(> form) > .panel-heading p,
.panel.create-box > .panel-heading p { color: rgba(255,255,255,.76); font-size: .82rem; }
.panel.create-box > .panel-heading { margin: 0; }
.panel.create-box > .stage-admin { padding: var(--panel-inset); }
.panel.create-box--property > .panel-heading { background: linear-gradient(115deg,#4c0717,#7d2436); }
.panel.create-box--settings > .panel-heading { color: #fff8e7; background: linear-gradient(115deg,#182033,#3e4659); box-shadow: inset 4px 0 var(--color-gold); }
.metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.metric { display: flex; align-items: center; gap: 13px; padding: 16px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 9px; box-shadow: 0 2px 8px rgba(23,32,51,.035); }
.metric > i { display: grid; width: 46px; height: 46px; place-items: center; color: var(--color-primary); background: #edf1ff; border-radius: 10px; font-size: 1.25rem; }
.metric div { display: flex; flex-direction: column; }
.metric strong { font-size: 1.55rem; line-height: 1; }
.metric span { margin-top: 5px; color: var(--color-muted); font-size: .9rem; }
.quick-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 12px; }
.quick-action { display: flex; width: 100%; min-height: 88px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; padding: 16px; color: var(--color-text); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: 10px; cursor: pointer; }
.quick-action:hover { border-color: var(--color-primary); }
.quick-action i { color: var(--color-primary); font-size: 1.35rem; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 14px; align-items: start; }
.dashboard-columns--single { grid-template-columns: 1fr; }
.dashboard-columns .panel { margin-bottom: 14px; }
.dashboard-columns .panel-heading { margin-bottom: 12px; }
.dashboard-work-list { display:grid; gap:8px; }
.dashboard-work-item { --work-accent:#5871ae; --work-soft:#f1f4fa; overflow:hidden; border:1px solid var(--color-border); border-left:4px solid var(--work-accent); border-radius:10px; background:var(--color-surface); transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.dashboard-work-item:hover { border-color:color-mix(in srgb,var(--work-accent) 38%,var(--color-border)); box-shadow:0 7px 18px rgba(23,32,51,.07); transform:translateY(-1px); }
.dashboard-work-trigger { display:grid; width:100%; min-height:68px; grid-template-columns:38px minmax(0,1fr) auto 16px; align-items:center; gap:11px; padding:10px 12px; color:var(--color-text); border:0; background:transparent; text-align:left; cursor:pointer; }
.dashboard-work-trigger:focus-visible { outline:3px solid color-mix(in srgb,var(--work-accent) 25%,transparent); outline-offset:-3px; }
.dashboard-work-icon,.dashboard-detail-icon { display:grid; flex:none; place-items:center; color:var(--work-accent); background:var(--work-soft); border-radius:9px; }
.dashboard-work-icon { width:36px; height:36px; font-size:1rem; }
.dashboard-work-main { display:grid; min-width:0; gap:6px; }
.dashboard-work-main > strong { overflow:hidden; text-overflow:ellipsis; font-size:.88rem; white-space:nowrap; }
.dashboard-work-tags { display:flex; min-width:0; flex-wrap:wrap; gap:5px; }
.dashboard-issue-chip { --issue-accent:#5871ae; --issue-soft:#f1f4fa; display:inline-flex; max-width:100%; align-items:center; gap:5px; padding:3px 7px; color:var(--issue-accent); background:var(--issue-soft); border:1px solid color-mix(in srgb,var(--issue-accent) 18%,transparent); border-radius:999px; font-size:.7rem; line-height:1.3; }
.dashboard-issue-chip i { flex:none; }
.dashboard-issue-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-issue-chip b { font-weight:800; }
.dashboard-work-count { padding:4px 8px; color:#6c5314; background:#fff6d8; border-radius:999px; font-size:.7rem; font-weight:750; white-space:nowrap; }
.dashboard-work-arrow { color:var(--work-accent); }
.tone-client { --work-accent:#5871ae; --work-soft:#f1f4fa; --issue-accent:#5871ae; --issue-soft:#f1f4fa; }
.tone-case { --work-accent:#ad5c62; --work-soft:#fbf0f1; --issue-accent:#954b52; --issue-soft:#fbf0f1; }
.tone-credit { --work-accent:#567e87; --work-soft:#eef5f5; --issue-accent:#567e87; --issue-soft:#eef5f5; }
.tone-property { --work-accent:#688575; --work-soft:#eff5f1; --issue-accent:#567463; --issue-soft:#eff5f1; }
.tone-system { --work-accent:#697386; --work-soft:#f4f2ee; --issue-accent:#697386; --issue-soft:#f4f2ee; }
.dashboard-schedule-group form, .dashboard-shortcut-list form { margin:0; }
.dashboard-schedule-link { display:flex; width:100%; min-height:35px; align-items:center; justify-content:space-between; gap:9px; padding:6px 8px; color:var(--color-text); background:#f8faff; border:1px solid transparent; border-radius:6px; text-align:left; cursor:pointer; }
.dashboard-schedule-link:hover,.dashboard-schedule-link:focus-visible { color:var(--color-primary-strong); background:#edf3ff; border-color:#dbe5f9; }
.dashboard-schedule-link span:nth-child(2) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-schedule-link i { flex:none; color:var(--color-primary); }
.dashboard-detail-list { display: grid; gap: 10px; }
.dashboard-detail-item { --work-accent:#5871ae; --work-soft:#f1f4fa; border-color:var(--color-border); border-left:4px solid var(--work-accent); box-shadow:none; }
.dashboard-detail-item .card-body { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:13px; }
.dashboard-detail-item .card-body > div { min-width:0; }
.dashboard-detail-icon { width:36px; height:36px; }
.dashboard-detail-item h3 { margin: 3px 0 0; font-size: .98rem; }
.dashboard-detail-item p { margin: 9px 0 0; color: var(--color-muted); font-size: .84rem; line-height: 1.45; }
.dashboard-detail-item form { flex: none; margin: 0; }
.dashboard-detail-number { color:var(--work-accent); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.dashboard-inline-clear { margin:0; padding:10px 12px; color:var(--color-success); background:#effaf3; border-radius:8px; }
.dashboard-schedule-group + .dashboard-schedule-group { margin-top: 14px; }
.dashboard-schedule-group h3 { margin: 0 0 6px; color: var(--color-muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.dashboard-schedule-group form + form { margin-top: 4px; }
.dashboard-schedule-time { flex: none; color: var(--color-primary-strong); font-size: .78rem; font-weight: 750; }
.dashboard-schedule-empty { display: flex; align-items: center; gap: 8px; color: var(--color-success); }
.dashboard-schedule-empty i { font-size: 1.25rem; }
.dashboard-schedule-empty span { color: var(--color-muted); }
.dashboard-all-clear { margin-bottom: 14px; border-color: #cfe8d8; background: #f7fcf8; }
.dashboard-all-clear .card-body { display: flex; align-items: center; gap: 16px; padding: 18px; }
.dashboard-all-clear-icon { color: var(--color-success); font-size: 2rem; }
.dashboard-all-clear h2 { margin: 0; font-size: 1.3rem; }
.dashboard-all-clear p { margin: 4px 0 0; color: #41614d; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 10px; margin-bottom: 14px; }
.dashboard-metric { border-color: var(--color-border); box-shadow: none; }
.dashboard-metric .card-body { display: flex; align-items: center; gap: 10px; padding: 11px 13px; }
.dashboard-metric i { color: var(--color-primary); font-size: 1.25rem; }
.dashboard-metric strong { display: block; font-size: 1.2rem; line-height: 1.1; }
.dashboard-metric span { color: var(--color-muted); font-size: .78rem; }
.dashboard-shortcuts .panel-heading { margin-bottom: 10px; }
.dashboard-shortcut-list { display: flex; flex-wrap: wrap; gap: 8px; }
.dashboard-shortcut-list .btn { min-height: 38px; }
@media(max-width:1100px) { .dashboard-columns { grid-template-columns: 1fr; } }
@media(max-width:640px) { .dashboard-work-trigger { grid-template-columns:34px minmax(0,1fr) 14px; }.dashboard-work-count{grid-column:2;justify-self:start}.dashboard-work-arrow{grid-column:3;grid-row:1/3}.dashboard-schedule-empty{flex-wrap:wrap}.dashboard-detail-item .card-body{grid-template-columns:34px minmax(0,1fr)}.dashboard-detail-item form{grid-column:1/-1}.dashboard-detail-item form .btn{width:100%} }

/* Inicio: asistente operativo. El alcance visual se mantiene dentro del módulo. */
body[data-active-module="inicio"] #main-content { background:radial-gradient(circle at 92% 3%,rgba(117,92,246,.09),transparent 24%),linear-gradient(180deg,#f6f8fc 0,#fbfaf7 38%,#f5f2ec 100%); }
.dashboard-assistant { --dash-navy:#17294a; --dash-blue:#4f78eb; --dash-violet:#7457dc; --dash-cyan:#23a9c5; display:grid; gap:16px; }
.dashboard-assistant form { margin:0; }
.dashboard-assistant-hero { position:relative; display:grid; min-height:210px; grid-template-columns:minmax(0,1fr) 230px auto; align-items:center; gap:24px; overflow:hidden; padding:30px 34px; color:#fff; background:linear-gradient(122deg,#132749 0%,#354f9e 48%,#7654d7 100%); border:1px solid rgba(255,255,255,.17); border-radius:20px; box-shadow:0 18px 40px rgba(35,52,100,.2); isolation:isolate; }
.dashboard-assistant-hero::before,.dashboard-assistant-hero::after { position:absolute; z-index:-1; content:""; border-radius:50%; }
.dashboard-assistant-hero::before { width:290px; height:290px; right:-80px; top:-160px; background:radial-gradient(circle,rgba(43,214,230,.34),rgba(43,214,230,0) 70%); }
.dashboard-assistant-hero::after { width:230px; height:230px; left:42%; bottom:-190px; background:radial-gradient(circle,rgba(255,190,77,.4),rgba(255,190,77,0) 72%); }
.dashboard-hero-copy { position:relative; z-index:1; min-width:0; }
.dashboard-hero-eyebrow { display:inline-flex; align-items:center; gap:7px; margin-bottom:12px; color:#bcecff; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-hero-copy h1 { margin:0; color:#fff; font-size:clamp(1.8rem,3vw,2.65rem); font-weight:800; letter-spacing:-.035em; }
.dashboard-hero-copy p { max-width:680px; margin:10px 0 14px; color:rgba(255,255,255,.81); font-size:.95rem; line-height:1.55; }
.dashboard-hero-copy p strong { color:#fff; }
.dashboard-hero-date { display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:.79rem; font-weight:650; }
.dashboard-hero-orbit { position:relative; width:200px; height:136px; }
.dashboard-hero-orbit::before { position:absolute; inset:8px 26px; content:""; border:1px dashed rgba(255,255,255,.28); border-radius:50%; transform:rotate(-10deg); }
.dashboard-hero-orbit span { position:absolute; display:grid; width:54px; height:54px; place-items:center; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); border-radius:17px; box-shadow:0 12px 25px rgba(14,27,62,.24); backdrop-filter:blur(8px); font-size:1.35rem; }
.dashboard-hero-orbit span:nth-child(1) { left:4px; top:43px; background:linear-gradient(145deg,rgba(35,188,199,.72),rgba(35,188,199,.2)); }
.dashboard-hero-orbit span:nth-child(2) { left:75px; top:5px; background:linear-gradient(145deg,rgba(255,181,69,.75),rgba(255,181,69,.2)); }
.dashboard-hero-orbit span:nth-child(3) { right:2px; bottom:8px; background:linear-gradient(145deg,rgba(237,91,151,.72),rgba(237,91,151,.2)); }
.dashboard-hero-action { align-self:end; }
.dashboard-hero-button { min-height:43px; padding:9px 14px; color:#263869; background:#fff; border:1px solid rgba(255,255,255,.55); border-radius:11px; box-shadow:0 8px 18px rgba(23,32,64,.2); font-size:.82rem; font-weight:750; white-space:nowrap; }
.dashboard-hero-button:hover,.dashboard-hero-button:focus-visible { color:#18274e; background:#eef4ff; border-color:#fff; transform:translateY(-1px); }
.dashboard-pulse-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.dashboard-pulse-card { --pulse:#5178e4; --pulse-soft:#edf2ff; position:relative; display:grid; min-height:116px; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:13px; overflow:hidden; padding:16px; background:rgba(255,255,255,.94); border:1px solid color-mix(in srgb,var(--pulse) 16%,#dfe4ed); border-radius:15px; box-shadow:0 8px 22px rgba(30,45,78,.06); }
.dashboard-pulse-card::after { position:absolute; width:70px; height:70px; right:-31px; bottom:-39px; content:""; background:var(--pulse-soft); border-radius:50%; }
.dashboard-pulse-card--danger { --pulse:#d55768; --pulse-soft:#fff0f2; }
.dashboard-pulse-card--blue { --pulse:#4c79e7; --pulse-soft:#edf3ff; }
.dashboard-pulse-card--amber { --pulse:#dc922a; --pulse-soft:#fff6e8; }
.dashboard-pulse-card--violet { --pulse:#7858d8; --pulse-soft:#f3efff; }
.dashboard-pulse-icon { display:grid; width:48px; height:48px; place-items:center; color:#fff; background:linear-gradient(145deg,color-mix(in srgb,var(--pulse) 78%,white),var(--pulse)); border-radius:14px; box-shadow:0 8px 15px color-mix(in srgb,var(--pulse) 24%,transparent); font-size:1.15rem; }
.dashboard-pulse-card > div { display:grid; min-width:0; }
.dashboard-pulse-card > div > span { color:#6e778c; font-size:.72rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.dashboard-pulse-card strong { margin:2px 0; color:var(--dash-navy); font-size:1.65rem; line-height:1; }
.dashboard-pulse-card small { overflow:hidden; color:#81899a; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-pulse-card button { position:relative; z-index:1; display:grid; width:30px; height:30px; place-items:center; color:var(--pulse); background:var(--pulse-soft); border:0; border-radius:50%; cursor:pointer; }
.dashboard-pulse-card button:hover { color:#fff; background:var(--pulse); }
.dashboard-command-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); align-items:start; gap:16px; }
.dashboard-command-grid--single { grid-template-columns:1fr; }
.dashboard-command-column { display:grid; gap:16px; min-width:0; }
.dashboard-focus-panel,.dashboard-work-panel,.dashboard-timeline-panel { padding:19px; background:rgba(255,255,255,.96); border:1px solid #e1e5ed; border-radius:17px; box-shadow:0 10px 28px rgba(34,47,73,.065); }
.dashboard-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:15px; }
.dashboard-section-heading h2 { margin:2px 0 0; color:var(--dash-navy); font-size:1.15rem; font-weight:800; }
.dashboard-section-heading p { margin:4px 0 0; color:#788195; font-size:.77rem; }
.dashboard-section-kicker { color:#5875c7; font-size:.65rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.dashboard-live-badge,.dashboard-total-badge { display:inline-flex; flex:none; align-items:center; gap:6px; padding:5px 9px; border-radius:999px; font-size:.67rem; font-weight:800; }
.dashboard-live-badge { color:#218259; background:#e9f8f0; }
.dashboard-live-badge i { font-size:.42rem; }
.dashboard-total-badge { min-width:27px; justify-content:center; color:#5e45b5; background:#f0ecff; }
.dashboard-focus-card { --work-accent:#4d75e0; --work-soft:#edf2ff; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:15px; padding:17px; background:linear-gradient(110deg,var(--work-soft),#fff 58%); border:1px solid color-mix(in srgb,var(--work-accent) 20%,#e3e6ec); border-radius:14px; }
.dashboard-focus-card.tone-overdue { --work-accent:#ce4d62; --work-soft:#fff0f2; }
.dashboard-focus-card.tone-today { --work-accent:#4d75e0; --work-soft:#edf3ff; }
.dashboard-focus-card.tone-tomorrow { --work-accent:#d68a24; --work-soft:#fff5e5; }
.dashboard-focus-icon { display:grid; width:58px; height:58px; place-items:center; color:#fff; background:linear-gradient(145deg,color-mix(in srgb,var(--work-accent) 72%,white),var(--work-accent)); border-radius:17px; box-shadow:0 10px 18px color-mix(in srgb,var(--work-accent) 24%,transparent); font-size:1.4rem; }
.dashboard-focus-copy { min-width:0; }
.dashboard-focus-copy > span { display:block; color:var(--work-accent); font-size:.67rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.dashboard-focus-copy h3 { margin:4px 0; overflow:hidden; color:var(--dash-navy); font-size:1rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-focus-copy p { margin:0; display:-webkit-box; overflow:hidden; color:#70798b; font-size:.76rem; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.dashboard-focus-card .btn { min-height:38px; font-size:.76rem; white-space:nowrap; }
.dashboard-focus-clear,.dashboard-list-clear { display:flex; align-items:center; gap:12px; color:#247958; background:#edf9f3; border:1px solid #d6efe2; border-radius:13px; }
.dashboard-focus-clear { padding:20px; }
.dashboard-focus-clear > span { display:grid; width:42px; height:42px; place-items:center; color:#fff; background:#35a675; border-radius:13px; font-size:1.25rem; }
.dashboard-focus-clear strong,.dashboard-list-clear strong { display:block; }
.dashboard-focus-clear p { margin:3px 0 0; color:#5c7b6d; font-size:.78rem; }
.dashboard-work-panel .dashboard-work-list { gap:9px; }
.dashboard-work-panel .dashboard-work-item { border-left-width:0; border-radius:12px; box-shadow:none; }
.dashboard-work-panel .dashboard-work-trigger { min-height:72px; padding:10px 13px; }
.dashboard-work-panel .dashboard-work-icon { border-radius:12px; }
.dashboard-list-clear { padding:15px; }
.dashboard-list-clear > i { font-size:1.35rem; }
.dashboard-list-clear span { display:block; color:#628073; font-size:.75rem; }
.dashboard-timeline-panel { position:sticky; top:84px; padding-bottom:14px; }
.dashboard-timeline { display:grid; gap:17px; }
.dashboard-timeline-group { --timeline:#5079e3; }
.dashboard-timeline-group--overdue { --timeline:#d65366; }
.dashboard-timeline-group--today { --timeline:#5079e3; }
.dashboard-timeline-group--tomorrow { --timeline:#db9028; }
.dashboard-timeline-group h3 { display:inline-flex; margin:0 0 7px 66px; padding:4px 9px; color:var(--timeline); background:color-mix(in srgb,var(--timeline) 10%,white); border-radius:999px; font-size:.66rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.dashboard-timeline-group form { position:relative; }
.dashboard-timeline-group form:not(:last-child)::after { position:absolute; width:2px; height:calc(100% - 20px); left:71px; top:36px; content:""; background:#e5e8f0; }
.dashboard-timeline-item { display:grid; width:100%; min-height:62px; grid-template-columns:49px 14px minmax(0,1fr) 20px; align-items:center; gap:10px; padding:7px 7px 7px 4px; color:var(--color-text); background:transparent; border:0; border-radius:11px; text-align:left; cursor:pointer; }
.dashboard-timeline-item:hover,.dashboard-timeline-item:focus-visible { background:color-mix(in srgb,var(--timeline) 7%,white); }
.dashboard-timeline-time { display:grid; color:#5c6680; text-align:right; }
.dashboard-timeline-time b { color:var(--dash-navy); font-size:.8rem; }
.dashboard-timeline-time small { font-size:.64rem; }
.dashboard-timeline-dot { position:relative; z-index:1; display:block; width:12px; height:12px; background:var(--timeline); border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 2px color-mix(in srgb,var(--timeline) 25%,white); }
.dashboard-timeline-copy { display:grid; min-width:0; gap:3px; }
.dashboard-timeline-copy strong { overflow:hidden; color:#28344f; font-size:.78rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-timeline-copy small { overflow:hidden; color:#8990a0; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-timeline-item > i { color:var(--timeline); }
.dashboard-timeline-panel footer { display:flex; justify-content:flex-end; margin-top:14px; padding-top:13px; border-top:1px solid #e8eaf0; }
.dashboard-timeline-panel footer .btn { font-size:.74rem; }
.dashboard-timeline-panel .dashboard-schedule-empty { display:flex; padding:25px 12px; align-items:center; justify-content:center; color:#2d7f60; text-align:left; }
.dashboard-timeline-panel .dashboard-schedule-empty > span { display:grid; width:52px; height:52px; place-items:center; color:#fff; background:linear-gradient(145deg,#48b98a,#258260); border-radius:16px; font-size:1.35rem; }
.dashboard-timeline-panel .dashboard-schedule-empty p { margin:3px 0 0; color:#728278; font-size:.75rem; }
@media(max-width:1180px) { .dashboard-assistant-hero{grid-template-columns:minmax(0,1fr) 190px}.dashboard-hero-action{grid-column:1/-1;justify-self:start}.dashboard-pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-command-grid{grid-template-columns:1fr}.dashboard-timeline-panel{position:static} }
@media(max-width:720px) { .dashboard-assistant-hero{min-height:auto;grid-template-columns:1fr;padding:24px}.dashboard-hero-orbit{display:none}.dashboard-hero-action{grid-column:auto}.dashboard-pulse-grid{grid-template-columns:1fr}.dashboard-focus-card{grid-template-columns:48px minmax(0,1fr)}.dashboard-focus-icon{width:48px;height:48px}.dashboard-focus-card form{grid-column:1/-1}.dashboard-focus-card .btn{width:100%}.dashboard-section-heading{align-items:center}.dashboard-work-panel .dashboard-work-trigger{grid-template-columns:36px minmax(0,1fr) 14px}.dashboard-work-panel .dashboard-work-count{grid-column:2;justify-self:start}.dashboard-work-panel .dashboard-work-arrow{grid-column:3;grid-row:1/3} }
@media(prefers-reduced-motion:reduce) { .dashboard-assistant * { transition:none!important; } }

/* Agenda: piloto visual compacto inspirado en la cabina de Inicio. No altera editor ni modales. */
body[data-active-module="agenda"] #main-content { background:radial-gradient(circle at 94% 2%,rgba(173,118,88,.12),transparent 23%),radial-gradient(circle at 12% 9%,rgba(91,103,204,.08),transparent 20%),linear-gradient(180deg,#f7f8fc 0,#fbfaf7 40%,#f5f1ec 100%); }
body[data-active-module="agenda"] .module-nav { margin-bottom:3px; padding:5px; border:1px solid rgba(218,209,204,.9); border-radius:13px; background:rgba(255,255,255,.85); box-shadow:0 7px 20px rgba(42,48,66,.045); }
body[data-active-module="agenda"] .module-nav .btn { min-height:34px; border-radius:8px; font-size:.75rem; }
body[data-active-module="agenda"] .agenda-layer-menu { margin:3px 0 8px; border-color:#e2ddd9; border-radius:13px; box-shadow:0 7px 20px rgba(42,48,66,.05); }
body[data-active-module="agenda"] .agenda-layer-menu > summary { min-height:34px; padding:6px 11px; color:#744d3b; background:linear-gradient(90deg,#fff8f3,#fbf9ff 72%,#f2f6ff); font-size:.76rem; }
body[data-active-module="agenda"] .agenda-layer-menu > summary small { font-size:.65rem; }
body[data-active-module="agenda"] .agenda-layer-menu .agenda-layers { flex-wrap:nowrap; gap:7px; padding:7px 10px; overflow-x:auto; background:rgba(255,255,255,.96); scrollbar-width:thin; }
body[data-active-module="agenda"] .agenda-layer-menu .agenda-layers label { flex:none; min-height:28px; padding:4px 9px; color:#59647a; border-color:#e1e5ed; background:#f8f9fc; font-size:.7rem; transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease; }
body[data-active-module="agenda"] .agenda-layer-menu .agenda-layers label:has(input:checked) { color:#33405c; border-color:#cfd8e8; background:#fff; box-shadow:0 4px 10px rgba(37,50,78,.07); }
body[data-active-module="agenda"] .agenda-layer-menu .agenda-layers input { width:13px; height:13px; }
body[data-active-module="agenda"] .agenda-grid-panel { margin:0 0 10px; border-color:#dfe2ea; border-radius:18px; box-shadow:0 16px 38px rgba(36,43,66,.09); }
body[data-active-module="agenda"] .agenda-grid-panel .agenda-toolbar { min-height:72px; padding:11px 15px; color:#fff; border-bottom:0; background:linear-gradient(118deg,#172a4d 0%,#40579f 48%,#7d5ac5 100%); }
body[data-active-module="agenda"] .agenda-toolbar-icon { width:42px; height:42px; color:#fff; background:linear-gradient(145deg,rgba(52,198,202,.78),rgba(255,255,255,.13)); border-color:rgba(255,255,255,.25); box-shadow:0 8px 17px rgba(12,27,63,.22); }
body[data-active-module="agenda"] .agenda-toolbar-heading small { color:#beeaf3; }
body[data-active-module="agenda"] .agenda-toolbar-heading strong { color:#fff; font-size:1.15rem; }
body[data-active-module="agenda"] .agenda-period-controls { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.12); }
body[data-active-module="agenda"] .agenda-period-controls .btn { color:#fff; }
body[data-active-module="agenda"] .agenda-period-controls .btn:hover,
body[data-active-module="agenda"] .agenda-period-controls .btn:focus-visible { color:#21345f; background:#fff; }
body[data-active-module="agenda"] .agenda-toolbar-actions > .form-select { min-height:36px; color:#273757; border-color:rgba(255,255,255,.68); background-color:#fff; }
body[data-active-module="agenda"] .agenda-create-button { min-height:36px; color:#fff; border-color:#da8853; background:linear-gradient(135deg,#df945d,#bd694f); box-shadow:0 8px 17px rgba(83,32,27,.25); }
body[data-active-module="agenda"] .agenda-create-button:hover,
body[data-active-module="agenda"] .agenda-create-button:focus-visible { border-color:#f0a36c; background:linear-gradient(135deg,#e9a16b,#c87559); }
body[data-active-module="agenda"] .agenda-findbar { gap:8px; padding:8px 12px; background:linear-gradient(90deg,#fafbfe,#fffaf7); }
body[data-active-module="agenda"] .agenda-event-search .form-control,
body[data-active-module="agenda"] .agenda-type-filter .form-select { min-height:35px; border-color:#dde2eb; border-radius:999px; background-color:#fff; font-size:.75rem; }
body[data-active-module="agenda"] .agenda-completed-toggle { min-height:31px; padding:4px 9px; border:1px solid #e0e4eb; border-radius:999px; background:#fff; font-size:.72rem; }
body[data-active-module="agenda"] .agenda-month-grid,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month { border-color:#e1e4eb; background:#fff; }
body[data-active-module="agenda"] .agenda-weekday { min-height:34px; justify-content:center; padding:6px; color:#55627b; border-color:#e3e6ed; background:linear-gradient(180deg,#f8f9fd,#f3f5fa); font-size:.66rem; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-day,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day { height:100px; min-height:100px; aspect-ratio:auto; padding:5px 6px; border-color:#e5e7ed; background:#fff; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-day:nth-child(7n+6),
body[data-active-module="agenda"] .agenda-month-grid .agenda-day:nth-child(7n),
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day:nth-child(7n+6),
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day:nth-child(7n) { background:#fcfafc; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-day.is-outside-month,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day.is-outside-month { background:#f5f6f9; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-day.is-today,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day.is-today { background:linear-gradient(145deg,#edf4ff,#f6f1ff); box-shadow:inset 3px 0 #6d67cc; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-day-heading,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day-heading { width:25px; height:25px; margin-bottom:3px; font-size:.74rem; }
body[data-active-module="agenda"] .agenda-month-grid .is-today .agenda-day-heading,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .is-today .agenda-day-heading { background:linear-gradient(145deg,#4e7ae5,#7659cf); box-shadow:0 5px 11px rgba(74,82,177,.24); }
body[data-active-module="agenda"] .agenda-month-grid .agenda-event,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-event { margin:2px 0; padding:3px 5px; border-left-width:3px; border-radius:7px; font-size:.64rem; line-height:1.18; box-shadow:0 3px 7px rgba(25,35,58,.11); }
body[data-active-module="agenda"] .agenda-month-grid .agenda-event:hover,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-event:hover { filter:brightness(1.04); transform:translateY(-1px); }
body[data-active-module="agenda"] .agenda-event-client { margin-bottom:1px; font-size:.6rem; }
body[data-active-module="agenda"] .agenda-event-status-flag { margin:-1px -2px 2px; padding:1px 4px; font-size:.55rem; }
body[data-active-module="agenda"] .agenda-month-grid .agenda-event-action,
body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-event-action { margin-top:2px; padding:1px 4px; font-size:.58rem; }
body[data-active-module="agenda"] .agenda-overlap-badge { padding:0 4px; font-size:.58rem; }
body[data-active-module="agenda"] .agenda-full-host { padding:11px 12px 14px; }
body[data-active-module="agenda"] .agenda-full-host .fc-col-header-cell { background:linear-gradient(180deg,#f8f9fd,#f3f5fa); }
body[data-active-module="agenda"] .agenda-full-host .fc-col-header-cell-cushion { padding:8px 4px; font-size:.68rem; }
body[data-active-module="agenda"] .agenda-full-host .fc-event { border-radius:7px; box-shadow:0 3px 8px rgba(25,35,58,.1); }
body[data-active-module="agenda"] .agenda-operations { gap:8px; margin-top:10px; }
body[data-active-module="agenda"] .agenda-operations-heading { min-height:46px; padding:7px 11px; border-color:#665998; background:linear-gradient(118deg,#293a68,#5861ab 56%,#9b6b9b); box-shadow:0 9px 21px rgba(45,48,91,.14); }
body[data-active-module="agenda"] .agenda-operation-panel { border-color:#dfe3eb; box-shadow:0 7px 17px rgba(38,47,70,.05); }
body[data-active-module="agenda"] .agenda-operation-panel > summary { min-height:50px; }
@media(max-width:800px) {
    body[data-active-module="agenda"] .agenda-grid-panel .agenda-toolbar { align-items:flex-start; flex-direction:column; }
    body[data-active-module="agenda"] .agenda-toolbar-actions { width:100%; justify-content:space-between; }
    body[data-active-module="agenda"] .agenda-month-grid .agenda-day,
    body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day { height:96px; min-height:96px; }
}
@media(max-width:600px) {
    body[data-active-module="agenda"] .agenda-layer-menu > summary small { display:none; }
    body[data-active-module="agenda"] .agenda-grid-panel .agenda-toolbar { padding:10px 11px; }
    body[data-active-module="agenda"] .agenda-findbar { padding:8px; }
    body[data-active-module="agenda"] .agenda-event-search .form-control,
    body[data-active-module="agenda"] .agenda-type-filter .form-select { border-radius:9px; }
    body[data-active-module="agenda"] .agenda-month-grid .agenda-day,
    body[data-active-module="agenda"] .agenda-calendar.agenda-calendar--month .agenda-day { height:92px; min-height:92px; }
}
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.stack-form { display: grid; gap: 16px; }
.compact-form { max-width: 560px; }
.form-grid label, .stack-form label { display: block; min-width: 0; font-weight: 650; }
.form-grid label > .form-control, .form-grid label > .form-select, .stack-form label > .form-control, .stack-form label > .form-select { display: block; margin-top: 5px; }
.field-label { display: inline; overflow-wrap: anywhere; }
.field-required, .required-note > span { color: #a21d35; white-space: nowrap; font-weight: 700; }
.required-note { margin: 0 0 10px; color: var(--color-muted); font-size: .8rem; }
label small { color: var(--color-muted); font-weight: 400; }
.span-2 { grid-column: span 2; }
.form-actions { display: flex; justify-content: flex-end; padding-top: 4px; }
.two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { color: var(--color-muted); font-size: .75rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
th, td { padding: 9px 10px; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
td small { display: block; color: var(--color-muted); }
td code, .permission-list code, .settings-list code { color: #6f42c1; font-size: .78rem; }
.empty { padding: 40px; color: var(--color-muted); text-align: center; }
.table-panel { padding: 0; overflow: hidden; }
.table-panel > .panel-heading { margin: 0; padding: 15px 17px; background: linear-gradient(110deg,#f4f7fc,#fbfcfe); border-bottom: 1px solid var(--color-border); box-shadow: inset 4px 0 var(--color-primary); }
.table-panel .table-wrap { padding: 12px 14px 14px; }
.property-inventory-wrap { padding-bottom: 6px; }
.property-inventory-table { width: 100%; min-width: 0; table-layout: auto; }
.property-inventory-table th,.property-inventory-table td,.dt-container .property-inventory-table th,.dt-container .property-inventory-table td { padding: 6px 5px; }
.property-inventory-table td { font-size: .72rem; line-height: 1.25; }
.property-inventory-table th { font-size: .62rem; letter-spacing: .015em; white-space: nowrap; }
.property-inventory-table td:first-child { min-width: 165px; max-width: 245px; white-space: normal; overflow-wrap: anywhere; }
.property-table-secondary { color: var(--color-muted); font-size: .67rem; font-weight: 500; }
.property-table-money,.property-table-number,.property-table-date { font-variant-numeric: tabular-nums; white-space: nowrap; }
.property-table-money,.property-table-number { text-align: right; }
.property-table-open { white-space: nowrap; }
.count-badge { align-self: center; padding: 4px 9px; color: var(--module-accent,var(--color-primary)); background: var(--module-accent-soft,#f1f4fa); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.module-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; padding: 7px; background: white; border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 4px 14px rgba(23,32,51,.04); }
.module-nav .btn { min-height: 34px; padding: 6px 11px; font-size: .78rem; }
.module-nav .btn.active { color: white; background: var(--color-primary); border-color: var(--color-primary); }
.dt-container { font-size: .82rem; }
.dt-container .dt-layout-row { align-items: center; gap: 8px; margin: 7px 0; }
.dt-container .dt-layout-row:last-child { min-height: 44px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--color-border); }
.dt-container .dt-search input, .dt-container .dt-length select { min-height: 34px; padding: 5px 9px; border: 1px solid var(--color-border); border-radius: 6px; }
.dt-container .dt-search input { width: min(240px,60vw); }
.dt-container .dt-buttons { display: flex; flex-wrap: wrap; gap: 4px; }
.dt-container .dt-button { margin: 0; padding: 6px 9px; color: #345078; background: white; border: 1px solid #cad7e8; border-radius: 6px; font-size: .74rem; }
.dt-container .dt-button:hover { color: var(--color-primary); background: #edf3fb; border-color: #9fb6d5; }
.dt-container .dt-button span { display: inline-flex; align-items: center; gap: 5px; }
.dt-container .dt-paging { display: flex !important; visibility: visible !important; align-items: center; justify-content: flex-end; gap: 3px; min-height: 34px; }
.dt-container .dt-paging .dt-paging-button { min-width: 32px; min-height: 32px; margin: 0 !important; padding: 4px 8px !important; color: #35506f !important; background: #fff !important; border: 1px solid #cad7e8 !important; border-radius: 6px !important; }
.dt-container .dt-paging .dt-paging-button.current { color: #fff !important; background: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.dt-container .dt-paging .dt-paging-button.disabled { color: #9aa7b8 !important; background: #f5f7fa !important; opacity: .72; }
table.dataTable > tbody > tr.child ul.dtr-details { width: 100%; }
table.dataTable > tbody > tr.child span.dtr-title { min-width: 110px; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 999px; font-size: .78rem; font-weight: 750; }
.status.on { color: var(--color-success); background: #eaf7f0; }
.status.off { color: var(--color-danger); background: #fff0ee; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 3px; }
.row-actions form { margin: 0; }
.row-editor { position: relative; }
.row-editor > summary { list-style: none; }
.row-editor > summary::-webkit-details-marker { display: none; }
.popover-form { position: absolute; z-index: 20; right: 0; display: grid; width: min(360px,80vw); gap: 11px; padding: 18px; background: white; border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 18px 45px rgba(23,32,51,.16); }
.popover-form label { display: grid; gap: 4px; color: var(--color-muted); font-size: .8rem; }
#main-content .modal-content { border: 0; border-radius: 13px; box-shadow: 0 24px 70px rgba(23,32,51,.2); }
#main-content .modal-header { padding: 16px 19px; background: linear-gradient(110deg,#f5f8fc,#fff); border-color: var(--color-border); }
#main-content .modal-title { color: #172033; font-weight: 800; }
#main-content .modal-body { padding: 19px; }
#main-content .modal-footer { padding: 12px 19px; background: #fbfcfe; border-color: var(--color-border); }
#main-content .dynamic-editor-modal .modal-dialog { max-width: 620px; }
#main-content .dynamic-editor-modal .modal-content { overflow: hidden; border: 0; border-radius: 14px; box-shadow: 0 24px 70px rgba(23,32,51,.24); }
#main-content .dynamic-editor-modal .modal-header { align-items: flex-start; padding: 17px 20px; color: white; background: linear-gradient(120deg,#3b4658,#5871ae); border: 0; }
#main-content .dynamic-editor-modal .modal-header > div { display: grid; gap: 2px; }
#main-content .dynamic-editor-modal .modal-header .modal-title { color: white; }
#main-content .dynamic-editor-modal .modal-header .eyebrow { color: #cbd8ff; }
#main-content .dynamic-editor-modal .modal-header .text-secondary { color: rgba(255,255,255,.76) !important; }
#main-content .dynamic-editor-modal .modal-header .btn-close { margin-top: 0; filter: brightness(0) invert(1); }
#main-content .dynamic-editor-modal .modal-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; padding: 20px; background: #fbfcfe; }
#main-content .dynamic-editor-modal .modal-body > label { display: grid; gap: 5px; color: #3e4c63; font-size: .78rem; font-weight: 700; }
#main-content .dynamic-editor-modal .modal-body > label:only-of-type { grid-column: 1/-1; }
#main-content .dynamic-editor-modal .modal-footer { padding: 12px 20px; background: white; border-color: var(--color-border); }
.form-control.is-autosaved, .form-select.is-autosaved, .form-check-input.is-autosaved { border-color: #2f9e65; background-color: #effaf4; box-shadow: 0 0 0 .2rem rgba(47,158,101,.14); transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.form-control.is-autosave-error, .form-select.is-autosave-error, .form-check-input.is-autosave-error { border-color: var(--color-danger); background-color: #fff3f2; box-shadow: 0 0 0 .2rem rgba(207,68,56,.12); }
.create-box { padding: 0; overflow: hidden; border: 0; box-shadow: 0 10px 28px rgba(23,32,51,.11); }
.create-box > summary { display: flex; min-height: 66px; align-items: center; gap: 12px; padding: 13px 17px; color: white; background: linear-gradient(115deg,#17345f 0%,var(--color-primary) 100%); list-style: none; cursor: pointer; }
.create-box > summary::-webkit-details-marker { display: none; }
.create-box > summary::after { margin-left: auto; font-family: "bootstrap-icons"; font-size: 1rem; content: "\f282"; transition: transform .18s ease; }
.create-box[open] > summary::after { transform: rotate(180deg); }
.create-box > summary:hover { background: linear-gradient(115deg,#142d52 0%,var(--color-primary-strong) 100%); }
.create-box > summary .action-card-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 10px; }
.create-box > summary .action-card-icon i { font-size: 1.12rem; }
.create-box > summary .action-card-copy { display: grid; gap: 1px; line-height: 1.3; }
.create-box > summary .action-card-copy strong { font-size: .94rem; }
.create-box > summary .action-card-copy small { color: rgba(255,255,255,.78); font-size: .76rem; font-weight: 500; }
.create-box > form { padding: clamp(17px,2vw,22px); }
.create-box .form-actions { margin-top: 2px; padding-top: 15px; border-top: 1px solid var(--color-border); }
.create-box .btn-primary { min-height: 40px; padding-inline: 18px; border-radius: 8px; font-weight: 700; box-shadow: 0 5px 12px rgba(49,91,218,.18); }
.create-box--property > summary { background: linear-gradient(115deg,#4c0717 0%,#7d2436 100%); }
.create-box--property > summary:hover { background: linear-gradient(115deg,#3f0513 0%,#6e1d30 100%); }
.create-box--settings > summary { color: #fff8e7; background: linear-gradient(115deg,#182033 0%,#3e4659 100%); box-shadow: inset 4px 0 var(--color-gold); }
.create-box--settings > summary:hover { background: linear-gradient(115deg,#111827 0%,#343c4e 100%); }
.agenda-settings-panel > .panel-heading { margin-bottom: 16px; }
.agenda-create-box { margin-bottom: 20px; border: 1px solid var(--color-border); border-radius: 11px; }
.agenda-create-box > summary { border-radius: 10px; }
.agenda-create-box[open] > summary { border-radius: 10px 10px 0 0; }
.record-carousel-toolbar { display: none; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.record-carousel.is-ready .record-carousel-toolbar { display: flex; }
.record-carousel-controls { display: flex; align-items: center; gap: 10px; }
.record-carousel-controls [data-record-position] { min-width: 66px; color: var(--color-muted); font-size: .82rem; font-weight: 700; text-align: center; white-space: nowrap; }
.record-carousel-jump { display: flex; align-items: center; gap: 8px; width: min(100%, 400px); }
.record-carousel-jump[hidden], .record-card[hidden] { display: none; }
.record-carousel-jump label { flex: 0 0 auto; color: var(--color-muted); font-size: .8rem; font-weight: 650; }
.record-carousel-jump select { min-width: 0; }
.record-carousel-list { display: grid; gap: 14px; }
.record-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--color-border); border-radius: 11px; box-shadow: 0 5px 18px rgba(23,32,51,.06); }
.record-card-header { display: flex; align-items: center; gap: 12px; padding: 14px 17px; background: linear-gradient(100deg,color-mix(in srgb,var(--record-accent) 10%,white),#fff); border-left: 4px solid var(--record-accent); border-bottom: 1px solid var(--color-border); }
.record-card-header > div { flex: 1; min-width: 0; }
.record-card-header h3 { margin: 0; font-size: 1rem; font-weight: 750; overflow-wrap: anywhere; }
.record-card-header small { display: block; margin-top: 3px; color: var(--color-muted); font-size: .77rem; overflow-wrap: anywhere; }
.record-card-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; color: var(--record-accent); background: #fff; border: 1px solid var(--color-border); border-radius: 9px; font-size: 1.1rem; }
.record-card-form { padding: clamp(15px,2vw,20px); }
.record-card-form .form-actions, .agenda-create-form .form-actions { justify-content: flex-end; margin-top: 3px; padding-top: 14px; border-top: 1px solid var(--color-border); }
@media (max-width: 650px) { .record-carousel-toolbar, .record-carousel-controls { width: 100%; } .record-carousel-controls { justify-content: space-between; gap: 5px; } .record-carousel-controls .btn { padding-inline: 9px; } .record-carousel-jump { flex-wrap: wrap; } .record-carousel-jump label, .record-carousel-jump select { width: 100%; } .record-card-header { flex-wrap: wrap; padding: 12px; } .record-card-header .badge { margin-left: 52px; } }
.permission-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; padding: 18px; background: #fbfcfe; border: 1px solid var(--color-border); border-radius: 10px; }
.permission-list legend { float: none; width: auto; padding: 0 6px; font-size: .9rem; font-weight: 750; }
.permission-list h3 { grid-column: span 2; margin: 12px 0 3px; color: var(--color-muted); font-size: .76rem; text-transform: uppercase; }
.permission-list label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.permission-list code { margin-left: auto; }
.matrix-wrap { overflow-x: auto; }
.permission-matrix { min-width: 680px; }
.permission-matrix th:first-child, .permission-matrix td:first-child { position: sticky; left: 0; z-index: 2; min-width: 210px; background: white; }
.permission-matrix thead th:first-child { z-index: 3; background: #f5f8fc; }
.permission-matrix th:not(:first-child) { min-width: 120px; text-align: center; }
.permission-matrix .form-check-input { width: 1.05rem; height: 1.05rem; cursor: pointer; }
.filter-bar { display: flex; gap: 10px; margin-bottom: 18px; }
.settings-list { padding: 0; overflow: hidden; }
.setting-row { display: grid; grid-template-columns: minmax(180px,1fr) minmax(220px,2fr) auto; align-items: center; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--color-border); }
.setting-row:last-child { border-bottom: 0; }
.setting-row label { display: flex; flex-direction: column; }
.menu-admin { padding: 0; overflow: hidden; }
.menu-admin-row { display: grid; grid-template-columns: 120px 1.2fr 1fr 1fr 1.1fr 75px 70px auto; align-items: end; gap: 12px; padding: 15px 18px; border-bottom: 1px solid var(--color-border); }
.menu-admin-row:last-child { border-bottom: 0; }
.menu-admin-row label { display: grid; gap: 5px; color: var(--color-muted); font-size: .78rem; }
.menu-admin-row .check { display: flex; min-height: 44px; flex-direction: row; align-items: center; }
.menu-preview { display: flex; align-items: center; gap: 8px; align-self: center; }
.profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.visibility-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; }
.visibility-card { display: grid; gap: 9px; padding: 16px; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: 9px; }
.visibility-card label { display: flex; align-items: center; gap: 8px; }

.record-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; padding: 18px 20px; color: white; background: linear-gradient(125deg,#182033,#27436d); border-radius: 10px; }
.record-hero h2 { margin: 0; font-size: 1.35rem; }
.record-hero p { margin: 5px 0 0; color: #dbe4f2; }
.record-hero .eyebrow { color: #bcd0ff; }
.record-hero form { margin: 0; }
.copy-row { display: flex; gap: 8px; margin-top: 12px; }
.copy-row .form-control { flex: 1; }
.invitation-panel { border-left: 4px solid var(--color-primary); }
.invitation-panel h2 { margin-bottom: 4px; }
.invitation-panel p { margin: 0; color: var(--color-muted); }
.service-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.service-chip { display: inline-grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 8px; padding: 8px 11px; color: #28466f; background: #edf3fb; border: 1px solid #d5e2f2; border-radius: 8px; font-size: .8rem; font-weight: 700; }
.service-chip i { grid-row: span 2; }
.service-chip small { color: var(--color-muted); font-size: .68rem; font-weight: 500; }
.inline-form { display: flex; gap: 8px; }
.inline-form .form-select { flex: 1; }
.timeline { position: relative; display: grid; gap: 12px; }
.timeline-item { display: grid; grid-template-columns: 34px 1fr; gap: 10px; }
.timeline-marker { display: grid; position: relative; width: 30px; height: 30px; z-index: 1; place-items: center; color: var(--color-primary); background: #edf1ff; border: 1px solid #cfd9f7; border-radius: 50%; }
.timeline-item:not(:last-child) .timeline-marker::after { position: absolute; top: 30px; bottom: -18px; left: 14px; width: 1px; background: var(--color-border); content: ''; }
.timeline-item.is-complete .timeline-marker { color: var(--color-success); background: #eaf7f0; border-color: #bde2ce; }
.timeline-content { min-width: 0; padding: 12px 14px; background: #fafbfc; border: 1px solid var(--color-border); border-radius: 8px; }
.timeline-content header, .timeline-content footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.timeline-content header div { display: grid; }
.timeline-content header span, .timeline-content footer { color: var(--color-muted); font-size: .76rem; }
.timeline-content footer { margin-top: 9px; }
.timeline-content footer form { margin-left: auto; }
.rich-content { overflow-wrap: anywhere; margin-top: 9px; }
.rich-content > :last-child { margin-bottom: 0; }
.rich-content table { width: 100%; }
.interview-list { display: grid; gap: 10px; }
.interview-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: 9px; }
.interview-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; background: #f8fafc; list-style: none; cursor: pointer; }
.interview-card > summary::-webkit-details-marker { display: none; }
.interview-card > summary > span:first-child { display: grid; }
.interview-card > summary small { color: var(--color-muted); }
.interview-body { display: grid; gap: 16px; padding: 16px; }
.interview-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.answer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.answer-grid section { padding: 12px; background: #f8fafc; border-radius: 8px; }
.answer-grid h3, .review-form h3 { margin: 0 0 10px; font-size: .9rem; }
.answer-grid section div { display: grid; gap: 2px; padding: 7px 0; border-bottom: 1px solid var(--color-border); }
.answer-grid section strong { font-size: .75rem; }
.answer-grid section span { color: var(--color-muted); font-size: .8rem; }
.compact-pending { gap: 8px; }
.check-list, .inquiry-list { display: grid; gap: 7px; margin-top: 12px; }
.check-row { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 8px; padding: 8px; background: #f8fafc; border-radius: 7px; }
.check-button { padding: 1px; color: var(--color-muted); background: none; border: 0; }
.check-button.is-checked { color: var(--color-success); }
.check-row span { display: grid; }
.check-row small { color: var(--color-muted); }
.property-hero { background: linear-gradient(125deg,#4e0718,#7d2436); }
.property-hero .btn { color: white; border-color: rgba(255,255,255,.55); }
.property-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.property-gallery figure { min-width: 0; margin: 0; overflow: hidden; background: #f1f3f6; border: 1px solid var(--color-border); border-radius: 8px; }
.property-gallery img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.property-gallery figcaption { overflow: hidden; padding: 6px 8px; color: var(--color-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.property-gallery .empty { grid-column: 1/-1; }
.upload-box { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--color-border); }
.inquiry-list article { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; padding: 9px; background: #f8fafc; border-radius: 7px; }
.inquiry-list article div { display: grid; }
.inquiry-list article small { color: var(--color-muted); }
.inquiry-list article p { flex: 0 0 100%; margin: 3px 0 0; color: var(--color-muted); font-size: .78rem; }
.agenda-form { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--color-border); }
.global-contact-button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
#global-contact-modal .modal-content { overflow: hidden; border: 0; border-radius: 14px; box-shadow: 0 28px 80px rgba(23,32,51,.25); }
#global-contact-modal .modal-header { align-items: flex-start; color: white; background: linear-gradient(120deg,#3b4658,#5871ae); border: 0; }
#global-contact-modal .modal-header .eyebrow { margin: 0; color: #cbd8ff; }
#global-contact-modal .modal-header p { margin: 4px 0 0; color: #dbe4f2; }
#global-contact-modal .modal-body { padding: 20px; background: #fbfcfe; }
#global-contact-modal .modal-footer { background: white; }
.duplicate-review { margin-top: 16px; padding: 14px; color: #7a2e0e; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 9px; }
.duplicate-review > p { margin: 3px 0 9px; font-size: .8rem; }
.duplicate-match { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #fed7aa; }
.duplicate-match span { display: grid; }
.duplicate-match small { color: #8a5944; }
.duplicate-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.context-property-note { margin-top: 14px; padding: 10px 12px; color: #155e3d; background: #eaf7f0; border-radius: 8px; }
.quick-filters { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px 0; }
.record-actions, .heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.record-actions form, .heading-actions form { margin: 0; }
.crm-tabs { position: sticky; top: 66px; z-index: 10; }
.crm-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.crm-summary article { display: grid; gap: 2px; min-width: 0; padding: 13px 15px; background: white; border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 4px 14px rgba(23,32,51,.04); }
.crm-summary span, .crm-summary small { color: var(--color-muted); font-size: .73rem; }
.crm-summary strong { overflow-wrap: anywhere; font-size: .93rem; }
.interest-list, .property-relations { display: grid; gap: 8px; }
.interest-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; background: #f8fafc; border-radius: 8px; }
.interest-editor { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,190px); align-items:center; gap:12px; }
.interest-row span { display: grid; grid-template-columns: auto 1fr; gap: 1px 8px; align-items: center; }
.interest-row i { grid-row: span 2; color: var(--color-primary); }
.interest-row small { color: var(--color-muted); }
.property-link-form { position: relative; display: grid; grid-template-columns: minmax(220px,2fr) minmax(150px,1fr) minmax(190px,1.4fr) auto; align-items: end; gap: 10px; margin-bottom: 14px; }
.property-link-form label { display: grid; gap: 5px; font-weight: 650; }
.property-link-form > label:first-of-type { position: relative; }
.property-search-results { position: absolute; top: 68px; left: 0; z-index: 12; display: grid; width: min(620px,90vw); max-height: 250px; overflow: auto; background: white; border: 1px solid var(--color-border); border-radius: 8px; box-shadow: 0 14px 36px rgba(23,32,51,.16); }
.property-search-results:empty { display: none; }
.property-search-option { padding: 10px 12px; color: var(--color-text); background: white; border: 0; border-bottom: 1px solid var(--color-border); text-align: left; }
.property-search-option:hover { background: #edf3fb; }
.contact-link-form { position: relative; }
.contact-link-form label { display: grid; gap: 5px; font-weight: 650; }
.contact-search-results { position: absolute; top: 66px; left: 0; right: 0; z-index: 12; display: grid; max-height: 240px; overflow: auto; background: white; border: 1px solid var(--color-border); border-radius: 8px; box-shadow: 0 14px 36px rgba(23,32,51,.16); }
.contact-search-results:empty { display: none; }
.property-relations article { display: grid; grid-template-columns: minmax(180px,1fr) minmax(280px,1.5fr) auto; align-items: center; gap: 10px; padding: 11px 12px; background: #f8fafc; border-radius: 8px; }
.property-relations article > div { display: grid; }
.property-relations small { color: var(--color-muted); }
.relation-editor { display: grid; grid-template-columns: minmax(130px,.7fr) minmax(150px,1fr); gap: 8px; }
.extension-panel { display: flex; align-items: center; gap: 14px; border-style: dashed; }
.extension-panel > i { color: var(--color-primary); font-size: 1.6rem; }
.extension-panel div { flex: 1; }
.extension-panel p { margin: 4px 0 0; color: var(--color-muted); }
.case-hero { background:linear-gradient(125deg,#793a42,#ad5c62); }
.case-hero .btn { color:white; border-color:rgba(255,255,255,.55); }
.case-duplicate-warning { padding:9px 11px; color:#155e3d; background:#eaf7f0; border-radius:8px; }
.case-duplicate-warning.has-warning { color:#7a2e0e; background:#fff7ed; border:1px solid #fed7aa; }
.case-card-list { display:grid; gap:8px; margin-top:12px; }
.case-card-list > article { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; background:#f8fafc; border-radius:8px; }
.case-card-list > article > div { display:grid; min-width:0; }
.case-card-list small { color:var(--color-muted); }
.case-card-list .is-muted { opacity:.62; }
.case-bank-row { display:grid; grid-template-columns:minmax(160px,1fr) 150px minmax(180px,1.2fr) auto auto; align-items:center; gap:8px; padding:10px; background:#f8fafc; border-radius:8px; }
.candidate-strip { display:flex; gap:6px; overflow-x:auto; margin:10px 0; padding-bottom:5px; }
.candidate-strip a { flex:0 0 auto; padding:5px 9px; color:var(--color-primary); background:#edf3fb; border-radius:999px; text-decoration:none; }
.case-danger { margin-top:12px; padding-top:10px; border-top:1px solid var(--color-border); }
.case-danger > summary { cursor:pointer; color:var(--color-danger); font-weight:700; }
.case-filtered-out { display:none !important; }
.case-filter-bar { display:grid; grid-template-columns:repeat(5,minmax(135px,1fr)); gap:8px; padding:12px 16px 0; }
.stage-admin { display:grid; gap:18px; }
.stage-edit-row { display:grid; grid-template-columns:minmax(170px,1.2fr) minmax(150px,1fr) 130px 55px 90px auto auto auto; align-items:center; gap:7px; flex:1; }
.jodit-container { border-color: var(--color-border) !important; border-radius: 7px !important; }
.public-form-page { min-height: 100vh; padding: 28px 14px; background: #eef1f6; }
.public-form-shell { width: min(960px,100%); margin: 0 auto; }
.public-form-header { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; padding: 18px; color: white; background: linear-gradient(125deg,#4e0718,#7d2436); border-radius: 12px; }
.public-form-header img { width: 62px; height: 62px; border-radius: 12px; }
.public-form-header span { font-size: .75rem; font-weight: 800; letter-spacing: .13em; }
.public-form-header h1 { margin: 2px 0; font-size: 1.45rem; }
.public-form-header p { margin: 0; color: #f4dfe4; }
.public-message { padding: 50px 22px; text-align: center; }
.public-message > i { color: var(--color-primary); font-size: 2rem; }
.public-verification { max-width: 560px; margin-inline: auto; }
.public-interview-form { display: grid; gap: 14px; }
.interview-section { margin: 0; }
.public-form-actions { position: sticky; bottom: 10px; display: flex; justify-content: flex-end; gap: 8px; padding: 12px; background: rgba(255,255,255,.94); border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 10px 30px rgba(23,32,51,.12); backdrop-filter: blur(10px); }

.login-page { display: grid; min-height: 100vh; place-items: center; padding: clamp(18px,4vw,48px); background: #eef1f6; }
.login-panel { display: grid; width: min(960px,100%); min-height: 540px; grid-template-columns: 1fr 1fr; overflow: hidden; background: white; border: 1px solid var(--color-border); border-radius: 16px; box-shadow: 0 24px 70px rgba(23,32,51,.12); }
.login-panel.single { width: min(520px,100%); min-height: auto; grid-template-columns: 1fr; }
.login-copy { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: clamp(28px,5vw,58px); color: white; text-align: center; background: #182033; }
.login-copy-logo { display: block; width: min(220px,65%); height: auto; aspect-ratio: 1; object-fit: cover; border: 1px solid rgba(244,206,129,.36); border-radius: 22px; box-shadow: 0 16px 38px rgba(0,0,0,.22); }
.login-copy h1 { margin: 0; color: #f7e0aa; font-size: clamp(2.55rem,4vw,3.6rem); font-weight: 750; letter-spacing: .065em; line-height: 1; }
.login-copy .login-company-name { max-width: 300px; margin: 10px auto 0; color: #f5f6fa; font-size: .95rem; font-weight: 650; line-height: 1.35; }
.login-copy .login-tagline { max-width: 310px; margin: 22px auto 0; color: #c5ccda; font-size: .89rem; line-height: 1.5; }
.login-form-wrap { align-self: center; padding: clamp(32px,6vw,68px); }
.login-form-wrap h1, .login-form-wrap h2 { margin: 0 0 5px; letter-spacing: -.035em; }
.login-brand { display: none; align-items: center; gap: 12px; }
.login-brand img { flex: 0 0 52px; border-radius: 12px; }
.login-brand span { display: grid; gap: 2px; min-width: 0; }
.login-brand strong { font-size: 1.12rem; letter-spacing: .045em; }
.login-brand small { color: var(--color-muted); font-size: .72rem; line-height: 1.3; }
.login-form-wrap .btn-lg { display: flex; align-items: center; justify-content: space-between; margin-top: 5px; }
.recovery-box { margin-top: 24px; color: var(--color-muted); }
.recovery-box summary { cursor: pointer; }
.recovery-box form { display: grid; gap: 12px; margin-top: 14px; }

@media (max-width: 1100px) {
    .menu-admin-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .menu-preview { grid-column: span 2; }
}
@media (max-width: 820px) {
    .sidebar { width: min(86vw,var(--sidebar-width)); }
    .metric-grid { grid-template-columns: 1fr; }
    .two-column { grid-template-columns: 1fr; }
    .profile-grid { grid-template-columns: 1fr; }
    .login-panel { min-height: 0; grid-template-columns: 1fr; }
    .login-copy { display: none; }
    .login-brand { display: flex; margin-bottom: 28px; }
    .answer-grid { grid-template-columns: 1fr; }
    .crm-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .property-link-form { grid-template-columns: 1fr 1fr; }
    .property-link-form > label:first-of-type { grid-column: 1/-1; }
    .property-relations article { grid-template-columns: 1fr auto; }
    .case-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .property-relations .relation-editor { grid-column: 1/-1; grid-row: 2; }
}
@media (max-width: 620px) {
    .content { padding: 20px 14px; }
    .topbar { padding-inline: 12px; }
    .date-chip { display: none; }
    .user-copy { display: none; }
    .global-contact-button span { display: none; }
    .form-grid, .permission-list { grid-template-columns: 1fr; }
    #main-content .dynamic-editor-modal .modal-dialog { margin: 10px; }
    #main-content .dynamic-editor-modal .modal-body { grid-template-columns: 1fr; padding: 16px; }
    .create-box > summary { min-height: 60px; padding: 11px 13px; }
    .create-box > summary .action-card-icon { flex-basis: 36px; width: 36px; height: 36px; }
    .module-nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
    .module-nav .btn { flex: 0 0 auto; white-space: nowrap; }
    .span-2, .permission-list h3 { grid-column: span 1; }
    .filter-bar { align-items: stretch; flex-direction: column; }
    .setting-row, .menu-admin-row { grid-template-columns: 1fr; }
    .menu-preview { grid-column: span 1; }
    .login-page { padding: 0; background: white; }
    .login-panel { border: 0; border-radius: 0; box-shadow: none; }
    .login-form-wrap { padding: 30px 22px; }
    .dt-container .dt-layout-row { align-items: stretch; flex-direction: column; }
    .dt-container .dt-layout-cell { width: 100%; }
    .dt-container .dt-search input { width: 100%; margin: 0; }
    .dt-container .dt-buttons { display: grid; grid-template-columns: repeat(3,1fr); }
    .dt-container .dt-button span span { display: none; }
    .record-hero, .copy-row, .timeline-content header, .timeline-content footer { align-items: stretch; flex-direction: column; }
    .crm-summary { grid-template-columns: 1fr; }
    .crm-tabs { top: 62px; }
    .interest-row, .interest-editor, .property-link-form, .relation-editor, .case-bank-row, .stage-edit-row { grid-template-columns: 1fr; }
    .property-link-form > label:first-of-type { grid-column: auto; }
    .property-relations article { grid-template-columns: 1fr auto; }
    .duplicate-match { align-items: stretch; flex-direction: column; }
    .record-hero .btn { width: 100%; }
    .copy-row .btn, .copy-row a { width: 100%; }
    .property-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-form-page { padding: 0; background: white; }
    .public-form-header { border-radius: 0; }
    .public-form-shell > .panel, .public-interview-form .panel { border-inline: 0; border-radius: 0; }
    .public-form-actions { bottom: 0; border-radius: 0; }
    .case-filter-bar { grid-template-columns:1fr; }
}
.interview-progress { display:grid; grid-template-columns:minmax(180px,1fr) auto; gap:12px; align-items:center; margin-bottom:18px; }
.interview-progress .progress { height:8px; background:#eadde1; }
.interview-progress .progress-bar { background:linear-gradient(90deg,#5b0013,#b78a32); }
.interview-section { border:0; margin:0; padding:0; min-width:0; }
.interview-section[hidden],.public-interview-form [data-profile-condition][hidden],.interview-capture-form [data-profile-condition][hidden] { display:none !important; }
.interview-section > legend { color:#5b0013; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.interview-section-actions,.interview-final-actions { display:flex; gap:10px; align-items:end; justify-content:flex-end; margin-top:18px; flex-wrap:wrap; }
.repeatable-group { margin-top:18px; padding:14px; border:1px solid #eadde1; border-radius:12px; background:#fbf8f9; }
.repeatable-group h3 { font-size:.95rem; color:#5b0013; }
.repeatable-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; padding:10px 0; border-top:1px dashed #d8c8cd; }
.repeatable-row:first-of-type { border-top:0; }
.snapshot-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:10px; margin-bottom:14px; }
.snapshot-grid article { padding:12px; border-radius:10px; background:#f7f2f3; border:1px solid #eadde1; }
.snapshot-grid span,.snapshot-grid strong { display:block; }
.snapshot-grid span { color:#667085; font-size:.78rem; }.snapshot-grid strong { color:#5b0013; margin-top:3px; }
.seal-card { display:grid; gap:5px; padding:14px; margin-top:14px; border-left:4px solid #b78a32; background:#fff9e9; border-radius:8px; overflow-wrap:anywhere; }
.pdf-list,.template-version-list,.comparison-list { display:grid; gap:10px; margin-top:14px; }
.pdf-list article,.template-version-list>article,.comparison-list article { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; border:1px solid #e5e7eb; border-radius:10px; }
.pdf-list span,.template-version-list span,.comparison-list strong,.comparison-list del,.comparison-list ins { display:block; }.comparison-list del { color:#9b1c1c; }.comparison-list ins { color:#567463; text-decoration:none; }
.template-question-list { display:grid; gap:8px; margin-top:12px; }.template-question-editor { display:grid; grid-template-columns:2fr 2fr 1fr 1fr 90px auto; gap:7px; align-items:center; }
.snapshot-selector { display:grid; gap:8px; }.snapshot-selector label { display:grid; grid-template-columns:auto 1fr; column-gap:8px; padding:10px; border:1px solid #e5e7eb; border-radius:9px; }.snapshot-selector span { grid-column:2; color:#667085; font-size:.8rem; }
.consent-panel { display:grid; gap:14px; margin-top:16px; }.consent-copy { max-height:280px; overflow:auto; padding:14px; background:#f7f7f7; border-radius:9px; white-space:normal; }
.public-interview-page { background:#f6f2f3; min-height:100vh; padding:22px; }.public-interview-shell { max-width:980px; margin:auto; }.public-interview-header { display:flex; gap:14px; align-items:center; padding:22px; margin-bottom:16px; color:white; background:linear-gradient(135deg,#5b0013,#7c1830); border-radius:16px; }.public-interview-header h1 { margin:2px 0; }.public-interview-header .eyebrow { color:#e7c970; }.public-access-card { max-width:620px; margin:35px auto; text-align:center; }.public-access-card>i { font-size:2.4rem; color:#5b0013; }

.product-workspace .panel-heading { align-items:center; }
.product-contract-state { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid #cfd8e3; border-radius:999px; color:#526273; background:#f7f9fb; font-size:.82rem; font-weight:700; }
.product-contract-state.is-related { color:#315f85; border-color:#b9cfe2; background:#eef5fb; }
.product-contract-state.is-contracted { color:#276445; border-color:#afd2bf; background:#edf8f1; }
.product-picker { display:grid; grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr); gap:18px; align-items:end; padding:18px; }
.product-picker label { display:grid; gap:7px; color:var(--color-muted); font-weight:700; }
.product-picker-copy { display:flex; align-items:center; gap:12px; min-height:58px; padding:10px 14px; border:1px solid var(--color-border); border-radius:12px; background:#f8fafc; }
.product-picker-copy>i { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; color:#fff; background:#607d9b; font-size:1.15rem; }
.product-picker-copy div { display:grid; gap:2px; }.product-picker-copy small { color:var(--color-muted); }
.product-subnav { display:flex; flex-wrap:wrap; gap:8px; padding:0 18px 18px; }
.product-requirements .requirements-preview { padding:20px; min-height:120px; }
.document-manager .panel-heading>div:first-child h2 i,.product-workspace h2 i,.product-requirements h2 i { margin-right:6px; }
.document-preview-body { min-height:72vh; padding:0; background:#edf1f5; }
.document-preview-body iframe { display:block; width:100%; min-height:70vh; border:0; background:#fff; }
.document-preview-body>p { margin:8px 14px 12px; }
@media (max-width:767px){.product-picker{grid-template-columns:1fr}.product-contract-state{align-self:flex-start}.document-preview-body,.document-preview-body iframe{min-height:62vh}}
@media (max-width:767px){.interview-progress{grid-template-columns:1fr}.interview-section-actions,.interview-final-actions{align-items:stretch;flex-direction:column}.interview-section-actions .btn,.interview-final-actions .btn{width:100%}.template-question-editor{grid-template-columns:1fr}.pdf-list article,.template-version-list>article{align-items:stretch;flex-direction:column}.public-interview-page{padding:0}.public-interview-header{border-radius:0}.repeatable-row{grid-template-columns:1fr}.consent-panel{border-radius:0}}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.share-preview{border:2px solid #5b0013;border-radius:12px;padding:18px;margin:18px 0;background:#fdfbfc}
.share-preview header h1{color:#5b0013}.share-preview .share-card{border:1px solid #e7dce0;border-radius:10px;padding:16px;margin:14px 0;background:#fff}
.share-preview dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.share-preview dt{font-size:.8rem;color:#665b60}.share-preview dd{margin:0;font-weight:600}
.share-gallery{display:flex;gap:10px;overflow-x:auto}.share-gallery figure{min-width:160px;margin:0}.share-gallery img{width:160px;height:120px;object-fit:cover;border-radius:8px}
.property-share-workspace .panel-heading h2 i{margin-right:.35rem}.property-share-link-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin:18px;padding:16px;border:1px solid #d9e6dc;border-radius:14px;background:linear-gradient(135deg,#f3f8f4,#fffaf0)}.property-share-link-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#426b52;color:#fff;font-size:1.35rem}.property-share-link-card>div{min-width:0;display:grid;gap:3px}.property-share-link-card small{color:var(--color-muted)}.property-share-copy-link{display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:7px 0;border:0;background:transparent;color:#5b0013;text-align:left;font-weight:700}.property-share-copy-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-share-copy-link i{flex:0 0 auto}.property-share-copy-link.is-copied{color:#28643f}.property-share-form{padding:0 18px 18px}.property-share-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px}.property-share-actions form{margin:0}@media(max-width:600px){.property-share-link-card{grid-template-columns:1fr}.property-share-link-icon{width:40px;height:40px}.property-share-actions,.property-share-actions form,.property-share-actions .btn{width:100%}}
.comparison-table{min-width:650px}.comparison-table .comparison-different{background:#fff7df}.property-gallery figure[draggable="true"]{cursor:grab}
.property-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 16px}.property-filters label{font-size:.82rem;font-weight:600}
.property-gallery[data-gallery-sort]{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.property-gallery[data-gallery-sort] figure{flex:0 0 min(280px,78vw);scroll-snap-align:start}.property-gallery[data-gallery-sort] img{width:100%;height:180px;object-fit:cover}
.property-selected-list{display:flex;flex-wrap:wrap;gap:8px}.selected-property-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #dbc8ce;border-radius:8px;background:#fff}
#property-import .table-wrap td{vertical-align:top;max-width:22rem;overflow-wrap:anywhere}
#property-import .table-wrap details{min-width:14rem;margin-top:.35rem}
#property-import .table-wrap details .permission-list{max-height:16rem;overflow:auto;display:grid;gap:.3rem;padding:.5rem 0}
.agenda-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:1rem;align-items:start}.agenda-layout>div{min-width:0}.agenda-layers{display:grid;gap:.5rem;padding:1rem}.agenda-layers label{display:flex;align-items:center;gap:.5rem}.agenda-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:1rem}.agenda-toolbar select{width:auto}.agenda-toolbar strong{margin-left:auto}.agenda-calendar{display:grid;grid-template-columns:repeat(var(--agenda-columns,7),minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd;min-height:360px}.agenda-day{min-height:140px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:.35rem;min-width:0}.agenda-day.is-today{background:#fff9ee}.agenda-day-heading{border:0;background:transparent;font-weight:700;font-size:.82rem;text-align:left;width:100%;padding:.3rem}.agenda-day-heading:focus-visible,.agenda-event:focus-visible{outline:2px solid #315bda}.agenda-event{color:#fff;border-left:4px solid;padding:.25rem .35rem;border-radius:.25rem;margin:.2rem 0;font-size:.76rem;overflow-wrap:anywhere;cursor:grab}.agenda-calendar--list .agenda-day{min-height:60px}.agenda-calendar--list .agenda-event{display:inline-block;margin-right:.3rem}[data-agenda-conflicts]{font-size:.86rem;color:#8a3316}[data-agenda-conflicts] p{margin:.2rem 0}@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.agenda-day{min-height:100px}.agenda-event{font-size:.68rem}}@media(max-width:560px){.agenda-calendar{overflow-x:auto;grid-auto-flow:column;grid-auto-columns:125px;grid-template-columns:none}.agenda-calendar--list{display:block}.agenda-calendar--list .agenda-day{min-height:60px}.agenda-toolbar strong{width:100%;margin-left:0}}
.agenda-calendar--full{display:block;min-height:360px;border:0;padding:0 1rem 1rem}.agenda-calendar--full .fc{width:100%;min-width:0}.agenda-calendar--full .fc-event{cursor:pointer}.agenda-calendar--full .fc-timegrid-slot{height:1.65rem}@media(max-width:560px){.agenda-calendar--full{overflow-x:auto;grid-auto-flow:initial;grid-template-columns:none}.agenda-calendar--full .fc{min-width:560px}}

/* Vistas y filtros compactos del panel privado. */
.module-nav { display:flex; gap:6px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
.module-nav form { flex:none; margin:0; }
.module-nav .btn { min-height:38px; white-space:nowrap; }
.property-hero { background:#fff; color:var(--color-text); border:1px solid var(--color-border); }
.property-hero .btn { color:var(--color-primary); border-color:var(--color-primary); }
.property-filter-bar { padding:4px 14px 10px; }
.property-filter-bar .property-filters { margin:5px 0; }
.property-filter-bar details summary, .report-filter-extras summary { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 10px; cursor:pointer; color:var(--color-primary); font-weight:650; }
.report-filter-form { padding:10px 14px; }
.report-primary-filters { display:grid; grid-template-columns:minmax(150px,1.4fr) repeat(2,minmax(130px,1fr)) auto auto; gap:8px; align-items:end; }
.report-primary-filters label, .report-secondary-filters label { min-width:0; font-weight:650; }
.report-primary-filters .btn { min-height:38px; }
.report-filter-extras { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding-top:4px; }
.report-filter-extras details[open] { width:100%; }
.report-secondary-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; padding:8px 0; }
.report-column-list { display:flex; flex-wrap:wrap; gap:8px 16px; padding:8px 0; }
.report-column-list label { display:inline-flex; align-items:center; gap:5px; }
.report-filter-summary { margin-left:auto; color:var(--color-muted); font-size:.8rem; }
#main-content.is-loading > :not(.view-loading) { opacity:.62; }
.view-loading { position:sticky; top:58px; z-index:100; padding:9px 14px; border:1px solid var(--color-border); border-radius:8px; color:var(--color-primary); background:#fff; font-weight:650; }
@media(max-width:760px){ .report-primary-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.report-primary-filters label:first-child{grid-column:1/-1}.report-primary-filters .btn{width:100%;} }
@media(max-width:600px){.form-control,.form-select{font-size:16px}.module-nav .btn{min-height:44px}.report-primary-filters label{grid-column:1/-1}.report-filter-summary{margin-left:0}.quick-contact-form .form-grid{grid-template-columns:1fr}.quick-contact-form .span-2{grid-column:auto}}

.agenda-workspace { width:100%; min-width:0; }
.agenda-grid-panel { width:100%; min-width:0; margin:4px 0 10px; }
.agenda-grid-panel .agenda-toolbar { padding:10px 12px; }
.agenda-grid-panel .agenda-calendar { min-height:580px; }
.agenda-layer-menu { position:relative; margin:4px 0 10px; border:1px solid #dce5f0; border-radius:12px; background:#fff; box-shadow:0 5px 16px rgba(23,32,51,.045); overflow:hidden; }
.agenda-layer-menu > summary, .agenda-compact-panel > summary { display:flex; align-items:center; gap:7px; padding:8px 12px; min-height:38px; color:var(--color-primary); font-weight:650; cursor:pointer; }
.agenda-layer-menu > summary { justify-content:space-between; background:#f8faff; }
.agenda-layer-menu > summary span { display:inline-flex; align-items:center; gap:7px; }
.agenda-layer-menu > summary small { color:#738198; font-size:.7rem; font-weight:500; }
.agenda-layer-menu .agenda-layers { display:flex; flex-wrap:wrap; gap:6px; padding:8px 12px; border-top:1px solid #e7ecf3; background:#fff; }
.agenda-layer-menu .agenda-layers label { gap:6px; margin:0; padding:5px 9px; border:1px solid #dce5f0; border-radius:999px; background:#fbfcfe; font-size:.76rem; line-height:1.2; cursor:pointer; }
.agenda-compact-panel { width:100%; min-width:0; max-width:none; }
.agenda-compact-panel[open] { width:100%; }
.agenda-compact-panel .case-card-list { max-height:380px; overflow:auto; background:#fff; border:1px solid var(--color-border); border-radius:8px; }
.agenda-event-form .modal-body { max-height:70vh; overflow-y:auto; }
.agenda-more-options { border-top:1px solid var(--color-border); padding-top:8px; }
.agenda-more-options > summary { cursor:pointer; color:var(--color-primary); font-weight:650; min-height:36px; }
.agenda-more-options .form-grid { padding-top:8px; }
.agenda-edit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; }
.agenda-edit-actions[hidden] { display:none; }
.modal-backdrop { z-index:2050; }
.modal { z-index:2055; }
.swal2-container { z-index:2100 !important; }
@media(max-width:600px){.agenda-grid-panel .agenda-toolbar{gap:8px}.agenda-grid-panel .agenda-calendar{min-height:480px}.agenda-event-form .modal-body{grid-template-columns:1fr}.agenda-event-form .span-2{grid-column:auto}.agenda-compact-panel{display:block}}

.agenda-operations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:100%; margin:14px 0 4px; }
.agenda-operations-heading { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; padding:9px 13px; color:#fff; border:1px solid #925f47; border-radius:11px; background:linear-gradient(135deg,#7b4f3b 0%,#a86f50 55%,#c18764 100%); box-shadow:0 6px 16px rgba(92,55,39,.12); }
.agenda-operations-heading small { display:block; margin-bottom:1px; color:#f7ddd0; font-size:.59rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.agenda-operations-heading h2 { margin:0; color:#fff; font-size:.9rem; }
.agenda-operations-heading p { margin:2px 0 0; color:#f7e9e1; font-size:.67rem; }
.agenda-operations-heading > span { display:grid; width:32px; height:32px; flex:none; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:9px; background:rgba(255,255,255,.13); font-size:.95rem; }
.agenda-operation-panel { grid-column:span 1; overflow:hidden; border:1px solid #dce4ee; border-radius:13px; background:#fff; box-shadow:0 6px 18px rgba(29,45,72,.055); }
.agenda-operation-panel[open] { grid-column:1/-1; }
.agenda-operation-panel > summary { display:grid; grid-template-columns:34px minmax(0,1fr) auto 16px; gap:8px; align-items:center; min-height:56px; padding:8px 10px; color:#273752; background:linear-gradient(180deg,#fff,#fafcff); cursor:pointer; list-style:none; transition:background-color .16s ease; }
.agenda-operation-panel > summary::-webkit-details-marker { display:none; }
.agenda-operation-panel > summary:hover { background:#f5f8fc; }
.agenda-operation-panel[open] > summary { background:#f7f9fc; border-bottom:1px solid #e1e7ef; }
.agenda-operation-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; font-size:.9rem; }
.agenda-operation-icon.is-pending { color:#8b5b13; background:#fff1d8; }
.agenda-operation-icon.is-closed { color:#247152; background:#e3f5eb; }
.agenda-operation-icon.is-notice { color:#4a5f9a; background:#e8edff; }
.agenda-operation-copy { display:grid; min-width:0; }
.agenda-operation-copy strong { color:#24334d; font-size:.8rem; }
.agenda-operation-copy small { color:#748198; font-size:.65rem; font-weight:500; line-height:1.25; }
.agenda-operation-count { display:grid; min-width:29px; height:25px; padding:0 8px; place-items:center; color:#465976; border:1px solid #d9e2ed; border-radius:999px; background:#fff; font-size:.7rem; font-weight:800; }
.agenda-operation-chevron { color:#718099; transition:transform .18s ease; }
.agenda-operation-panel[open] .agenda-operation-chevron { transform:rotate(180deg); }
.agenda-operation-body { width:100%; min-width:0; padding:12px 14px 15px; background:#fff; }
.agenda-operation-body .table-wrap { width:100%; overflow-x:auto; }
.agenda-operation-body .dt-container { width:100%; }
.agenda-operation-body .dt-layout-row:first-child { align-items:center; gap:10px; padding:2px 0 9px; }
.agenda-operation-body .dt-buttons { display:flex; flex-wrap:wrap; gap:5px; }
.agenda-operation-table { width:100% !important; }
.agenda-operation-table th { color:#53637c; background:#f7f9fc; font-size:.69rem; letter-spacing:.035em; text-transform:uppercase; }
.agenda-operation-table td { color:#3d4c63; font-size:.76rem; vertical-align:middle; }
.agenda-operation-table td strong { color:#263750; }
.agenda-operation-table tbody tr:hover { background:#fafcff; }
.agenda-operation-actions { display:flex; flex-wrap:wrap; gap:5px; min-width:150px; }
.agenda-operation-actions .btn { white-space:nowrap; }
.agenda-status-pill,.agenda-source-pill { display:inline-flex; align-items:center; gap:4px; width:max-content; padding:4px 8px; border-radius:999px; font-size:.67rem; font-weight:800; white-space:nowrap; }
.agenda-status-pill.is-overdue { color:#9b343d; background:#fde8ea; }
.agenda-status-pill.is-today { color:#8b5b13; background:#fff0cf; }
.agenda-status-pill.is-upcoming { color:#315b92; background:#e8f0fb; }
.agenda-status-pill.is-completado { color:#17643e; background:#e1f5e9; }
.agenda-status-pill.is-cancelado { color:#8e3b49; background:#f9e7ea; }
.agenda-source-pill { color:#4a5f84; border:1px solid #dbe3ef; background:#f5f8fc; }
.agenda-operation-loading,.agenda-operation-error { display:flex; min-height:86px; align-items:center; justify-content:center; gap:8px; color:#687891; font-size:.8rem; }
.agenda-operation-error { color:#9e3340; }
@media(max-width:900px) {
    .agenda-operations { grid-template-columns:1fr; }
    .agenda-operations-heading,.agenda-operation-panel,.agenda-operation-panel[open] { grid-column:1; }
}
@media(max-width:600px) {
    .agenda-operations-heading { padding:9px 11px; }
    .agenda-operations-heading p { max-width:250px; }
    .agenda-operation-panel > summary { grid-template-columns:36px minmax(0,1fr) auto 15px; gap:8px; padding:9px 10px; }
    .agenda-operation-icon { width:36px; height:36px; }
    .agenda-operation-copy small { display:none; }
    .agenda-operation-body { padding:9px; }
    .agenda-operation-body .dt-layout-row { align-items:stretch; flex-direction:column; }
    .agenda-operation-body .dt-layout-cell { width:100%; }
    .agenda-operation-body .dt-search input { width:100%; margin-left:0; }
    .agenda-operation-actions { min-width:0; }
}

/* Agenda: cuadrícula mensual y editor compartidos por el panel privado. */
.agenda-grid-panel { padding:0; overflow:hidden; border:1px solid #dce5f0; border-radius:17px; background:#fff; box-shadow:0 14px 38px rgba(23,32,51,.07); }
.agenda-grid-panel .agenda-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; border-bottom:1px solid #e7ecf3; background:linear-gradient(180deg,#fff 0%,#fcfdff 100%); }
.agenda-toolbar-heading { display:flex; min-width:0; align-items:center; gap:12px; }
.agenda-toolbar-icon,.agenda-modal-icon { display:grid; flex:none; place-items:center; color:var(--color-primary); background:#eaf0ff; border:1px solid #d7e3ff; border-radius:12px; }
.agenda-toolbar-icon { width:43px; height:43px; font-size:1.2rem; }
.agenda-toolbar-heading small,.agenda-modal-heading small { display:block; color:#687994; font-size:.68rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.agenda-toolbar-heading strong { display:block; margin:0; color:#1e2b43; font-size:1.2rem; font-weight:760; line-height:1.22; text-transform:capitalize; }
.agenda-toolbar-actions,.agenda-period-controls { display:flex; align-items:center; gap:8px; }
.agenda-toolbar-actions { flex-wrap:wrap; justify-content:flex-end; }
.agenda-period-controls { gap:4px; padding:3px; border:1px solid #e2e8f1; border-radius:10px; background:#f8faff; }
.agenda-period-controls .btn { min-width:34px; min-height:32px; padding:4px 8px; border:0; border-radius:7px; background:transparent; color:#34445f; box-shadow:none; }
.agenda-period-controls .btn:hover,.agenda-period-controls .btn:focus-visible { background:#e8efff; color:var(--color-primary-strong); }
.agenda-toolbar-actions > .form-select { width:auto; min-width:112px; min-height:38px; font-weight:650; }
.agenda-create-button { min-height:39px; padding-inline:15px; border-radius:9px; font-weight:700; box-shadow:0 6px 15px rgba(49,91,218,.17); }
.agenda-grid-panel .agenda-calendar { min-height:0; }
.agenda-calendar--full { display:block; min-height:0; padding:0; overflow-x:auto; }
.agenda-full-host { padding:15px 17px 18px; }
.agenda-full-host[hidden],.agenda-month-grid[hidden] { display:none !important; }
.agenda-full-host .fc { color:#27354c; }
.agenda-full-host .fc-scrollgrid { border-color:#e1e7ef; border-radius:10px; overflow:hidden; }
.agenda-full-host .fc-col-header-cell { background:#f8faff; border-color:#e1e7ef; }
.agenda-full-host .fc-col-header-cell-cushion { padding:11px 5px; color:#53647e; font-size:.74rem; font-weight:750; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.agenda-full-host .fc-timegrid-slot,.agenda-full-host .fc-timegrid-axis,.agenda-full-host .fc-timegrid-col { border-color:#edf0f5; }
.agenda-full-host .fc-timegrid-now-indicator-line { border-color:var(--color-primary); }
.agenda-full-host .fc-day-today { background:#f3f7ff !important; }
.agenda-full-host .fc-event { border-radius:6px; box-shadow:0 2px 5px rgba(23,32,51,.09); }
.agenda-full-host .fc-event.is-complete,.agenda-event.is-complete { opacity:.72; filter:saturate(.5); text-decoration:none; transition:opacity .16s ease,filter .16s ease; }
.agenda-full-host .fc-event.is-complete:hover,.agenda-event.is-complete:hover { opacity:.9; filter:saturate(.7); }
.agenda-event-status-flag { display:flex; align-items:center; gap:4px; margin:-2px -3px 4px; padding:2px 5px; border-radius:4px; font-size:.61rem; font-weight:800; line-height:1.25; letter-spacing:.025em; text-transform:uppercase; }
.agenda-event-status-flag.is-completado { color:#17643e; background:rgba(231,248,238,.95); border:1px solid rgba(115,190,145,.75); }
.agenda-event-status-flag.is-cancelado { color:#7d3341; background:rgba(252,235,239,.95); border:1px solid rgba(201,135,148,.7); }
.agenda-full-host .agenda-event-status-flag { margin:1px 2px 3px; }
.agenda-event-client { display:block; margin-bottom:2px; font-size:.66rem; font-weight:800; line-height:1.2; }
.agenda-full-host .agenda-event-client { margin:1px 3px 2px; }
.agenda-event-copy { display:block; }
.agenda-full-host .fc-event.is-cancelled,.agenda-event.is-cancelled { color:#fff !important; background:#baaeb2 !important; border-color:#95868c !important; opacity:.82; filter:saturate(.4); text-decoration:none; }
.agenda-full-host .fc-event.is-cancelled .fc-event-main { color:#fff !important; }
.agenda-full-host .fc-event.is-cancelled .fc-event-title,.agenda-event.is-cancelled .agenda-event-copy { text-decoration:line-through; }
.agenda-overlap-badge { display:inline-flex; align-items:center; gap:3px; margin-left:6px; padding:1px 5px; border:1px solid rgba(255,255,255,.75); border-radius:999px; color:#fff; background:rgba(20,28,45,.5); font-size:.65rem; line-height:1.35; vertical-align:middle; box-shadow:0 1px 3px rgba(0,0,0,.14); }
.agenda-overlap-badge b { font-size:inherit; }
.agenda-overlap-colors { display:inline-flex; align-items:center; }
.agenda-overlap-colors i { width:7px; height:7px; margin-left:-2px; border:1px solid #fff; border-radius:50%; }
.agenda-full-host .agenda-overlap-badge { float:right; margin-right:2px; }
.agenda-findbar { display:flex; align-items:center; gap:12px; padding:10px 18px; border-bottom:1px solid #e7ecf3; background:#fbfcfe; }
.agenda-event-search { position:relative; flex:1; max-width:520px; margin:0; }
.agenda-event-search > i { position:absolute; top:50%; left:12px; z-index:1; color:#6f7f97; transform:translateY(-50%); }
.agenda-event-search .form-control { min-height:38px; padding-left:36px; border-color:#dce4ef; border-radius:9px; }
.agenda-type-filter { position:relative; width:min(220px,30vw); margin:0; }
.agenda-type-filter > i { position:absolute; top:50%; left:11px; z-index:1; color:#6f7f97; transform:translateY(-50%); pointer-events:none; }
.agenda-type-filter .form-select { min-height:38px; padding-left:34px; border-color:#dce4ef; border-radius:9px; }
.agenda-completed-toggle { display:inline-flex; align-items:center; gap:7px; margin:0; color:#43526a; font-size:.79rem; font-weight:680; white-space:nowrap; }
.agenda-completed-toggle span { display:inline-flex; align-items:center; gap:5px; }
.agenda-search-results { display:grid; gap:7px; max-height:310px; padding:10px 18px; overflow:auto; border-bottom:1px solid #e7ecf3; background:#fff; }
.agenda-search-results[hidden] { display:none; }
.agenda-search-results article { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 10px; border:1px solid #e4e9f0; border-radius:9px; background:#fbfcfe; }
.agenda-search-results article > div:nth-child(2) { display:grid; min-width:0; }
.agenda-search-results strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agenda-search-results small { color:#68778e; font-size:.72rem; }
.agenda-search-results article > div:last-child { display:flex; gap:5px; }
.agenda-search-marker { display:grid; width:30px; height:30px; place-items:center; color:#fff; border-radius:8px; }
.agenda-detail-modal .modal-content { overflow:hidden; border:1px solid #e1e8f1; border-radius:16px; box-shadow:0 24px 70px rgba(25,39,65,.2); }
.agenda-detail-modal .modal-header { padding:18px 20px; background:linear-gradient(135deg,#f5f8fd,#fff); }
.agenda-detail-summary { display:grid; gap:10px; margin-bottom:16px; padding:14px 16px; border:1px solid #dde6f2; border-radius:12px; background:#f8faff; }
.agenda-detail-summary p { margin:0; color:#42536d; line-height:1.5; white-space:pre-wrap; }
.agenda-detail-result { font-weight:650; }
.agenda-detail-meta { display:flex; flex-wrap:wrap; gap:6px; }
.agenda-detail-meta span { padding:4px 8px; color:#435675; border:1px solid #d7e1ee; border-radius:999px; background:#fff; font-size:.72rem; font-weight:700; }
.agenda-detail-list { display:grid; gap:9px; }
.agenda-detail-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 13px; border:1px solid #e1e7ef; border-radius:11px; background:#fff; }
.agenda-resolution-modal .modal-content { overflow:hidden; border:1px solid #dfe7f1; border-radius:16px; box-shadow:0 24px 70px rgba(25,39,65,.2); }
.agenda-resolution-modal .modal-header { padding:17px 20px; background:linear-gradient(135deg,#f5f8fd,#fff); }
.agenda-resolution-modal .modal-body { gap:16px; padding:18px 20px; }
.agenda-resolution-context { display:grid; gap:12px; padding:14px; border:1px solid #dbe5f1; border-radius:13px; background:#f8faff; }
.agenda-resolution-context[hidden] { display:none; }
.agenda-resolution-context > header { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:11px; align-items:center; }
.agenda-resolution-avatar { display:grid; width:42px; height:42px; place-items:center; color:#315bda; border:1px solid #d4e0ff; border-radius:12px; background:#e8efff; font-size:1.15rem; }
.agenda-resolution-context > header small { display:block; color:#6f7e95; font-size:.67rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.agenda-resolution-context > header strong { display:block; color:#1f2d45; font-size:1rem; }
.agenda-resolution-context > header > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.agenda-resolution-context > header > div:last-child span { padding:3px 7px; color:#435675; border:1px solid #d6e0ee; border-radius:999px; background:#fff; font-size:.68rem; font-weight:700; }
.agenda-resolution-contact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.agenda-resolution-contact > div { display:flex; min-width:0; align-items:center; gap:8px; padding:8px 9px; border:1px solid #e0e7f0; border-radius:9px; background:#fff; }
.agenda-resolution-contact > div > i { color:#536da5; }
.agenda-resolution-contact span { display:grid; min-width:0; }
.agenda-resolution-contact small { color:#738198; font-size:.64rem; }
.agenda-resolution-contact strong { overflow:hidden; color:#2c3b54; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.agenda-resolution-context > section,.agenda-resolution-context > details { padding:10px 11px; border:1px solid #e1e7ef; border-radius:9px; background:#fff; }
.agenda-resolution-context > section > strong,.agenda-resolution-context > details > summary { display:block; margin-bottom:6px; color:#344764; font-size:.76rem; font-weight:750; }
.agenda-resolution-context > details > summary { margin:0; cursor:pointer; }
.agenda-resolution-context > details[open] > summary { margin-bottom:8px; }
.agenda-resolution-context .rich-content { color:#37465e; font-size:.78rem; line-height:1.45; }
.agenda-resolution-context .rich-content > :last-child { margin-bottom:0; }
.agenda-resolution-loading,.agenda-resolution-error { margin:0; padding:9px; color:#52627a; text-align:center; }
.agenda-resolution-error { color:#a12935; }
.agenda-resolution-next { padding:12px; border:1px solid #e3e8ef; border-radius:11px; background:#fbfcfe; }
.agenda-resolution-next > strong { display:block; margin-bottom:9px; color:#3a4961; font-size:.8rem; }
.agenda-resolution-next .form-grid { grid-template-columns:1.4fr 1fr; }
.agenda-detail-row > div { display:grid; gap:6px; min-width:0; }
.agenda-detail-row > div > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.agenda-detail-row p,.agenda-detail-row small { margin:0; color:#62728a; white-space:pre-wrap; }
.agenda-detail-status { padding:3px 8px; border-radius:999px; font-size:.68rem; font-weight:800; }
.agenda-detail-status.is-pendiente { color:#7b5600; background:#fff2c8; }
.agenda-detail-status.is-completado { color:#146c3c; background:#def5e8; }
.agenda-detail-status.is-cancelado { color:#9c2e38; background:#fde5e7; }
.agenda-detail-list { min-width:0; }
.agenda-detail-list .dt-container { width:100%; }
.agenda-detail-list .dt-layout-row:first-child { align-items:center; gap:10px; }
.agenda-detail-list .dt-buttons { display:flex; flex-wrap:wrap; gap:6px; }
.agenda-detail-table { width:100% !important; }
.agenda-detail-table td { vertical-align:top; }
.agenda-detail-table td:first-child { min-width:185px; }
.agenda-detail-table .agenda-detail-comment { min-width:300px; color:#53647c; line-height:1.45; white-space:pre-line; }
.agenda-detail-table td.no-export { width:1%; white-space:nowrap; }
.agenda-month-grid,.agenda-calendar.agenda-calendar--month { display:grid; width:100%; min-width:770px; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid #e3e9f1; border-left:1px solid #e3e9f1; background:#fff; }
.agenda-weekday { display:flex; align-items:center; justify-content:flex-end; min-height:42px; padding:8px 13px; color:#5c6d86; background:#f8faff; border-right:1px solid #e3e9f1; border-bottom:1px solid #e3e9f1; font-size:.71rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.agenda-month-grid .agenda-day,.agenda-calendar.agenda-calendar--month .agenda-day { min-width:0; min-height:112px; aspect-ratio:1; padding:7px; overflow:auto; background:#fff; border-right:1px solid #e3e9f1; border-bottom:1px solid #e3e9f1; transition:background-color .16s ease; scrollbar-width:thin; }
.agenda-month-grid .agenda-day:hover,.agenda-calendar.agenda-calendar--month .agenda-day:hover { background:#f8fbff; }
.agenda-month-grid .agenda-day.is-outside-month,.agenda-calendar.agenda-calendar--month .agenda-day.is-outside-month { background:#f7f9fc; }
.agenda-month-grid .agenda-day.is-today,.agenda-calendar.agenda-calendar--month .agenda-day.is-today { background:#edf4ff; }
.agenda-month-grid .agenda-day-heading,.agenda-calendar.agenda-calendar--month .agenda-day-heading { display:grid; width:32px; height:32px; margin:0 0 5px auto; padding:0; place-items:center; color:#33445f; border:0; border-radius:50%; background:transparent; font-size:.86rem; font-weight:750; text-align:center; }
.agenda-month-grid .is-outside-month .agenda-day-heading,.agenda-calendar.agenda-calendar--month .is-outside-month .agenda-day-heading { color:#9aa7ba; }
.agenda-month-grid .is-today .agenda-day-heading,.agenda-calendar.agenda-calendar--month .is-today .agenda-day-heading { color:#fff; background:var(--color-primary); box-shadow:0 3px 10px rgba(49,91,218,.23); }
.agenda-month-grid .agenda-day-heading:hover,.agenda-calendar.agenda-calendar--month .agenda-day-heading:hover { background:#dce8ff; color:var(--color-primary-strong); }
.agenda-month-grid .is-today .agenda-day-heading:hover,.agenda-calendar.agenda-calendar--month .is-today .agenda-day-heading:hover { background:var(--color-primary-strong); color:#fff; }
.agenda-month-grid .agenda-event,.agenda-calendar.agenda-calendar--month .agenda-event { margin:3px 0; padding:4px 6px; border-left-width:3px; border-radius:6px; font-size:.7rem; line-height:1.25; box-shadow:0 2px 4px rgba(23,32,51,.08); }
.agenda-month-grid .agenda-event-action,.agenda-calendar.agenda-calendar--month .agenda-event-action { display:block; margin-top:4px; padding:2px 5px; border:1px solid rgba(255,255,255,.65); border-radius:5px; color:#fff; background:rgba(0,0,0,.12); font-size:.66rem; }
.agenda-editor-modal .modal-dialog { width:90vw; max-width:1400px; }
.agenda-editor-modal .modal-content { position:relative; overflow:hidden; border:1px solid #e3e9f1; border-radius:19px; box-shadow:0 30px 80px rgba(24,39,66,.22); }
.agenda-editor-modal .modal-header { align-items:center; padding:20px 24px; border-bottom:1px solid #e8edf4; background:linear-gradient(135deg,#f7faff 0%,#fff 72%); }
.agenda-editor-loading { position:absolute; inset:86px 0 0; z-index:20; display:grid; place-items:center; padding:24px; background:rgba(250,252,255,.96); backdrop-filter:blur(3px); }
.agenda-editor-loading[hidden] { display:none; }
.agenda-editor-loading > div { display:grid; max-width:420px; justify-items:center; gap:10px; padding:26px 30px; color:#263b5c; text-align:center; border:1px solid #dce6f2; border-radius:16px; background:#fff; box-shadow:0 18px 45px rgba(30,48,77,.13); }
.agenda-editor-loading strong { font-size:1rem; }
.agenda-editor-loading small { color:#6c7c93; }
.agenda-editor-tabs { display:flex; gap:7px; margin:-4px 0 16px; padding-bottom:12px; overflow-x:auto; border-bottom:1px solid #e8edf4; }
.agenda-editor-tabs .btn { white-space:nowrap; }
.agenda-occurrences-panel { min-height:260px; }
.agenda-occurrences-panel[hidden] { display:none; }
.agenda-occurrences-intro { margin-bottom:12px; padding:13px 15px; border:1px solid #dce7f7; border-radius:11px; background:#f6f9fe; }
.agenda-occurrences-intro p { margin:4px 0 0; color:#66758c; font-size:.76rem; line-height:1.45; }
.agenda-occurrence-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; margin-bottom:8px; padding:12px 13px; border:1px solid #e1e7ef; border-radius:10px; background:#fff; }
.agenda-occurrence-row.is-selected { border-color:#8aa9ee; box-shadow:0 0 0 3px rgba(50,94,215,.1); }
.agenda-occurrence-row > div:first-child { display:grid; gap:2px; min-width:0; }
.agenda-occurrence-row small { color:#697991; }
.agenda-occurrence-row p { margin:5px 0 0; color:#34455f; font-size:.76rem; }
.agenda-occurrence-history { margin-top:6px; color:#53657f; font-size:.72rem; }
.agenda-occurrence-history summary { width:max-content; cursor:pointer; color:var(--color-primary); font-weight:700; }
.agenda-occurrence-history p { padding-left:10px; border-left:2px solid #dbe5f4; }
.agenda-occurrence-row > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.agenda-modal-heading { display:flex; align-items:center; gap:13px; }
.agenda-modal-icon { width:45px; height:45px; font-size:1.22rem; }
.agenda-modal-heading .modal-title { margin:2px 0 0; color:#1d2d45; font-size:1.17rem; font-weight:770; }
.agenda-event-form .modal-body { display:grid; gap:16px 18px; padding:23px 26px 25px; max-height:min(75vh,760px); overflow-y:auto; }
.agenda-form-card { overflow:hidden; padding:0; border:1px solid #dce5f1; border-radius:14px; background:#fff; box-shadow:0 7px 20px rgba(36,55,84,.055); }
.agenda-form-card > header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 17px; border-bottom:1px solid #e5ebf3; background:linear-gradient(135deg,#f5f8fd,#fff); }
.agenda-form-card > header h3 { margin:1px 0 0; color:#233652; font-size:.95rem; font-weight:760; }
.agenda-form-card > header small { color:#687a94; font-size:.67rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.agenda-form-card > header .agenda-action-status { display:inline-flex; align-items:center; max-width:58%; padding:5px 9px; color:#52627a; border:1px solid #dce5f1; border-radius:999px; background:#f7f9fc; letter-spacing:0; text-align:right; text-transform:none; }
.agenda-form-card > header .agenda-action-status.is-pendiente { color:#7b5600; border-color:#f0d990; background:#fff7dc; }
.agenda-form-card > header .agenda-action-status.is-completado { color:#146c3c; border-color:#b7dfcb; background:#e4f6ec; }
.agenda-form-card > header .agenda-action-status.is-cancelado { color:#9c2e38; border-color:#efc9cd; background:#fdebed; }
.agenda-form-card > header > i { color:var(--module-accent,var(--color-primary)); font-size:1.2rem; }
.agenda-form-card-body { gap:14px 16px; padding:17px; }
.agenda-form-card > footer { display:flex; align-items:center; gap:8px; padding:10px 17px; border-top:1px solid #e8edf4; color:#65748b; background:#fafbfd; font-size:.73rem; }
.agenda-event-form label > span:first-child { display:block; margin-bottom:6px; color:#34435b; font-size:.79rem; font-weight:700; }
.agenda-event-form label > span:first-child i { margin-right:5px; color:var(--color-primary); }
.agenda-event-form .form-control,.agenda-event-form .form-select { min-height:42px; border-color:#d9e2ee; border-radius:9px; background:#fff; }
.agenda-title-field .form-control { min-height:48px; font-size:1rem; font-weight:600; }
.agenda-date-row { display:grid; grid-template-columns:1.4fr .9fr .9fr 1.4fr; gap:10px; padding:15px; border:1px solid #e2e9f4; border-radius:12px; background:#f8faff; }
.agenda-date-row label { margin:0; }
.agenda-date-row .form-control { width:100%; min-width:0; }
.agenda-date-row label > small { display:block; margin-top:5px; color:#75839a; font-size:.67rem; font-weight:500; line-height:1.3; }
.agenda-all-day { display:flex !important; align-items:center; flex-wrap:wrap; gap:8px; margin-top:-5px; color:#33435b; font-size:.82rem; }
.agenda-all-day input { width:16px; height:16px; accent-color:var(--color-primary); }
.agenda-all-day span { margin:0 !important; }
.agenda-all-day small { width:100%; margin-left:24px; color:#75839a; font-size:.7rem; font-weight:500; }
.agenda-event-form.is-all-day .agenda-date-row label:has([data-agenda-quarter-hour]) { opacity:.5; }
.agenda-conflicts:empty { display:none; }
.agenda-conflicts:not(:empty) { padding:10px 12px; border:1px solid #e7deca; border-radius:9px; background:#fffaf0; }
.agenda-overlap { padding:8px 10px; color:#5a6271; border-radius:8px; background:#f8faff; font-size:.78rem; }
.agenda-more-options { padding:0; border:1px solid #dfe8f6; border-radius:11px; background:#fff; }
.agenda-options-nav { display:flex; gap:6px; padding:11px 0; overflow-x:auto; scrollbar-width:thin; }
.agenda-options-nav .btn { flex:0 0 auto; white-space:nowrap; }
.agenda-options-panels { border-top:1px solid #eef2f7; }
.agenda-more-options > summary { display:flex; align-items:center; gap:9px; min-height:45px; padding:10px 14px; color:#2d52b8; font-size:.85rem; font-weight:730; list-style:none; cursor:pointer; }
.agenda-more-options > summary { background:linear-gradient(135deg,#f3f6fb,#fff); }
.agenda-more-options > summary small { margin-left:4px; color:#718098; font-size:.68rem; font-weight:550; }
.agenda-more-options > summary::-webkit-details-marker { display:none; }
.agenda-more-options > summary::after { margin-left:auto; font-family:"bootstrap-icons"; content:"\f282"; transition:transform .2s ease; }
.agenda-more-options[open] > summary::after { transform:rotate(180deg); }
.agenda-more-options[open] .agenda-more-content { animation:agenda-options-open .22s ease-out both; }
@keyframes agenda-options-open { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.agenda-more-content { padding:3px 16px 15px; border-top:1px solid #e7edf6; }
.agenda-option-section { padding:13px 0; border-bottom:1px solid #eef1f6; }
.agenda-option-section:last-child { border-bottom:0; }
.agenda-option-section h3 { display:flex; align-items:center; gap:8px; margin:0 0 11px; color:#263958; font-size:.82rem; font-weight:770; }
.agenda-option-section h3 i { color:var(--color-primary); font-size:.95rem; }
.agenda-option-section .form-grid { gap:10px 12px; }
.agenda-option-hint { margin:10px 0 0; color:#75839a; font-size:.74rem; line-height:1.45; }
.agenda-prospect-details { padding:7px 0; }
.agenda-preset-field { padding:12px 14px; border:1px solid #d7e2f3; border-radius:11px; background:#f7f9fd; }
.agenda-preset-field > small { display:block; margin-top:5px; color:#65748b; }
.agenda-save-button { width:max-content; min-height:43px; justify-self:end; padding-inline:20px; border-radius:9px; font-weight:730; }
.agenda-event-form .agenda-edit-actions { display:block; border:1px solid #dce5f1; }
.agenda-edit-actions > header > small { max-width:55%; color:#4f6480; text-align:right; font-size:.72rem; font-weight:650; letter-spacing:0; text-transform:none; }
.agenda-edit-action-body { padding:14px 17px; }
.agenda-edit-action-body .form-control { width:100%; resize:vertical; }
.agenda-edit-action-body .form-control.is-saving { border-color:#8aa7da; background:#f5f8ff; }
.agenda-edit-action-body .form-control.is-saved { border-color:#54a578; background:#effaf3; box-shadow:0 0 0 3px rgba(38,142,85,.1); }
.agenda-edit-action-body .form-control.is-save-error { border-color:#d05a63; background:#fff5f5; }
.agenda-draft-status { display:block; min-height:18px; margin-top:5px; color:#738198; font-size:.72rem; text-align:right; }
.agenda-draft-status.is-saved { color:#167342; }.agenda-draft-status.is-save-error { color:#b4232f; }
.agenda-edit-action-footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:11px 17px; }
@media(max-width:800px) { .agenda-date-row { grid-template-columns:repeat(2,minmax(0,1fr)); } .agenda-toolbar-heading strong { font-size:1.05rem; } }
@media(max-width:600px) { .agenda-grid-panel .agenda-toolbar { align-items:stretch; flex-direction:column; padding:12px; } .agenda-toolbar-actions { justify-content:space-between; } .agenda-toolbar-actions > .form-select { flex:1; } .agenda-create-button { flex:1; } .agenda-findbar { align-items:stretch; flex-direction:column; padding:10px 12px; } .agenda-event-search,.agenda-type-filter { width:100%; max-width:none; } .agenda-search-results { padding:9px 12px; } .agenda-search-results article { grid-template-columns:30px minmax(0,1fr); } .agenda-search-results article > div:last-child { grid-column:1/-1; } .agenda-detail-row { grid-template-columns:1fr; } .agenda-detail-row > .btn { justify-self:start; } .agenda-month-grid,.agenda-calendar.agenda-calendar--month { min-width:700px; } .agenda-month-grid .agenda-day,.agenda-calendar.agenda-calendar--month .agenda-day { min-height:100px; } .agenda-editor-modal .modal-dialog,.agenda-resolution-modal .modal-dialog { width:auto; max-width:none; margin:8px; } .agenda-editor-modal .modal-content { border-radius:14px; } .agenda-editor-modal .modal-header { padding:15px; } .agenda-event-form .modal-body { padding:12px; max-height:calc(100dvh - 100px); } .agenda-form-card-body { padding:13px; } .agenda-date-row { padding:11px; } .agenda-save-button { width:100%; } .agenda-occurrence-row { grid-template-columns:1fr; } .agenda-occurrence-row > div:last-child { justify-content:flex-start; } .agenda-more-options > summary small { display:none; } .agenda-edit-actions > header { align-items:flex-start; flex-direction:column; } .agenda-edit-actions > header > small { max-width:none; text-align:left; } .agenda-resolution-context > header { grid-template-columns:42px minmax(0,1fr); } .agenda-resolution-context > header > div:last-child { grid-column:1/-1; justify-content:flex-start; } .agenda-resolution-contact,.agenda-resolution-next .form-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .agenda-more-options[open] .agenda-more-content { animation:none; } }

/* Contrato visual transversal: acciones, módulos y ruta comercial. */
#main-content {
    --module-accent: var(--color-primary);
    --module-accent-strong: var(--color-primary-strong);
    --module-accent-soft: #edf3ff;
    --module-accent-border: #ccdaf8;
}
body[data-active-module="clientes"] #main-content { --module-accent:#5871ae; --module-accent-strong:#40598f; --module-accent-soft:#f1f4fa; --module-accent-border:#d4dced; }
body[data-active-module="expedientes"] #main-content { --module-accent:#ad5c62; --module-accent-strong:#874149; --module-accent-soft:#fbf0f1; --module-accent-border:#e7cdd0; }
body[data-active-module="entrevistas"] #main-content { --module-accent:#806b94; --module-accent-strong:#624f75; --module-accent-soft:#f5f1f7; --module-accent-border:#ddd3e4; }
body[data-active-module="inmuebles"] #main-content { --module-accent:#688575; --module-accent-strong:#4d6859; --module-accent-soft:#eff5f1; --module-accent-border:#d0dfd6; }
body[data-active-module="agenda"] #main-content { --module-accent:#ad7658; --module-accent-strong:#865840; --module-accent-soft:#faf2ec; --module-accent-border:#e7d2c4; }
body[data-active-module="credito"] #main-content { --module-accent:#567e87; --module-accent-strong:#3e626a; --module-accent-soft:#eef5f5; --module-accent-border:#cfdee0; }
body[data-active-module="importaciones"] #main-content,
body[data-active-module="reportes"] #main-content { --module-accent:#607894; --module-accent-strong:#485e76; --module-accent-soft:#f0f3f6; --module-accent-border:#d5dce4; }
body[data-active-module="empresa"] #main-content,
body[data-active-module="usuarios"] #main-content,
body[data-active-module="perfiles"] #main-content,
body[data-active-module="menu"] #main-content,
body[data-active-module="configuracion"] #main-content,
body[data-active-module="tablas_maestras"] #main-content,
body[data-active-module="auditoria"] #main-content,
body[data-active-module="perfil"] #main-content { --module-accent:#697386; --module-accent-strong:#505a6b; --module-accent-soft:#f4f2ee; --module-accent-border:#ddd9d1; }
body[data-active-module="clientes"] #main-content[data-active-view="bitacora"],
body[data-active-module="expedientes"] #main-content[data-active-view="seguimiento"] { --module-accent:#5f8792; --module-accent-strong:#456b75; --module-accent-soft:#eef6f7; --module-accent-border:#d0e2e5; }

#main-content .btn:not(.dt-button) { display:inline-flex; align-items:center; justify-content:center; gap:.42rem; min-height:38px; line-height:1.2; }
#main-content .btn-sm:not(.dt-button) { min-height:34px; padding:.42rem .68rem; }
#main-content .btn > .bi,#main-content .module-nav .bi,#main-content .panel-heading .bi,#main-content .record-actions .bi,#main-content .row-actions .bi { width:1em; flex:none; line-height:1; text-align:center; }
#main-content .btn > .bi { font-size:.94em; }
#main-content .module-nav .btn > .bi { color:currentColor; }
#main-content .row-actions { min-width:max-content; }
#main-content .row-actions .btn { min-width:34px; padding-inline:.55rem; }
#main-content .panel-heading h2 { display:flex; align-items:center; gap:.5rem; }
#main-content .panel-heading h2 > .bi { color:var(--module-accent); }
#main-content .btn-primary { --bs-btn-bg:var(--module-accent); --bs-btn-border-color:var(--module-accent); --bs-btn-hover-bg:var(--module-accent-strong); --bs-btn-hover-border-color:var(--module-accent-strong); --bs-btn-active-bg:var(--module-accent-strong); --bs-btn-active-border-color:var(--module-accent-strong); }
#main-content .btn-outline-primary { --bs-btn-color:var(--module-accent); --bs-btn-border-color:var(--module-accent); --bs-btn-hover-bg:var(--module-accent); --bs-btn-hover-border-color:var(--module-accent); --bs-btn-active-bg:var(--module-accent-strong); --bs-btn-active-border-color:var(--module-accent-strong); }
#main-content .module-nav { align-items:center; min-height:50px; padding:7px; border-color:var(--module-accent-border); box-shadow:0 4px 14px rgba(23,32,51,.045); }
#main-content .module-nav .btn[aria-current="page"] { color:#fff; background:var(--module-accent); border-color:var(--module-accent); box-shadow:0 4px 10px color-mix(in srgb,var(--module-accent) 22%,transparent); }
#main-content .panel:not(.table-panel):has(> form) > .panel-heading,
#main-content .panel.create-box > .panel-heading { background:linear-gradient(115deg,var(--module-accent-strong),var(--module-accent)); }
#main-content .record-hero { color:#fff; background:linear-gradient(125deg,var(--module-accent-strong),var(--module-accent)); border-color:transparent; }
#main-content .record-hero .eyebrow { color:rgba(255,255,255,.78); }
#main-content .record-hero p { color:rgba(255,255,255,.82); }
#main-content .record-hero .btn-outline-light { color:#fff; border-color:rgba(255,255,255,.62); }
.form-grid > label > .field-label,.stack-form > label > .field-label { display:inline-flex; align-items:baseline; gap:1px; }

.form-actions,.record-actions,.heading-actions,.table-actions,.row-actions,.agenda-edit-actions,.interview-actions,.journey-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.form-actions { justify-content:flex-end; min-width:0; padding-top:12px; border-top:1px solid var(--color-border); }
.form-actions form,.record-actions form,.heading-actions form,.table-actions form,.row-actions form,.interview-actions form,.journey-actions form { margin:0; }
.form-actions--with-help { justify-content:flex-end; }
.form-action-help { display:flex; flex:1 1 320px; align-items:flex-start; gap:7px; margin-right:auto; color:var(--color-muted); font-weight:500; line-height:1.4; text-align:left; }
.form-action-help i { flex:none; margin-top:1px; color:var(--module-accent); }
.panel-heading { min-width:0; }
.panel-heading > div:first-child { min-width:0; }
.panel-heading .heading-actions { flex:none; justify-content:flex-end; }
#main-content .panel:not(.table-panel) > .panel-heading { margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--color-border); }
#main-content .panel:not(.table-panel):has(> form) > .panel-heading,
#main-content .panel.create-box > .panel-heading { min-height:68px; margin:calc(-1 * var(--panel-inset)) calc(-1 * var(--panel-inset)) 18px; padding:15px var(--panel-inset); border-bottom:3px solid color-mix(in srgb,var(--module-accent-border) 72%,#fff); }
#main-content .panel.create-box { border:1px solid var(--module-accent-border); border-radius:12px; }
#main-content .panel.create-box > .panel-heading { margin:0; border-radius:11px 11px 0 0; }
#main-content .panel-heading > div:first-child { display:grid; gap:4px; }
#main-content .panel-heading h2 { line-height:1.25; }
#main-content .panel-heading p { margin:0; line-height:1.4; }
.inline-form { flex-wrap:wrap; align-items:center; }
.inline-form .form-control,.inline-form .form-select { min-width:min(230px,100%); }
.btn-interview { color:#fff; background:#806b94; border-color:#806b94; }
.btn-interview:hover,.btn-interview:focus-visible { color:#fff; background:#624f75; border-color:#624f75; }
.btn-case { color:#fff; background:#ad5c62; border-color:#ad5c62; }
.btn-case:hover,.btn-case:focus-visible { color:#fff; background:#874149; border-color:#874149; }

.journey-panel { overflow:hidden; padding:0; }
.journey-accordion .accordion-item { border:0; background:transparent; }
.journey-accordion .accordion-button { min-height:54px; padding:14px 18px; color:var(--module-accent-strong); background:linear-gradient(110deg,#f7f4ee,#fffefa); box-shadow:inset 4px 0 #5871ae; }
.journey-accordion .accordion-button:not(.collapsed) { color:var(--module-accent-strong); background:linear-gradient(110deg,#f7f4ee,#fffefa); box-shadow:inset 4px 0 #5871ae,0 1px 0 var(--color-border); }
.journey-accordion .accordion-button:focus { box-shadow:inset 4px 0 #5871ae,0 0 0 .2rem rgba(88,113,174,.16); }
.journey-accordion .accordion-body { padding:0; }
.journey-intro { padding:16px 18px 0; }
.journey-intro h2 { margin:0 0 4px; font-size:1rem; }
.journey-intro p { margin:0; color:var(--color-muted); font-size:.78rem; }
.journey-panel > .panel-heading { margin:0; padding:16px 18px; background:linear-gradient(110deg,#f7f4ee,#fffefa); border-bottom:1px solid var(--color-border); box-shadow:inset 4px 0 #5871ae; }
.journey-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:18px; list-style:none; }
.journey-step { position:relative; display:flex; min-width:0; gap:10px; padding:10px 14px 10px 10px; }
.journey-step:not(:last-child)::after { position:absolute; top:28px; right:-5px; width:10px; height:10px; border-top:2px solid #cbd5e1; border-right:2px solid #cbd5e1; content:""; transform:rotate(45deg); }
.journey-step-icon { display:grid; width:38px; height:38px; flex:none; place-items:center; color:#667085; background:#f2f4f7; border:1px solid #dfe3ea; border-radius:10px; }
.journey-step > div { display:grid; min-width:0; gap:2px; }
.journey-step small { color:#667085; font-size:.67rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.journey-step strong { font-size:.86rem; }
.journey-step div > span { color:var(--color-muted); font-size:.72rem; line-height:1.35; }
.journey-step.is-complete .journey-step-icon { color:#567463; background:#eff5f1; border-color:#d0dfd6; }
.journey-step.is-progress .journey-step-icon { color:#9a6700; background:#fff7d6; border-color:#ecd58f; }
.journey-step.is-pending { opacity:.78; }
.journey-actions { justify-content:flex-end; padding:0 18px 18px; }

.commercial-timeline { position:relative; display:grid; gap:9px; }
.commercial-timeline::before { position:absolute; top:18px; bottom:18px; left:17px; width:2px; background:#e4e8ef; content:""; }
.commercial-timeline-item { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; }
.commercial-timeline-icon { z-index:1; display:grid; width:36px; height:36px; place-items:center; color:#5871ae; background:#f1f4fa; border:1px solid #d4dced; border-radius:10px; }
.commercial-timeline-item > div { min-width:0; padding:10px 12px; background:#fbfcfe; border:1px solid var(--color-border); border-radius:9px; }
.commercial-timeline-item header,.commercial-timeline-item footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.commercial-timeline-item time,.commercial-timeline-item footer small { color:var(--color-muted); font-size:.72rem; }
.commercial-timeline-item p { margin:5px 0; color:#475467; font-size:.8rem; }
.commercial-timeline-item footer form { margin-left:auto; }
.commercial-timeline-item.tone-followup .commercial-timeline-icon { color:#527c87; background:#eef6f7; border-color:#d0e2e5; }
.commercial-timeline-item.tone-interview .commercial-timeline-icon { color:#806b94; background:#f5f1f7; border-color:#ddd3e4; }
.commercial-timeline-item.tone-case .commercial-timeline-icon { color:#954b52; background:#fbf0f1; border-color:#e7cdd0; }
.commercial-timeline-item.tone-property .commercial-timeline-icon { color:#567463; background:#eff5f1; border-color:#d0dfd6; }

.field-label-action { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.copy-field-button { display:inline-grid; width:28px; height:28px; flex:none; place-items:center; padding:0; color:var(--module-accent); background:var(--module-accent-soft); border:1px solid var(--module-accent-border); border-radius:7px; }
.copy-field-button:hover,.copy-field-button:focus-visible { color:#fff; background:var(--module-accent); border-color:var(--module-accent); }
.copy-field-button.is-copied { color:#fff; background:#688575; border-color:#688575; }
.commercial-timeline-item .history-change { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.commercial-timeline-item .history-value { display:inline-flex; min-height:26px; align-items:center; padding:3px 8px; background:#f4f1eb; border:1px solid #e2ddd4; border-radius:7px; overflow-wrap:anywhere; }

.global-search-control { position:relative; }
.global-search-control > .bi { position:absolute; z-index:2; top:50%; left:.65rem; color:#667085; transform:translateY(-50%); pointer-events:none; }
.global-search-control .form-control { padding-left:2rem; }
.active-person-context { display:flex; align-items:stretch; max-width:260px; min-width:0; overflow:hidden; border:1px solid #cbd9fb; border-radius:999px; background:#edf3ff; box-shadow:0 2px 7px rgba(49,91,218,.08); }
.active-person-context[hidden] { display:none; }
.active-person-main,.active-person-clear { display:flex; align-items:center; border:0; color:#40598f; background:transparent; }
.active-person-main { gap:.42rem; min-width:0; padding:.35rem .55rem .35rem .7rem; font-size:.79rem; font-weight:700; }
.active-person-main span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.active-person-clear { padding:.35rem .6rem; border-left:1px solid #cbd9fb; }
.active-person-main:hover,.active-person-clear:hover { background:#dce8ff; }

.chosen-container { font-size:.84rem; }
.chosen-container-multi .chosen-choices { min-height:42px; padding:4px 7px; background:#fff; border:1px solid var(--color-border); border-radius:8px; box-shadow:none; }
.chosen-container-multi .chosen-choices li.search-choice { margin:3px 5px 3px 0; padding:6px 26px 6px 9px; color:#344054; background:var(--module-accent-soft); border:1px solid var(--module-accent-border); border-radius:7px; box-shadow:none; }
.chosen-container-active .chosen-choices { border-color:var(--module-accent); box-shadow:0 0 0 .2rem color-mix(in srgb,var(--module-accent) 18%,transparent); }
.chosen-container .chosen-drop { border-color:var(--module-accent-border); border-radius:0 0 8px 8px; box-shadow:0 8px 24px rgba(31,41,55,.13); }
.chosen-container .chosen-results li.highlighted { background:var(--module-accent); }

.quick-catalog-field { display:grid; gap:6px; }
.quick-catalog-field > small { color:var(--color-muted); }
.quick-catalog-field-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.quick-catalog-field-heading label { margin:0; font-weight:700; }
.quick-catalog-controls { display:flex; align-items:center; gap:6px; min-width:0; margin-top:5px; }
.quick-catalog-controls > .form-select,.quick-catalog-controls > .chosen-container { flex:1 1 0; min-width:0; width:0 !important; margin:0; }
.quick-catalog-controls > .quick-catalog-add,
#main-content .quick-catalog-controls > .quick-catalog-add { flex:0 0 auto; min-height:28px; margin:0; padding:4px 6px; gap:3px; font-size:.7rem; line-height:1.15; white-space:nowrap; }
.quick-catalog-controls > .quick-catalog-add > .bi,
#main-content .quick-catalog-controls > .quick-catalog-add > .bi { font-size:.7rem; }
#main-content .panel:not(.table-panel):has(> form) > .panel-heading [data-quick-catalog-open],
#main-content .panel.create-box > .panel-heading [data-quick-catalog-open] { flex-shrink:0; --bs-btn-color:var(--module-accent-strong); --bs-btn-bg:#fff; --bs-btn-border-color:#fff; --bs-btn-hover-color:var(--module-accent-strong); --bs-btn-hover-bg:#f4f6f5; --bs-btn-hover-border-color:#fff; --bs-btn-active-color:var(--module-accent-strong); --bs-btn-active-bg:#e9efeb; --bs-btn-active-border-color:#fff; --bs-btn-focus-shadow-rgb:255,255,255; box-shadow:0 2px 6px rgba(0,0,0,.1); }
.quick-catalog-modal .modal-content { overflow:hidden; border:1px solid var(--module-accent-border); border-radius:14px; box-shadow:0 24px 70px rgba(31,41,55,.2); }
.quick-catalog-modal .modal-header { align-items:flex-start; padding:18px 20px; background:linear-gradient(115deg,var(--module-accent-soft),#fff); border-bottom:1px solid var(--module-accent-border); }
.quick-catalog-modal .modal-header > div { display:grid; gap:3px; }
.quick-catalog-modal .modal-body { display:grid; gap:14px; padding:20px; }
.quick-catalog-modal .modal-body > label { display:grid; gap:6px; font-weight:700; }
.quick-catalog-matches { display:grid; gap:8px; min-height:44px; }
.quick-catalog-matches > p { margin:0; padding:10px 12px; color:var(--color-muted); background:#f8fafc; border:1px dashed #d7dee9; border-radius:9px; font-size:.8rem; }
.quick-catalog-matches > p.is-available { color:#38654b; background:#eff8f2; border-color:#badac5; }
.quick-catalog-matches > p.is-error { color:#9a3440; background:#fff2f3; border-color:#e7bfc4; }
.quick-catalog-match-intro { color:#775b16 !important; background:#fff9e8 !important; border-color:#ead9a0 !important; }
.quick-catalog-match { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#fff; border:1px solid var(--color-border); border-radius:9px; }
.quick-catalog-match > div { display:grid; min-width:0; gap:2px; }
.quick-catalog-match strong { overflow:hidden; text-overflow:ellipsis; }
.quick-catalog-match small { color:var(--color-muted); }
.quick-catalog-match.is-exact { border-color:var(--module-accent-border); background:var(--module-accent-soft); }
.quick-catalog-match.is-inactive { border-color:#e4bfc3; background:#fff6f7; }
.quick-catalog-match.is-inactive small { color:#9a3440; }

@media(max-width:920px) {
    .journey-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .journey-step { border:1px solid var(--color-border); border-radius:9px; }
    .journey-step::after { display:none; }
}
@media(max-width:600px) {
    #main-content .module-nav { min-height:52px; }
    .panel-heading { align-items:stretch; flex-direction:column; gap:10px; }
    .panel-heading .heading-actions,.record-actions,.form-actions,.journey-actions { width:100%; }
    .panel-heading .heading-actions .btn,.record-actions .btn,.form-actions .btn,.journey-actions .btn { width:100%; }
    .form-action-help { flex-basis:100%; order:-1; }
    .journey-steps { grid-template-columns:1fr; padding:12px; }
    .journey-actions { padding:0 12px 12px; }
    .journey-actions form { width:100%; }
    .commercial-timeline-item header,.commercial-timeline-item footer { align-items:flex-start; flex-direction:column; gap:4px; }
    .commercial-timeline-item footer form { width:100%; margin:4px 0 0; }
    .commercial-timeline-item footer .btn { width:100%; }
    .quick-catalog-field-heading,.quick-catalog-match { align-items:stretch; flex-direction:column; }
    .quick-catalog-field-heading .btn,.quick-catalog-match .btn { width:100%; }
}
@media(max-width:760px) {
    .topbar:has(.active-person-context:not([hidden])) .global-search { display:none; }
    .active-person-context { max-width:190px; }
}
.trace-summary-card .btn{margin-top:.55rem;align-self:flex-start}
.trace-product-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;border-bottom:1px solid var(--border-color,#dce2ea);background:#fbfcfe}
.trace-product-filters label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.85rem}
.reminder-builder{border:1px solid #d8e0eb;border-radius:.75rem;background:#f8fafc;padding:1rem}
.reminder-builder>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.reminder-builder>header div{display:grid;gap:.15rem}.reminder-builder>header small{color:#667085}
.client-reminder-row{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:.75rem;align-items:end;padding:.85rem;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;margin-top:.65rem}
.client-reminder-row label{margin:0}.client-reminder-row .reminder-calendar-check{align-self:center}.client-reminder-row>[data-remove-client-reminder]{align-self:center}
.client-reminder-row .reminder-detail-field{grid-column:1/-1}.client-reminder-row .jodit-container{background:#fff}
.trace-detail-card{border:1px solid #dce2ea;border-radius:.8rem;background:#fbfcfe;overflow:hidden}
.trace-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;border-bottom:1px solid #dce2ea}
.trace-detail-grid>div{padding:.85rem 1rem;border-right:1px solid #e5eaf0}.trace-detail-grid>div:last-child{border-right:0}
.trace-detail-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#667085}.trace-detail-grid dd{margin:.25rem 0 0;font-weight:600}
.trace-detail-card>[data-trace-content]{padding:1rem;min-height:4rem}.trace-edit-form{padding:1rem;border:1px solid #dce2ea;border-radius:.8rem;background:#fff}
@media(max-width:900px){.client-reminder-row{grid-template-columns:1fr 1fr}.trace-detail-grid{grid-template-columns:1fr 1fr}.trace-detail-grid>div{border-bottom:1px solid #e5eaf0}}
@media(max-width:600px){.client-reminder-row,.trace-detail-grid{grid-template-columns:1fr}.reminder-builder>header{align-items:flex-start;flex-direction:column}}

/* Flujo de inventario: superficies y acentos de Inicio y Agenda, acotados a Inmuebles. */
#property-import{overflow:hidden;background:linear-gradient(160deg,#f5f8f4,#fffdf8 40%,#fff);border:1px solid #d7e3da;border-radius:18px}
#property-import>.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(125deg,#496655,#6c8977);padding:20px 24px}
#property-import>.panel-heading form{flex:0 0 auto;margin:0}#property-import>.panel-heading .btn{color:#314f3f;background:#fff;border-color:#fff;font-weight:650}
#property-import .property-import-steps{display:flex;gap:12px;list-style:none;margin:20px 24px;padding:0}
#property-import .property-import-steps li{flex:1;display:flex;align-items:center;gap:9px;color:#727b74;font-size:.85rem;font-weight:650;padding:10px;border-bottom:2px solid #e2e8e0}
#property-import .property-import-steps li>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#e8eee8}
#property-import .property-import-steps li.is-active{color:#355a43;border-color:#5f806b}#property-import .property-import-steps li.is-active>span{color:#fff;background:#54765f}
#property-import .property-import-guide{display:flex;gap:12px;margin:0 24px 18px;padding:15px 18px;background:#edf3ed;border:1px solid #dce7dc;border-radius:12px;color:#3f5f49;font-size:.84rem}
#property-import .property-import-guide>i{font-size:1.25rem}#property-import .property-import-guide p{margin:5px 0 0;line-height:1.5}
#property-import .property-import-upload{background:#fff;border-block:1px solid #e1e7de}#property-import .property-import-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 24px 12px}
#property-import .property-import-stat{display:grid;gap:4px;padding:15px;background:#fff;border:1px solid #dfe7df;border-radius:12px;box-shadow:0 4px 12px #36584108}
#property-import .property-import-stat strong{font-size:1.65rem;line-height:1.1;color:#365d43}#property-import .property-import-stat span{font-size:.76rem;color:#657269}
#property-import .property-import-stat--error strong,#property-import .property-import-stat--duplicate strong{color:#a14242}#property-import .property-import-stat--pending strong{color:#997126}
#property-import .property-import-help{margin:0 24px 16px;font-size:.82rem;color:#657269}#property-import .property-import-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 24px 16px}
#property-import .property-import-preview{font-size:.8rem}#property-import .property-import-preview td{padding:12px 10px;min-width:95px}#property-import .property-import-preview small{font-size:.73rem}
#property-import .property-import-errors{padding-left:17px;margin:0;color:#9e3737}#property-import .property-import-errors li+li{margin-top:10px}#property-import .property-import-errors small{color:#735c5c;line-height:1.4;margin-top:4px}
#property-import .property-import-warning{margin-top:7px;color:#8a6527}#property-import .property-import-code{display:inline-block;padding:3px 7px;border-radius:5px;background:#ecf2ed;color:#3c6048;font-weight:750}
#property-import .property-import-progress{display:flex;align-items:center;gap:10px;margin:12px 24px;padding:13px 16px;border-radius:9px;background:#edf4ef;color:#365d43;font-size:.85rem}
#property-import [hidden]{display:none!important}#property-import .property-import-feedback{margin:12px 24px;white-space:pre-line}#property-import .property-import-reload,#property-import .property-import-recent,#property-import .property-import-result{margin:18px 24px}
#property-import .property-import-recent summary{font-weight:650;color:#496655}#property-import .property-import-recent p{font-size:.8rem;margin:8px 0}
#import-row-summary-modal [data-import-summary-status]{white-space:pre-line}
@media(max-width:1000px){#property-import .property-import-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#property-import>.panel-heading{align-items:stretch;flex-direction:column;padding:18px}#property-import>.panel-heading .btn{width:100%}#property-import .property-import-steps{gap:5px;margin:16px}#property-import .property-import-steps li{font-size:.73rem;gap:5px;padding:6px 2px}#property-import .property-import-steps li>span{flex-basis:22px;width:22px;height:22px}#property-import .property-import-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px;gap:8px}#property-import .property-import-guide{margin:0 16px 16px;padding:12px}#property-import .property-import-filters{margin-inline:16px}#property-import .property-import-help{margin-inline:16px}}
#property-import .property-update-differences { display: grid; gap: .65rem; min-width: 250px; }
#property-import .property-update-change { display: flex; align-items: flex-start; gap: .6rem; }
#property-import .property-update-change input { margin-top: .3rem; flex-shrink: 0; }
#property-import .property-update-values { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; overflow-wrap: anywhere; }
#property-import .property-update-values del { color: #856666; }
#property-import .property-update-values ins { color: #285e42; text-decoration: none; font-weight: 600; }

/* Cabeceras de Inmuebles: superficies e iconos del asistente de Inicio. */
body[data-active-module="inmuebles"] #main-content .panel:has(> .property-workspace-heading) { border:1px solid #d9e4dc; border-radius:18px; box-shadow:0 8px 24px rgba(49,77,60,.06); }
body[data-active-module="inmuebles"] #main-content .panel > .panel-heading.property-workspace-heading { min-height:80px; margin:calc(-1 * var(--panel-inset)) calc(-1 * var(--panel-inset)) 18px; padding:17px 22px; gap:16px; color:#2d4838; background:radial-gradient(ellipse at 100% 0,rgba(182,207,173,.24),transparent 60%),linear-gradient(115deg,#eff5f0,#fffaf2); border-bottom:1px solid #dce6dc; border-radius:17px 17px 0 0; box-shadow:inset 4px 0 #6a8a72; }
body[data-active-module="inmuebles"] #main-content .panel.create-box > .panel-heading.property-workspace-heading,
body[data-active-module="inmuebles"] #main-content .panel.table-panel > .panel-heading.property-workspace-heading { margin:0; }
body[data-active-module="inmuebles"] #main-content .panel > .panel-heading.property-workspace-heading h2 { gap:10px; color:#2d4838; font-size:1.12rem; font-weight:800; letter-spacing:-.02em; }
body[data-active-module="inmuebles"] #main-content .property-workspace-heading h2 > .bi { display:inline-grid; place-items:center; flex:0 0 30px; width:30px; height:30px; color:#486d54; background:#e0ece1; border:1px solid #d2e2d3; border-radius:9px; font-size:1rem; }
body[data-active-module="inmuebles"] #main-content .panel > .panel-heading.property-workspace-heading p { max-width:78ch; color:#566c5e; font-size:.8rem; line-height:1.5; }
body[data-active-module="inmuebles"] #main-content .property-heading-kicker { color:#4f6a57; font-size:.65rem; font-weight:800; line-height:1.25; letter-spacing:.1em; text-transform:uppercase; }
body[data-active-module="inmuebles"] #main-content .property-workspace-heading .count-badge { padding:7px 12px; color:#3d6349; background:#fffdf8; border:1px solid #d9e5d9; box-shadow:0 3px 9px rgba(49,77,60,.04); white-space:nowrap; }
body[data-active-module="inmuebles"] #main-content .property-workspace-heading .btn { color:#3f6149; background:#fffdf8; border-color:#cbdccf; box-shadow:0 3px 9px rgba(49,77,60,.05); }
body[data-active-module="inmuebles"] #main-content .property-workspace-heading .btn:hover { color:#2d4838; background:#e4eee4; border-color:#93b19b; }
body[data-active-module="inmuebles"] #main-content .module-nav { padding:10px; border-color:#d9e4dc; border-radius:14px; box-shadow:0 4px 16px rgba(49,77,60,.04); }
body[data-active-module="inmuebles"] #main-content .property-hero { border:1px solid #688575; border-radius:18px; box-shadow:0 10px 25px rgba(49,77,60,.1); }
body[data-active-module="inmuebles"] #main-content #new-property .required-note { padding:10px 13px; background:#f3f7f1; border:1px solid #e1e9de; border-radius:10px; }
@media(max-width:640px) {
    body[data-active-module="inmuebles"] #main-content .panel > .panel-heading.property-workspace-heading { min-height:0; padding:15px 17px; gap:12px; }
    body[data-active-module="inmuebles"] #main-content .panel > .panel-heading.property-workspace-heading h2 { font-size:1.02rem; }
    body[data-active-module="inmuebles"] #main-content .property-workspace-heading .count-badge { align-self:flex-start; }
    body[data-active-module="inmuebles"] #main-content .property-workspace-heading > form,body[data-active-module="inmuebles"] #main-content .property-workspace-heading > form .btn { width:100%; }
}
