.skip-links{z-index:9999;position:absolute;top:0;left:0}.skip-link{background:var(--color-pri-500);color:#fff;white-space:nowrap;border-radius:0 0 .5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:left .15s;position:absolute;top:0;left:-9999px;box-shadow:0 4px 6px -1px #0000001a}.skip-link:focus{outline:3px solid var(--color-pri-400);outline-offset:2px;left:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-slate-400);border-radius:3px}.overflow-x-auto::-webkit-scrollbar-track{background:var(--color-slate-200);border-radius:3px}.table-scroll::-webkit-scrollbar-track{background:var(--color-slate-200);border-radius:3px}.overflow-x-auto::-webkit-scrollbar-thumb{background:var(--color-brand)}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-brand)}.overflow-x-auto::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--color-brand) 85%, black)}.table-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--color-brand) 85%, black)}.nav-item{color:var(--color-slate-400);border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.35rem 1.25rem;font-size:.875rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--color-slate-200);background:#ffffff0a}.nav-item.active{color:var(--color-pri-400);border-left-color:var(--color-pri-400);background:#0d73771f}.nav-item svg,.nav-item i{flex-shrink:0;width:1.25rem;height:1.25rem}.nav-item.disabled{color:var(--color-slate-600);opacity:.5;pointer-events:none}.nav-group{text-transform:uppercase;letter-spacing:.1em;color:var(--color-white);padding:.6rem 1.25rem .5rem;font-size:.6875rem;font-weight:600}.nav-group-accordion{cursor:pointer;transition:background-color .15s}.nav-group-accordion:hover{background-color:#ffffff0a}.nav-group-accordion:focus{box-shadow:inset 0 0 0 2px var(--color-pri-400);outline:none}.subtab-bar{border-bottom:2px solid var(--color-slate-200);-webkit-overflow-scrolling:touch;margin-bottom:1.5rem;display:flex;overflow-x:auto}.subtab{color:var(--color-slate-600);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .2s}.subtab:hover{color:var(--color-pri-500)}.subtab.active{color:#fff;background:var(--color-pri-500);border-bottom-color:var(--color-pri-500);border-radius:.375rem .375rem 0 0}.card{border:1px solid var(--color-slate-200);background:#fff;border-radius:.75rem;padding:1.5rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.card:hover{box-shadow:0 4px 12px #0d737714,0 2px 4px #0000000a}.card-title{font-family:var(--font-display);color:var(--color-slate-600);margin-bottom:1rem;font-size:.875rem;font-weight:600}.kpi-card{border:1px solid var(--color-slate-200);border-left:4px solid var(--color-slate-400);background:#fff;border-radius:.75rem;padding:1rem 1.25rem;transition:border-left-color .3s}.kpi-card.status-ok{border-left-color:var(--color-status-ok)}.kpi-card.status-warn{border-left-color:var(--color-status-warn)}.kpi-card.status-danger{border-left-color:var(--color-status-danger)}.kpi-label{color:var(--color-slate-600);margin-bottom:.25rem;font-size:.75rem;font-weight:500}.kpi-value{font-family:var(--font-mono);color:var(--color-slate-800);font-size:1.5rem;font-weight:600}.kpi-trend{align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;font-weight:500;display:flex}.kpi-trend.up-good,.kpi-trend.down-good{color:var(--color-status-ok)}.kpi-trend.up-bad,.kpi-trend.down-bad{color:var(--color-status-danger)}.kpi-trend.stable{color:#92400e}.kpi-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:.25rem;align-items:center;margin-top:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.kpi-badge.badge-ok{color:#166534;background-color:#dcfce7}.kpi-badge.badge-warn{color:#854d0e;background-color:#fef9c3}.kpi-badge.badge-danger{color:#991b1b;background-color:#fee2e2}.kpi-tooltip-trigger{background:var(--color-slate-200);width:1rem;height:1rem;color:var(--color-slate-600);cursor:pointer;vertical-align:middle;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:.375rem;padding:0;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.kpi-tooltip-trigger:hover,.kpi-tooltip-trigger:focus{background:var(--color-pri-500);color:#fff}.kpi-tooltip-trigger:focus{outline:2px solid var(--color-pri-400);outline-offset:2px}.kpi-tooltip-trigger svg{width:.75rem;height:.75rem}.kpi-tooltip{background:var(--color-slate-800);color:#fff;text-align:left;opacity:0;visibility:hidden;z-index:100;white-space:normal;border-radius:.375rem;min-width:14rem;max-width:20rem;padding:.625rem .75rem;font-size:.75rem;font-weight:400;line-height:1.5;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.kpi-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-slate-800);position:absolute;top:100%;left:50%;transform:translate(-50%)}.kpi-tooltip-trigger:hover .kpi-tooltip,.kpi-tooltip-trigger:focus .kpi-tooltip,.kpi-tooltip-trigger[aria-expanded=true] .kpi-tooltip{opacity:1;visibility:visible}.kpi-tooltip code{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#ffffff1a;border-radius:.25rem;margin-top:.375rem;padding:.375rem .5rem;font-size:.6875rem;display:block}@media (width<=640px){.kpi-tooltip{left:0;transform:translate(0)}.kpi-tooltip:after{left:.5rem;transform:none}}.data-table{border-collapse:collapse;width:100%;font-size:.8125rem}.data-table th{background:var(--color-slate-50);text-transform:uppercase;letter-spacing:.025em;color:var(--color-slate-700);text-align:left;border-bottom:2px solid var(--color-slate-200);padding:.625rem .75rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-slate-100);padding:.625rem .75rem}.data-table tr:hover td{background:var(--color-pri-50)}.data-table tbody tr:nth-child(2n) td{background:var(--color-slate-100)}.data-table tbody tr:nth-child(2n):hover td{background:var(--color-pri-50)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=767px){.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.data-table tr{border:1px solid var(--color-slate-200);background:#fff;border-radius:.5rem;margin-bottom:.75rem;padding:.75rem;box-shadow:0 1px 3px #0000000f}.data-table tr:hover td{background:0 0}.data-table tbody tr:nth-child(2n) td{background:#fff}.data-table td{border-bottom:1px solid var(--color-slate-100);text-align:right;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.375rem 0;display:flex}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.025em;color:var(--color-slate-500);text-align:left;flex-shrink:0;font-size:.6875rem;font-weight:600}.data-table td:last-child:empty:before,.data-table td[data-label=""]:before{display:none}.data-table td:last-child{justify-content:flex-end}.data-table td[colspan]{text-align:center;justify-content:center}.data-table td[colspan]:before{display:none}}.badge{border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-ok{color:#065f46;background:#d1fae5}.badge-warn{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.alert-item{border-left:3px solid;border-radius:.5rem;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.75rem;font-size:.8125rem;line-height:1.5;display:flex}.alert-item.critical{border-left-color:var(--color-status-danger);background:#fef2f2}.alert-item.warning{border-left-color:var(--color-status-warn);background:#fffbeb}.form-input{border:1px solid var(--color-slate-500);width:100%;font-family:var(--font-sans);color:var(--color-slate-800);background:#fff;border-radius:.5rem;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-pri-500);outline:none;box-shadow:0 0 0 3px #0d737759}.form-input::placeholder{color:var(--color-slate-500)}.form-label{font-family:var(--font-sans);color:var(--color-slate-700);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.filter-select{appearance:none;border:1px solid var(--color-slate-200);color:var(--color-slate-800);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .625rem center no-repeat;border-radius:.5rem;padding:.375rem 1.875rem .375rem .75rem;font-size:.8125rem}.filter-select:focus{border-color:var(--color-pri-500);outline:none;box-shadow:0 0 0 3px #0d737759}.filter-select:disabled{background-color:var(--color-slate-100);color:var(--color-slate-400);cursor:not-allowed;opacity:.7}.filter-label:has(+.filter-select:disabled){color:var(--color-slate-400)}.filter-field:has(.filter-select:disabled) .filter-label{color:var(--color-slate-400)}.filter-actions .btn:disabled,.filter-actions .btn[aria-disabled=true]{background-color:var(--color-slate-200);color:var(--color-slate-400);border-color:var(--color-slate-200);cursor:not-allowed;opacity:.7}.filter-toggle-btn:disabled{color:var(--color-slate-400);cursor:not-allowed;opacity:.7}.filter-label{display:none}.info-bar-select{appearance:none;border:1px solid var(--color-slate-500);color:var(--color-slate-800);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .5rem center no-repeat;border-radius:.375rem;width:4.5rem;padding:.25rem 1.75rem .25rem .5rem;font-size:.8125rem}.info-bar-select:focus{border-color:var(--color-pri-500);outline:none;box-shadow:0 0 0 3px #0d737759}.drop-zone{border:2px dashed var(--color-slate-300);border-radius:.5rem;min-height:5rem;padding:.75rem;transition:all .2s}.drop-zone.over{border-color:var(--color-pri-500);background:#0d73770d}.drag-chip{color:#0369a1;cursor:grab;-webkit-user-select:none;user-select:none;background:#e0f2fe;border-radius:9999px;align-items:center;margin:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.drag-chip:active{cursor:grabbing}.drag-chip.measure{color:#166534;background:#f0fdf4}.btn{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-brand);color:#fff;border:none}.btn-primary:hover{background:color-mix(in srgb, var(--color-brand) 85%, black)}.btn-primary:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 30%, transparent);outline:none}.btn-primary:active{background:color-mix(in srgb, var(--color-brand) 75%, black)}.btn-secondary{color:var(--color-slate-600);border:1px solid var(--color-slate-500);background:#fff}.btn-secondary:hover{background:var(--color-slate-50);border-color:var(--color-slate-600)}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #64748b33}.btn-success{color:#fff;background:#16a34a;border:none}.btn-success:hover{background:#15803d}.btn-success:focus{outline:none;box-shadow:0 0 0 3px #16a34a4d}.btn-danger{color:#fff;background:#dc2626;border:none}.btn-danger:hover{background:#b91c1c}.btn-danger:focus{outline:none;box-shadow:0 0 0 3px #dc26264d}.btn-warning{color:#fff;background:#d97706;border:none}.btn-warning:hover{background:#b45309}.btn-warning:focus{outline:none;box-shadow:0 0 0 3px #d977064d}.btn-neutral{color:#fff;background:#475569;border:none}.btn-neutral:hover{background:#334155}.btn-neutral:focus{outline:none;box-shadow:0 0 0 3px #4755694d}.btn-sm{border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem}.form-checkbox{cursor:pointer;appearance:none;border:2px solid var(--color-slate-400);background-color:#fff;border-radius:.25rem;width:1.125rem;height:1.125rem;transition:all .15s;position:relative}.form-checkbox:hover{border-color:var(--color-brand)}.form-checkbox:checked{background-color:var(--color-brand);border-color:var(--color-brand)}.form-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.form-checkbox:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 25%, transparent);border-color:var(--color-brand);outline:none}.form-checkbox:indeterminate{background-color:var(--color-brand);border-color:var(--color-brand)}.form-checkbox:indeterminate:after{content:"";background:#fff;border:none;width:10px;height:2px;position:absolute;top:6px;left:3px;transform:none}[x-cloak]{display:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.animate-in{opacity:0;animation:.4s ease-out forwards fadeInUp}@keyframes chipPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-chip{animation:.3s ease-out forwards chipPop}.section,.tab-panel{display:none}.section.active,.tab-panel.active{display:block}.sidebar-overlay{z-index:35;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}@media (width<=1023px){.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}@media (width>=1024px){.sidebar-overlay{display:none!important}}.hamburger{color:var(--color-slate-500);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.hamburger:hover{color:var(--color-pri-500)}@media (width<=1023px){.hamburger{justify-content:center;align-items:center;display:flex}}.filter-toggle-btn{border:1px solid var(--color-slate-200);color:var(--color-slate-500);cursor:pointer;background:#fff;border-radius:.5rem;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;transition:all .15s;display:none}.filter-toggle-btn:hover{border-color:var(--color-pri-500);color:var(--color-pri-500)}.filter-toggle-btn.active{border-color:var(--color-pri-500);color:var(--color-pri-500);background:var(--color-pri-50)}.filter-panel,.filter-panel-form{display:contents}.filter-panel-form .filter-field{align-items:center;gap:.5rem;display:flex}.filter-panel-form .filter-actions{align-items:center;gap:.5rem;margin-left:.5rem;display:flex}@media (width<=1023px){.filter-toggle-btn{display:inline-flex}.filter-panel{border-bottom:1px solid var(--color-slate-200);z-index:45;opacity:0;pointer-events:none;background:#fff;flex-direction:column;gap:.625rem;padding:1rem;transition:transform .25s,opacity .25s;display:flex;position:fixed;top:4rem;left:0;right:0;transform:translateY(-110%);box-shadow:0 4px 16px #0000001a}.filter-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.filter-panel .filter-select{width:100%}.filter-panel .filter-label{text-transform:uppercase;letter-spacing:.025em;color:var(--color-slate-500);margin-bottom:.25rem;font-size:.6875rem;font-weight:600;display:block}.filter-panel-form{flex-direction:column;gap:.625rem;width:100%;display:flex}.filter-panel-form .filter-field{flex-direction:column;gap:.25rem;display:flex}.filter-panel-form .filter-actions{gap:.5rem;margin-top:.5rem;display:flex}}.apexcharts-canvas{font-family:var(--font-sans)!important}.interreg-logo{width:auto;max-height:3.3rem}.table-action-btn{min-width:2.75rem;min-height:2.75rem;color:var(--color-slate-600);border-radius:.375rem;justify-content:center;align-items:center;padding:.625rem;transition:color .15s,background-color .15s;display:inline-flex}.table-action-btn:hover{color:var(--color-pri-500);background-color:var(--color-pri-50)}.table-action-btn:focus{color:var(--color-pri-500);box-shadow:0 0 0 2px var(--color-pri-500);outline:none}.table-action-btn svg,.table-action-btn i{width:1rem;height:1rem}.data-table td .flex.gap-2{gap:.25rem}.threshold-range{appearance:none;cursor:pointer;background:var(--color-slate-200);border-radius:4px;height:8px}.threshold-range:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.threshold-range--green{background:linear-gradient(90deg,#bbf7d0,#4ade80)}.threshold-range--yellow{background:linear-gradient(90deg,#fef08a,#facc15)}.threshold-range--red,.threshold-range--low{background:linear-gradient(90deg,#fecaca,#f87171)}.threshold-range--medium{background:linear-gradient(90deg,#fef08a,#facc15)}.threshold-range::-webkit-slider-thumb{appearance:none;border:2px solid var(--color-slate-500);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px #0003}.threshold-range::-webkit-slider-thumb:hover{border-color:var(--color-pri-500)}.threshold-range:focus::-webkit-slider-thumb{border-color:var(--color-pri-500);box-shadow:0 0 0 3px #3b82f64d}.threshold-range::-moz-range-thumb{border:2px solid var(--color-slate-500);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px #0003}.threshold-range::-moz-range-thumb:hover{border-color:var(--color-pri-500)}.threshold-range:focus::-moz-range-thumb{border-color:var(--color-pri-500);box-shadow:0 0 0 3px #3b82f64d}.threshold-range::-moz-range-track{background:var(--color-slate-200);border-radius:4px;height:8px}.threshold-range--green::-moz-range-track{background:linear-gradient(90deg,#bbf7d0,#4ade80)}.threshold-range--yellow::-moz-range-track{background:linear-gradient(90deg,#fef08a,#facc15)}.threshold-range--red::-moz-range-track{background:linear-gradient(90deg,#fecaca,#f87171)}.threshold-range--low::-moz-range-track{background:linear-gradient(90deg,#fecaca,#f87171)}.threshold-range--medium::-moz-range-track{background:linear-gradient(90deg,#fef08a,#facc15)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-in,.animate-chip{opacity:1!important;animation:none!important;transform:none!important}}
