:root{--primary:#2458d3;--primary-dark:#173d9e;--bg:#f4f7fb;--surface:#fff;--text:#172033;--muted:#66758a;--border:#dce4ef;--danger:#b42318;--success:#14804a;--shadow:0 10px 30px rgba(28,45,76,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.boot-screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dfe9ff 0,transparent 36rem),#f5f7fb}.boot-card,.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.boot-card{text-align:center}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#2d64e7,#173d9e);color:#fff;font-size:24px;font-weight:900}.boot-card .brand-mark{margin:auto}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:18px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.login-brand span,.login-brand strong{display:block}.login-brand span{font-size:12px;color:var(--muted)}.login-card h1{margin:0 0 8px}.login-card>p{color:var(--muted);line-height:1.5}.login-card form{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:7px;color:#475467;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd9e8;border-radius:10px;padding:11px 12px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#6b91ee;box-shadow:0 0 0 3px #dfe8ff}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:#edf1f7;color:#334155}.btn.full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.form-message{min-height:20px;margin:0;color:var(--muted)}.form-message.error,.error-text{color:var(--danger)}.form-message.success{color:var(--success)}.config-warning{margin-top:18px;padding:13px;border-radius:12px;background:#fff5d8;color:#7a5200;font-size:13px;line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#16213a;color:#dbe5f6;padding:18px 14px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 6px 22px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{font-size:11px;color:#8fa0bc;margin-top:2px}.sidebar-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:11px;padding:11px 12px;background:transparent;color:#aebbd0;text-align:left;font-weight:700;cursor:pointer}.nav-item span{width:20px;text-align:center}.nav-item:hover,.nav-item.active{background:#263756;color:#fff}.nav-item.danger{color:#ffb4ae}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.user-mini{padding:12px;border-top:1px solid #2e3e5c}.user-mini strong,.user-mini span{display:block}.user-mini span{font-size:11px;color:#8fa0bc;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.workspace{min-width:0}.topbar{height:84px;display:flex;align-items:center;gap:16px;padding:0 26px;background:#fff;border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e8efff;color:var(--primary-dark);font-weight:900}.icon-button{border:0;background:transparent;font-size:24px;cursor:pointer}.topbar>.icon-button{display:none}.view-root{padding:24px;max-width:1600px;margin:auto}.loading-card,.content-card,.metric-card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.loading-card{padding:30px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric-card{padding:18px}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;margin:8px 0;font-size:30px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.content-card{padding:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.card-head h2{margin:0;font-size:20px}.card-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.flow-list{display:grid;gap:12px}.flow-list div{display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:12px}.flow-list b{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e8efff;color:var(--primary)}.flow-list span{font-weight:800}.flow-list small{color:var(--muted)}.security-list{display:grid;gap:12px;padding-left:20px;color:#475467;line-height:1.45}.toolbar{display:flex;gap:9px;margin-bottom:13px}.toolbar input{flex:1}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}.data-table{width:100%;min-width:850px;border-collapse:collapse}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #e7edf5;text-align:left;font-size:12px}.data-table th{background:#f8fafc;color:#475467;font-weight:800}.data-table tr:last-child td{border-bottom:0}.table-action{border:0;border-radius:8px;padding:7px 10px;background:#e8efff;color:var(--primary-dark);font-weight:800;cursor:pointer}.empty-state{text-align:center!important;color:var(--muted);padding:30px!important}.table-footer{display:flex;justify-content:space-between;align-items:center;padding-top:13px;color:var(--muted);font-size:12px}.pager{display:flex;align-items:center;gap:8px}.pager button{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff}.inline-message{min-height:18px;margin-bottom:8px;color:var(--muted);font-size:12px}.inline-message.error{color:var(--danger)}.drawer{position:fixed;inset:0;z-index:100;background:#10203b55}.drawer-panel{position:absolute;right:0;top:0;width:min(500px,100%);height:100%;background:#fff;box-shadow:-18px 0 45px #0002}.drawer-panel header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--border)}.drawer-panel h2{margin:4px 0 0}.drawer-body{padding:18px;overflow:auto;height:calc(100% - 84px)}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}.detail-row span{color:var(--muted);font-size:12px}.detail-row strong{overflow-wrap:anywhere}.module-tabs{display:flex;gap:6px;margin-bottom:15px;padding:5px;border:1px solid var(--border);border-radius:13px;background:#fff}.module-tab{border:0;border-radius:9px;padding:10px 14px;background:transparent;color:var(--muted);font-weight:800}.module-tab.active{background:#e8efff;color:var(--primary-dark)}.module-view{display:none}.module-view.active{display:block}.form-section{padding:14px;border:1px solid var(--border);border-radius:13px;background:#fafbfc;margin-bottom:14px}.inline-control{display:flex;gap:8px}.inline-control input{flex:1}.search-results{display:grid;gap:7px;margin-top:10px;max-height:320px;overflow:auto}.result-row{display:flex;justify-content:space-between;gap:14px;align-items:center;width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.result-row strong,.result-row span{display:block}.result-row span{color:var(--muted);font-size:11px;margin-top:3px}.selected-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border:1px solid #bcd0ff;border-radius:13px;background:#f3f7ff;margin-bottom:14px}.selected-card small,.selected-card strong,.selected-card span{display:block}.selected-card small,.selected-card span{color:var(--muted);font-size:11px}.selected-card strong{margin:4px 0}.contract-form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-row{display:flex;align-items:center;gap:9px}.checkbox-row input{width:17px;height:17px}.contract-form textarea{min-height:90px}.actions{display:flex;gap:9px}.empty-module{text-align:center;padding:55px 24px}.module-icon{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 18px;border-radius:18px;background:#e8efff;color:var(--primary);font-size:26px}.empty-module h2{margin:0}.empty-module>p{color:var(--muted)}.next-step{display:inline-grid;gap:4px;margin-top:18px;padding:13px 18px;border-radius:12px;background:#f5f7fb}.next-step span{color:var(--muted);font-size:12px}.toast{position:fixed;right:20px;bottom:20px;z-index:200;padding:12px 16px;border-radius:11px;background:#172033;color:#fff;transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:var(--danger)}.error-card{border-color:#ffc7c1;color:var(--danger)}@media(max-width:1000px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:80;width:260px;transform:translateX(-101%);transition:.2s}.sidebar.open{transform:translateX(0)}.topbar>.icon-button{display:block}}@media(max-width:680px){.view-root{padding:14px}.topbar{padding:0 14px}.topbar-user span{display:none}.metric-grid,.form-grid{grid-template-columns:1fr}.card-head.responsive,.card-head{flex-direction:column}.toolbar,.inline-control{flex-direction:column}.toolbar .btn,.inline-control .btn{width:100%}.detail-row{grid-template-columns:1fr;gap:4px}}
.toolbar-select{width:auto;min-width:170px}.contacts-table{min-width:1180px}.contacts-table td strong{font-size:12px}.status-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.status-badge.success{background:#e8f7ef;color:#087443}.status-badge.warning{background:#fff3d6;color:#875b00}.status-badge.danger{background:#feeceb;color:#b42318}.contact-metrics{margin-bottom:18px}@media(max-width:680px){.toolbar-select{width:100%}}
.sales-metrics{margin-bottom:18px}.sales-toolbar{align-items:center}.sales-table{min-width:1320px}.sales-table td small{color:var(--muted);font-size:10px}.detail-section{margin-bottom:22px}.detail-section h3{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:14px;color:#344054}.result-row>span{min-width:0}.result-row>span strong,.result-row>span small{display:block}.result-row>span small{margin-top:4px;color:var(--muted)}@media(max-width:680px){.sales-toolbar{align-items:stretch}.sales-metrics{grid-template-columns:1fr 1fr}}

/* Gestión completa de contratos importados */
.contracts-management-table{min-width:1750px}
.status-pill{display:inline-flex;align-items:center;max-width:240px;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#42526b;font-size:11px;font-weight:800;line-height:1.2;white-space:normal}
.status-pill.success{background:#dcfce7;color:#166534}
.status-pill.warning{background:#fef3c7;color:#92400e}
.status-pill.danger{background:#fee2e2;color:#991b1b}
.status-pill.muted{background:#e5e7eb;color:#4b5563}
.wide-drawer{width:min(760px,100%)}
.detail-summary{display:grid;gap:8px;padding:14px;margin-bottom:14px;border:1px solid #d9e2ef;border-radius:14px;background:#f8fafc}
.detail-summary strong{font-size:18px}
.detail-summary small{color:#66758a;line-height:1.5}
.drawer-body .detail-row strong{max-width:62%;text-align:right;overflow-wrap:anywhere;white-space:normal}
@media(max-width:720px){.drawer-body .detail-row{align-items:flex-start;gap:10px}.drawer-body .detail-row strong{max-width:58%}}

/* Gestión manual de opener */
.opener-cell{font-weight:800;color:#344054}
.opener-cell.pending{color:#92400e}
.opener-management-card{display:grid;gap:14px;margin-bottom:22px;padding:16px;border:1px solid #f4cf7a;border-radius:14px;background:#fffaf0}
.opener-management-card h3{margin:0;font-size:16px}
.opener-management-card p{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.5}
.opener-assignment-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}
.opener-assignment-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#344054}
.opener-assignment-form textarea{min-height:74px;resize:vertical}
.opener-assignment-form .actions{align-self:end}
.opener-history{display:grid;gap:8px;padding-top:12px;border-top:1px solid #f0dcae}
.opener-history h4{margin:0;font-size:13px}
.history-item{display:grid;gap:3px;padding:10px;border:1px solid #eadfca;border-radius:10px;background:#fff}
.history-item strong{font-size:12px}
.history-item span,.history-item small{color:#667085;font-size:11px;line-height:1.4}
@media(max-width:900px){.opener-assignment-form{grid-template-columns:1fr}.opener-assignment-form .actions,.opener-assignment-form .btn{width:100%}}

/* Contratos v1.6: gestión cronológica y filtros del bosquejo */
.contracts-management-table{min-width:1940px}
.registration-cell{min-width:155px;background:#fbfdff}
.registration-cell strong,.registration-cell span,.registration-cell small{display:block;white-space:nowrap}
.registration-cell strong{font-size:13px;color:#172033}
.registration-cell span{margin-top:3px;font-size:15px;font-weight:900;color:#075f70}
.registration-cell small{margin-top:2px;color:#7b8798;font-size:10px}
.contracts-custom-period{display:flex;align-items:end;gap:8px;padding:7px 9px;border:1px solid #d9e2ef;border-radius:12px;background:#f8fafc}
.contracts-custom-period label{display:grid;gap:3px;color:#667085;font-size:10px;font-weight:800}
.contracts-custom-period input{height:34px;min-width:132px}
.chronology-highlight{display:grid;gap:3px;padding:12px 14px;border:1px solid #b8d8df;border-radius:12px;background:#eefbfd}
.chronology-highlight small{color:#52717a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.chronology-highlight strong{font-size:20px;color:#075f70}
@media(max-width:1100px){.sales-toolbar{align-items:stretch}.contracts-custom-period{width:100%}.contracts-custom-period label{flex:1}.contracts-custom-period input{width:100%}}
@media(max-width:680px){.contracts-custom-period{flex-direction:column;align-items:stretch}.chronology-highlight strong{font-size:17px}}

/* Contratos v1.7: barra de búsqueda, filtros, columnas y acciones masivas */
.contracts-command-bar{display:grid;grid-template-columns:minmax(320px,1.6fr) auto auto minmax(105px,.45fr) minmax(210px,.8fr) auto auto;gap:10px;align-items:center;padding:16px;margin-bottom:12px;border:1px solid #d9e3f1;border-radius:20px;background:#fff}
.contracts-search-box{display:flex;align-items:center;gap:10px;min-width:0;padding:0 14px;border:1px solid #cfdced;border-radius:14px;background:#fff}
.contracts-search-box span{font-size:20px;color:#22324c}
.contracts-search-box input{width:100%;height:48px;padding:0;border:0;outline:0;background:transparent;font-size:15px}
.command-button{height:48px;padding:0 16px;border:0;border-radius:12px;background:#eaf0f9;color:#24324b;font-size:14px;font-weight:900;cursor:pointer;white-space:nowrap}
.counter-badge{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:5px;padding:0 7px;border-radius:999px;background:#2f62da;color:#fff}
.selection-counter{display:flex;align-items:center;gap:6px;color:#15213a;font-size:13px;line-height:1.1}
.selection-counter strong{font-size:18px}.selection-counter span{font-weight:800}
.bulk-select{height:48px;min-width:210px;border-radius:12px}
.contracts-filter-panel{display:grid;grid-template-columns:repeat(8,minmax(130px,1fr)) auto auto;gap:12px;align-items:end;padding:16px;margin-bottom:12px;border:1px solid #d9e3f1;border-radius:20px;background:#fff}
.contracts-filter-panel>label{display:grid;gap:7px;color:#24324b;font-size:11px;font-weight:900}
.contracts-filter-panel select{width:100%;height:48px;border-radius:12px}
.contracts-columns-panel{display:flex;flex-wrap:wrap;gap:10px 18px;padding:14px 16px;margin-bottom:12px;border:1px solid #d9e3f1;border-radius:16px;background:#f8fbff}
.contracts-columns-panel label{display:flex;align-items:center;gap:7px;color:#344054;font-size:12px;font-weight:800}
.contracts-columns-panel input{width:16px;height:16px}
.selection-column{width:42px;min-width:42px;text-align:center!important}.selection-column input{width:17px;height:17px}
.column-hidden{display:none!important}
.contracts-management-table{min-width:1840px}
@media(max-width:1350px){.contracts-command-bar{grid-template-columns:1fr auto auto}.selection-counter,.bulk-select,.contracts-command-bar>.btn{grid-row:2}.contracts-filter-panel{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:780px){.contracts-command-bar{grid-template-columns:1fr}.selection-counter,.bulk-select,.contracts-command-bar>.btn{grid-row:auto;width:100%}.contracts-filter-panel{grid-template-columns:1fr}.command-button,.bulk-select{width:100%}.contracts-search-box{width:100%}}

/* Contratos v1.8: estado operativo y edición */
.status-pill.info{background:#dbeafe;color:#1d4ed8}
.table-action-group{display:flex;gap:7px;align-items:center;white-space:nowrap}
.table-action.edit{background:#eef4ff;color:#234ea5;border-color:#cbdcff}
.contract-edit-card{display:grid;gap:14px;margin-bottom:22px;padding:16px;border:1px solid #bfd1ef;border-radius:14px;background:#f7faff}
.contract-edit-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.contract-edit-head h3{margin:0;font-size:16px;color:#172033}
.contract-edit-head p{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.5}
.contract-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contract-edit-form label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:800}
.contract-edit-form input,.contract-edit-form select,.contract-edit-form textarea{width:100%}
.contract-edit-reason{grid-column:1/-1}
.contract-edit-reason textarea{min-height:80px;resize:vertical}
.contract-edit-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px}
.contract-edit-actions .form-message{margin:0}
@media(max-width:900px){.contract-edit-form{grid-template-columns:1fr 1fr}.contract-edit-head{flex-direction:column}.contract-edit-reason,.contract-edit-actions{grid-column:1/-1}}
@media(max-width:620px){.contract-edit-form{grid-template-columns:1fr}.contract-edit-reason,.contract-edit-actions{grid-column:auto}.table-action-group{flex-direction:column;align-items:stretch}}

/* CRM Xtrim v1.9: Equipo, roles y asignación de vendedores */
.team-metrics{margin-bottom:18px}
.team-command-bar{display:grid;grid-template-columns:minmax(320px,1.4fr) repeat(3,minmax(150px,.5fr)) auto;gap:10px;align-items:center;margin-bottom:14px}
.team-table{min-width:1480px}
.team-table td small{color:var(--muted);font-size:10px}
.role-chip-list{display:flex;flex-wrap:wrap;gap:5px;max-width:280px}
.role-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf0fb;color:#27436f;font-size:10px;font-weight:900}
.muted-text{color:var(--muted);font-size:12px}
.team-drawer-panel{width:min(880px,100%)}
.team-form{display:grid;gap:4px}
.team-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.team-form-grid .span-2{grid-column:span 2}
.role-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}
.role-selector label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;background:#fff}
.role-selector input{width:17px;height:17px}
.team-form-actions{display:flex;align-items:center;gap:14px;padding-top:10px;border-top:1px solid var(--border)}
.team-history{display:grid;gap:8px}
.seller-management-card{display:grid;gap:14px;margin-bottom:22px;padding:16px;border:1px solid #b9d4ef;border-radius:14px;background:#f4f9ff}
.seller-management-card h3{margin:0;font-size:16px}
.seller-management-card p{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.5}
.seller-assignment-form{display:grid;grid-template-columns:1.1fr .8fr 1.5fr auto;gap:12px;align-items:end}
.seller-assignment-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#344054}
.seller-assignment-form textarea{min-height:74px;resize:vertical}
.seller-assignment-form .actions{align-self:end}
.seller-assignment-form .form-message{grid-column:1/-1;margin:0}
@media(max-width:1150px){.team-command-bar{grid-template-columns:1fr 1fr}.team-command-bar .contracts-search-box{grid-column:1/-1}.seller-assignment-form{grid-template-columns:1fr 1fr}.seller-assignment-reason{grid-column:1/-1}.seller-assignment-form .actions{grid-column:1/-1}}
@media(max-width:760px){.team-command-bar,.team-form-grid,.role-selector,.seller-assignment-form{grid-template-columns:1fr}.team-form-grid .span-2,.seller-assignment-reason,.seller-assignment-form .actions{grid-column:auto}.team-form-actions{flex-direction:column;align-items:stretch}.team-form-actions .btn{width:100%}}

/* CRM Xtrim v2.0: datos bancarios y formularios internos */
.banking-metrics{margin-bottom:18px}
.bank-command-bar{display:grid;grid-template-columns:minmax(320px,1.4fr) repeat(3,minmax(150px,.55fr)) auto;gap:10px;align-items:center;margin-bottom:14px}
.bank-table{min-width:1320px}
.bank-table td small{color:var(--muted);font-size:10px}
.bank-drawer-panel{width:min(900px,100%)}
.bank-form{display:grid;gap:4px}
.bank-form-grid,.bank-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bank-form-grid .span-2,.bank-review-grid .span-2{grid-column:span 2}
.bank-authorization{display:flex!important;align-items:center;gap:9px;margin-top:12px;padding:12px;border:1px solid #d7e3f3;border-radius:12px;background:#f7faff}
.bank-authorization input{width:18px;height:18px}
.forms-catalog{display:grid;gap:12px}
.form-type-card{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:#f8fafc}
.form-type-card.active{border-color:#b8d5ec;background:#f5fbff}
.form-type-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e7eef9;color:#254a87;font-weight:900}
.form-type-card h3{margin:0 0 4px;font-size:15px;color:#172033}
.form-type-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1050px){.bank-command-bar{grid-template-columns:1fr 1fr}.bank-command-bar .contracts-search-box{grid-column:1/-1}.bank-form-grid,.bank-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.bank-command-bar,.bank-form-grid,.bank-review-grid,.form-type-card{grid-template-columns:1fr}.bank-form-grid .span-2,.bank-review-grid .span-2{grid-column:auto}.form-type-card>span{display:none}}

/* =========================================================
   CRM XTRIM v2.1 · Solicitudes de contratos
   ========================================================= */
.request-metrics { margin-bottom: 18px; }
.request-toolbar { grid-template-columns: minmax(260px, 1.8fr) repeat(3, minmax(145px, .8fr)) auto; }
.requests-table td { vertical-align: top; }
.request-drawer { width: min(980px, 96vw); }
.form-step-nav { display:flex; gap:8px; flex-wrap:wrap; padding:4px 0 20px; border-bottom:1px solid var(--border); margin-bottom:20px; }
.step-chip { border:1px solid var(--border); background:#fff; border-radius:999px; padding:9px 14px; color:var(--muted); cursor:pointer; font-weight:700; }
.step-chip.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.request-step h3 { margin:0 0 16px; }
.request-form-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; position:sticky; bottom:0; background:rgba(255,255,255,.96); border-top:1px solid var(--border); padding:14px 0 4px; margin-top:18px; }
.request-form-actions .form-message { margin-left:auto; }
.request-summary, .request-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.request-summary > div, .request-detail-grid > div { border:1px solid var(--border); border-radius:12px; padding:12px; background:#f8fafc; }
.request-summary small, .request-detail-grid small { display:block; color:var(--muted); margin-bottom:5px; }
.request-summary strong, .request-detail-grid strong { display:block; overflow-wrap:anywhere; }
.request-observations { border:1px solid #fecaca; background:#fff7f7; border-radius:14px; padding:16px; margin-bottom:18px; }
.request-observations h3 { margin-top:0; color:#991b1b; }
.request-observations > div { border-top:1px solid #fecaca; padding-top:10px; margin-top:10px; }
.request-observations p { margin:4px 0 0; }
.request-review-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.timeline-list article { display:grid; grid-template-columns:16px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); }
.timeline-list article > span { width:10px; height:10px; border-radius:50%; background:var(--primary); margin-top:6px; }
.timeline-list small { display:block; color:var(--muted); margin:3px 0; }
.timeline-list p { margin:0; }
.btn.success { background:#15803d; color:#fff; border-color:#15803d; }
.btn.warning { background:#b45309; color:#fff; border-color:#b45309; }
.btn.danger { background:#b91c1c; color:#fff; border-color:#b91c1c; }
.status-pill.info { background:#dbeafe; color:#1d4ed8; }
.status-pill.neutral { background:#e5e7eb; color:#374151; }
@media (max-width: 980px) {
  .request-toolbar { grid-template-columns:1fr 1fr; }
  .request-toolbar .contract-search { grid-column:1/-1; }
  .request-summary, .request-detail-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .request-toolbar, .request-summary, .request-detail-grid { grid-template-columns:1fr; }
  .form-step-nav { overflow-x:auto; flex-wrap:nowrap; padding-bottom:12px; }
  .step-chip { white-space:nowrap; }
  .request-form-actions { position:static; }
}

/* =========================================================
   CRM XTRIM v2.2 · Contactos, Leads y Gestión Opener
   ========================================================= */
.opener-shell{display:grid;gap:16px}.opener-head{margin-bottom:0}.opener-head-actions{display:flex;align-items:center;gap:12px}.opener-head-actions>strong{padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:#fff;color:#475467;font-size:12px}.opener-command-bar{display:grid;grid-template-columns:minmax(320px,1fr) auto 150px auto;gap:10px;margin-bottom:12px}.opener-filter-panel{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;gap:10px;align-items:end;padding:14px;margin-bottom:12px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}.opener-table{min-width:1600px}.opener-table td small,.opener-table td strong{display:block}.opener-table td small{margin-top:3px;color:var(--muted);font-size:10px}.opener-table a{color:var(--primary-dark);font-weight:800;text-decoration:none}.filter-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px}.opener-wide-drawer{width:min(920px,100%)}.opener-entry-form{display:grid;gap:14px}.opener-entry-form h3,.opener-wide-drawer h3{margin:0 0 12px}.opener-entry-form .form-grid,.opener-wide-drawer .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opener-entry-form .span-2,.opener-wide-drawer .span-2{grid-column:1/-1}.opener-pipeline-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px}.pipeline-column{min-height:520px;border:1px solid var(--border);border-radius:15px;background:#f7f9fc}.pipeline-column>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:13px;border-bottom:1px solid var(--border);background:#fff;border-radius:15px 15px 0 0}.pipeline-column>header span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:#e8efff;color:var(--primary-dark);font-weight:900}.pipeline-column>div{display:grid;gap:8px;padding:10px}.pipeline-card{display:grid;gap:4px;width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.pipeline-card:hover{border-color:#9bb7ef;box-shadow:0 8px 20px rgba(28,45,76,.08)}.pipeline-card span,.pipeline-card small{color:var(--muted)}.pipeline-card small{font-size:10px}.opener-metrics{margin-bottom:18px}.opener-ranking{display:grid;gap:8px}.ranking-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--border)}.ranking-row span{color:var(--muted);font-size:12px;text-align:right}.status-pill.neutral{background:#eef2f7;color:#475467}.status-pill.warning{background:#fef3c7;color:#92400e}.status-pill.danger{background:#fee2e2;color:#991b1b}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.info{background:#dbeafe;color:#1d4ed8}.contacts-table{min-width:1100px}
@media(max-width:1100px){.opener-command-bar{grid-template-columns:1fr 1fr}.opener-command-bar .contracts-search-box{grid-column:1/-1}.opener-filter-panel{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.opener-head-actions{width:100%;justify-content:space-between}.opener-command-bar,.opener-filter-panel,.opener-entry-form .form-grid,.opener-wide-drawer .form-grid{grid-template-columns:1fr}.opener-entry-form .span-2,.opener-wide-drawer .span-2{grid-column:auto}.opener-command-bar .contracts-search-box{grid-column:auto}.opener-pipeline-board{grid-auto-columns:85vw}}
