:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:light;--bg:#f7f9fc;--surface:#fff;--surface2:#fbfcfe;--ink:#172033;--sub:#627087;--muted:#98a3b5;--border:#e8ecf2;--line:#edf0f5;--blue:#2563eb;--blue-light:#eff5ff;--green:#059669;--green-bg:#eaf9f2;--amber:#d68a1f;--amber-bg:#fff6e7;--red:#dc4963;--red-bg:#fff0f3;--purple:#7b61d1;--purple-bg:#f3effe;--shadow:0 2px 14px rgba(22,33,57,.035);--nav-w:246px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{color:var(--ink);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}svg{flex-shrink:0}.initial-loading{display:grid;place-items:center;height:95vh;color:var(--sub)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--nav-w);background:var(--surface);border-right:1px solid var(--border);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;flex-shrink:0;z-index:10}.brand-area{padding:24px 21px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;min-height:83px}.brand-placeholder{height:38px;width:43px;border:1px dashed #d5dce8;border-radius:9px;background:var(--surface2);display:grid;place-items:center;color:#cad3de;overflow:hidden}.brand-placeholder img{width:100%;height:100%;object-fit:contain}.brand-caption{font-weight:700;letter-spacing:-.4px;font-size:14px;line-height:1.2}.brand-caption small{font-size:10.5px;font-weight:500;display:block;color:var(--muted);letter-spacing:1px;margin-top:3px;text-transform:uppercase}.sidebar-scroll{padding:19px 11px;flex:1;overflow-y:auto}.nav-section{font-size:10px;letter-spacing:1.35px;font-weight:700;color:var(--muted);padding:17px 13px 8px;text-transform:uppercase}.nav-section:first-child{padding-top:0}.nav-item{width:100%;border:0;background:transparent;color:#59677d;padding:10px 13px;display:flex;align-items:center;text-align:left;gap:12px;font-weight:550;font-size:12.6px;border-radius:8px;margin:2px 0;transition:.16s}.nav-item svg{width:17px;height:17px;stroke-width:1.8}.nav-item:hover{background:var(--bg);color:var(--ink)}.nav-item.active{color:var(--blue);background:var(--blue-light);font-weight:650}.nav-item .nav-badge{margin-left:auto;background:#eef2f8;border-radius:6px;font-size:10px;font-weight:650;color:#78869a;padding:1px 7px}.sidebar-footer{padding:15px;border-top:1px solid var(--line)}.user-block{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}.avatar{height:34px;width:34px;display:grid;place-items:center;border-radius:50%;background:#e9efff;color:var(--blue);font-weight:750;font-size:12px}.user-block .name{font-weight:650;font-size:12.5px}.user-block .role{color:var(--muted);font-size:10.8px}.main-column{flex:1;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.9);display:flex;align-items:center;gap:17px;padding:0 36px;position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:12.4px;color:var(--sub);white-space:nowrap}.breadcrumbs strong{font-weight:650;color:var(--ink)}.top-right{margin-left:auto;display:flex;align-items:center;gap:11px}.top-search{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;padding:9px 12px;color:var(--muted);width:min(256px,24vw);background:var(--surface2);height:35px}.top-search input{min-width:0;border:0;outline:none;background:transparent;width:100%;font-size:11.8px;color:var(--ink)}.kbd{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:9px;white-space:nowrap}.icon-btn{border:1px solid transparent;background:transparent;color:#8290a4;border-radius:8px;display:inline-grid;place-items:center;width:36px;height:36px;transition:.15s}.icon-btn:hover{background:var(--blue-light);color:var(--blue)}.icon-btn svg{width:18px;height:18px}.divider-vert{width:1px;height:25px;background:var(--border)}.content{max-width:1600px;padding:34px 38px 65px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.eyebrow{color:var(--blue);font-size:10.5px;font-weight:750;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:9px}.page-title{font-weight:730;font-size:26px;letter-spacing:-1px;line-height:1.22;margin:0}.page-subtitle{color:var(--sub);font-size:12.6px;margin:8px 0 0}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:9px 14px;min-height:36px;background:var(--surface);font-weight:650;font-size:11.5px;color:var(--ink);transition:.16s;white-space:nowrap}.btn:hover{background:#f6f8fc;border-color:#dbe3ef}.btn svg{width:15px;height:15px}.btn.primary{color:white;background:var(--blue);border-color:var(--blue);box-shadow:0 4px 10px #2563eb20}.btn.primary:hover{background:#1554df}.btn.ghost{background:transparent;border-color:transparent;color:var(--sub)}.btn.danger{border-color:#f6ccd4;color:var(--red);background:var(--red-bg)}.btn.sm{padding:5px 9px;min-height:29px;font-size:10.6px}.btn.icon-only{padding:8px}.surface{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.surface-title{font-size:14px;font-weight:700;letter-spacing:-.25px;margin:0}.surface-caption{font-size:11px;color:var(--sub);margin-top:4px}.surface-head{padding:20px 21px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi{padding:19px 19px 17px;min-width:0}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--sub);font-size:11.5px;font-weight:560}.kpi-ico{height:31px;width:31px;display:grid;place-items:center;background:var(--blue-light);color:var(--blue);border-radius:8px}.kpi-ico svg{width:16px;height:16px}.kpi-value{font-size:25px;font-weight:750;letter-spacing:-1.1px;margin:13px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-foot{font-size:10.8px;color:var(--sub);display:flex;align-items:center;gap:5px}.up{color:var(--green);font-weight:650}.down{color:var(--red);font-weight:650}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.95fr);gap:18px;margin-bottom:18px}.chart-card{min-height:355px}.chart-inner{padding:8px 18px 15px}.chart-svg{width:100%;height:240px;overflow:visible}.axis-label{fill:#9ba7b7;font-size:11px}.funnel-list{padding:2px 20px 22px}.funnel-row{display:grid;grid-template-columns:86px 1fr 28px;align-items:center;gap:12px;margin:19px 0 21px;font-size:11px;color:var(--sub)}.funnel-track{height:7px;background:#f1f4f8;border-radius:6px;overflow:hidden}.funnel-fill{height:100%;border-radius:6px;background:var(--blue)}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.85fr);gap:18px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11.5px;text-align:left}.data-table th{font-size:10.2px;font-weight:650;letter-spacing:.15px;color:var(--muted);padding:12px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface2);white-space:nowrap}.data-table td{border-bottom:1px solid var(--line);padding:13px 18px;color:var(--sub);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface2)}.data-table .main-cell{font-weight:650;color:var(--ink)}.sub-cell{display:block;font-size:10px;font-weight:450;color:var(--muted);margin-top:2px}.linkish{cursor:pointer;color:var(--ink);font-weight:650}.linkish:hover{color:var(--blue)}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:6px;padding:4px 8px;font-size:10px;line-height:1.1;font-weight:650;background:var(--blue-light);color:var(--blue)}.badge.success{background:var(--green-bg);color:var(--green)}.badge.warning{background:var(--amber-bg);color:var(--amber)}.badge.danger{background:var(--red-bg);color:var(--red)}.badge.purple{background:var(--purple-bg);color:var(--purple)}.badge.neutral{background:#f1f3f7;color:#718096}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.priority-list{padding:0 18px 14px}.priority{display:flex;gap:11px;padding:15px 3px;border-top:1px solid var(--line);align-items:flex-start}.priority:first-child{border-top:0}.priority-icon{height:32px;width:32px;border-radius:9px;display:grid;place-items:center;background:var(--amber-bg);color:var(--amber)}.priority-icon svg{width:16px;height:16px}.priority-body{flex:1;min-width:0}.priority-title{font-size:11.6px;font-weight:650;color:var(--ink)}.priority-meta{font-size:10.5px;color:var(--sub);margin-top:3px}.priority .tiny-arrow{color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.toolbar .grow{flex:1}.searchfield{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);padding:0 11px;border-radius:8px;min-height:37px;min-width:230px}.searchfield input{border:0;outline:0;background:transparent;font-size:11.5px;width:100%;color:var(--ink)}.select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--sub);font-size:11.5px;min-height:37px;outline:none}.segmented{display:inline-flex;padding:3px;border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:2px}.segmented button{border:0;background:transparent;color:var(--sub);padding:6px 11px;border-radius:6px;font-size:10.8px;display:flex;gap:6px;align-items:center}.segmented button.active{background:var(--blue-light);color:var(--blue);font-weight:700}.pipeline-scroll{overflow-x:auto;min-height:460px;padding-bottom:18px}.kanban{display:flex;gap:13px;align-items:stretch;width:max-content;min-width:100%}.kanban-col{width:275px;flex-shrink:0;min-height:490px;border:1px solid var(--border);border-radius:11px;background:#f2f5f9;padding:11px}.kanban-col.dragover{outline:2px dashed var(--blue);background:var(--blue-light)}.kanban-head{display:flex;align-items:center;gap:8px;font-size:11.6px;font-weight:700;margin:4px 3px 13px}.stage-dot{width:8px;height:8px;border-radius:50%}.stage-count{font-size:10px;font-weight:650;background:#fff;border:1px solid var(--border);color:var(--sub);border-radius:20px;padding:1px 6px}.kanban-total{font-weight:600;color:var(--sub);font-size:10.8px;margin-left:auto}.deal-card{background:var(--surface);border:1px solid #e7ebf2;box-shadow:0 2px 7px #1c2d4e08;border-radius:9px;margin-bottom:9px;padding:14px;cursor:grab;transition:.15s}.deal-card:hover{border-color:#c9d5ea;transform:translateY(-1px)}.deal-card:active{cursor:grabbing}.deal-card-title{font-weight:660;color:var(--ink);font-size:11.5px;line-height:1.4;cursor:pointer}.deal-company{color:var(--sub);font-size:10.5px;margin-top:4px}.deal-value{font-size:15px;font-weight:750;letter-spacing:-.3px;margin-top:14px}.deal-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;color:var(--muted);font-size:10px}.deal-avatar{height:24px;width:24px;font-size:9px}.board-empty{display:grid;place-items:center;text-align:center;border:1px dashed #dce3ee;border-radius:8px;min-height:95px;color:#9faabc;font-size:10.5px;padding:12px}.section-block{margin:12px 0 26px}.task-row{display:flex;align-items:flex-start;gap:12px;padding:15px 19px;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-check{height:19px;width:19px;border:1.5px solid #c8d2e2;border-radius:6px;background:var(--surface);display:grid;place-items:center;color:white;margin-top:1px;flex-shrink:0}.task-check.checked{border-color:var(--green);background:var(--green)}.task-main{flex:1;min-width:0}.task-title{font-size:11.8px;font-weight:650}.task-title.done{text-decoration:line-through;color:var(--muted)}.task-sub{font-size:10.5px;color:var(--sub);margin-top:4px}.task-right{display:flex;align-items:center;gap:12px}.empty{text-align:center;padding:70px 20px;color:var(--sub)}.empty-icon{height:55px;width:55px;border:1px solid var(--border);background:var(--surface2);border-radius:15px;display:grid;place-items:center;margin:0 auto 14px;color:var(--muted)}.empty-icon svg{width:24px;height:24px}.empty strong{display:block;color:var(--ink);font-size:13px}.empty p{font-size:11.8px;margin:7px auto 17px;max-width:340px}.mini-metric{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-top:1px solid var(--line)}.mini-metric strong{font-size:12.8px}.mini-metric span{color:var(--sub);font-size:11px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-bars{padding:10px 23px 23px}.bar-line{display:grid;grid-template-columns:125px 1fr 72px;gap:12px;align-items:center;margin:19px 0;font-size:11px}.bar-line .bar-track{background:#f0f3f8;border-radius:8px;height:9px;overflow:hidden}.bar-line .bar-fill{background:var(--blue);height:100%;border-radius:8px}.activity{display:flex;gap:14px;padding:17px 20px;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:0}.activity-i{width:32px;height:32px;border-radius:9px;background:var(--blue-light);color:var(--blue);display:grid;place-items:center}.activity-i svg{width:16px;height:16px}.activity-body{flex:1}.activity-body strong{font-size:11.8px}.activity-body p{font-size:11px;color:var(--sub);margin:4px 0}.activity time{font-size:10px;color:var(--muted);white-space:nowrap}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setting-card{padding:23px}.setting-card h3{margin:0 0 5px;font-size:13px}.setting-card p{font-size:11.5px;color:var(--sub);margin:0 0 20px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.form-field label{color:var(--ink);font-size:11px;font-weight:650}.form-control{width:100%;min-height:38px;border:1px solid #dde4ee;background:var(--surface);outline:none;border-radius:8px;padding:9px 11px;color:var(--ink);font-size:12px}.form-control:focus{border-color:#7aa2f9;box-shadow:0 0 0 3px #2563eb12}.form-control[type='color']{padding:4px;height:40px}textarea.form-control{min-height:85px;resize:vertical}.setting-value{font-size:12px;color:var(--sub)}.progress{height:8px;background:#edf1f6;border-radius:10px;overflow:hidden}.progress > span{height:100%;display:block;background:var(--blue);border-radius:10px}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.goal-card{padding:17px}.goal-card strong{font-size:17px;display:block;margin:7px 0}.goal-card p{margin:0;color:var(--sub);font-size:11px}.switch{height:22px;width:38px;border:0;border-radius:13px;background:#dbe2eb;padding:3px;display:inline-flex;align-items:center;transition:.2s}.switch::before{content:'';height:16px;width:16px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:.2s}.switch.on{background:var(--blue)}.switch.on::before{transform:translateX(16px)}.rule-row{display:flex;gap:14px;align-items:center;padding:17px 20px;border-top:1px solid var(--line)}.rule-row .rule-main{flex:1}.rule-row strong{font-size:12px}.rule-row p{color:var(--sub);font-size:11px;margin:3px 0}.demo-banner{background:#eff5ff;border-bottom:1px solid #e1eafb;color:#45608b;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10.9px;padding:7px 10px}.demo-banner strong{color:var(--blue)}.demo-banner .banner-close{border:0;background:transparent;text-decoration:underline;color:var(--blue);font-weight:650;padding:0 2px}.mobile-trigger{display:none}.overlay{position:fixed;inset:0;z-index:30;background:#15233b59;display:flex;justify-content:flex-end}.drawer{width:min(520px,100vw);background:var(--surface);height:100%;display:flex;flex-direction:column;box-shadow:-22px 0 70px #13203c24;animation:slidein .16s ease-out}.drawer-head{padding:23px 25px 19px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.drawer-head h2{font-size:20px;letter-spacing:-.65px;margin:0}.drawer-head p{font-size:11.5px;color:var(--sub);margin:6px 0 0}.drawer-scroll{flex:1;overflow:auto;padding:22px 25px 30px}.drawer-footer{border-top:1px solid var(--border);padding:18px 25px;display:flex;justify-content:flex-end;gap:9px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.drawer-section-title{border-bottom:1px solid var(--line);margin:10px 0 18px;padding-bottom:9px;font-weight:700;font-size:11.5px;color:var(--sub);text-transform:uppercase;letter-spacing:.6px}.modal{width:min(460px,calc(100vw - 25px));background:var(--surface);border-radius:12px;margin:auto;box-shadow:0 16px 65px #0002;max-height:90vh;display:flex;flex-direction:column}.overlay.center{justify-content:center;align-items:center}.modal .drawer-scroll{padding:22px}.modal .drawer-head{padding:20px 22px}.modal .drawer-head h2{font-size:17px}.modal .drawer-footer{padding:15px 22px}.toast-container{position:fixed;bottom:22px;right:22px;z-index:80;display:flex;flex-direction:column;gap:8px}.toast{background:#18243a;color:white;padding:11px 15px;font-size:11.6px;font-weight:550;border-radius:9px;box-shadow:0 8px 25px #0002}.toast.success{background:#126f56}.hint{font-size:11px;color:var(--muted)}.inline-info{padding:12px 15px;border:1px solid #dce6f7;background:#f7faff;border-radius:9px;font-size:11px;color:#516583}.link-btn{border:0;background:transparent;color:var(--blue);padding:0;font-size:11px;font-weight:650}.clickable{cursor:pointer}.checklist{display:flex;align-items:center;gap:9px;padding:9px 0;color:var(--sub);font-size:11.5px}.checklist input{accent-color:var(--blue)}.hidden{display:none!important}.text-right{text-align:right}.text-green{color:var(--green)}.text-red{color:var(--red)}.line-clamp{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@keyframes slidein{from{transform:translateX(10px);opacity:.7}to{transform:translateX(0);opacity:1}}
.dark{color-scheme:dark;--bg:#111721;--surface:#192231;--surface2:#1b2637;--ink:#edf3fb;--sub:#a2b0c3;--muted:#78889e;--border:#2b394c;--line:#293447;--blue-light:#203757;--shadow:0 2px 12px #0002;--green-bg:#173a34;--amber-bg:#473722;--red-bg:#442a35;--purple-bg:#342c49}.dark .kanban-col{background:#151f2d}.dark .deal-card{border-color:var(--border)}.dark .data-table tr:hover,.dark .btn:hover{background:#202c3e}.dark .topbar{background:rgba(25,34,49,.95)}.dark .stage-count{background:var(--surface)}.dark .banner-close{color:#aac6fc}.dark .demo-banner{background:#172843;border-color:#2b405e;color:#9cb8e4}.dark .form-control,.dark .select{border-color:var(--border)}.dark .funnel-track,.dark .bar-line .bar-track,.dark .progress{background:#2b3648}.dark .inline-info{background:#172b49;border-color:#274060;color:#b4c6e0}
@media(max-width:1350px){.dashboard-grid,.dashboard-lower{grid-template-columns:1fr}.chart-card{min-height:320px}}@media(max-width:1000px){:root{--nav-w:210px}.sidebar{width:210px}.content{padding:26px 24px}.topbar{padding:0 24px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.settings-layout,.report-grid{grid-template-columns:1fr}}@media(max-width:700px){.mobile-trigger{display:grid}.sidebar{position:fixed;transform:translateX(-100%);box-shadow:20px 0 45px #16254114;transition:transform .2s;width:253px}.app-shell.mobile-menu .sidebar{transform:translateX(0)}.app-shell.mobile-menu::after{content:'';position:fixed;inset:0;background:#0003;z-index:9}.topbar{height:60px;padding:0 15px;gap:10px}.top-search{display:none}.content{padding:23px 15px 48px}.page-title{font-size:23px}.page-heading{flex-direction:column;gap:15px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px}.kpi-value{font-size:20px}.dashboard-grid,.dashboard-lower{gap:12px}.goals-grid{grid-template-columns:1fr}.drawer-grid{grid-template-columns:1fr}.top-right{gap:3px}.heading-actions{width:100%}.toolbar .grow{display:none}.searchfield{width:100%;min-width:0}.dashboard-grid{grid-template-columns:1fr}.bar-line{grid-template-columns:90px 1fr 60px}.toast-container{left:12px;right:12px;bottom:12px}.breadcrumbs{font-size:11px}.sidebar .nav-section{padding-top:10px}}@media(max-width:390px){.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:25px}.btn{padding:8px 10px}}
@media print{.sidebar,.topbar,.demo-banner,.page-heading .heading-actions,.toolbar,.drawer,.overlay{display:none!important}.main-column{width:100%}.content{padding:0}.surface{box-shadow:none;border-color:#ddd}}
/* Ensure editable drawers scroll without displacing the persistent save footer. */
.drawer>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal>form{display:flex;flex-direction:column;min-height:0;overflow:auto}.dark .board-empty{border-color:var(--border)}.drawer .kpi-value{white-space:normal}

/* -----------------------------------------------------------------------
   2026 Adaptive CRM · desde teléfonos de 320px hasta pantallas ultrawide.
   Mobile: navegación persistente de 5 acciones, Kanban táctil y formularios
   a pantalla completa. Tablet: rail compacto. Desktop: workspace completo.
   ----------------------------------------------------------------------- */
:root { --tap-size:44px; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
button, select, input, textarea { touch-action:manipulation; }
button, a, select { -webkit-tap-highlight-color:transparent; }
:where(button, input, select, textarea, a, [tabindex]):focus-visible {
  outline: 3px solid #4f82ff;
  outline-offset: 3px;
}
.mobile-bottom-nav, .mobile-nav-backdrop, .mobile-close,
.mobile-search-trigger, .mobile-search-panel, .mobile-stage-filter,
.mobile-stage-move { display:none; }
/* Dense yet legible desktop, especially 13-inch laptops */
@media (min-width:1180px) and (max-width:1499px) {
  :root { --nav-w:216px; }
  .content { padding:27px 28px 58px; }
  .topbar { padding:0 25px; gap:10px; }
  .top-search { width:clamp(155px,17vw,245px); }
  .kpi-grid { gap:11px; }
  .kpi { padding:16px; }
  .kpi-value { font-size:clamp(19px,1.65vw,25px); }
  .dashboard-grid, .dashboard-lower { gap:14px; }
}
/* Ultrawide: spacious without leaving content absurdly stretched */
@media (min-width:1600px) {
  .content { width:100%; max-width:1720px; padding:37px 46px 85px; }
  .dashboard-grid { grid-template-columns:minmax(0,1.7fr) minmax(340px,.82fr); }
  .dashboard-lower { grid-template-columns:minmax(0,1.6fr) minmax(330px,.82fr); }
  .topbar { padding-inline:max(36px,calc((100vw - var(--nav-w) - 1610px)/2)); }
}
@media (min-width:2200px) {
  .content { max-width:1990px; padding:45px 64px 100px; }
  .topbar { padding-inline:max(46px,calc((100vw - var(--nav-w) - 1860px)/2)); }
  .page-title { font-size:29px; }
  .kpi-value { font-size:30px; }
  .data-table { font-size:13px; }
  .data-table th { font-size:11px; }
  .data-table td { padding:16px 21px; }
  .kanban-col { width:310px; }
}
/* Tablets 768-1179: navigation rail frees horizontal space for data. */
@media (min-width:768px) and (max-width:1179px) {
  :root { --nav-w:78px; }
  .sidebar { width:78px; }
  .brand-area { justify-content:center; padding:17px 10px; min-height:72px; }
  .brand-caption { display:none; }
  .sidebar-scroll { padding:11px 8px; overflow-x:hidden; }
  .sidebar .nav-section { display:none; }
  .nav-item { justify-content:center; min-height:47px; padding:11px; margin:4px 0; }
  .nav-item svg { width:21px; height:21px; }
  .nav-item > span, .sidebar-footer .name, .sidebar-footer .role,
  .sidebar-footer .user-block > svg { display:none; }
  .sidebar-footer { padding:12px; }
  .sidebar-footer .user-block { justify-content:center; padding:7px; border:0; }
  .sidebar-footer .user-block .avatar { flex-shrink:0; }
  .topbar { padding-inline:22px; }
  .content { padding:25px 25px 64px; }
  .dashboard-grid, .dashboard-lower { grid-template-columns:minmax(0,1fr); }
  .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .top-search { width:clamp(135px,20vw,210px); }
  .topbar .cloud-connect { max-width:156px; overflow:hidden; text-overflow:ellipsis; }
  .page-title { font-size:25px; }
}
/* Phones: distinct touch-oriented navigation, not a squeezed desktop. */
@media (max-width:767px) {
  :root { --tap-size:46px; }
  body { font-size:14px; }
  .app-shell { display:block; min-width:0; }
  .main-column { min-width:0; width:100%; }
  .sidebar {
    position:fixed; left:0; top:0; bottom:0; z-index:45;
    width:min(310px,88vw); height:100dvh; max-height:100dvh;
    transform:translateX(-105%); visibility:hidden;
    box-shadow:15px 0 60px #0d152329;
    transition:transform .22s ease, visibility .22s;
  }
  .app-shell.mobile-menu .sidebar { transform:translateX(0); visibility:visible; }
  .app-shell.mobile-menu::after { display:none; }
  .mobile-nav-backdrop {
    position:fixed; inset:0; width:100%; height:100%; z-index:44;
    border:0; background:#10192979;
  }
  .app-shell.mobile-menu .mobile-nav-backdrop { display:block; }
  html.nav-open { overflow:hidden; }
  .brand-area { padding:16px 14px 15px; min-height:76px; }
  .brand-caption { flex:1; }
  .mobile-close { display:grid; min-width:44px; min-height:44px; }
  .sidebar-scroll { padding:10px 12px; }
  .nav-item { min-height:47px; font-size:14px; padding:12px 14px; }
  .sidebar-footer { padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px)); }
  .topbar {
    height:60px; padding-inline:15px; gap:12px;
    top:0; z-index:15; background:var(--surface);
  }
  .mobile-trigger, .mobile-search-trigger { display:grid; width:44px; height:44px; }
  .breadcrumbs { flex:1; min-width:0; font-size:14px; }
  .breadcrumb-parent, .breadcrumb-separator { display:none; }
  .breadcrumbs strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .top-right { flex:0 0 auto; gap:1px; }
  .top-right .top-search, .top-right .cloud-connect,
  .top-right .divider-vert, .top-right > .btn.primary,
  .top-right > .avatar { display:none; }
  .top-right .icon-btn { width:42px; height:44px; }
  .demo-banner { flex-wrap:wrap; padding:8px 13px; gap:7px; font-size:11px; }
  .mobile-search-panel {
    display:flex; gap:9px; align-items:center;
    padding:10px 14px; background:var(--surface); border-bottom:1px solid var(--border);
    position:sticky; top:60px; z-index:13;
  }
  .mobile-search-field { display:flex; align-items:center; gap:9px; border:1px solid var(--border);
    border-radius:11px; background:var(--surface2); padding:0 12px; flex:1; min-width:0; height:46px;
  }
  .mobile-search-field input { border:0; background:transparent; color:var(--ink); width:100%; min-width:0;
    font-size:16px; outline:none; }
  .mobile-search-hint { color:var(--muted); }
  .content { max-width:none; padding:21px 14px calc(110px + env(safe-area-inset-bottom, 0px)); }
  .page-heading { display:flex; flex-direction:column; gap:15px; margin-bottom:21px; }
  .page-heading .heading-actions { width:100%; }
  .heading-actions .btn.primary { min-height:44px; width:100%; font-size:13px; }
  .page-title { font-size:clamp(22px,6vw,27px); letter-spacing:-.75px; }
  .page-subtitle { font-size:12.5px; line-height:1.5; }
  .eyebrow { font-size:10px; }
  .kpi-grid, .kpi-grid[style] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px; }
  .kpi { padding:14px; }
  .kpi-top { align-items:flex-start; gap:6px; font-size:11px; }
  .kpi-value { font-size:clamp(18px,5.1vw,25px); letter-spacing:-.7px; white-space:normal;
    overflow-wrap:anywhere; line-height:1.18; }
  .kpi-foot { line-height:1.4; font-size:10px; }
  .kpi-ico { flex-shrink:0; width:28px; height:28px; }
  .dashboard-grid, .dashboard-lower, .settings-layout, .report-grid {
    grid-template-columns:minmax(0,1fr); gap:13px;
  }
  .surface { border-radius:12px; min-width:0; }
  .surface-head { padding:16px 15px 13px; flex-wrap:wrap; }
  .surface-head .btn { min-height:40px; }
  .chart-inner { padding:5px 9px 15px; overflow:hidden; }
  .chart-svg { height:205px; }
  .chart-card { min-height:275px; }
  .funnel-list { padding:0 15px 16px; }
  .funnel-row { grid-template-columns:75px 1fr 24px; gap:8px; font-size:11px; }
  .toolbar { gap:9px; align-items:stretch; }
  .toolbar .grow { display:none; }
  .toolbar .searchfield, .searchfield { min-width:0; width:100%; flex:1 0 100%; min-height:44px; }
  .searchfield input { font-size:16px; }
  .toolbar .select { min-height:44px; max-width:100%; font-size:13px; }
  .toolbar .segmented button { min-height:37px; padding-inline:12px; font-size:12px; }
  .btn, .select { font-size:13px; min-height:44px; }
  .btn.sm { min-height:40px; padding:8px 12px; font-size:12px; }
  .icon-btn { min-width:42px; min-height:42px; }
  .mobile-bottom-nav {
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    position:fixed; left:0; right:0; bottom:0; z-index:20;
    padding:7px max(7px,env(safe-area-inset-left,0px)) calc(7px + env(safe-area-inset-bottom,0px))
      max(7px,env(safe-area-inset-right,0px));
    border-top:1px solid var(--border); background:var(--surface);
    box-shadow:0 -8px 28px #1225480d;
  }
  .mobile-tab { position:relative; display:flex; flex-direction:column; align-items:center;
    justify-content:center; gap:3px; background:none; border:0; min-height:52px;
    padding:5px 0; color:var(--sub); border-radius:11px; }
  .mobile-tab.active { color:var(--blue); }
  .mobile-tab.active:not(.mobile-create) { background:var(--blue-light); }
  .mobile-tab-icon { display:grid; place-items:center; width:26px; height:26px; }
  .mobile-tab-label { font-size:10.5px; font-weight:650; white-space:nowrap; }
  .mobile-tab.mobile-create .mobile-tab-icon {
    background:var(--blue); color:#fff; border-radius:12px; height:40px; width:44px;
    box-shadow:0 4px 13px #2563eb31; transform:translateY(-3px);
  }
  .mobile-tab-indicator { position:absolute; top:4px; right:21%; width:7px; height:7px;
    background:var(--amber); border:2px solid var(--surface); border-radius:50%; }
  .toast-container { bottom:calc(82px + env(safe-area-inset-bottom,0px)); left:12px; right:12px; }
  .toast { font-size:12px; }
  .mobile-stage-filter { display:flex; gap:7px; overflow-x:auto; padding:2px 0 12px;
    scroll-snap-type:x proximity; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .mobile-stage-filter::-webkit-scrollbar { display:none; }
  .stage-chip { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
    min-height:43px; padding:8px 12px; border:1px solid var(--border);
    border-radius:999px; color:var(--sub); background:var(--surface); font-size:12px; font-weight:600;
    scroll-snap-align:start; }
  .stage-chip.active { color:var(--blue); border-color:#b7cbff; background:var(--blue-light); }
  .stage-chip .chip-count { padding:1px 6px; background:var(--surface2); border-radius:9px; }
  .pipeline-scroll { overflow:visible; min-height:0; padding-bottom:0; }
  .kanban { display:block; width:100%; min-width:0; }
  .kanban-col { display:none; width:100%; min-height:200px; padding:12px; }
  .kanban-col.mobile-stage-active { display:block; }
  .kanban-head { font-size:13px; margin-bottom:13px; }
  .deal-card { padding:16px; margin-bottom:11px; cursor:default; touch-action:pan-y; }
  .deal-card:active { cursor:default; }
  .deal-card-title { font-size:14px; min-height:27px; }
  .deal-company { font-size:12px; }
  .deal-value { font-size:18px; }
  .deal-bottom { margin-top:12px; }
  .mobile-stage-move { display:flex; justify-content:space-between; align-items:center;
    padding-top:11px; margin-top:11px; border-top:1px solid var(--line); color:var(--sub);
    font-size:12px; gap:8px; }
  .deal-stage-select { min-height:44px; max-width:65%; padding:0 12px; border:1px solid var(--border);
    border-radius:9px; color:var(--ink); background:var(--surface); font-size:13px; }
  .table-wrap { width:100%; overflow:visible; padding:0 10px 10px; }
  .data-table, .data-table tbody { display:block; width:100%; }
  .data-table thead { display:none; }
  .data-table tbody tr {
    display:block; margin:11px 0; padding:9px 12px;
    border:1px solid var(--border); border-radius:11px;
    background:var(--surface); box-shadow:var(--shadow);
  }
  .data-table tbody tr:hover { background:var(--surface); }
  .data-table td {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:8px 2px; min-width:0; border-bottom:1px solid var(--line);
    white-space:normal; font-size:12px; text-align:right;
    overflow-wrap:anywhere;
  }
  .data-table td::before { content:attr(data-label); color:var(--muted); font-size:11px;
    font-weight:600; text-align:left; flex:0 0 32%; }
  .data-table td:first-child { text-align:left; align-items:flex-start; }
  .data-table td:last-child { border-bottom:0; }
  .data-table td:last-child .icon-btn { margin-left:auto; }
  .data-table td a { overflow-wrap:anywhere; }
  .activity, .rule-row, .task-row { gap:9px; padding:15px 12px; }
  .activity > time, .task-right { flex-wrap:wrap; }
  .task-main, .activity-body { min-width:0; }
  .task-right { gap:5px; max-width:45%; }
  .bar-line { grid-template-columns:minmax(70px,90px) 1fr minmax(46px,65px); gap:8px; }
  .overlay { z-index:60; }
  .overlay:not(.center) .drawer { width:100vw; height:100dvh; max-height:100dvh;
    border-radius:0; box-shadow:none; }
  .drawer-head { padding:14px 16px; flex-shrink:0; }
  .drawer-head h2 { font-size:20px; }
  .drawer-scroll { padding:16px 17px 28px; overscroll-behavior:contain; }
  .drawer-footer { padding:13px 16px calc(14px + env(safe-area-inset-bottom,0px));
    gap:8px; flex-wrap:wrap; flex-shrink:0; }
  .drawer-footer .btn { flex:1 1 auto; }
  .drawer-grid { grid-template-columns:1fr; }
  .modal { max-height:calc(100dvh - 36px); width:calc(100vw - 22px); }
  .form-control, .drawer input, .drawer select, .drawer textarea,
  .modal input, .modal select, .modal textarea { font-size:16px; }
  .form-field { min-width:0; }
}
@media (max-width:359px) {
  .content { padding-inline:11px; }
  .kpi-grid, .kpi-grid[style] { grid-template-columns:1fr !important; }
  .kpi { padding:15px; }
  .kpi-value { font-size:25px; }
  .mobile-tab-label { font-size:10px; }
  .topbar { padding-inline:9px; }
  .page-heading .heading-actions .btn { width:100%; }
}
@media (max-width:767px) and (orientation:landscape) and (max-height:450px) {
  .mobile-bottom-nav { padding-block:3px; }
  .mobile-tab { flex-direction:row; min-height:43px; gap:4px; }
  .mobile-tab.mobile-create .mobile-tab-icon { height:35px; width:40px; transform:none; }
  .content { padding-bottom:85px; }
}
@media print {
  .mobile-bottom-nav,.mobile-nav-backdrop,.mobile-search-panel,.mobile-stage-filter,
  .mobile-stage-move { display:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
@media (min-width:768px) and (max-width:959px) {
  .topbar { gap:7px; padding-inline:17px; }
  .topbar .cloud-connect,.top-right > .avatar,.top-right .divider-vert { display:none; }
  .top-search { width:145px; }
  .top-right { gap:3px; }
  .top-right > .btn.primary { padding-inline:10px; }
  .breadcrumbs { overflow:hidden; text-overflow:ellipsis; max-width:165px; }
  .breadcrumb-parent, .breadcrumb-separator { display:none; }
  .main-column { min-width:0; overflow-x:clip; }
}
html.sheet-open { overflow:hidden; }

/* Inventario de terrenos — tarjetas legibles en móvil y monitores ultra-wide */
.inventory-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}
.inventory-stat {padding:20px 21px;min-width:0}
.inventory-stat>span {font-size:12px;color:var(--sub);font-weight:600}
.inventory-stat>div {display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:var(--ink)}
.inventory-stat strong {font-size:27px;letter-spacing:-.7px;font-weight:750;line-height:1.15;font-variant-numeric:tabular-nums}
.inventory-stat strong.small {font-size:22px;overflow-wrap:anywhere}
.inventory-stat svg {color:var(--muted)}
.inventory-toolbar {display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}
.inventory-toolbar .searchfield {flex:1;min-width:225px}
.inventory-toolbar .filter-label {display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:var(--sub);min-width:155px}
.inventory-toolbar select {min-height:43px;max-width:245px}
.inventory-summary {color:var(--sub);font-size:12px;margin:12px 0 16px}
.lot-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.lot-card {padding:18px;display:flex;flex-direction:column;min-height:250px;gap:15px;transition:transform .18s ease,box-shadow .18s ease}
.lot-card:hover {transform:translateY(-2px);box-shadow:0 11px 32px #18213513}
.lot-card-head {display:flex;align-items:center;justify-content:space-between;gap:10px}
.lot-icon {width:39px;height:39px;display:grid;place-items:center;color:var(--blue);border:1px solid var(--border);background:var(--blue-light);border-radius:11px}
.lot-identity {display:flex;flex-direction:column;gap:5px;min-width:0}
.lot-identity strong {font-size:16px;color:var(--ink);font-weight:750;letter-spacing:-.35px}
.lot-identity>span {font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lot-specs {display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--sub)}
.lot-specs span {display:inline-flex;align-items:center;gap:5px}
.lot-price {margin-top:auto;font-size:21px;font-weight:750;letter-spacing:-.6px;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.lot-price small {font-size:11px;font-weight:500;color:var(--sub);letter-spacing:0}
.lot-actions {display:flex;gap:9px;flex-wrap:wrap;padding-top:13px;border-top:1px solid var(--border)}
.lot-actions .btn {flex:1;justify-content:center;min-height:38px;white-space:nowrap}
.inventory-modal {width:min(630px,96vw);max-height:min(90dvh,840px);display:flex;flex-direction:column}
.inventory-modal form {display:flex;flex-direction:column;min-height:0;flex:1}
.inventory-modal .drawer-scroll {overflow-y:auto;min-height:0;flex:1}
.lot-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding-top:6px}
.lot-form-grid .form-field {display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.lot-form-grid .form-field>span {font-size:12px;font-weight:650;color:var(--sub)}
.lot-form-grid .full {grid-column:1/-1}
.inventory-total {display:flex;align-items:center;min-height:43px;font-weight:750;letter-spacing:-.2px}
.reservation-actions {white-space:normal;min-width:190px}
.reservation-actions .btn {display:inline-flex;margin:3px}
@media(max-width:1179px){.inventory-stats {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.inventory-stats {gap:9px}.inventory-stat {padding:14px}.inventory-stat strong,.inventory-stat strong.small {font-size:clamp(18px,5.5vw,25px)}.inventory-toolbar{align-items:stretch;gap:10px}.inventory-toolbar .searchfield,.inventory-toolbar .filter-label{flex:1 1 100%;min-width:0;max-width:none}.inventory-toolbar .filter-label select {max-width:none;width:100%;min-height:44px}.inventory-toolbar>.btn {width:100%}.lot-grid {grid-template-columns:1fr;gap:12px}.lot-card {min-height:218px}.lot-form-grid {grid-template-columns:1fr;gap:12px}.inventory-modal {width:100%;max-height:100dvh;height:100dvh;border-radius:0}.inventory-modal .drawer-footer {padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.reservation-actions {min-width:0;white-space:normal}.reservation-actions .btn {min-height:36px}}
@media (min-width:2200px){.lot-grid {grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}}


/* CRM ORLANDO · 2026: tema oscuro único y navegación móvil unificada. */
html { color-scheme:dark; }
html.dark {
 --bg:#0b111b;
 --surface:#131d2b;
 --surface2:#192535;
 --ink:#f3f7fd;
 --sub:#b7c5d7;
 --muted:#90a0b7;
 --border:#2a3a4d;
 --line:#29374a;
 --blue:#81aaff;
 --blue-light:#1f3555;
 --green:#54d5b0;
 --green-bg:#16372f;
 --amber:#f0ba6e;
 --amber-bg:#433423;
 --red:#ffa1ad;
 --red-bg:#432833;
 --purple:#c7b6ff;
 --purple-bg:#352d4b;
 --shadow:0 2px 14px #0000001b;
}
html.dark .topbar {background:rgba(19,29,43,.96)}
html.dark .nav-item {color:#bac7dc}
html.dark .nav-item:hover {background:var(--surface2);color:var(--ink)}
html.dark .nav-item.active {color:#bed5ff;background:var(--blue-light)}
html.dark .brand-placeholder {border-color:#495971;color:#8799b1;background:var(--surface2)}
html.dark .nav-item .nav-badge {background:#263950;color:#c6d6e8}
html.dark .avatar {background:#223958;color:#bad3ff}
html.dark .badge.neutral {background:#2a384b;color:#d5dce8}
html.dark .demo-banner {background:#17243a;color:#b5c7e3;border-color:#293e5c}
html.dark .btn.primary {background:#3579ee;color:#fff;border-color:#3579ee;box-shadow:0 4px 14px #091b4160}
html.dark .btn.primary:hover {background:#4387ff}
html.dark .btn:hover {border-color:#41556e}
html.dark .brand-caption small {color:var(--muted)}
html.dark .funnel-track {background:#2c3a4c}
html.dark .top-search {color:var(--muted)}
html.dark .top-search input::placeholder,html.dark .searchfield input::placeholder,html.dark input::placeholder {color:#8297b2}
html.dark .toast {background:#233a52;color:#f6f9ff;box-shadow:0 8px 30px #0007}
html.dark .toast.success {background:#135d4b}
html.dark .axis-label {fill:#96a6bc}
html.dark .stage-chip.active {border-color:#496ca7;color:#bed5ff}
html.dark .lot-card:hover {box-shadow:0 11px 34px #0004}
html.dark .overlay {background:#030810bb}
html.dark .inline-info {background:#192a40;color:#c5d7ef}
.theme-fixed-status {min-height:48px;display:flex;align-items:center;gap:11px;
 padding:12px 15px;background:var(--surface2);color:var(--ink);
 border:1px solid var(--border);border-radius:11px;font-size:13px;font-weight:650;}
.theme-fixed-status svg:first-child {color:#a3bbf7}
.theme-fixed-status svg:last-child {margin-left:auto;color:var(--green)}
/* Un único sistema de navegación móvil: barra inferior; "Más" abre el panel de módulos. */
.mobile-trigger {display:none!important;}
@media(max-width:767px) {
  .mobile-bottom-nav {border-top-color:#314157;box-shadow:0 -8px 28px #0005;}
  .mobile-tab {color:#b8c7dc;}
  .mobile-tab.active {color:#bcd5ff;}
  .mobile-tab.active:not(.mobile-create) {background:#213653;}
  .mobile-tab.mobile-create .mobile-tab-icon {background:#3579ee;color:white;}
  .mobile-nav-backdrop {background:#020710b5;}
  .mobile-close {color:var(--ink);}
  .topbar {gap:8px;}
  .breadcrumbs strong {font-size:14px;}
  .top-right {gap:3px;}
  .mobile-bottom-nav button {touch-action:manipulation;}
  .mobile-search-panel {background:var(--surface);}
}
@media print {
  /* Print remains white to preserve ink and readable PDF documents. */
  html {color-scheme:light}
}
