/* Portal real: identidad aprobada del boceto, sobre los componentes y contratos existentes. */
:root{color-scheme:light;--bg-primary:#f3f6fb;--bg-secondary:#fff;--bg-tertiary:#edf3fb;--bg-card:#fff;--bg-input:#f7f9fc;--accent:#1663c7;--accent-hover:#144c96;--accent-light:#e6f0fc;--danger:#c92340;--danger-hover:#a51c35;--warning:#805000;--success:#21613a;--info:#1663c7;--text-primary:#14243b;--text-secondary:#50647f;--text-muted:#5d6d82;--border-color:#dce4ef;--sidebar-width:238px;--sidebar-collapsed:78px;--header-height:76px;--portal-soft:#edf3fb;--portal-red-soft:#fff0f3;--portal-green-soft:#e1f4e9;--portal-amber-soft:#fff0d9;--portal-nav:#10263f;--bs-body-color:var(--text-primary);--bs-body-bg:var(--bg-primary);--bs-heading-color:var(--text-primary);--bs-secondary-color:var(--text-secondary);--bs-tertiary-color:var(--text-muted);--bs-emphasis-color:var(--text-primary);--bs-link-color:var(--accent);--bs-link-hover-color:var(--accent-hover);--bs-border-color:var(--border-color)}
html[data-portal-theme=dark]{color-scheme:dark;--bg-primary:#111e30;--bg-secondary:#1a2a40;--bg-tertiary:#23364e;--bg-card:#1a2a40;--bg-input:#14243b;--accent:#a8cbff;--accent-hover:#c1daff;--accent-light:#233f65;--danger:#ffb4c2;--danger-hover:#ffcfda;--warning:#f1c37d;--success:#a2d9b1;--info:#a8cbff;--text-primary:#eaf1fa;--text-secondary:#b3c3d7;--text-muted:#b3c3d7;--border-color:#38495b;--portal-soft:#23364e;--portal-red-soft:#492635;--portal-green-soft:#234535;--portal-amber-soft:#493a25}
.portal-v3{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;color:var(--text-primary);background:var(--bg-primary);overflow-x:clip;--text-muted:#5d6d82;--danger-readable:var(--danger)}
html[data-portal-theme=dark] .portal-v3{--text-muted:#b3c3d7}.portal-icon{height:20px;width:20px;flex-shrink:0;vertical-align:middle}.portal-v3 [hidden]{display:none!important}.portal-v3 a{color:var(--accent)}.portal-v3 a:hover{color:var(--accent-hover)}.portal-v3 :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.portal-v3 main:focus{outline:none}.portal-v3 h1,.portal-v3 h2,.portal-v3 h3,.portal-v3 h4,.portal-v3 h5,.portal-v3 h6{color:var(--text-primary)}.portal-v3 .text-muted{color:var(--text-muted)!important}.portal-v3 .text-secondary{color:var(--text-secondary)!important}.portal-v3 .text-danger{color:var(--danger)!important}.portal-v3 .text-warning{color:var(--warning)!important}.portal-v3 .text-success{color:var(--success)!important}.portal-v3 .text-accent,.portal-v3 .text-info{color:var(--accent)!important}.portal-v3 .bg-light{background:var(--portal-soft)!important}.portal-v3 .bg-white{background:var(--bg-card)!important}.portal-v3 .bg-accent-light{background:var(--accent-light)!important}
.portal-v3 .sidebar{background:var(--portal-nav);border:0;z-index:1030;overflow:hidden;color:#fff;--accent:#a8cbff;--accent-hover:#fff;--text-primary:#fff;--text-secondary:#c3d3e7;--text-muted:#a8bfd9;--border-color:#ffffff1a}.portal-v3 .sidebar-brand{border:0;min-height:91px;padding:22px;gap:10px;text-decoration:none;color:#fff}.portal-brand-mark{height:38px;width:38px;background:#2570d2;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:#fff}.portal-brand-mark .portal-icon{width:23px;height:23px}.portal-v3 .sidebar-brand .brand-text{font-size:24px;font-weight:750;line-height:1.15;letter-spacing:-1px;color:#fff}.sidebar-brand .brand-text>span{font-weight:400;color:#c4d5ea}.sidebar-brand .brand-text small{display:block;font-size:10px;letter-spacing:2px;color:#b3c6de;margin-top:5px;font-weight:400}.portal-municipality{display:flex;gap:11px;align-items:center;margin:0 16px 17px;padding:12px;border:1px solid #ffffff1f;border-radius:12px;background:#ffffff08;color:#a8cbff}.portal-municipality strong{font-size:13px;display:block;color:#fff;overflow-wrap:anywhere}.portal-municipality small{font-size:11px;display:block;color:#b3c6de}.portal-v3 .sidebar-nav{padding:0 12px 20px;overflow:auto;flex:1;scrollbar-width:thin}.portal-v3 .sidebar-section-title{padding:18px 12px 6px;font-size:10px;letter-spacing:1.7px;font-weight:650;color:#a8bfd9}.portal-v3 .sidebar .nav-item{margin:3px 0}.portal-v3 .sidebar .nav-link{min-height:44px;padding:10px 12px;border-radius:9px;gap:11px;font-size:13px;color:#b3c6de;display:flex;align-items:center;white-space:normal;border:0;line-height:1.35}.portal-v3 .sidebar .nav-link:hover{background:#ffffff0b;color:#fff}.portal-v3 .sidebar .nav-link.active{background:#2466bc;color:#fff;box-shadow:0 5px 15px #04132320}.portal-v3 .sidebar .nav-link.active::before{display:none}.portal-v3 .sidebar .nav-link .badge{margin-left:auto;font-size:10px;background:#ffffff25!important;padding:3px 6px}.portal-side-footer{padding:13px 20px 18px;border-top:1px solid #ffffff17;color:#b3c6de;flex-shrink:0}.portal-side-footer a{display:flex;align-items:center;gap:9px;min-height:40px;font-size:12px;color:#c6d9ef!important}.portal-side-footer small{font-size:10px}.portal-v3 .sidebar.collapsed .portal-municipality{justify-content:center;padding:10px;margin-left:12px;margin-right:12px}.sidebar.collapsed .portal-municipality>div,.sidebar.collapsed .portal-side-footer small{display:none}.portal-v3 .sidebar.collapsed .sidebar-brand{padding-left:20px}.portal-v3 .sidebar.collapsed .nav-link{justify-content:center;padding:10px}.portal-v3 .main-content{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;padding:0;min-width:0}.portal-v3 .sidebar.collapsed~.main-content{margin-left:var(--sidebar-collapsed)}
.portal-v3 .top-header{position:sticky;top:0;left:auto;right:auto;width:100%;height:auto;min-height:76px;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:12px 28px;gap:18px;z-index:1020;display:flex;align-items:center;justify-content:space-between;box-shadow:none}.portal-v3 .header-left,.portal-v3 .header-right{display:flex;align-items:center;gap:12px;min-width:0}.portal-v3 .btn-sidebar-toggle{min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:10px;color:var(--text-secondary);padding:10px}.portal-v3 .btn-sidebar-toggle:hover{background:var(--portal-soft)}.portal-breadcrumb{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text-secondary);min-width:0}.portal-breadcrumb .portal-icon{width:15px;height:15px}.portal-breadcrumb strong{font-size:12px;color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.portal-global-search{display:flex;gap:8px;align-items:center;border:1px solid var(--border-color);border-radius:10px;padding:9px 11px;background:var(--bg-primary);color:var(--text-secondary);min-width:210px}.portal-global-search input{border:0;outline:0;background:none;color:var(--text-primary);width:145px;font-size:12px;min-width:0}.portal-global-search:focus-within{outline:3px solid var(--accent);outline-offset:2px}.portal-global-search kbd{font-size:10px;border:1px solid var(--border-color);padding:1px 4px;background:transparent;color:var(--text-muted);border-radius:4px;white-space:nowrap}.portal-v3 .alert-sound-button{height:44px;min-width:44px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-secondary);padding:9px;gap:6px;font-size:12px}.portal-v3 .alert-sound-button span{display:none}.portal-v3 .alert-sound-button[aria-pressed=true]{background:var(--accent-light);color:var(--accent)}.portal-icon-button,.portal-v3 .notification-bell{height:44px;min-width:44px;display:inline-grid;place-items:center;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-secondary);padding:9px;position:relative}.portal-icon-button:hover,.portal-v3 .notification-bell:hover{background:var(--portal-soft)}.portal-v3 .notification-bell .badge-count{position:absolute;right:-3px;top:-3px;border:2px solid var(--bg-card);min-width:18px;height:18px;line-height:14px;font-size:10px;padding:0 3px;background:#c92340;color:#fff}.portal-account-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 0 0 12px;border:0;border-left:1px solid var(--border-color);background:none;text-align:left}.portal-account-button>.portal-icon{height:14px;width:14px;transform:rotate(90deg)}.portal-v3 .user-avatar{height:37px;width:37px;background:var(--accent-light);color:var(--accent);font-size:12px;display:inline-grid;place-items:center;flex-shrink:0}.portal-account-copy strong,.portal-account-copy small{display:block}.portal-account-copy strong{font-size:12px;font-weight:650;color:var(--text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account-copy small{font-size:10px;color:var(--text-secondary)}.portal-status-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--portal-soft);padding:9px 32px;border-bottom:1px solid var(--border-color);font-size:11px;color:var(--text-secondary)}.portal-status-bar .service-status{font-size:11px;display:flex;gap:7px;align-items:center}.portal-status-bar .status-dot{width:6px;height:6px;animation:none;box-shadow:none}.portal-status-note{font-size:11px}.portal-v3 .page-content{padding:30px 32px 32px;max-width:1740px;width:100%;margin:0 auto;flex:1;min-width:0}.portal-v3 .page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.portal-v3 .page-title{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:740;margin:0}.portal-v3 .page-subtitle{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-top:8px;margin-bottom:0}.portal-page-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-v3 .main-footer{padding:0 32px 22px;margin:0;border:0;background:none;color:var(--text-secondary);font-size:11px;display:flex;justify-content:space-between;gap:15px}.portal-v3 .footer-status{font-size:10px}.portal-v3 .main-footer strong{font-size:11px}
.portal-v3 .card,.portal-v3 .filters-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;box-shadow:none;min-width:0;overflow:hidden}.portal-v3 .card-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:19px 22px;font-size:16px;font-weight:650;color:var(--text-primary);min-height:64px}.portal-v3 .card-header h2{font-size:18px;line-height:1.35;margin:0;font-weight:650}.portal-v3 .card-header p{font-size:12px;color:var(--text-secondary);margin:4px 0 0;font-weight:400}.portal-v3 .card-body{padding:22px}.portal-v3 .card-footer{background:var(--bg-card);border-color:var(--border-color);padding:14px 22px}.portal-v3 .btn{min-height:44px;padding:10px 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.4;font-weight:600;white-space:normal;text-align:center;transition:background .16s,color .16s,border-color .16s;box-shadow:none;transform:none}.portal-v3 .btn .portal-icon{width:17px;height:17px}.portal-v3 .btn-accent,.portal-v3 .btn-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.portal-v3 .btn-accent:hover,.portal-v3 .btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;transform:none}.portal-v3 .btn-ghost,.portal-v3 .btn-outline-primary,.portal-v3 .btn-outline-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.portal-v3 .btn-ghost:hover,.portal-v3 .btn-outline-primary:hover,.portal-v3 .btn-outline-secondary:hover{background:var(--portal-soft);color:var(--accent);border-color:var(--accent)}.portal-v3 .btn-danger{background:#c92340;border-color:#c92340;color:#fff}.portal-v3 .btn-link{color:var(--accent)}.portal-v3 .btn-sm{min-height:40px;font-size:12px}.portal-v3 .form-control,.portal-v3 .form-select,.portal-v3 .input-group-text{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--border-color);border-radius:10px;min-height:44px;font-size:14px}.portal-v3 .form-control::placeholder{color:var(--text-muted);opacity:1}.portal-v3 textarea.form-control{min-height:104px}.portal-v3 .form-label,.portal-v3 label{font-size:13px;color:var(--text-primary)}.portal-v3 .form-label{font-weight:600;margin-bottom:8px}.portal-v3 .form-control:focus,.portal-v3 .form-select:focus{background:var(--bg-input);color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.portal-v3 .form-check{min-height:36px;display:flex;align-items:center;gap:8px;padding-left:0}.portal-v3 .form-check .form-check-input{position:static;float:none;margin:0;flex-shrink:0}.portal-v3 .table{--bs-table-bg:transparent;--bs-table-color:var(--text-primary);--bs-table-hover-color:var(--text-primary);--bs-table-striped-color:var(--text-primary);--bs-table-hover-bg:var(--portal-soft);--bs-table-striped-bg:var(--bg-input);--bs-table-border-color:var(--border-color);margin-bottom:0}.portal-v3 .table thead th{padding:13px 17px;background:var(--bg-input);color:var(--text-secondary);font-size:11px;font-weight:650;letter-spacing:.7px;text-transform:uppercase;border-color:var(--border-color);white-space:normal}.portal-v3 .table tbody td{padding:15px 17px;font-size:13px;line-height:1.55;color:var(--text-primary);border-color:var(--border-color);overflow-wrap:anywhere;vertical-align:middle}.portal-v3 .table tbody tr:last-child td{border-bottom:0}.portal-v3 .table-row-panico{background:transparent!important}.portal-v3 .table-row-panico td:first-child{box-shadow:inset 3px 0 #c92340}.portal-v3 .truncate-text{white-space:normal;max-width:none;overflow:visible;text-overflow:clip;word-break:normal}.portal-v3 .badge-categoria{display:inline-block;max-width:100%;border-radius:7px;padding:5px 9px;line-height:1.5;white-space:normal;overflow-wrap:normal;word-break:normal;font-size:12px;font-weight:600;color:#fff;box-decoration-break:clone;-webkit-box-decoration-break:clone}.portal-v3 .badge-estado{display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.5;white-space:normal}.portal-v3 .badge-pendiente{background:var(--portal-amber-soft);color:var(--warning)}.portal-v3 .badge-en-proceso,.portal-v3 .badge-enproceso,.portal-v3 .badge-mantencion{background:var(--accent-light);color:var(--accent)}.portal-v3 .badge-resuelta,.portal-v3 .badge-resuelto{background:var(--portal-green-soft);color:var(--success)}.portal-v3 .badge-descartada,.portal-v3 .badge-prueba{background:var(--portal-soft);color:var(--text-secondary)}.portal-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.4;background:var(--accent-light);color:var(--accent);max-width:100%}.portal-pill .portal-icon{height:13px;width:13px}.portal-pill.red{background:var(--portal-red-soft);color:var(--danger)}.portal-pill.amber{background:var(--portal-amber-soft);color:var(--warning)}.portal-pill.green{background:var(--portal-green-soft);color:var(--success)}.portal-pill.neutral{background:var(--portal-soft);color:var(--text-secondary)}.portal-tile{height:40px;width:40px;border-radius:12px;display:inline-grid;place-items:center;background:var(--accent-light);color:var(--accent);flex-shrink:0}.portal-tile.red{background:var(--portal-red-soft);color:var(--danger)}.portal-tile.green{background:var(--portal-green-soft);color:var(--success)}.portal-tile.amber{background:var(--portal-amber-soft);color:var(--warning)}.portal-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;font-weight:650}.portal-link .portal-icon{height:15px;width:15px}.portal-notice{display:flex;gap:11px;align-items:flex-start;padding:15px 17px;border-radius:12px;background:var(--accent-light);color:var(--accent);font-size:13px;line-height:1.6}.portal-notice>.portal-icon{margin-top:2px}.portal-notice strong{display:block;margin-bottom:3px}.portal-notice.amber{background:var(--portal-amber-soft);color:var(--warning)}.portal-notice.red{background:var(--portal-red-soft);color:var(--danger)}.portal-notice.green{background:var(--portal-green-soft);color:var(--success)}.portal-v3 .alert-custom,.portal-v3 .alert{border-radius:12px;border:1px solid var(--border-color);font-size:13px;line-height:1.6}.portal-v3 .alert-custom.error,.portal-v3 .alert-danger{background:var(--portal-red-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.portal-v3 .alert-custom.success,.portal-v3 .alert-success{background:var(--portal-green-soft);color:var(--success)}.portal-v3 .alert-warning{background:var(--portal-amber-soft);color:var(--warning)}.portal-v3 .alert-info{background:var(--accent-light);color:var(--accent)}.portal-v3 .dropdown-menu{--bs-dropdown-color:var(--text-primary);--bs-dropdown-bg:var(--bg-card);--bs-dropdown-link-color:var(--text-primary);--bs-dropdown-link-hover-color:var(--accent);--bs-dropdown-link-hover-bg:var(--portal-soft);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 12px 38px #10263f20}.portal-v3 .dropdown-item{min-height:44px;display:flex;align-items:center;font-size:13px}.portal-v3 .modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);box-shadow:0 22px 80px #07142645;overflow:hidden}.portal-v3 .modal-header,.portal-v3 .modal-footer{border-color:var(--border-color);padding:18px 22px}.portal-v3 .modal-body{padding:22px}.portal-v3 .modal-title{font-size:20px}.portal-v3 .modal .btn-close{min-height:30px;min-width:30px;padding:8px;background-size:12px}.portal-v3 .nav-tabs{border-bottom:1px solid var(--border-color);gap:18px;flex-wrap:wrap}.portal-v3 .nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);padding:12px 0;min-height:48px;border-radius:0;font-size:13px}.portal-v3 .nav-tabs .nav-link.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:650}.portal-v3 .pagination{gap:4px}.portal-v3 .page-link{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);min-height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;border-radius:8px!important}.portal-v3 .page-item.active .page-link{background:var(--accent-light);border-color:var(--accent-light);color:var(--accent)}
.portal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.portal-metric{padding:17px 19px;display:flex;gap:14px;align-items:center;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-card);min-width:0}.portal-metric-label{font-size:13px;color:var(--text-secondary)}.portal-metric-number{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:6px 0}.portal-metric-context{font-size:12px;color:var(--text-secondary)}.portal-metric>.portal-tile{margin-left:auto}.portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 332px;align-items:start;gap:20px}.portal-stack{display:flex;flex-direction:column;gap:20px;min-width:0}.portal-card-heading{display:flex;gap:14px;align-items:center;justify-content:space-between}.portal-card-heading h2{display:flex;gap:9px;align-items:center}.portal-card-heading h2>.portal-icon{color:var(--accent)}.portal-card-heading .portal-link{flex-shrink:0}.portal-v3 #dashboard-map{height:clamp(380px,50vh,580px)!important;min-height:380px!important;border-radius:0}.portal-v3 .map-container{border-radius:0;min-height:0}.portal-map-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:11px}.portal-map-legend i{height:7px;width:7px;border-radius:50%;display:inline-block;background:#1663c7;margin-right:5px}.portal-map-legend i.red{background:#c92340}.portal-map-legend i.green{background:var(--success)}.portal-priority-banner{display:flex;align-items:center;gap:15px;padding:16px 19px;margin-bottom:24px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border-color));border-left:4px solid var(--danger);border-radius:14px}.portal-priority-copy{flex:1;min-width:0}.portal-priority-copy strong{font-size:14px;display:block}.portal-priority-copy p{color:var(--text-secondary);font-size:12px;margin:4px 0 0}.portal-priority-label{display:block;color:var(--danger);font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:5px}.portal-case-row{padding:18px 20px;display:flex;gap:12px;border-bottom:1px solid var(--border-color)}.portal-case-row:last-child{border-bottom:0}.portal-case-row .portal-tile{height:36px;width:36px;border-radius:11px}.portal-case-copy{flex:1;min-width:0}.portal-case-copy strong{font-size:13px;display:block}.portal-case-copy p{font-size:12px;color:var(--text-secondary);margin:5px 0 9px;overflow-wrap:anywhere}.portal-case-tail{display:flex;gap:8px;align-items:center;justify-content:space-between}.portal-case-tail .portal-link{min-height:30px;font-size:11px}.portal-unit-row{display:flex;align-items:center;gap:11px;padding:15px 20px;border-bottom:1px solid var(--border-color)}.portal-unit-row:last-child{border-bottom:0}.portal-unit-row>div{flex:1;min-width:0}.portal-unit-row strong{font-size:13px}.portal-unit-row p{font-size:12px;color:var(--text-secondary);margin:3px 0 0}.portal-unit-row .portal-tile{height:34px;width:34px;border-radius:10px}.portal-case-cell{display:flex;align-items:center;gap:11px}.portal-case-cell strong{display:block;font-size:13px}.portal-case-cell small{display:block;font-size:12px;color:var(--text-secondary);margin-top:3px}.portal-case-cell .portal-tile{height:34px;width:34px;border-radius:10px}.portal-case-table{table-layout:fixed}.portal-case-table .portal-address-cell{font-size:13px}.portal-dashboard-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.portal-chart-wrap{height:280px;padding:22px}.portal-v3 .kpi-card,.portal-v3 .stat-card{border:1px solid var(--border-color);border-radius:14px;background:var(--bg-card);box-shadow:none;transform:none}.portal-v3 .kpi-card .kpi-value,.portal-v3 .stat-value{color:var(--text-primary)}.portal-list-heading{margin-bottom:24px}.portal-filter-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:22px;border:1px solid var(--border-color);padding:4px;border-radius:11px;background:var(--bg-card);width:fit-content}.portal-filter-chips a{display:flex;align-items:center;min-height:38px;padding:7px 13px;border-radius:7px;font-size:12px;color:var(--text-secondary)}.portal-filter-chips a.active{background:var(--accent-light);color:var(--accent);font-weight:650}.portal-v3 .filters-bar .row{align-items:end}.portal-v3 .filter-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:12px}.portal-v3 .filter-summary span{border-radius:7px;background:var(--portal-soft);color:var(--text-secondary);padding:5px 9px}
.portal-case-title{display:flex;gap:14px;align-items:center;margin-bottom:18px}.portal-case-title .portal-tile{height:50px;width:50px;border-radius:15px}.portal-case-title h1{font-size:28px;margin:0}.portal-case-title p{font-size:12px;color:var(--text-secondary);margin:6px 0 0}.portal-case-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.portal-case-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-color);margin-bottom:24px;overflow:auto}.portal-case-tabs button{min-height:50px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);padding:10px 0;white-space:nowrap;font-size:13px}.portal-case-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent);font-weight:650}.portal-case-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.portal-case-aside{position:sticky;top:100px;min-width:0}.portal-v3 #detalle-map{height:300px!important;min-height:300px!important;border-radius:12px;overflow:hidden}.portal-case-address{display:flex;gap:9px;align-items:flex-start;font-size:15px;font-weight:600;margin:17px 0 7px}.portal-case-address>.portal-icon{color:var(--accent);margin-top:3px}.portal-case-reference{font-size:13px;color:var(--text-secondary);margin-left:29px;line-height:1.6}.portal-data-list{display:flex;flex-direction:column;gap:15px}.portal-data-line{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;font-size:13px}.portal-data-line>span{color:var(--text-secondary)}.portal-data-line>strong{text-align:right;font-weight:600;max-width:65%;overflow-wrap:anywhere}.portal-dispatch-steps{padding:8px 0}.portal-dispatch-step{display:flex;gap:12px;padding-bottom:20px;position:relative}.portal-dispatch-step:not(:last-child):before{content:'';position:absolute;left:14px;top:28px;bottom:0;width:1px;background:var(--border-color)}.portal-step-circle{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;background:var(--bg-primary);border:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);flex-shrink:0;z-index:1}.portal-step-circle .portal-icon{width:14px;height:14px}.portal-dispatch-step strong{font-size:13px}.portal-dispatch-step p{font-size:12px;color:var(--text-secondary);margin:4px 0 0}.portal-dispatch-step.current .portal-step-circle{background:var(--accent);color:#fff;border-color:var(--accent)}.portal-dispatch-step.done .portal-step-circle{background:var(--portal-green-soft);color:var(--success);border-color:var(--portal-green-soft)}.portal-candidate{display:flex;gap:12px;border:1px solid var(--border-color);padding:14px;border-radius:12px;margin-bottom:10px;align-items:flex-start;cursor:pointer}.portal-candidate:has(input:checked){border-color:var(--accent);background:var(--accent-light)}.portal-candidate input{accent-color:var(--accent);margin-top:5px;flex-shrink:0}.portal-candidate strong{font-size:13px;display:block}.portal-candidate small{font-size:12px;display:block;color:var(--text-secondary);line-height:1.6;margin-top:4px}.portal-v3 .mensajes-unidad{display:flex;flex-direction:column;gap:16px;max-height:550px;overflow:auto;padding:8px 0}.portal-v3 .mensaje-unidad{max-width:85%;padding:16px;border:1px solid var(--border-color);border-radius:15px;background:var(--bg-primary)}.portal-v3 .mensaje-unidad--central{margin-left:auto;background:var(--accent-light);border-color:var(--accent-light)}.portal-v3 .mensaje-unidad__meta{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.portal-v3 .mensaje-unidad__texto{font-size:14px;color:var(--text-primary);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.portal-v3 .mensaje-unidad__estado{font-size:11px;color:var(--text-secondary);margin-top:10px}.portal-v3 .solicitud-unidad{border-radius:12px;padding:15px;background:var(--portal-soft);margin:18px 0;font-size:13px}.portal-v3 .solicitud-unidad--pendiente{background:var(--portal-amber-soft);color:var(--warning)}.portal-event{display:flex;gap:14px;position:relative;padding-bottom:25px;font-size:13px}.portal-event:not(:last-child):before{content:'';position:absolute;left:17px;top:35px;bottom:0;width:1px;background:var(--border-color)}.portal-event .portal-tile{height:35px;width:35px;border-radius:50%;z-index:1}.portal-event p{color:var(--text-secondary);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.portal-event small{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.portal-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.portal-evidence-grid a{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--bg-input)}.portal-evidence-grid img{width:100%;height:100%;object-fit:cover}.portal-v3 #portal-evidence-image{width:100%;max-height:74vh;object-fit:contain}.portal-v3 .detail-description{background:var(--bg-input);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;padding:18px}
.portal-v3 .map-fullscreen{height:calc(100vh - 290px)!important;min-height:520px!important;border-radius:18px;border:1px solid var(--border-color)}.portal-v3 .map-sidebar-panel{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 10px 35px #10263f14;padding:18px;width:280px;max-height:calc(100% - 32px);overflow:auto;top:16px;right:16px}.portal-v3 .leaflet-container{font-family:inherit;background:var(--bg-tertiary)}.portal-v3 .leaflet-popup-content-wrapper,.portal-v3 .leaflet-popup-tip{background:var(--bg-card);color:var(--text-primary);border-radius:15px}.portal-v3 .leaflet-popup-content{font-size:13px;line-height:1.6;max-width:330px}.portal-v3 .leaflet-control-attribution{background:#fffffff0;color:#34495e}.portal-v3 .leaflet-control-attribution a{color:#144c96}.portal-v3 .leaflet-container a.leaflet-popup-close-button{color:var(--text-secondary);height:32px;width:32px;font-size:22px}.portal-v3 .leaflet-control-zoom a{background:var(--bg-card);color:var(--text-primary);min-height:36px;min-width:36px;border-color:var(--border-color)}.portal-v3 .alarmas-central{border-radius:14px;background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--danger);margin-bottom:24px;font-size:13px}.portal-v3 .alarmas-central__titulo{font-size:16px}.portal-v3 .notification-dropdown{border:1px solid var(--border-color);border-radius:16px;background:var(--bg-card);color:var(--text-primary);box-shadow:0 14px 45px #10263f24;right:0;width:min(400px,calc(100vw - 28px));max-height:75vh;overflow:auto}.portal-v3 .notification-dropdown-header{padding:18px 20px;font-size:16px;border-color:var(--border-color)}.portal-v3 .notification-dropdown-item{font-size:13px;border-color:var(--border-color);color:var(--text-primary)}.portal-v3 .notification-tools button{min-height:40px;font-size:12px}.portal-v3 .realtime-toast{border-radius:16px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 12px 38px #10263f20}.portal-v3 .realtime-toast__action{background:#1663c7;color:#fff!important;border-radius:10px;min-height:44px}.portal-v3 .panic-modal .modal-header{background:var(--bg-card)!important;color:var(--text-primary)!important;padding:24px!important;border:0;border-bottom:1px solid var(--border-color)}.portal-v3 .panic-modal .modal-title{color:var(--danger);font-size:22px}.portal-v3 .panic-modal .modal-header p{color:var(--text-secondary)}.portal-v3 .panic-modal .border-danger{border-color:color-mix(in srgb,var(--danger) 40%,var(--border-color))!important}.portal-v3 .panic-modal .modal-body{background:var(--bg-card)}.portal-v3 .panic-modal .modal-body .bg-light{background:var(--portal-soft)!important}.portal-v3 .panic-modal #panic-details{font-size:14px!important}.portal-v3 .panic-modal #panic-critico-banner{background:var(--portal-amber-soft)!important;color:var(--warning)!important}.portal-v3 .panic-modal .fa-beat{animation:none}.portal-v3 .stats-card-heading h2{font-size:18px}.portal-v3 .stats-note{color:var(--text-secondary)}.portal-v3 details>summary{min-height:44px;font-size:13px;cursor:pointer}.portal-v3 .portal-sidebar-scrim{position:fixed;inset:0;background:#10263f88;z-index:1025}
.portal-login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.portal-login-brand{background:#10263f;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:50px 64px;position:relative;overflow:hidden;gap:70px}.portal-login-brand:after{content:'';position:absolute;width:570px;height:570px;border:1px solid #ffffff0d;border-radius:50%;bottom:-250px;right:-190px;box-shadow:0 0 0 90px #ffffff03,0 0 0 180px #ffffff02;pointer-events:none}.portal-login-logo{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:750;letter-spacing:-1px}.portal-login-logo small{font-size:10px;letter-spacing:2px;display:block;color:#b3c6de;font-weight:400}.portal-login-brand h1{font-size:47px;line-height:1.15;letter-spacing:-1.8px;max-width:500px;color:#fff}.portal-login-brand p{font-size:15px;color:#b3c6de;max-width:400px;margin-top:22px}.portal-login-eyebrow{color:#a8cbff;font-size:11px;letter-spacing:1.5px;font-weight:650;margin-bottom:20px}.portal-login-benefits{display:flex;flex-direction:column;gap:16px;margin-top:40px;font-size:13px;color:#c8d8eb}.portal-login-benefits>div{display:flex;gap:10px;align-items:center}.portal-login-form-area{display:flex;align-items:center;justify-content:center;background:var(--bg-card);padding:60px 32px}.portal-login-form{width:100%;max-width:380px}.portal-login-form h2{font-size:28px;letter-spacing:-.5px}.portal-login-form>p{font-size:13px;color:var(--text-secondary);margin:10px 0 30px}.portal-login-form .form-control{min-height:48px;background:var(--bg-card)}.portal-login-form .input-group-text{background:var(--bg-card)}.portal-login-form>.portal-notice{margin-top:26px}.portal-password-toggle{min-height:48px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);padding:10px 13px;border-radius:0 10px 10px 0}.portal-login-footnote{color:#b3c6de;font-size:11px}.portal-v3 .portal-login .form-check{font-size:13px}
html[data-portal-theme=dark] .portal-v3 .btn-accent,html[data-portal-theme=dark] .portal-v3 .btn-primary{color:#10263f}html[data-portal-theme=dark] .portal-v3 .btn-close{filter:invert(1) grayscale(1) brightness(2)}html[data-portal-theme=dark] .portal-v3 .portal-dispatch-step.current .portal-step-circle{color:#10263f}html[data-portal-theme=dark] .portal-v3 .table .text-dark{color:var(--text-primary)!important}html[data-portal-theme=dark] .portal-v3 .table .bg-warning{background:var(--portal-amber-soft)!important;color:var(--warning)!important}
@media(min-width:1680px){:root{--sidebar-width:258px}.portal-v3 .page-content{padding:36px 40px}.portal-v3 .top-header{padding-left:40px;padding-right:40px}.portal-dashboard-grid{grid-template-columns:minmax(0,1fr) 370px}.portal-v3 #dashboard-map{height:540px!important}}
@media(max-width:1320px){:root{--sidebar-width:214px}.portal-v3 .top-header{padding:12px 20px;gap:10px}.portal-v3 .header-right{gap:8px}.portal-global-search{min-width:150px}.portal-global-search input{width:106px}.portal-global-search kbd{display:none}.portal-account-copy small{display:none}.portal-account-copy strong{max-width:100px}.portal-breadcrumb>span,.portal-breadcrumb>.portal-icon{display:none}.portal-v3 .page-content{padding:24px}.portal-dashboard-grid{grid-template-columns:minmax(0,1fr) 300px}.portal-case-grid{grid-template-columns:minmax(0,1fr) 310px}.portal-metric{padding:15px}.portal-login-brand{padding:40px}.portal-login-brand h1{font-size:40px}}
@media(max-width:1100px){.portal-global-search{display:none}.portal-dashboard-grid,.portal-case-grid{grid-template-columns:1fr}.portal-dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-dashboard-aside>.card:first-child{grid-column:1/-1}.portal-case-aside{position:static}.portal-metric>.portal-tile{display:none}.portal-v3 .page-title{font-size:27px}.portal-v3 .table tbody td{padding:14px 12px}.portal-account-copy strong{max-width:135px}}
@media(max-width:992px){.portal-v3 .sidebar{width:238px;transform:translateX(-100%)}.portal-v3 .sidebar.mobile-open{transform:translateX(0)}.portal-v3 .main-content,.portal-v3 .sidebar.collapsed~.main-content{margin-left:0}.portal-v3 .sidebar.collapsed{width:238px}.portal-v3 .top-header{min-height:68px;padding:8px 18px;left:0}.portal-status-bar{padding:9px 24px}.portal-v3 .page-content{padding:24px}.portal-v3 .map-sidebar-panel{width:250px}.portal-v3 .main-footer{padding:0 24px 20px}.portal-login{grid-template-columns:1fr}.portal-login-brand{min-height:380px;padding:35px;gap:40px}.portal-login-brand h1{max-width:600px;font-size:36px}.portal-login-benefits,.portal-login-footnote{display:none}.portal-login-form-area{padding:40px 24px}.portal-v3 .portal-login-brand h1 br:first-child{display:none}}
@media(max-width:767px){.portal-v3 .page-content{padding:22px 18px}.portal-v3 .top-header{padding:8px 12px;gap:5px}.portal-v3 .header-right{gap:6px}.portal-v3 .header-left{gap:6px}.portal-account-copy,.portal-account-button>.portal-icon{display:none}.portal-account-button{padding-left:7px}.portal-v3 .user-avatar{height:32px;width:32px;font-size:11px}.portal-breadcrumb strong{font-size:11px}.portal-status-note{display:none}.portal-status-bar{padding:9px 18px}.portal-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.portal-metric{padding:15px}.portal-metric>.portal-tile{display:grid;height:34px;width:34px}.portal-metric-number{font-size:28px}.portal-metric-label,.portal-metric-context{font-size:12px}.portal-v3 .page-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.portal-v3 .page-title{font-size:26px}.portal-v3 .page-subtitle{font-size:13px}.portal-v3 .card-header{padding:17px 18px}.portal-v3 .card-header h2{font-size:17px}.portal-v3 .card-body{padding:18px}.portal-v3 #dashboard-map{height:380px!important;min-height:380px!important}.portal-dashboard-aside{display:flex;flex-direction:column}.portal-dashboard-charts{grid-template-columns:1fr}.portal-card-heading{gap:10px}.portal-priority-banner{gap:12px;flex-wrap:wrap;padding:15px}.portal-priority-copy{flex-basis:calc(100% - 55px)}.portal-priority-banner>.btn{margin-left:52px;width:calc(100% - 52px)}.portal-case-tabs{gap:20px}.portal-case-title h1{font-size:24px}.portal-case-title .portal-tile{height:43px;width:43px}.portal-case-grid{gap:18px}.portal-v3 #detalle-map{height:260px!important;min-height:260px!important}.portal-evidence-grid{grid-template-columns:1fr 1fr}.portal-v3 .map-fullscreen{height:480px!important;min-height:480px!important}.portal-v3 .map-sidebar-panel{position:static;width:100%;max-height:none;margin-top:16px;box-shadow:none}.portal-v3 .map-sidebar-panel h6{font-size:15px!important}.portal-v3 .nav-tabs{gap:16px}.portal-v3 .nav-tabs .nav-link{font-size:12px}.portal-v3 .footer-status{display:none}.portal-v3 .main-footer{padding:0 18px 20px}.portal-v3 .mensaje-unidad{max-width:95%}.portal-v3 .panic-modal .modal-header{padding:20px!important}.portal-v3 .panic-modal .modal-footer{align-items:stretch!important;flex-direction:column}.portal-v3 .panic-modal .modal-footer>.d-flex{flex-direction:column}.portal-v3 .panic-modal .modal-body .border-end{border:0!important}.portal-v3 .portal-login-brand{min-height:340px;padding:28px}.portal-login-brand h1{font-size:34px}.portal-v3 .page-content>.row{--bs-gutter-x:18px}.portal-v3 .filters-bar .row{--bs-gutter-x:12px}.portal-v3 .alarmas-central__cabecera{gap:10px;flex-wrap:wrap}}
@media(max-width:575px){.portal-v3 .portal-account-button{border:0}.portal-v3 .header-right{gap:3px}.portal-v3 .notification-bell,.portal-icon-button,.portal-v3 .alert-sound-button{border:0;min-width:40px;width:40px;padding:8px}.portal-v3 .header-left .btn-sidebar-toggle{min-width:40px;width:40px}.portal-breadcrumb strong{max-width:135px}.portal-v3 .page-title{font-size:25px}.portal-v3 .page-content{padding:22px 16px}.portal-page-actions{width:100%}.portal-page-actions>.btn{flex:1}.portal-v3 .portal-case-table,.portal-v3 .alert-list-table{table-layout:auto}.portal-case-table thead,.portal-v3 .alert-list-table thead{display:none}.portal-case-table,.portal-case-table tbody,.portal-case-table tr,.portal-case-table td,.portal-v3 .alert-list-table,.portal-v3 .alert-list-table tbody,.portal-v3 .alert-list-table tr,.portal-v3 .alert-list-table td{display:block;width:100%!important;min-width:0!important}.portal-v3 .portal-case-table tr,.portal-v3 .alert-list-table tr{padding:15px 18px;border-bottom:1px solid var(--border-color);position:relative}.portal-v3 .portal-case-table td,.portal-v3 .alert-list-table td{padding:4px 0!important;border:0!important;white-space:normal!important;max-width:none}.portal-v3 .portal-case-table td:first-child,.portal-v3 .alert-list-table td:first-child{box-shadow:none}.portal-v3 .table-row-panico{box-shadow:inset 3px 0 #c92340}.portal-v3 .alert-list-table td:before{display:none!important}.portal-v3 .alert-list-table td[data-label="Fecha"]{font-size:12px;color:var(--text-secondary)}.portal-v3 .alert-list-table td[data-label="Caso"]{margin-bottom:6px}.portal-v3 .portal-case-table .portal-link,.portal-v3 .alert-list-table .btn{min-height:40px}.portal-v3 .map-fullscreen{height:420px!important;min-height:420px!important}.portal-v3 .notification-dropdown{position:fixed!important;top:72px;right:14px!important;left:14px!important;width:auto;max-height:calc(100vh - 100px)}.portal-v3 .card-header.result-heading{align-items:flex-start!important;gap:10px;flex-direction:column}.portal-v3 .card-header.result-heading span{font-size:12px}.portal-case-title .portal-tile{display:none}.portal-v3 .portal-metric{padding:13px}.portal-v3 .portal-metric>.portal-tile{width:30px;height:30px}.portal-v3 .portal-login-form h2{font-size:26px}.portal-v3 .login-form-area{padding:32px 22px}}
@media(prefers-reduced-motion:reduce){.portal-v3 *, .portal-v3 *:before,.portal-v3 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.portal-unit-map-marker>span{display:grid;place-items:center;width:34px;height:34px;background:#21613a;color:#fff;border:3px solid #fff;border-radius:10px;box-shadow:0 3px 7px #10263f30}.portal-unit-map-marker i{font-size:14px}.portal-v3 .stats-note{background:var(--portal-soft);color:var(--text-secondary)}.portal-v3 .stats-kpi-panic strong{color:var(--danger)}.portal-v3 .stats-kpi{background:var(--bg-card);border-color:var(--border-color);border-radius:14px}.portal-operations-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.portal-pending-scroll{max-height:420px;overflow:auto;padding-right:6px}.portal-v3 #mapa-unidades{height:clamp(350px,48vh,580px)!important;border-radius:12px;overflow:hidden}.portal-settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.portal-v3 .portal-settings-layout>.nav-tabs{display:flex;flex-direction:column;border:1px solid var(--border-color)!important;border-radius:15px;background:var(--bg-card);padding:12px;gap:4px;margin:0!important}.portal-v3 .portal-settings-layout>.nav-tabs .nav-link{display:flex;align-items:center;width:100%;text-align:left;padding:12px;border:0;border-radius:9px;font-size:12px;min-height:44px}.portal-v3 .portal-settings-layout>.nav-tabs .nav-link.active{background:var(--accent-light);color:var(--accent)}.portal-settings-layout>.tab-content{min-width:0}.portal-v3 .portal-settings-layout .nav-link:before{display:none}.portal-v3 .portal-settings-layout .nav-link i{font-size:15px}
@media(max-width:1100px){.portal-operations-grid{grid-template-columns:1fr}.portal-pending-scroll{max-height:300px}.portal-settings-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:767px){.portal-settings-layout{grid-template-columns:1fr;gap:18px}.portal-v3 .portal-settings-layout>.nav-tabs{flex-direction:row;flex-wrap:nowrap;overflow:auto;max-width:100%}.portal-v3 .portal-settings-layout>.nav-tabs .nav-item{flex-shrink:0}.portal-v3 .portal-settings-layout>.nav-tabs .nav-link{white-space:nowrap}.portal-v3 #mapa-unidades{height:350px!important}.portal-v3 .portal-settings-layout .nav-link i{font-size:14px}}
@media print{.portal-v3 .sidebar,.portal-v3 .top-header,.portal-status-bar,.portal-v3 .main-footer,.portal-case-tabs,.portal-page-actions{display:none!important}.portal-v3 .main-content{margin:0!important}.portal-v3 .page-content{padding:0}.portal-v3 .card{break-inside:avoid}.portal-v3{background:#fff;color:#14243b}}

/* Avisos y mapas comparten los colores de ambos temas, también al llegar por SignalR. */
.portal-v3 .main-content{transition:margin-left .18s ease}
.portal-v3 .realtime-toast{--toast-accent:var(--accent);--toast-wash:var(--accent-light)}
.portal-v3 .realtime-toast--danger{--toast-accent:var(--danger);--toast-wash:var(--portal-red-soft)}
.portal-v3 .realtime-toast--warning{--toast-accent:var(--warning);--toast-wash:var(--portal-amber-soft)}
.portal-v3 .realtime-toast--success{--toast-accent:var(--success);--toast-wash:var(--portal-green-soft)}
.portal-v3 .realtime-toast__title,.portal-v3 .alarma-central__titulo,.portal-v3 .alarma-central__nota{color:var(--text-primary)}
.portal-v3 .realtime-toast__message,.portal-v3 .realtime-toast__meta,.portal-v3 .realtime-toast__state,.portal-v3 .realtime-toast__close,.portal-v3 .alarma-central__detalle,.portal-v3 .alarmas-central__estado{color:var(--text-secondary)}
.portal-v3 .realtime-toast__footer{border-color:var(--border-color)}
.portal-v3 .realtime-toast__close:hover{background:var(--portal-soft);color:var(--text-primary)}
.portal-v3 .realtime-toast--danger .realtime-toast__action{background:#c92340}
.portal-v3 .alarmas-central{color:var(--text-primary)}
.portal-v3 .alarmas-central__titulo{color:var(--danger)}
.portal-v3 .alarma-central{background:var(--bg-card);border-color:var(--border-color);border-left-color:var(--warning)}
.portal-v3 .alarma-central--riesgo{background:var(--portal-red-soft);border-left-color:var(--danger)}
.portal-v3 .alarma-central--riesgo .alarma-central__titulo{color:var(--danger)}
.portal-v3 .alarma-central--apoyo{border-left-color:var(--danger)}
.portal-v3 .alarma-central--mensaje{border-left-color:var(--accent)}
.portal-v3 .alarma-central__acciones .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}
.portal-v3 .alarma-central__acciones .btn-light{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}
.portal-v3 .portal-map-popup{min-width:215px}
.portal-v3 .portal-map-popup__eyebrow{color:var(--text-secondary);font-size:12px;display:block;margin:0 24px 10px 0}
.portal-v3 .portal-map-popup__title{font-size:16px;font-weight:650;display:flex;align-items:center;gap:8px;margin:0 12px 12px 0}
.portal-map-popup__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.portal-v3 .portal-map-popup p{margin:8px 0;overflow-wrap:anywhere}
.portal-map-popup__address{color:var(--text-primary);font-size:15px;font-weight:650;line-height:1.5}
.portal-map-popup__description{color:var(--text-secondary);font-size:13px;line-height:1.6;white-space:pre-wrap}
.portal-map-popup__time{color:var(--text-secondary);font-size:12px}
.portal-map-popup__footer{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color)}
.portal-v3 .portal-map-popup__footer .badge-estado{font-size:12px}
.portal-v3 .portal-map-popup__footer .btn{min-height:44px;font-size:13px}
.portal-v3 .portal-case-tail .portal-link{min-height:44px}
.portal-v3 #panic-details td:first-child{width:112px!important;white-space:nowrap}
.portal-v3 .btn-outline-danger{color:var(--danger);border-color:var(--danger);background:transparent}
.portal-v3 .btn-outline-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--portal-red-soft)}
