/* Densidad de escritorio iCADA: reducción visual aproximada del 15%. */

/* Acceso y cambio de contraseña. */
.login-card { width: min(374px, 100%); }
.brand-sign { width: 57.8px; height: 57.8px; margin-bottom: 32.87px; font-size: 22.67px; }
.login-brand h1 { font-size: clamp(40.8px, 3.75vw, 66.87px); }
.brand-copy { max-width: 493px; margin-top: 23.8px; font-size: 14.73px; }
.login-status { margin-top: 46.47px; font-size: 10.2px; }
.login-heading { margin-bottom: 26.07px; }
.login-heading h2 { font-size: 29.47px; }
.eyebrow { margin-bottom: 6.8px; font-size: 9.07px; }
.login-form { gap: 15.87px; }
.login-form label span { margin-bottom: 6.8px; font-size: 10.2px; }
.login-form input { height: 40.8px; padding-inline: 11.33px; font-size: 12.47px; }
.button { min-height: 34px; padding-inline: 13.6px; font-size: 11.33px; }
.button-primary { height: 40.8px; }
.login-help { margin-top: 19.27px; font-size: 9.07px; }
.password-card { width: 391px; padding: 29.47px; }
.password-card h1 { font-size: 27.2px; }
.password-copy { margin: 12.47px 0 22.67px; font-size: 12.47px; }
.password-rule { font-size: 9.07px; }

/* Estructura principal y menú lateral. */
.icada-dashboard .dashboard-shell { grid-template-columns: 200.6px 0 minmax(0, 1fr); }
.icada-dashboard .dashboard-shell.secondary-open { grid-template-columns: 54.4px 146.2px minmax(0, 1fr); }
.icada-dashboard .mock-sidebar { padding: 15.87px 12.47px; }
.icada-dashboard .brand { gap: 10.2px; padding: 6.8px 5.67px 17px; }
.icada-dashboard .brand-mark { width: 44.2px; height: 44.2px; flex: 0 0 44.2px; font-size: 19.27px; }
.icada-dashboard .brand strong { font-size: 13.6px; }
.icada-dashboard .brand span { font-size: 10.2px; }
.icada-dashboard .nav { gap: 5.67px; padding-top: 15.87px; }
.icada-dashboard .nav button { height: 36.27px; gap: 9.07px; padding-inline: 10.2px; font-size: 11.33px; }
.icada-dashboard .nav button svg { width: 15.87px; height: 15.87px; flex-basis: 15.87px; }
.dashboard-nav-title { margin: 7.93px 2.27px 1.13px; font-size: 9.07px; }
.secondary-open .mock-sidebar { padding: 15.87px 6.8px; }
.secondary-open .mock-sidebar .brand-mark { width: 36.27px; height: 36.27px; flex-basis: 36.27px; }
.dashboard-secondary-head { min-height: 61.2px; padding: 10.2px 7.93px; }
.dashboard-secondary-head span { font-size: 7.93px; }
.dashboard-secondary-head strong { margin-top: 3.4px; font-size: 11.33px; }
.dashboard-secondary-head button { width: 23.8px; height: 23.8px; }
.dashboard-secondary nav { gap: 4.53px; padding: 9.07px 6.8px; }
.dashboard-secondary nav button { min-height: 30.6px; padding-inline: 7.93px; font-size: 9.07px; }
.secondary-tree { gap:3.4px; margin-left:6.8px; padding-left:6.8px; }.secondary-tree-chevron { width:11.05px; height:11.05px; }.dashboard-secondary nav .secondary-tree-branch,.dashboard-secondary nav .secondary-tree-leaf-root { min-height:26.35px; font-size:7.65px; }.secondary-tree-children { gap:2.55px; margin-left:5.95px; padding-left:5.95px; }.dashboard-secondary nav .secondary-tree-children button { min-height:23.8px; padding-left:6.8px; font-size:7.65px; }
.icada-dashboard .main { padding: 15.87px; }
.icada-dashboard .topbar { min-height: 49.87px; gap: 10.2px; margin-bottom: 12.47px; }
.icada-dashboard .title-block { min-width: 196.07px; }
.icada-dashboard .title-block h1 { font-size: 20.4px; }
.icada-dashboard .title-block span { font-size: 11.33px; }
.icada-dashboard .search { min-width: 221px; height: 36.27px; padding-inline: 12.47px; font-size: 11.33px; }
.icada-dashboard .tool-btn,.icada-dashboard .ghost-btn,.icada-dashboard .primary-btn { min-height: 30.6px; padding-inline: 10.2px; font-size: 11.33px; }
.dashboard-workspace-tabs { flex-basis: 36.27px; height: 36.27px; }
.dashboard-workspace-tab { height: 29.47px; }
.dashboard-workspace-tab > button { height: 27.2px; padding-inline: 11.33px; font-size: 11.33px; }
.dashboard-tab-close { width: 23.8px; font-size: 13.6px !important; }
.icada-action { height: 26.07px; padding-inline: 9.07px; font-size: 9.07px; }
.icada-action svg { width: 11.33px; height: 11.33px; }

/* Encabezados y formularios administrativos. */
.dealers-content,.users-content,.permissions-content { gap: 9.07px; padding: 10.2px; }
.dealers-heading h1,.users-heading h1,.permissions-heading h1,.dealer-procedures-heading h1 { font-size: 18.13px; }
.dealers-heading span,.users-heading span,.permissions-heading span,.dealer-procedures-heading span { font-size: 9.07px; }
.dealers-heading p,.users-heading p,.permissions-heading p,.dealer-procedures-heading p,
.dealers-heading > strong,.users-heading > strong,.permissions-heading > strong { font-size: 9.07px; }
.dealers-list-tools,.users-list-tools { padding: 5.67px 6.8px; }
.dealers-list-tools input,.users-list-tools input { height: 26.07px; font-size: 9.07px; }
.dealers-list > button,.users-list > button { min-height: 47.6px; padding-block: 5.67px; }
.dealer-ccd,.dealers-list strong,.users-list strong { font-size: 9.07px; }
.dealers-list small,.users-list small,.user-state { font-size: 7.93px; }
.user-avatar { width: 27.2px; height: 27.2px; font-size: 7.93px; }

.dealer-modal { width: min(816px, calc(100vw - 30.6px)); max-height: calc(100vh - 30.6px); }
.dealer-modal .dealer-form { max-height: calc(100vh - 30.6px); padding: 13.6px; }
.user-modal { width: min(884px, calc(100vw - 27.2px)); max-height: calc(100vh - 27.2px); }
.user-modal form { max-height: calc(100vh - 27.2px); padding: 12.47px; }
.dealer-form-head,.user-modal-head { margin-bottom: 9.07px; }
.dealer-form-head h2,.user-modal-head h2 { font-size: 14.73px; }
.dealer-form-head span,.user-modal-head span { font-size: 7.93px; }
.modal-close { width: 28.33px; height: 28.33px; font-size: 17px; }
.dealer-fields,.user-fields { gap: 6.8px; }
.dealer-fields label > span,.user-fields label > span,.permissions-picker label { margin-bottom: 4.53px; font-size: 7.93px; }
.dealer-fields input,.user-fields input,.user-fields select { height: 28.33px; padding-inline: 6.8px; font-size: 9.07px; }
.user-fields textarea { height: 46.47px; padding-block: 5.67px; font-size: 9.07px; }
.dealer-checkbox,.user-fields .check { gap: 5.67px; padding-top: 14.73px; }
.dealer-checkbox input,.user-fields .check input { width: 13.6px; height: 13.6px; }
.dealer-logo-field,.user-photo-field { gap: 9.07px; margin-top: 9.07px; padding: 7.93px; }
.dealer-logo-preview { width: 49.87px; height: 39.67px; flex-basis: 49.87px; }
.user-photo-preview { width: 49.87px; height: 49.87px; flex-basis: 49.87px; }
.dealer-logo-field label,.user-photo-field label { font-size: 7.93px; }
.dealer-logo-field small,.user-photo-field small { font-size: 6.8px; }
.dealer-logo-field input[type=file],.user-photo-field input[type=file] { margin-block: 4.53px; font-size: 7.93px; }
.permissions-picker { grid-template-columns: minmax(0,1fr) 36.27px minmax(0,1fr); gap: 6.8px; margin-top: 10.2px; }
.permissions-picker select { height: 128.07px; font-size: 9.07px; }
.permission-transfer button { height: 26.07px; }
.permission-note { font-size: 7.93px; }
.dealer-form-actions,.user-modal-actions { gap: 5.67px; margin-top: 9.07px; padding-top: 7.93px; }
.dealer-form-actions .icada-action,.user-modal-actions .icada-action { min-height: 26.07px; height: 26.07px; }
.dealer-modal-link { min-height: 23.8px !important; padding-inline: 6.8px; font-size: 7.93px; }

/* Clientes centrales y fichas de alarmas. */
.clients-content { gap:9.07px; padding:10.2px; }
.clients-heading h1 { font-size:18.13px; }.clients-heading span { font-size:9.07px; }
.clients-heading p,.clients-heading>strong { font-size:9.07px; }
.clients-list-tools { padding:5.67px 6.8px; }.clients-list-tools input { height:26.07px; font-size:9.07px; }
.clients-list>button { min-height:47.6px; padding-block:5.67px; }.client-avatar { width:27.2px; height:27.2px; font-size:7.93px; }
.client-main strong,.client-service strong { font-size:9.07px; }.client-main small,.client-service small { font-size:7.93px; }
.client-modal { width:min(765px,calc(100vw - 30.6px)); max-height:calc(100vh - 30.6px); }.panel-client-modal { width:min(952px,calc(100vw - 30.6px)); }
.client-modal form { max-height:calc(100vh - 30.6px); padding:12.75px; }
.client-modal-head h2 { font-size:14.45px; }.client-modal-head span { font-size:7.65px; }.client-modal-close { width:28.9px; height:28.9px; font-size:17px; }
.client-modal-tabs button,.panel-section-tabs button { min-height:25.5px; padding-inline:8.5px; font-size:7.65px; }
.client-fields,.panel-fields { gap:6.8px; }.client-fields label>span,.client-field>span,.client-new-alarm label>span { margin-bottom:4.25px; font-size:7.65px; }
.client-fields input,.client-new-alarm input,.client-new-alarm select,.client-field input,.client-field select,.client-field textarea { min-height:28.05px; padding-inline:6.8px; font-size:8.5px; }
.client-field textarea { min-height:54.4px; }.client-field small { font-size:6px; }
.client-alarm-list>button { min-height:45.9px; }.client-alarm-list strong { font-size:8.5px; }.client-alarm-list small { font-size:6.8px; }
.client-modal-actions { gap:5.95px; margin-top:10.2px; padding-top:7.65px; }.panel-sections { min-height:238px; max-height:calc(100vh - 162px); }

/* Catálogo de permisos, perfiles y procedimientos. */
.permission-create-form { grid-template-columns: 145.07px 145.07px minmax(221px,1fr) auto; gap: 6.8px; padding: 6.8px; }
.permission-create-form label span { margin-bottom: 5.67px; font-size: 9.07px; }
.permission-create-form input,.permissions-table input { height: 26.07px; font-size: 9.07px; }
.permission-create-form button { height: 26.07px; }
.permissions-table th { height: 30.6px; font-size: 9.07px; }
.permissions-table td { height: 40.8px; padding: 5.67px 6.8px; font-size: 9.07px; }
.dealer-procedures-header { min-height: 53.27px; padding: 6.8px 12.47px; }
.dealer-procedures-brand > span { width: 34px; height: 34px; }
.dealer-procedures-brand small { font-size: 7.93px; }
.dealer-procedures-brand strong { font-size: 12.47px; }
.dealer-procedures-content { gap: 9.07px; padding: 12.47px; }
.dealer-procedures-form { padding: 9.07px; }
.dealer-procedures-form label { font-size: 9.07px; }
.dealer-procedures-form textarea { padding: 10.2px; font-size: 11.33px; }
.dealer-procedures-actions span { font-size: 7.93px; }

/* Auditoría y sesiones. */
.security-content { gap:8.5px; padding:10.2px; }
.security-heading h1 { font-size:17.85px; }
.security-heading span { font-size:8.5px; }
.security-heading p,.security-heading>strong { font-size:9.35px; }
.security-tools { gap:5.95px; padding:5.95px 6.8px; }
.security-tools input,.security-tools select,.security-view-switch button { height:25.5px; font-size:8.5px; }
.security-list>button,.security-attempt { min-height:44.2px; grid-template-columns:112.2px minmax(0,1fr) 71.4px; gap:8.5px; padding:5.95px 9.35px; }
.security-list time,.security-list small { font-size:7.65px; }
.security-list strong { font-size:9.35px; }
.security-result { padding:3.4px 5.1px; font-size:6.8px; }
.security-modal { width:min(697px,calc(100vw - 27.2px)); max-height:calc(100vh - 27.2px); padding:11.9px; }
.security-modal-head { margin-bottom:8.5px; }
.security-modal-head span { font-size:7.65px; }
.security-modal-head h2 { font-size:15.3px; }
.audit-detail,.session-detail { gap:6.8px; }
.security-detail-field { padding:6.8px; }
.security-detail-field span { font-size:6.8px; }
.security-detail-field strong,.security-detail-field p,.security-detail-field pre { font-size:8.5px; }
.security-modal-actions { gap:5.1px; margin-top:8.5px; padding-top:7.65px; }

/* Ajuste 2026-08-05: formularios de clientes 20% mas legibles sin agrandar menus laterales. */
.client-record-content .client-record-title h1 { font-size:21.6px; }
.client-record-content .client-record-card h2 { font-size:14.4px; }
.client-record-content .client-record-grid label>span,
.client-record-content .client-record-modal label>span,
.client-record-content .client-association label>span { font-size:9.6px; }
.client-record-content .client-record-grid input,
.client-record-content .client-record-grid select,
.client-record-content .client-record-grid textarea,
.client-record-content .client-association input[type=search] { font-size:10.8px; }
.client-record-content .client-record-grid input,
.client-record-content .client-record-grid select,
.client-record-content .client-association input[type=search] { height:34.8px; }
.client-record-content .client-record-grid textarea { min-height:62.4px; }
.client-record-content .icada-action-save,
.client-record-content .client-record-actions button,
.client-record-content .client-danger-actions button,
.client-record-content .client-association-actions button { min-height:33.6px; font-size:9.6px; }
.client-record-content .client-operational-status span,
.client-record-content .client-association>div>small,
.client-record-content .client-association-actions small,
.client-record-content .client-photo-field small,
.client-record-content .client-remove-photo { font-size:9.6px; }
.client-record-content .client-operational-status b,
.client-record-content .client-association>div>strong,
.client-record-content .client-photo-field input[type=file] { font-size:10.8px; }
.related-page .related-heading h1 { font-size:21.6px; }
.related-page .related-heading span,
.related-page .related-heading p,
.related-page .related-heading strong,
.related-page .related-tools input,
.related-page .related-tools button,
.related-page table th,
.related-page table td,
.related-page .related-row-actions button,
.related-page .related-contact-action { font-size:10.8px; }
.related-page .related-tools input,
.related-page .related-tools button { min-height:31.2px; }
.related-page .related-card h2,
.related-page .notes-card-title h2 { font-size:14.4px; }
.related-page label span,
.related-page textarea,
.related-page input,
.related-page select,
.related-page button { font-size:10.8px; }
