@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

/* Variables visuales: cambiar aquí la identidad del sistema sin buscar colores dispersos. */
:root { --ink:#20382b; --deep:#183126; --paper:#f5f0e4; --panel:#fffdf8; --line:#d7cdb7; --gold:#d9a83e; --muted:#6f7066; --red:#b24e42; --shadow:0 14px 30px rgba(49,42,25,.08); }
* { box-sizing:border-box; }
.view-switch { display:flex; flex:0 0 auto; overflow:hidden; border:1px solid var(--line); }.view-switch button { height:36px; padding:0 12px; color:var(--ink); background:var(--panel); border:0; font:600 12px 'DM Sans',sans-serif; cursor:pointer; }.view-switch button + button { border-left:1px solid var(--line); }.view-switch .view-switch-active { color:#fff; background:var(--ink); }
.prospect-list { display:block; overflow:visible; }.prospect-list .audit-table { background:var(--panel); border:1px solid var(--line); }.prospect-list .audit-table table { min-width:1160px; }.prospect-list th { position:sticky; top:0; z-index:1; padding-top:14px; padding-bottom:14px; background:#e5f1e8; }.prospect-list td { max-width:230px; overflow-wrap:anywhere; }.list-actions { display:flex; gap:5px; }.list-actions .button { height:30px; padding:0 8px; white-space:nowrap; }.form-section-title { margin:20px 24px -4px; padding-top:13px; color:var(--ink); border-top:1px solid var(--line); font-size:13px; }
body { margin:0; min-width:320px; color:#2c3028; background:var(--paper); font:14px/1.45 'DM Sans', sans-serif; }
/* Barra superior y marca compartida por login y aplicación. */
.topbar { min-height:76px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; gap:42px; color:#f7f1e3; background:var(--deep); border-bottom:3px solid var(--gold); }
.brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; white-space:nowrap; }.brand-mark { display:flex; align-items:center; justify-content:center; width:48px; height:34px; overflow:hidden; background:transparent; border-radius:0; }.brand-mark img { display:block; width:76px; height:43px; object-fit:contain; }.brand strong,.brand small { display:block; }.brand strong { font:700 19px 'Playfair Display',serif; }.brand small { color:#bcc7b8; font-size:10px; letter-spacing:.02em; }
.login-brand .brand-mark { width:145px; height:58px; }.login-brand .brand-mark img { width:145px; height:82px; }.topbar .brand-mark { width:82px; height:40px; }.topbar .brand-mark img { width:120px; height:68px; }
nav { display:flex; align-self:stretch; gap:22px; }nav a { display:flex; align-items:center; color:#d6ddd0; text-decoration:none; border-bottom:3px solid transparent; }nav a.active { color:#fff; border-color:var(--gold); }.user-chip { margin-left:auto; color:#d8dfd5; font-size:12px; }.status-dot { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#77a779; }.role { margin-left:8px; padding:4px 7px; color:#2e382e; background:#e8c66e; border-radius:2px; font-size:10px; }
/* Estructura general: encabezado, herramientas y contenido principal. */
.shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; padding:44px 0 52px; }.page-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:28px; }.eyebrow { margin:0 0 5px; color:#9a7530; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.page-heading h1 { margin:0; color:var(--ink); font:700 clamp(27px,4vw,36px) 'Playfair Display',serif; }.muted { margin:7px 0 0; color:var(--muted); }.date-label { color:var(--muted); font-size:12px; }
.toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:14px; background:rgba(255,253,248,.58); border:1px solid var(--line); }.search-box { flex:1 1 260px; position:relative; }.search-box span { position:absolute; left:12px; top:7px; color:var(--muted); font-size:23px; }.search-box input { width:100%; padding-left:36px; }.toolbar select { width:190px; }
input,select { height:38px; padding:0 12px; color:var(--ink); background:var(--panel); border:1px solid #c9bea7; border-radius:2px; font:inherit; }input:focus,select:focus { outline:2px solid #e7c771; outline-offset:1px; }.button { height:38px; padding:0 14px; border:1px solid transparent; border-radius:2px; font:600 13px inherit; cursor:pointer; }.button-primary { color:#fff; background:var(--ink); }.button-primary:hover { background:#2e5842; }.button-quiet { color:var(--ink); background:transparent; border-color:#c9bea7; }.button-quiet:hover { background:#eee6d4; }
.summary { display:flex; gap:10px; margin:20px 0 14px; }.summary div { flex:1; padding:13px 16px; background:var(--panel); border-left:3px solid var(--gold); box-shadow:var(--shadow); }.summary span,.summary strong { display:block; }.summary span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }.summary strong { margin-top:3px; color:var(--ink); font:700 22px 'Playfair Display',serif; }
/* Pipeline y tarjetas: la aplicación conserva cinco columnas y permite desplazamiento en móvil. */
.pipeline { display:grid; grid-template-columns:repeat(5, minmax(170px,1fr)); gap:10px; overflow-x:auto; }.stage { min-height:330px; background:#e9dec3; border:1px solid #d2c5aa; }.stage-heading { display:flex; justify-content:space-between; padding:13px 12px 11px; color:var(--ink); border-bottom:1px solid #d2c5aa; font-weight:700; }.stage-count { color:var(--muted); font-size:12px; }.stage-body { padding:9px; }.client-card { position:relative; margin-bottom:9px; padding:14px 12px 12px; background:var(--panel); border:1px solid #d0c5ad; border-left:3px solid var(--ink); box-shadow:0 3px 8px rgba(50,44,25,.06); }.client-card[data-stage="new"] { border-left-color:#8f8a7c; }.client-card[data-stage="quoted"] { border-left-color:#d9a83e; }.client-card[data-stage="lost"] { border-left-color:var(--red); }.client-card h3 { margin:0; color:#2a3028; font-size:14px; line-height:1.25; }.client-card p { margin:2px 0 0; color:var(--muted); font-size:12px; }.contact-data { color:var(--ink)!important; font-size:10px!important; }.client-value { margin-top:8px!important; color:var(--ink)!important; font-weight:700; }.next-action { margin-top:9px!important; padding-top:8px; border-top:1px solid #e7dfcf; font-size:11px!important; }.card-actions { display:flex; justify-content:flex-end; margin-top:8px; }.move-select { height:27px; padding:0 4px; color:var(--muted); border:0; background:transparent; font-size:11px; }.empty-stage { padding:15px 3px; color:#8a877d; font-size:12px; }.empty-state { padding:24px; text-align:center; color:var(--muted); }.local-note { margin:25px 0 0; color:#888577; text-align:center; font-size:11px; }.local-note span { color:#77a779; }
dialog { width:min(500px, calc(100% - 28px)); padding:0; color:#2c3028; background:var(--panel); border:1px solid var(--line); box-shadow:0 20px 70px rgba(25,35,27,.28); }dialog::backdrop { background:rgba(24,49,38,.42); }.dialog-heading { display:flex; justify-content:space-between; align-items:start; padding-bottom:18px; border-bottom:1px solid var(--line); }.dialog-heading h2 { margin:0; color:var(--ink); font:700 25px 'Playfair Display',serif; }.dialog-heading,.dialog-heading + label,dialog form > label,dialog form > .form-grid,dialog .dialog-actions { margin-left:24px; margin-right:24px; }.dialog-heading { padding-top:24px; }.close-button { border:0; color:var(--muted); background:transparent; font-size:27px; cursor:pointer; }dialog label { display:block; margin-top:16px; color:var(--ink); font-size:12px; font-weight:700; }dialog input,dialog select { width:100%; margin-top:6px; }.form-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:12px; }.dialog-actions { display:flex; justify-content:flex-end; gap:8px; padding:20px 0 24px; }
dialog label.inline-checkbox { display:flex; align-items:center; gap:9px; font-weight:600; }
dialog label.inline-checkbox input { width:16px; height:16px; flex:0 0 16px; margin:0; accent-color:var(--ink); }
#client-dialog,#edit-dialog { width:min(760px, calc(100% - 28px)); max-height:90vh; overflow-y:auto; }
#client-dialog textarea,#edit-dialog textarea { width:100%; margin-top:6px; padding:9px 12px; resize:vertical; color:var(--ink); background:var(--panel); border:1px solid #c9bea7; border-radius:2px; font:inherit; }
.wizard-progress { display:flex; gap:8px; margin:16px 24px 0; }
.wizard-progress span { flex:1; padding:8px 10px; color:var(--muted); background:#eee9dd; text-align:center; font-size:11px; font-weight:700; }
.wizard-progress .wizard-step-active { color:#fff; background:var(--ink); }
.client-form-step .form-section-title { margin-top:18px; }
.wizard-actions { position:sticky; bottom:0; background:var(--panel); }
@media (max-width:760px) { .topbar { flex-wrap:wrap; gap:14px; padding:14px 20px 0; }.topbar nav { order:3; width:100%; height:42px; gap:22px; }.user-chip { margin-left:auto; }.shell { width:min(100% - 28px, 620px); padding-top:30px; }.page-heading { display:block; }.date-label { display:block; margin-top:12px; }.summary strong { font-size:18px; }.summary { gap:6px; }.summary div { padding:11px 9px; }.summary span { font-size:9px; }.pipeline { grid-template-columns:repeat(5, 190px); padding-bottom:8px; }.toolbar select { flex:1 1 145px; }.toolbar .button-primary { flex:1 1 190px; } }

.login-screen { min-height:100vh; display:grid; grid-template-columns:minmax(360px, 480px) 1fr; background:var(--deep); }.login-panel { display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,8vw,92px); background:var(--paper); }.login-brand { margin-bottom:70px; color:var(--deep); }.login-panel h1 { margin:0; color:var(--ink); font:700 38px 'Playfair Display',serif; }.login-form { margin-top:30px; }.login-form label { display:block; margin-top:17px; color:var(--ink); font-size:12px; font-weight:700; }.login-form input { width:100%; margin-top:7px; }.login-form .button { width:100%; margin-top:25px; }.form-error { padding:9px 11px; color:#8f332b; background:#f5dfda; border-left:3px solid var(--red); font-size:12px; }.login-footnote { margin-top:auto; color:var(--muted); font-size:11px; }.login-aside { display:flex; flex-direction:column; justify-content:center; padding:9vw; color:#f7f1e3; background:linear-gradient(130deg,#183126,#2f5943); }.login-aside span { margin-bottom:22px; color:var(--gold); font-size:12px; letter-spacing:.22em; }.login-aside strong { font:700 clamp(38px,5vw,72px)/1.03 'Playfair Display',serif; }
.logout-button { margin-left:12px; padding:4px 8px; color:#d8dfd5; background:transparent; border:1px solid #5e7565; border-radius:2px; font:inherit; cursor:pointer; }.logout-button:hover { color:#fff; border-color:#d9a83e; }[data-admin-only][hidden], [hidden] { display:none!important; }.admin-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:14px; }.data-panel { padding:21px; background:var(--panel); border:1px solid var(--line); }.data-panel h2 { margin:0 0 20px; color:var(--ink); font:700 18px 'Playfair Display',serif; }.seller-row,.stage-row { display:grid; grid-template-columns:150px 1fr 90px; align-items:center; gap:12px; margin-top:16px; font-size:13px; }.seller-row strong,.stage-row strong { text-align:right; color:var(--ink); }.bar { height:10px; background:#e8dec8; }.bar i { display:block; height:100%; background:var(--ink); }.stage-row { grid-template-columns:1fr 40px; padding:11px 0; margin:0; border-bottom:1px solid var(--line); }.stage-row strong { font-size:18px; }.audit-table { overflow:auto; }.audit-table table { width:100%; min-width:620px; border-collapse:collapse; font-size:12px; }.audit-table th { color:var(--muted); font-size:10px; letter-spacing:.08em; text-align:left; text-transform:uppercase; }.audit-table td,.audit-table th { padding:12px 10px; border-bottom:1px solid var(--line); }.audit-table td:first-child { white-space:nowrap; color:var(--muted); }
.dashboard-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }.panel-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:18px; }.panel-heading h2 { margin:0; }.panel-heading span { color:var(--muted); font-size:11px; }.chart-row { display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:10px; margin-top:13px; font-size:12px; }.chart-row strong { min-width:52px; color:var(--ink); text-align:right; }.chart-track { height:10px; overflow:hidden; background:#e1eee4; }.chart-track i { display:block; height:100%; min-width:0; background:var(--gold); transition:width .35s ease; }.chart-track .chart-overdue { background:#b54a3e; }.chart-track .chart-today { background:#d49a24; }.chart-track .chart-soon { background:#4e9b67; }.chart-track .chart-later { background:#8da99a; }.notification-panel { min-height:220px; }.notification-list { display:grid; gap:7px; }.notification-item { display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:10px; width:100%; padding:10px; color:var(--ink); background:transparent; border:1px solid var(--line); border-left:3px solid var(--gold); text-align:left; cursor:pointer; }.notification-item:hover { background:#edf7ef; }.notification-item strong,.notification-item small { display:block; }.notification-item small { margin-top:3px; color:var(--muted); font-size:10px; }.notification-icon { display:grid; width:21px; height:21px; place-items:center; color:#fff; background:var(--gold); border-radius:50%; font-size:12px; font-weight:700; }.notification-overdue { border-left-color:#b54a3e; }.notification-overdue .notification-icon { background:#b54a3e; }.notification-today { border-left-color:#d49a24; }.notification-today .notification-icon { background:#d49a24; }
.account-button { margin-left:9px; padding:4px 7px; color:#d8dfd5; background:transparent; border:1px solid #5e7565; border-radius:2px; font:inherit; cursor:pointer; }.account-button:hover { color:#fff; border-color:var(--gold); }.field-help { display:block; margin-top:5px; color:var(--muted); font-size:11px; font-weight:400; }.user-admin-grid { display:grid; grid-template-columns:340px 1fr; gap:14px; }.admin-form label { display:block; margin-top:14px; color:var(--ink); font-size:12px; font-weight:700; }.admin-form input { width:100%; margin-top:6px; }.admin-form .button { width:100%; margin-top:20px; }.user-list { min-height:300px; }.user-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid var(--line); }.user-row strong,.user-row span { display:block; }.user-row strong { color:var(--ink); }.user-row span { margin-top:3px; color:var(--muted); font-size:11px; }.user-row .button { height:31px; padding:0 10px; font-size:11px; white-space:nowrap; }
.user-actions { display:flex; gap:6px; }.button-danger { color:#9a3f35; background:#fff8f5; border-color:#d9aaa2; }.button-danger:hover { color:#fff; background:var(--red); }.user-inactive { opacity:.58; }
.call-info { margin-top:6px!important; color:#8a6726!important; font-size:11px!important; }.card-record { margin-top:8px; padding:7px 0 1px; border-top:1px solid #e7dfcf; }.card-record .call-info { margin-top:0!important; }.movement-info { margin-top:4px!important; color:var(--ink)!important; font-size:10px!important; }.movement-info strong { font-weight:700; }.movement-note { margin-top:4px!important; color:var(--muted)!important; font-size:10px!important; font-style:italic; }.card-actions { align-items:center; gap:5px; }.card-actions .button { height:27px; padding:0 7px; font-size:10px; }.history-title { margin:20px 24px 5px; color:var(--ink); font-size:13px; }.follow-up-history { max-height:180px; margin:0 24px; padding:0; overflow:auto; list-style:none; }.follow-up-history li { padding:8px 0; border-bottom:1px solid var(--line); font-size:11px; }.follow-up-history strong,.follow-up-history span { display:block; }.follow-up-history span { margin-top:2px; color:var(--muted); }
@media (max-width:760px) { .login-screen { display:block; }.login-aside { display:none; }.login-panel { min-height:100vh; padding:30px 24px; }.login-brand { margin-bottom:65px; }.admin-grid { grid-template-columns:1fr; }.seller-row { grid-template-columns:120px 1fr 75px; gap:8px; }.user-chip { font-size:11px; }.logout-button { margin-left:4px; padding:3px 5px; } }
@media (max-width:760px) { .account-button { margin-left:4px; padding:3px 5px; }.user-admin-grid { grid-template-columns:1fr; }.user-row { align-items:flex-start; }.user-row .button { flex-shrink:0; } }
.card-actions { justify-content:space-between; padding-top:8px; border-top:1px solid #e7dfcf; }.card-actions .follow-up-button { display:inline-flex; align-items:center; gap:4px; }.card-actions .follow-up-button span { color:var(--gold); font-size:14px; }.move-select { max-width:118px; overflow:hidden; text-overflow:ellipsis; }.movement-panel { padding:0; overflow:hidden; }.movement-panel-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:21px; border-bottom:1px solid var(--line); }.movement-panel-heading h2 { margin:0; }.movement-panel-heading span { color:var(--muted); font-size:11px; }.table-subtext { display:block; margin-top:2px; color:var(--muted); font-size:11px; }.movement-panel .audit-table { border:0; }.movement-panel .empty-state { margin:0; }.follow-up-history em { display:block; margin-top:4px; color:var(--ink); font-style:normal; }#follow-up-dialog textarea { width:100%; min-height:72px; margin-top:6px; padding:9px 12px; resize:vertical; color:var(--ink); background:var(--panel); border:1px solid #c9bea7; border-radius:2px; font:inherit; }#follow-up-dialog textarea:focus { outline:2px solid #e7c771; outline-offset:1px; }
.delete-client { width:100%; margin-top:7px; padding:4px 0 0; color:#9a3f35; background:transparent; border:0; border-top:1px solid #eee5d5; font:500 10px inherit; text-align:right; cursor:pointer; }.delete-client:hover { color:var(--red); text-decoration:underline; }
.quantity-info { color:var(--ink)!important; font-size:11px!important; }.client-card h3,.client-card p { overflow-wrap:anywhere; }
.location-share { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:20px 0 14px; padding:17px 20px; background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--gold); }.location-share h2 { margin:0; color:var(--ink); font:700 19px 'Playfair Display',serif; }.location-share .muted { margin:4px 0 0; font-size:12px; }.location-actions { display:flex; gap:8px; flex-shrink:0; }.location-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:14px; }.location-map { min-height:480px; background:#d8ebdd; border:1px solid var(--line); }.location-list { min-height:480px; }.location-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }.location-row strong,.location-row span { display:block; }.location-row span { margin-top:4px; color:var(--muted); font-size:11px; }.map-link { color:var(--red); font-size:11px; white-space:nowrap; }
.box-type { display:inline-block; margin-top:7px!important; padding:3px 6px; color:#176b3d!important; background:#d9efdf; border-left:2px solid #36a866; font-size:10px!important; font-weight:700; }
.dashboard-grid .data-panel { min-width:0; }.notification-item > span:last-child { color:var(--muted); font-size:16px; }
.executive-dashboard { display:grid; grid-template-columns:minmax(290px,.72fr) minmax(0,1.8fr); gap:16px; align-items:start; }
.dashboard-metrics { padding:18px 20px; }
.dashboard-metric-table { border-top:1px solid var(--line); }
.dashboard-metric-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; min-height:37px; border-bottom:1px solid #e8e1d3; font-size:12px; }
.dashboard-metric-row strong { color:var(--ink); }.dashboard-metric-row > span { text-align:right; font-variant-numeric:tabular-nums; }
.dashboard-signal { min-width:62px; padding:4px 6px; border-radius:2px; text-align:center; font-size:10px; }
.dashboard-signal-green { color:#28643b; background:#e2f0dc; }.dashboard-signal-yellow { color:#785900; background:#fff0c6; }.dashboard-signal-red { color:#8c2929; background:#f6dddd; }
.dashboard-goal-form { display:grid; grid-template-columns:1fr 1.3fr auto; align-items:end; gap:8px; margin-top:17px; padding-top:14px; border-top:1px solid var(--line); }
.dashboard-goal-form label { display:block; color:var(--ink); font-size:11px; font-weight:700; }.dashboard-goal-form input { width:100%; margin-top:5px; }.dashboard-goal-form .button { padding:0 10px; white-space:nowrap; font-size:11px; }.dashboard-goal-form .field-help { grid-column:1/-1; margin:0; }
.dashboard-signal-key { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-top:13px; font-size:10px; }.dashboard-signal-key strong { grid-column:1/-1; color:var(--ink); }
.dashboard-signal-key span { padding:6px 7px; text-align:center; border-radius:2px; }
.dashboard-chart-panel { min-width:0; padding:22px 20px 15px; }.dashboard-chart-panel .panel-heading { margin-bottom:0; }.dashboard-chart-panel .panel-heading h2 { color:var(--ink); }
.dashboard-chart-scroll { width:100%; overflow-x:auto; }.dashboard-line-chart { display:block; width:100%; min-width:620px; height:auto; margin-top:16px; overflow:visible; }
.dashboard-gridline { stroke:#d9d5cd; stroke-width:1; }.dashboard-axis { stroke:#7e847d; stroke-width:1; }.dashboard-axis-label { fill:#676d66; font:12px 'DM Sans',sans-serif; }
.dashboard-chart-legend { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:10px; }.dashboard-legend-item { display:flex; align-items:center; gap:6px; color:var(--ink); font-size:11px; }.dashboard-legend-item i { width:10px; height:10px; background:var(--series-color); border-radius:50%; }
.dashboard-chart-note { margin:12px 0 0; color:var(--muted); font-size:11px; }
@media (max-width:900px) { .executive-dashboard { grid-template-columns:1fr; } }
@media (max-width:560px) { .dashboard-goal-form { grid-template-columns:1fr 1fr; }.dashboard-goal-form .button { grid-column:1/-1; }.dashboard-signal-key { grid-template-columns:1fr; }.dashboard-signal-key strong { grid-column:auto; } }
@media (max-width:760px) { body { overflow-x:hidden; }.topbar { padding:12px 14px 0; gap:10px; }.topbar .brand { min-width:0; }.topbar .brand strong { font-size:16px; }.topbar .brand small { font-size:9px; }.topbar .brand-mark { width:64px; }.topbar nav { gap:16px; overflow-x:auto; padding-bottom:1px; white-space:nowrap; }.user-chip { width:100%; margin-left:0; padding-bottom:4px; white-space:nowrap; overflow-x:auto; }.shell { width:calc(100% - 24px); padding:26px 0 40px; }.summary { display:grid; grid-template-columns:1fr 1fr; }.summary div { min-width:0; padding:10px; }.summary strong { font-size:17px; }.toolbar { padding:10px; }.toolbar .search-box,.toolbar select,.toolbar .button-primary { width:100%; flex:1 1 100%; }.pipeline { grid-template-columns:1fr; gap:12px; overflow:visible; }.stage { min-width:0; min-height:0; }.stage-body { padding:8px; }.client-card { min-width:0; }.form-grid { grid-template-columns:1fr; gap:0; }dialog { max-height:calc(100vh - 24px); overflow:auto; }.dialog-heading h2 { font-size:21px; }.dialog-actions { flex-wrap:wrap; }.dialog-actions .button { flex:1 1 130px; }.admin-grid,.user-admin-grid { grid-template-columns:1fr; }.location-layout { grid-template-columns:1fr; }.location-map { min-height:340px; }.location-list { min-height:0; }.location-share { align-items:stretch; flex-direction:column; }.location-actions .button { flex:1; }.audit-table table { min-width:700px; }.movement-panel-heading { align-items:flex-start; flex-direction:column; gap:4px; } }
@media (max-width:760px) { .dashboard-grid { grid-template-columns:1fr; }.chart-row { grid-template-columns:100px 1fr auto; gap:7px; }.notification-item { padding:9px 7px; } }
.client-pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:16px 0 4px; padding:12px 14px; color:var(--muted); background:var(--panel); border:1px solid var(--line); font-size:12px; }.client-pagination > div { display:flex; align-items:center; gap:10px; }.client-pagination .button { min-width:88px; }.client-pagination button:disabled { opacity:.45; cursor:not-allowed; }
@media (max-width:560px) { .client-pagination { align-items:flex-start; flex-direction:column; }.client-pagination > div { width:100%; justify-content:space-between; }.client-pagination .button { min-width:0; } }

/* Paleta de marca: negro, verde y tonos derivados. */
:root { --ink:#101713; --deep:#07120c; --paper:#edf5ef; --panel:#f8fcf9; --line:#a9c4b0; --gold:#36a866; --muted:#496052; --red:#176b3d; --shadow:0 14px 30px rgba(7,18,12,.10); }
body { color:var(--ink); background:var(--paper); }
.brand-mark { background:transparent; }
.topbar { background:var(--deep); border-bottom-color:var(--gold); }
.role { color:var(--deep); background:#79c995; }
.toolbar { background:rgba(248,252,249,.76); border-color:var(--line); }
input,select { color:var(--ink); background:var(--panel); border-color:#86ad94; }
input:focus,select:focus { outline-color:#55ba78; }
.button-primary { background:var(--ink); }.button-primary:hover { background:#176b3d; }.button-quiet { color:var(--ink); border-color:#86ad94; }.button-quiet:hover { background:#d9efdf; }
.summary div { background:var(--panel); border-left-color:var(--gold); }
.stage { background:#d8ebdd; border-color:#9dc0a6; }.stage-heading { color:var(--ink); border-bottom-color:#9dc0a6; }.client-card { background:var(--panel); border-color:#a9c4b0; }.client-card[data-stage="new"] { border-left-color:#496052; }.client-card[data-stage="quoted"] { border-left-color:var(--gold); }.client-card[data-stage="lost"] { border-left-color:var(--red); }.client-card h3 { color:var(--ink); }.next-action,.card-record,.card-actions { border-color:#c6dfcd; }
.login-panel { background:var(--paper); }.login-aside { background:linear-gradient(130deg,#07120c,#176b3d); }.data-panel { background:var(--panel); border-color:var(--line); }.bar { background:#d8ebdd; }.bar i { background:var(--gold); }.button-danger { color:var(--red); background:#eff9f1; border-color:#86ad94; }.button-danger:hover { color:#fff; background:var(--red); }.delete-client { color:var(--red); border-color:#d0e5d5; }.delete-client:hover { color:var(--ink); }.local-note span { color:var(--gold); }
dialog { background:var(--panel); border-color:var(--line); }dialog::backdrop { background:rgba(7,18,12,.52); }

.appointment-panel { padding:0; overflow:hidden; }.appointment-panel .audit-table { border:0; }.appointment-result { min-width:130px; }
dialog textarea { width:100%; margin-top:6px; padding:9px 12px; resize:vertical; color:var(--ink); background:var(--panel); border:1px solid #86ad94; border-radius:2px; font:inherit; }dialog textarea:focus { outline:2px solid #55ba78; outline-offset:1px; }
.week-picker { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; font-weight:700; }.week-picker input { width:170px; }
.kpi-grid { display:grid; gap:0; background:var(--panel); border:1px solid var(--line); }.kpi-row { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(100px,2fr) minmax(90px,.6fr); align-items:center; gap:18px; padding:16px 20px; border-bottom:1px solid var(--line); }.kpi-row:last-child { border-bottom:0; }.kpi-label strong,.kpi-label span,.kpi-value strong,.kpi-value span { display:block; }.kpi-label strong { color:var(--ink); font-size:13px; }.kpi-label span,.kpi-value span { margin-top:3px; color:var(--muted); font-size:11px; }.kpi-track { height:10px; overflow:hidden; background:#d8ebdd; }.kpi-track i { display:block; height:100%; background:var(--gold); transition:width .3s ease; }.kpi-value { text-align:right; }.kpi-value strong { color:var(--ink); font-size:18px; }.kpi-summary { margin-top:14px; }.kpi-note { color:var(--muted); font-size:11px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:760px) { .kpi-row { grid-template-columns:1fr auto; gap:9px 12px; padding:13px; }.kpi-track { grid-column:1/-1; grid-row:2; }.kpi-value { grid-column:2; grid-row:1; }.week-picker { align-items:flex-start; flex-direction:column; gap:4px; margin-top:14px; }.week-picker input { width:100%; }.appointment-panel { margin:0 -1px; }.appointments-page .page-heading .button { width:100%; margin-top:14px; } }
.prospect-details { margin-top:7px!important; color:var(--muted)!important; font-size:10px!important; line-height:1.5; }
.call-info { color:#267d4b!important; }.form-error { color:#176b3d; background:#d9efdf; border-left-color:#36a866; }.field-help,.muted,.date-label { color:var(--muted); }.search-box span { color:var(--muted); }.status-dot { background:#55ba78; }
.login-screen { grid-template-columns:minmax(360px, 0.82fr) minmax(420px, 1.18fr); background:var(--deep); }.login-panel { position:relative; z-index:1; padding:clamp(42px,8vw,110px); }.login-aside { align-items:center; justify-content:center; padding:clamp(36px,7vw,100px); text-align:center; background:#d8ebdd; }.login-brand { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0 0 44px; color:var(--ink); }.login-logo { display:flex; align-items:center; justify-content:center; width:min(430px, 80vw); }.login-logo img { display:block; width:100%; height:auto; object-fit:contain; }.login-brand strong { color:var(--ink); font:700 clamp(28px,4vw,42px) 'Playfair Display',serif; }.login-brand small { color:var(--muted); font-size:13px; letter-spacing:.04em; }.login-aside-label { margin-bottom:18px; color:#176b3d; font-size:11px; font-weight:700; letter-spacing:.22em; }.login-aside-title { color:var(--ink); font:700 clamp(32px,4.5vw,62px)/1.03 'Playfair Display',serif; }
@media (max-width:760px) { .login-screen { display:block; min-height:100vh; }.login-panel { min-height:auto; padding:42px 24px 34px; }.login-aside { min-height:330px; padding:36px 24px 48px; }.login-brand { margin-bottom:28px; }.login-logo { width:min(330px, 82vw); }.login-brand strong { font-size:28px; }.login-aside-title { font-size:34px; }.login-aside-label { display:none; } }
.login-screen { background:#07120c; }.login-panel { color:#fff; background:#07120c; }.login-panel h1 { color:#fff; }.login-panel .muted,.login-panel .login-footnote { color:#c5e8ce; }.login-panel .eyebrow { color:#69c987; }.login-panel input { color:#fff; background:#101713; border-color:#4e9b68; }.login-panel input::placeholder { color:#9bc7a8; }.login-aside { background:#176b3d; }.login-aside-title { color:#fff; }.login-logo { margin-bottom:0; }.login-logo img { filter:none; }
.login-screen { min-height:100svh; grid-template-columns:minmax(390px, .84fr) minmax(480px, 1.16fr); background:#07120c; overflow:hidden; }.login-panel { display:flex; justify-content:center; min-height:100svh; padding:clamp(48px,8vw,112px) clamp(28px,7vw,104px); }.login-panel > * { width:min(100%, 430px); }.login-panel .eyebrow { margin-bottom:14px; color:#69c987; font-size:12px; letter-spacing:.18em; }.login-panel h1 { margin:0; font-size:clamp(36px,4vw,58px); line-height:1.02; letter-spacing:-.02em; }.login-panel .muted { max-width:390px; margin-top:18px; color:#c5e8ce; font-size:15px; }.login-form { margin-top:38px; }.login-form label { color:#fff; font-size:12px; letter-spacing:.04em; }.login-form input { height:52px; margin-top:8px; padding:0 15px; color:#fff; background:#101713; border:1px solid #4e9b68; border-radius:4px; }.login-form input:focus { outline:2px solid #69c987; border-color:#69c987; }.login-form .button { height:50px; margin-top:26px; border-radius:4px; letter-spacing:.02em; }.login-footnote { margin-top:42px; color:#8ebc9a!important; }.login-aside { position:relative; isolation:isolate; display:flex; min-height:100svh; align-items:center; justify-content:center; padding:clamp(42px,7vw,110px); overflow:hidden; background:#176b3d; }.login-aside::before,.login-aside::after { position:absolute; z-index:-1; content:""; border:1px solid rgba(255,255,255,.18); transform:rotate(45deg); }.login-aside::before { width:360px; height:360px; right:-150px; top:-90px; }.login-aside::after { width:280px; height:280px; left:-150px; bottom:-120px; }.login-aside .login-brand { width:min(520px, 100%); margin:0 0 44px; }.login-logo { width:min(520px, 100%); padding:20px 30px; }.login-logo img { width:100%; max-height:230px; object-fit:contain; }.login-aside-title { display:block; margin:0; color:#fff; font-size:clamp(36px,4.6vw,68px); line-height:1.02; letter-spacing:-.02em; text-align:center; }.login-aside-label { display:none; }
.login-aside > .login-brand { flex:0 1 auto; }
.capture-summary { margin-top:10px; padding:8px 9px; background:#f8fbf8; border:1px solid #d4e3d7; border-radius:4px; }
.capture-summary > summary { color:var(--ink); font-size:11px; font-weight:700; cursor:pointer; }
.capture-modules { display:grid; gap:9px; margin-top:10px; }
.capture-module { min-width:0; padding:8px; background:#fff; border:1px solid #dce7de; border-radius:3px; }
.capture-module h4 { display:flex; justify-content:space-between; gap:8px; margin:0 0 6px; color:var(--ink); font-size:11px; }
.capture-module h4 span { color:#497456; font-size:10px; font-weight:600; }
.capture-table-wrap { max-height:220px; overflow:auto; }
.capture-table-wrap table { width:100%; min-width:0!important; border-collapse:collapse; font-size:10px; }
.capture-table-wrap th,.capture-table-wrap td { padding:4px 5px; text-align:left; vertical-align:top; border-bottom:1px solid #edf1ed; overflow-wrap:anywhere; }
.capture-table-wrap th { width:42%; color:#58645a; font-weight:600; }
.capture-empty { margin:0; color:var(--muted); font-size:10px; }
.prospect-list .capture-summary { min-width:190px; }
@media (max-width:760px) { .login-screen { display:block; min-height:100svh; overflow:visible; }.login-panel { min-height:auto; padding:42px 24px 34px; }.login-aside { min-height:360px; padding:38px 24px 54px; }.login-logo { width:min(340px, 86vw); padding:8px 18px; }.login-aside .login-brand { margin-bottom:30px; }.login-aside-title { font-size:clamp(34px,9vw,46px); } }
.login-logo { display:flex; align-items:center; justify-content:center; width:min(520px, 100%); height:250px; padding:12px 24px; overflow:hidden; background:#d8ebdd; border:1px solid rgba(255,255,255,.55); border-radius:18px; box-shadow:0 18px 44px rgba(7,18,12,.22); }.login-logo img { width:100%; max-height:230px; object-fit:contain; transform:scale(1.38); }
@media (max-width:760px) { .login-logo { width:min(340px, 86vw); height:190px; padding:8px 18px; border-radius:14px; }.login-logo img { transform:scale(1.3); } }
.login-aside { background:#0b2416; }
.login-logo { width:min(560px, 100%); height:auto; min-height:0; padding:0; overflow:visible; background:transparent; border:0; border-radius:0; box-shadow:none; }
.login-logo img { display:block; width:100%; max-width:560px; max-height:none; height:auto; object-fit:contain; transform:none; image-rendering:auto; }
.login-aside-title { color:#fff; }
@media (max-width:760px) { .login-aside { background:#0b2416; }.login-logo { width:min(360px, 90vw); height:auto; padding:0; }.login-logo img { transform:none; } }
.login-screen { grid-template-columns:1fr 1fr !important; background:#07120c !important; }
.login-screen > .login-panel { background:#07120c !important; }
.login-screen > .login-aside { background:#176b3d !important; }
@media (max-width:760px) { .login-screen { grid-template-columns:1fr !important; }.login-screen > .login-aside { background:#176b3d !important; } }
.location-notice { margin-top:24px; padding:14px 16px; color:#d8f1df; background:#102719; border:1px solid #4e9b68; border-left:3px solid #69c987; border-radius:4px; font-size:12px; }
.location-notice strong { display:block; color:#fff; font-size:13px; }
.location-notice p { margin:5px 0 0; line-height:1.5; }
.notice-confirmation { display:flex!important; align-items:flex-start; gap:9px; color:#d8f1df!important; font-size:12px!important; font-weight:400!important; line-height:1.4; }
.login-form .notice-confirmation input { width:16px; height:16px; flex:0 0 16px; margin:1px 0 0; accent-color:#69c987; }

.analysis-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0 14px; }
.analysis-metric { min-width:0; padding:15px; background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--ink); }
.analysis-metric span,.analysis-metric strong,.analysis-metric small { display:block; }
.analysis-metric span { min-height:18px; color:var(--muted); font-size:11px; }
.analysis-metric strong { margin-top:5px; color:var(--ink); font:700 25px 'Playfair Display',serif; }
.analysis-metric small { margin-top:4px; color:var(--muted); font-size:10px; }
.analysis-completed,.analysis-advanced { border-top-color:#36a866; }
.analysis-rescheduled,.analysis-stayed { border-top-color:#d49a24; }
.analysis-canceled { border-top-color:var(--red); }
.analysis-pipeline { border-top:3px solid #628d73; }
.analysis-chart-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); gap:14px; margin-bottom:14px; }
.analysis-chart-grid .data-panel { min-width:0; }
.analysis-chart-grid .panel-heading { align-items:flex-start; }
.analysis-chart-grid .panel-heading h2 { margin:0; }
.analysis-chart-grid .panel-heading span { display:block; margin-top:3px; }
.analysis-chart-legend { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px 12px; color:var(--muted); font-size:9px; }
.analysis-chart-legend span { display:flex!important; align-items:center; gap:4px; margin:0!important; white-space:nowrap; }
.analysis-chart-legend i,.analysis-legend-item i { width:8px; height:8px; flex:0 0 8px; background:var(--legend-color); }
.legend-scheduled { background:#628d73!important; }.legend-completed { background:#36a866!important; }.legend-rescheduled { background:#d49a24!important; }.legend-canceled { background:#b54a3e!important; }
.analysis-bar-chart { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-items:end; gap:8px; min-height:210px; padding:10px 4px 0; border-bottom:1px solid var(--line); }
.analysis-bar-column { display:grid; grid-template-rows:18px 1fr 22px; justify-items:center; align-items:end; height:190px; min-width:0; }
.analysis-bar-column > strong { color:var(--ink); font-size:10px; }
.analysis-bar-stack { display:flex; flex-direction:column-reverse; justify-content:flex-start; align-items:stretch; width:min(30px,80%); height:100%; overflow:hidden; background:#eef4ef; }
.analysis-bar-segment { display:block; flex:0 0 var(--bar-height); width:100%; min-height:0; background:var(--bar-color); transition:flex-basis .25s ease; }
.analysis-bar-column > span { align-self:center; color:var(--muted); font-size:9px; white-space:nowrap; }
.analysis-outcome-layout { display:flex; align-items:center; justify-content:center; gap:clamp(12px,2vw,28px); min-height:210px; }
.analysis-donut { display:grid; width:150px; height:150px; flex:0 0 150px; place-items:center; background:var(--donut-chart); border-radius:50%; }
.analysis-donut > div { display:flex; width:70%; height:70%; flex-direction:column; align-items:center; justify-content:center; background:var(--panel); border-radius:50%; }
.analysis-donut strong { color:var(--ink); font:700 25px 'Playfair Display',serif; }
.analysis-donut span { color:var(--muted); font-size:10px; }
.analysis-outcome-legend { display:grid; gap:10px; min-width:100px; }
.analysis-legend-item { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.analysis-legend-item strong { color:var(--ink); font-size:11px; }
.analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.analysis-stage-row { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(70px,1fr) 28px minmax(88px,auto); align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.analysis-stage-row:last-child { border-bottom:0; }
.analysis-stage-row strong { color:var(--ink); text-align:right; }
.analysis-stage-row span:last-child { color:var(--muted); text-align:right; font-size:12px; }
.analysis-stage-track { height:8px; overflow:hidden; background:#e7eee8; }
.analysis-stage-track i { display:block; height:100%; background:var(--stage-color); transition:width .25s ease; }
.analysis-insight { display:flex; flex-direction:column; align-items:flex-start; }
.analysis-insight h2 { margin:0; color:var(--ink); font:700 21px 'Playfair Display',serif; }
.analysis-insight p:not(.eyebrow) { color:var(--muted); }
.analysis-insight .button { margin-top:auto; }
.analysis-events { margin-top:14px; padding:0; overflow:hidden; }
.analysis-events > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 20px; color:var(--ink); cursor:pointer; list-style:none; }
.analysis-events > summary::-webkit-details-marker { display:none; }
.analysis-events > summary span:first-child,.analysis-events > summary strong,.analysis-events > summary small { display:block; }
.analysis-events > summary small { margin-top:3px; color:var(--muted); font-size:10px; }
.analysis-details-icon { color:var(--muted); font-size:21px; transition:transform .2s ease; }
.analysis-events[open] .analysis-details-icon { transform:rotate(180deg); }
.analysis-events .audit-table { max-height:520px; }
.analysis-events .audit-table table { min-width:940px; }
.appointment-status { display:inline-block; padding:3px 7px; color:var(--ink); background:#e6eee8; font-size:10px; font-weight:700; }
.appointment-completed { color:#176b3d; background:#d9efdf; }
.appointment-rescheduled { color:#805900; background:#fff1ce; }
.appointment-canceled { color:#943e36; background:#f6e1de; }
.appointment-record-result { min-width:145px; white-space:nowrap; }
#appointment-result-context { margin:12px 24px 0; }
#appointment-result-form textarea { width:100%; min-height:92px; margin-top:6px; padding:9px 12px; resize:vertical; color:var(--ink); background:var(--panel); border:1px solid #86ad94; border-radius:2px; font:inherit; }
@media (max-width:900px) { .analysis-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.analysis-chart-grid,.analysis-grid { grid-template-columns:1fr; }.analysis-chart-legend { justify-content:flex-start; } }
@media (max-width:760px) { .analysis-metric { padding:12px; }.analysis-metric strong { font-size:21px; }.analysis-insight h2 { font-size:19px; }.analysis-bar-chart { gap:3px; min-height:180px; }.analysis-bar-column { height:164px; }.analysis-bar-column > span { font-size:8px; }.analysis-outcome-layout { min-height:185px; }.analysis-donut { width:128px; height:128px; flex-basis:128px; }.analysis-stage-row { grid-template-columns:minmax(80px,.8fr) minmax(40px,1fr) 24px minmax(72px,auto); gap:6px; font-size:11px; }.analysis-stage-row span:last-child { font-size:10px; }.analysis-events > summary { padding:14px; }.appointments-page .appointment-panel .audit-table table { min-width:940px; } }
.topbar nav { flex:1 1 auto; min-width:0; overflow-x:auto; white-space:nowrap; }
.topbar nav a { flex:0 0 auto; }
.dashboard-analysis { min-width:0; margin-top:24px; }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; }
.dashboard-section-heading h2 { margin:0; color:var(--ink); font:700 22px 'Playfair Display',serif; }
.dashboard-section-heading .eyebrow { margin-bottom:4px; }
.dashboard-section-heading .muted { margin-top:4px; }
.location-filters { display:flex; align-items:end; flex-wrap:wrap; gap:8px; }
.location-filters label { display:block; min-width:140px; color:var(--ink); font-size:11px; font-weight:700; }
.location-filters input { width:100%; margin-top:4px; }
.form-grid > label,.client-form-step { min-width:0; }
.analysis-stage-row > * { min-width:0; overflow-wrap:anywhere; }
@media (max-width:1100px) and (min-width:761px) {
  .topbar { flex-wrap:wrap; gap:12px 18px; padding:12px 20px 0; }
  .topbar nav { order:3; flex:1 0 100%; height:42px; }
}
@media (max-width:760px) {
  .dashboard-section-heading { align-items:stretch; flex-direction:column; gap:8px; }
  .dashboard-section-heading h2 { font-size:20px; }
  .location-filters { width:100%; }
  .location-filters label { flex:1 1 130px; min-width:0; }
  .location-filters .button { flex:1 1 100%; }
  .analysis-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analysis-chart-grid,.analysis-grid { grid-template-columns:minmax(0,1fr); }
  .analysis-stage-row { grid-template-columns:minmax(0,1fr) auto; }
  .analysis-stage-row > span:first-child { grid-column:1; grid-row:1; }
  .analysis-stage-track { grid-column:1; grid-row:2; }
  .analysis-stage-row strong { grid-column:2; grid-row:1; }
  .analysis-stage-row > span:last-child { grid-column:2; grid-row:2; }
}
@media (max-width:420px) {
  .analysis-metrics { grid-template-columns:minmax(0,1fr); }
  .analysis-outcome-layout { justify-content:flex-start; gap:10px; }
  .analysis-outcome-legend { min-width:0; }
  .wizard-progress { gap:4px; margin-right:12px; margin-left:12px; }
  .wizard-progress span { padding:7px 4px; font-size:9px; }
  #client-dialog .dialog-heading,#client-dialog .dialog-heading + label,#client-dialog form > label,#client-dialog form > .form-grid,#client-dialog .dialog-actions { margin-right:14px; margin-left:14px; }
}
#login-screen > .login-aside { background:#c8ebd0!important; }
.login-logo { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.login-aside-title { color:var(--ink); }
@media (max-width:760px) {
  #login-screen > .login-aside { background:#c8ebd0!important; }
}

.prospect-print-dialog { width:min(1120px,calc(100% - 24px)); max-width:none; max-height:92vh; overflow:hidden; }
.prospect-print-dialog[open] { display:flex; flex-direction:column; }
.prospect-print-content { display:flex; min-height:0; flex-direction:column; }
.prospect-print-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; border-bottom:1px solid var(--line); }
.prospect-print-toolbar h2 { margin:0; color:var(--ink); font:700 24px 'Playfair Display',serif; }
.prospect-print-toolbar .muted { font-size:12px; }
.prospect-print-actions { display:flex; flex:0 0 auto; gap:8px; }
.prospect-print-report { min-height:0; overflow:auto; padding:24px; background:#f5f7f4; }
.prospect-print-cover { display:flex; align-items:center; gap:24px; margin-bottom:20px; padding:22px; background:#fff; border:1px solid var(--line); }
.prospect-print-cover img { width:180px; max-height:90px; object-fit:contain; }
.prospect-print-cover > div { min-width:0; }
.prospect-print-cover h1 { margin:0; color:var(--ink); font:700 clamp(23px,4vw,32px)/1.15 'Playfair Display',serif; }
.prospect-print-cover p:not(.eyebrow) { margin:7px 0 0; color:var(--muted); font-size:12px; }
.prospect-print-cover .eyebrow { margin-bottom:4px; }
.prospect-print-measure-example { max-width:420px; margin:14px 0 0; }
.prospect-print-measure-example figcaption { margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:700; }
.prospect-print-measure-example img { display:block; width:100%; max-width:420px; max-height:none; height:auto; border:1px solid #cfe8d4; }
.prospect-print-scope { font-weight:700; }
.prospect-print-client { margin:0 0 18px; padding:20px; background:#fff; border:1px solid var(--line); }
.prospect-print-client-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.prospect-print-client-heading h2 { margin:2px 0 0; color:var(--ink); font:700 22px/1.2 'Playfair Display',serif; overflow-wrap:anywhere; }
.prospect-print-folio { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.prospect-print-stage { flex:0 0 auto; padding:5px 9px; color:var(--ink); background:#e6eee8; font-size:11px; font-weight:700; }
.prospect-print-section { margin-top:14px; }
.prospect-print-section h3 { margin:0 0 7px; color:var(--ink); font-size:12px; }
.prospect-print-section dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:0; }
.prospect-print-field { min-width:0; padding:5px 0; border-bottom:1px solid #edf0ec; }
.prospect-print-field dt { color:var(--muted); font-size:10px; font-weight:600; }
.prospect-print-field dd { margin:2px 0 0; color:#26352b; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:700px) {
  .prospect-print-dialog { width:calc(100% - 12px); max-height:96vh; }
  .prospect-print-toolbar { align-items:stretch; flex-direction:column; gap:12px; padding:16px; }
  .prospect-print-toolbar h2 { font-size:21px; }
  .prospect-print-actions { flex-wrap:wrap; }
  .prospect-print-actions .button { flex:1 1 150px; }
  .prospect-print-report { padding:12px; }
  .prospect-print-cover { align-items:flex-start; flex-direction:column; gap:12px; padding:16px; }
  .prospect-print-cover img { width:140px; max-height:70px; }
  .prospect-print-measure-example img { width:100%; }
  .prospect-print-measure-example { width:100%; }
  .prospect-print-client { padding:14px; }
  .prospect-print-client-heading h2 { font-size:19px; }
  .prospect-print-section dl { grid-template-columns:minmax(0,1fr); }
}
@page { size:A4; margin:12mm; }
@media print {
  body { min-width:0; color:#222; background:#fff!important; }
  body > :not(#prospect-print-dialog) { display:none!important; }
  #prospect-print-dialog { position:static!important; display:block!important; width:auto!important; max-width:none!important; max-height:none!important; margin:0!important; padding:0!important; overflow:visible!important; border:0!important; background:#fff!important; box-shadow:none!important; }
  .prospect-print-content { display:block; }
  .prospect-print-toolbar { display:none!important; }
  .prospect-print-report { overflow:visible; padding:0; background:#fff; }
  .prospect-print-cover { min-height:230mm; margin:0; padding:18mm; border:0; break-after:page; page-break-after:always; }
  .prospect-print-cover img { width:180px; }
  .prospect-print-measure-example img { width:100%; max-width:420px; }
  .prospect-print-client { margin:0; padding:0; border:0; break-before:page; page-break-before:always; }
  .prospect-print-client-first { break-before:auto; page-break-before:auto; }
  .prospect-print-client-heading { break-after:avoid; page-break-after:avoid; }
  .prospect-print-section { break-inside:avoid; page-break-inside:avoid; }
  .prospect-print-field { break-inside:avoid; page-break-inside:avoid; }
}