html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}:root,html[data-theme=light]{--color-bg-primary: #f5f6fa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f8f9fa;--color-bg-elevated: #ffffff;--color-bg-muted: #ecf0f1;--color-bg-input: #ffffff;--color-bg-hover: #f3f4f6;--color-text-primary: #2c3e50;--color-text-secondary: #7f8c8d;--color-text-muted: #95a5a6;--color-text-inverse: #ffffff;--color-border: #dfe6e9;--color-border-light: #ecf0f1;--color-border-strong: #d1d5db;--color-shadow: rgba(0, 0, 0, .08);--color-shadow-strong: rgba(0, 0, 0, .15);--color-overlay: rgba(0, 0, 0, .5);--color-primary: #3498db;--color-primary-hover: #2980b9;--color-success: #27ae60;--color-danger: #e74c3c;--color-warning: #f39c12;--color-accent-navy: #003366;--color-sidebar: #2c3e50;--color-sidebar-alt: #34495e;--color-table-header: #363636;--color-table-header-alt: #34495e;--color-table-row-hover: #f8f9fa;--color-auth-gradient-start: #2c3e50;--color-auth-gradient-end: #34495e;--color-auth-box: #ffffff;--color-auth-glow: rgba(52, 152, 219, .15);--color-auth-card-border: rgba(255, 255, 255, .65);--color-auth-card-shadow: rgba(0, 0, 0, .12);--radius-auth-card: 1rem;--scrollbar-size: 6px;--scrollbar-radius: 999px;--scrollbar-thumb-border: 1px;--color-scrollbar-track: transparent;--color-scrollbar-thumb: rgba(44, 62, 80, .22);--color-scrollbar-thumb-hover: rgba(52, 152, 219, .45);--color-scrollbar-thumb-active: rgba(52, 152, 219, .65);--color-focus-ring: rgba(52, 152, 219, .15);--color-success-bg: #d4edda;--color-success-text: #155724;--color-danger-bg: #f8d7da;--color-danger-text: #721c24;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--color-info-bg: #e8f4f8;--color-info-text: #0c5460;--color-icon-muted: #bdc3c7;--color-admin-accent: #4f46e5;--color-admin-accent-hover: #4338ca;--color-admin-accent-muted: #eef2ff;--color-admin-accent-muted-on-dark: rgba(99, 102, 241, .35);--color-admin-canvas: #eef1f6;--color-admin-surface: #ffffff;--color-admin-border: #e2e8f0;--color-admin-panel-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .04);--color-admin-table-head: #f1f5f9;--color-admin-table-head-text: #334155;--color-admin-row-hover: #f8fafc;--color-admin-focus: rgba(79, 70, 229, .2);--color-admin-sidebar: #1e293b;--color-admin-sidebar-end: #0f172a;--color-admin-sidebar-hover: rgba(255, 255, 255, .08);--radius-admin-panel: 14px}html[data-theme=dark]{--color-bg-primary: #0f1114;--color-bg-secondary: #1a1f26;--color-bg-tertiary: #232a33;--color-bg-elevated: #1e242c;--color-bg-muted: #2a3139;--color-bg-input: #252c35;--color-bg-hover: #2d3540;--color-text-primary: #e8eaed;--color-text-secondary: #b0b7bf;--color-text-muted: #8b939c;--color-text-inverse: #ffffff;--color-border: #3d4654;--color-border-light: #323a45;--color-border-strong: #4a5568;--color-shadow: rgba(0, 0, 0, .35);--color-shadow-strong: rgba(0, 0, 0, .55);--color-overlay: rgba(0, 0, 0, .72);--color-primary: #4dabf7;--color-primary-hover: #339af0;--color-success: #51cf66;--color-danger: #ff6b6b;--color-warning: #fcc419;--color-accent-navy: #5c9fd4;--color-sidebar: #151a21;--color-sidebar-alt: #1c232c;--color-table-header: #2a3139;--color-table-header-alt: #323a45;--color-table-row-hover: #2a3139;--color-auth-gradient-start: #0d1117;--color-auth-gradient-end: #161b22;--color-auth-box: #1a1f26;--color-auth-glow: rgba(77, 171, 247, .12);--color-auth-card-border: rgba(255, 255, 255, .08);--color-auth-card-shadow: rgba(0, 0, 0, .4);--color-scrollbar-track: transparent;--color-scrollbar-thumb: rgba(232, 234, 237, .18);--color-scrollbar-thumb-hover: rgba(77, 171, 247, .42);--color-scrollbar-thumb-active: rgba(77, 171, 247, .62);--color-focus-ring: rgba(77, 171, 247, .25);--color-success-bg: #1a3328;--color-success-text: #8fd4a8;--color-danger-bg: #3d1f24;--color-danger-text: #f5a5a5;--color-warning-bg: #3d3520;--color-warning-text: #fcc419;--color-info-bg: #1a2838;--color-info-text: #74c0fc;--color-icon-muted: #6b7280;--color-admin-accent: #818cf8;--color-admin-accent-hover: #a5b4fc;--color-admin-accent-muted: rgba(99, 102, 241, .2);--color-admin-accent-muted-on-dark: rgba(129, 140, 248, .25);--color-admin-canvas: #0f1114;--color-admin-surface: #1a1f26;--color-admin-border: #3d4654;--color-admin-panel-shadow: 0 4px 24px rgba(0, 0, 0, .25);--color-admin-table-head: #232a33;--color-admin-table-head-text: #e8eaed;--color-admin-row-hover: #2a3139;--color-admin-focus: rgba(129, 140, 248, .25);--color-admin-sidebar: #151a21;--color-admin-sidebar-end: #0d1117;--color-admin-sidebar-hover: rgba(255, 255, 255, .06)}*,*:before,*:after{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-radius:var(--scrollbar-radius)}::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);border-radius:var(--scrollbar-radius);border:var(--scrollbar-thumb-border) solid transparent;background-clip:padding-box;min-height:2.5rem;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--color-scrollbar-thumb-active)}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-button{display:none;width:0;height:0}html,body{width:100%;height:100%;overflow:hidden}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px}#root{width:100%;height:100vh;overflow:hidden}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}@media(max-width:768px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.15rem}}@media(min-width:769px)and (max-width:1024px){body{font-size:14px}}@media(min-width:1025px){body{font-size:14px}}@media(min-width:1440px){body{font-size:15px}}.station-marker-tooltip{padding:6px 10px!important;font-size:12px!important;border-radius:8px!important;border:1px solid var(--color-border)!important;box-shadow:0 2px 8px var(--color-shadow-strong)!important;max-width:260px;white-space:normal;background:var(--color-bg-secondary)!important;color:var(--color-text-primary)!important}.station-marker-tooltip .station-tooltip-content{line-height:1.35}body,.App,.coc-dashboard,.entity-dashboard,.admin-dashboard,.coc-main-content,.entity-content,.admin-main-content,.desktop-content,.main-area,.event-detail-page,.mass-event-detail-page{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.coc-sidebar,.entity-sidebar,.admin-sidebar,.sidebar{background-color:var(--color-sidebar)!important}.box,.card,.card-content,.panel,.message .message-body,.dropdown-content,.modal-card,.modal-card-body,.modal-card-foot,.tabs.is-boxed a,.tabs.is-toggle a,.role-card.box,.auth-card,.login-box,.role-selector-box{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.box,.card{box-shadow:0 2px 8px var(--color-shadow)}.section{background-color:transparent}.title:not(.has-text-white):not(.is-white),.subtitle:not(.has-text-white):not(.is-white),.label,.content,.help,h1,h2,h3,h4,h5,h6,p,li{color:inherit}.title:not(.has-text-white):not(.is-white),.subtitle:not(.has-text-white):not(.is-white){color:var(--color-text-primary)}.input,.textarea,.select select,.file-cta,.file-name{background-color:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.input:hover,.textarea:hover,.select select:hover{border-color:var(--color-border-strong)}.input:focus,.textarea:focus,.select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.table,.table-desktop,.events-table{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.table td,.table th,.table-desktop td,.events-table td,.events-table th{border-color:var(--color-border);color:var(--color-text-primary)}.table thead th,.table-desktop thead th,.events-table thead th,.volunteers-table thead th,.vehicles-table thead th,.courses-table thead th,.equipment-table thead th,.garages-table thead th{background-color:var(--color-table-header);color:var(--color-text-inverse);border-color:var(--color-border)}.table.is-striped tbody tr:nth-child(2n),.events-table tbody tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.table.is-hoverable tbody tr:hover,.table-desktop tr:hover,.events-table tbody tr:hover{background-color:var(--color-table-row-hover)}.modal-background{background-color:var(--color-overlay)}.modal-content,.modal-card-head{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.modal-header,.modal-footer{border-color:var(--color-border)}.modal-title{color:var(--color-text-primary)}.modal-body{color:var(--color-text-secondary)}.notification.is-light,.notification.is-success.is-light{background-color:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-border)}.notification.is-danger.is-light{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.notification.is-warning.is-light{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.notification.is-info.is-light{background-color:var(--color-info-bg);color:var(--color-info-text)}.notification:not(.is-primary):not(.is-success):not(.is-danger):not(.is-warning):not(.is-info){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.auth-shell,.login-container:not(.auth-shell),.role-selector-container{background:linear-gradient(135deg,var(--color-auth-gradient-start) 0%,var(--color-auth-gradient-end) 100%)!important}.login-container:not(.auth-shell) .login-box,.auth-card,.login-box{background:var(--color-auth-box)!important;border-color:var(--color-border);color:var(--color-text-primary)}.citizen-public-shell.auth-shell{background:radial-gradient(ellipse 80% 50% at 20% 0%,var(--color-auth-glow) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,color-mix(in srgb,var(--color-primary) 18%,transparent) 0%,transparent 50%),linear-gradient(145deg,var(--color-auth-gradient-start) 0%,var(--color-auth-gradient-end) 100%)}.has-background-white,.has-background-light{background-color:var(--color-bg-secondary)!important;color:var(--color-text-primary)}.has-background-grey-lighter{background-color:var(--color-bg-muted)!important}.has-text-grey,.has-text-grey-dark,.subtitle.has-text-grey,p.has-text-grey,span.has-text-grey,small.has-text-grey,.help.has-text-grey{color:var(--color-text-secondary)!important}.has-text-grey-light{color:var(--color-text-muted)!important}.has-text-black,.has-text-dark{color:var(--color-text-primary)!important}a:not(.button):not(.navbar-item):not(.tag):not(.is-white){color:var(--color-primary)}hr{background-color:var(--color-border)}code{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.tag:not([class*=is-]){background-color:var(--color-bg-muted);color:var(--color-text-primary)}.tag.is-light,.tag.is-white{background-color:var(--color-bg-muted)!important;color:var(--color-text-primary)!important}.tag.is-primary.is-light,.tag.is-link.is-light,.tag.is-info.is-light{background-color:var(--color-info-bg)!important;color:var(--color-info-text)!important}.tag.is-success.is-light{background-color:var(--color-success-bg)!important;color:var(--color-success-text)!important}.tag.is-warning.is-light{background-color:var(--color-warning-bg)!important;color:var(--color-warning-text)!important}.tag.is-danger.is-light{background-color:var(--color-danger-bg)!important;color:var(--color-danger-text)!important}.tag.is-dark{background-color:var(--color-table-header)!important;color:var(--color-text-inverse)!important}.button.is-light{background-color:var(--color-bg-muted)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important}.button.is-light:hover{background-color:var(--color-bg-hover)!important;color:var(--color-text-primary)!important}.events-container,.events-table-container,.no-events,.btn-toggle-collapse,.card-desktop{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.events-section-header h3,.coc-subtitle,.no-events h2{color:var(--color-text-primary)}.no-events p{color:var(--color-text-secondary)}.input-desktop{background-color:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}.notification-toast,.flash-toast-item{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--color-bg-secondary);color:var(--color-text-primary)}.leaflet-popup-content,.leaflet-popup-content p{color:var(--color-text-primary)}.leaflet-control-zoom a{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.ql-toolbar.ql-snow,.ql-container.ql-snow{background-color:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-primary)}.ql-editor{color:var(--color-text-primary)}.ql-snow .ql-stroke{stroke:var(--color-text-secondary)}.ql-snow .ql-fill{fill:var(--color-text-secondary)}.address-autocomplete-suggestions{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-primary)}.address-autocomplete-input{background:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}.address-autocomplete-suggestion:hover,.address-autocomplete-suggestion.selected{background:var(--color-bg-hover)}.volunteer-modal-section-title{color:var(--color-text-secondary);border-bottom-color:var(--color-border)}.email-template-preview-frame{background:var(--color-bg-tertiary);border-color:var(--color-border)}.email-template-preview-inner{background:var(--color-bg-secondary);border-color:var(--color-border)}.app-developer-footer{background:var(--color-bg-secondary);border-top-color:var(--color-border-light)}.app-developer-footer-text{color:var(--color-text-muted)}.tabs.is-boxed li.is-active a{border-bottom-color:var(--color-bg-secondary)!important}html[data-theme=dark] .title:not(.has-text-white):not(.is-white),html[data-theme=dark] .subtitle:not(.has-text-white):not(.is-white),html[data-theme=dark] .label,html[data-theme=dark] .card-header-title,html[data-theme=dark] .card-header-icon,html[data-theme=dark] .card-content,html[data-theme=dark] .card-footer-item,html[data-theme=dark] .panel-heading,html[data-theme=dark] .panel-block,html[data-theme=dark] .panel-icon,html[data-theme=dark] .dropdown-item,html[data-theme=dark] .menu-label,html[data-theme=dark] .menu-list a,html[data-theme=dark] .content,html[data-theme=dark] .content p,html[data-theme=dark] .content li,html[data-theme=dark] .content strong,html[data-theme=dark] .modal-card-title,html[data-theme=dark] .message-body,html[data-theme=dark] .media-content,html[data-theme=dark] .field-label,html[data-theme=dark] .checkbox,html[data-theme=dark] .radio,html[data-theme=dark] .file-label,html[data-theme=dark] .breadcrumb a,html[data-theme=dark] .breadcrumb li.is-active a,html[data-theme=dark] .tabs a,html[data-theme=dark] .tabs.is-boxed a,html[data-theme=dark] .tabs.is-toggle a,html[data-theme=dark] .tabs li.is-active a,html[data-theme=dark] td,html[data-theme=dark] th,html[data-theme=dark] strong:not(.has-text-white),html[data-theme=dark] small:not(.has-text-white),html[data-theme=dark] .is-size-7,html[data-theme=dark] .help,html[data-theme=dark] .admin-control-dashboard,html[data-theme=dark] .admin-page,html[data-theme=dark] .settings-view-bulma,html[data-theme=dark] .users-view-bulma,html[data-theme=dark] .permissions-view-bulma,html[data-theme=dark] .entities-view-bulma,html[data-theme=dark] .volunteers-view-bulma,html[data-theme=dark] .municipalities-view-bulma,html[data-theme=dark] .roles-view-bulma,html[data-theme=dark] .documents-view-bulma,html[data-theme=dark] .firebase-view-bulma,html[data-theme=dark] .smtp-view-bulma,html[data-theme=dark] .storage-view-bulma,html[data-theme=dark] .telegram-view-bulma,html[data-theme=dark] .email-templates-view,html[data-theme=dark] .telegram-bot-management,html[data-theme=dark] .entities-management-view,html[data-theme=dark] .volunteers-management-view,html[data-theme=dark] .alert-notification-settings-view,html[data-theme=dark] .telegram-notification-templates-view,html[data-theme=dark] .sidebar-management-view,html[data-theme=dark] .user-profile-view,html[data-theme=dark] .weather-stations-view,html[data-theme=dark] .dashboard-view,html[data-theme=dark] .emergency-management-view,html[data-theme=dark] .documents-management-view,html[data-theme=dark] .firebase-config-view,html[data-theme=dark] .alert-map-view,html[data-theme=dark] .coc-view{color:var(--color-text-primary)}html[data-theme=dark] .has-text-grey,html[data-theme=dark] .has-text-grey-dark,html[data-theme=dark] .subtitle.has-text-grey,html[data-theme=dark] p.has-text-grey,html[data-theme=dark] span.has-text-grey,html[data-theme=dark] .text-muted{color:var(--color-text-secondary)!important}html[data-theme=dark] .btn-light,html[data-theme=dark] .btn-light:hover,html[data-theme=dark] .button.is-ghost{color:var(--color-text-primary)!important}html[data-theme=dark] .btn-close,html[data-theme=dark] .btn-close:hover{filter:invert(1) grayscale(100%) brightness(1.15)}html[data-theme=dark] .mass-event-signaling-embed-toolbar .title{color:var(--color-text-primary)!important}html[data-theme=dark] .signaling-status.in_progress{color:var(--color-info-text)!important;background:var(--color-info-bg)!important}html[data-theme=dark] .weather-info-toggle-btn{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-primary)}html[data-theme=dark] .weather-info-toggle-btn:hover{background:var(--color-bg-hover)}html[data-theme=dark] .weather-webcam-item-text .has-text-link{color:var(--color-primary)!important}html[data-theme=dark] .kpi-value-compact.title,html[data-theme=dark] .kpi-label-compact.subtitle{color:var(--color-text-primary)}html[data-theme=dark] .kpi-label-compact.subtitle{color:var(--color-text-secondary)}html[data-theme=dark] .has-text-primary,html[data-theme=dark] .has-text-link{color:var(--color-primary)!important}html[data-theme=dark] .has-text-info{color:var(--color-info-text)!important}html[data-theme=dark] .has-text-success{color:var(--color-success)!important}html[data-theme=dark] .has-text-danger{color:var(--color-danger)!important}html[data-theme=dark] .has-text-warning{color:var(--color-warning)!important}html[data-theme=dark] .button.is-white{background-color:var(--color-bg-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important}html[data-theme=dark] .button.is-white .bi{color:var(--color-text-secondary)}html[data-theme=dark] .tag.is-primary:not(.is-light){background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important}html[data-theme=dark] .tag.is-success:not(.is-light){background-color:var(--color-success)!important;color:var(--color-text-inverse)!important}html[data-theme=dark] .tag.is-danger:not(.is-light){background-color:var(--color-danger)!important;color:var(--color-text-inverse)!important}html[data-theme=dark] .tag.is-warning:not(.is-light){background-color:var(--color-warning)!important;color:var(--color-warning-text)!important}html[data-theme=dark] .kpi-card.kpi-primary,html[data-theme=dark] .kpi-card.kpi-success,html[data-theme=dark] .kpi-card.kpi-info{color:#fff!important}:root{--app-dashboard-header-height: 3.75rem}.coc-dashboard>.navbar,.entity-dashboard>.navbar,.admin-dashboard>.navbar{flex-shrink:0;position:sticky;top:0;z-index:1102;width:100%}.app-sidebar,.coc-sidebar,.entity-sidebar,.admin-sidebar{background:var(--color-sidebar);overflow-x:hidden;overflow-y:hidden;transition:width .3s ease,flex-basis .3s ease,transform .3s ease;width:280px;flex:0 0 280px;flex-shrink:0;box-shadow:2px 0 8px #0000001a;z-index:1001}.app-sidebar.is-collapsed,.coc-sidebar.is-collapsed,.entity-sidebar.is-collapsed,.admin-sidebar.is-collapsed{width:4.25rem;flex:0 0 4.25rem;overflow-x:hidden;overflow-y:hidden}.app-sidebar .menu,.coc-sidebar .menu,.entity-sidebar .menu,.admin-sidebar .menu{padding:1.25rem 1rem;height:100%;min-height:0;display:flex;flex-direction:column}.app-sidebar-header,.coc-sidebar-header,.entity-sidebar-header,.admin-sidebar-header{position:relative;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem!important}.app-sidebar-header .app-sidebar-toggle,.coc-sidebar-header .app-sidebar-toggle,.entity-sidebar-header .app-sidebar-toggle,.admin-sidebar-header .app-sidebar-toggle,.app-sidebar-header .button.is-white.is-inverted,.coc-sidebar-header .button.is-white.is-inverted,.entity-sidebar-header .button.is-white.is-inverted,.admin-sidebar-header .button.is-white.is-inverted{position:absolute;right:0;top:50%;transform:translateY(-50%)}.app-sidebar-toggle{flex-shrink:0}.app-sidebar.is-collapsed .app-sidebar-header,.coc-sidebar.is-collapsed .coc-sidebar-header,.entity-sidebar.is-collapsed .entity-sidebar-header,.admin-sidebar.is-collapsed .admin-sidebar-header{justify-content:center!important;align-items:center;padding:.25rem 0}.app-sidebar.is-collapsed .app-sidebar-header .app-sidebar-toggle,.coc-sidebar.is-collapsed .coc-sidebar-header .app-sidebar-toggle,.entity-sidebar.is-collapsed .entity-sidebar-header .app-sidebar-toggle,.admin-sidebar.is-collapsed .admin-sidebar-header .app-sidebar-toggle,.app-sidebar.is-collapsed .app-sidebar-header .button.is-white.is-inverted,.coc-sidebar.is-collapsed .coc-sidebar-header .button.is-white.is-inverted,.entity-sidebar.is-collapsed .entity-sidebar-header .button.is-white.is-inverted,.admin-sidebar.is-collapsed .admin-sidebar-header .button.is-white.is-inverted{position:static;transform:none;width:2.5rem;height:2.5rem;min-width:2.5rem;margin:0 auto!important;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem}.app-sidebar.is-collapsed .app-sidebar-toggle .icon,.coc-sidebar.is-collapsed .app-sidebar-toggle .icon,.entity-sidebar.is-collapsed .app-sidebar-toggle .icon,.admin-sidebar.is-collapsed .app-sidebar-toggle .icon{margin:0!important}.app-sidebar-brand,.coc-sidebar-brand,.entity-sidebar-brand,.admin-sidebar-brand{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;word-break:break-word;padding-right:2.25rem}.app-sidebar-logo,.coc-sidebar-logo,.entity-sidebar-logo{width:4.5rem;height:4.5rem;border-radius:12px;background:#ffffff14;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.5rem;font-size:1.75rem;color:var(--color-text-inverse)}.app-sidebar-logo img,.coc-sidebar-logo img,.entity-sidebar-logo img,.admin-sidebar-logo img{max-width:100%;max-height:100%;object-fit:contain}.app-sidebar-muni,.app-sidebar-name,.coc-sidebar-muni,.entity-sidebar-name,.admin-sidebar-muni{font-size:.9rem;font-weight:600;color:#fffffff2;margin-top:.2rem;line-height:1.3}.app-sidebar-role-badge,.coc-sidebar-role-badge,.entity-sidebar-role-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.45rem;padding:.2rem .55rem;font-size:.65rem;font-weight:600;line-height:1.3;border-radius:999px;background:#ffffff1f;color:#ffffffeb;max-width:100%;text-align:center}.app-sidebar-role-badge .bi{font-size:.7rem;flex-shrink:0}.app-sidebar .menu-list,.coc-sidebar .menu-list,.entity-sidebar .menu-list,.admin-sidebar .menu-list{flex:1;min-height:0;overflow-y:auto}.app-sidebar .menu-list a,.coc-sidebar .menu-list a,.entity-sidebar .menu-list a,.admin-sidebar .menu-list a{color:#ffffffeb!important;background-color:transparent!important;border:none;border-radius:.625rem;display:flex;align-items:center;padding:.55rem .75rem;margin-bottom:.15rem;transition:background-color .15s ease,color .15s ease;cursor:pointer;min-height:2.5rem;font-size:.9rem}.app-sidebar .menu-list a:hover,.coc-sidebar .menu-list a:hover,.entity-sidebar .menu-list a:hover,.admin-sidebar .menu-list a:hover{background-color:#ffffff1a!important;color:#fff!important}.app-sidebar .menu-list a .icon,.coc-sidebar .menu-list a .icon,.entity-sidebar .menu-list a .icon,.admin-sidebar .menu-list a .icon{flex-shrink:0;width:1.25rem;justify-content:center}.app-sidebar .menu-list a.is-active,.coc-sidebar .menu-list a.is-active,.entity-sidebar .menu-list a.is-active,.admin-sidebar .menu-list a.is-active{color:#fff!important;font-weight:600}.app-sidebar .menu-list a.is-active .icon,.coc-sidebar .menu-list a.is-active .icon,.entity-sidebar .menu-list a.is-active .icon,.admin-sidebar .menu-list a.is-active .icon{color:#fff!important}.app-sidebar .menu-list .menu-list,.coc-sidebar .menu-list .menu-list,.entity-sidebar .menu-list .menu-list,.admin-sidebar .menu-list .menu-list{margin-top:.15rem;margin-bottom:.35rem;padding-left:.35rem;border-left:2px solid rgba(255,255,255,.15)}.app-sidebar .menu-list .menu-list a,.coc-sidebar .menu-list .menu-list a,.entity-sidebar .menu-list .menu-list a,.admin-sidebar .menu-list .menu-list a{font-size:.85rem;padding:.45rem .65rem;min-height:2.25rem}.app-sidebar--coc .menu-list a.is-active,.coc-dashboard--coc .coc-sidebar .menu-list a.is-active{background-color:color-mix(in srgb,var(--color-danger) 40%,transparent)!important}.app-sidebar--entity .menu-list a.is-active,.entity-dashboard .entity-sidebar .menu-list a.is-active{background-color:color-mix(in srgb,var(--color-primary) 38%,transparent)!important}.app-sidebar--admin .menu-list a.is-active,.admin-dashboard .admin-sidebar .menu-list a.is-active{background-color:#e74c3c52!important}.app-sidebar.is-collapsed .menu,.coc-sidebar.is-collapsed .menu,.entity-sidebar.is-collapsed .menu,.admin-sidebar.is-collapsed .menu{padding:.5rem .2rem;overflow:hidden;box-sizing:border-box}.app-sidebar.is-collapsed .app-sidebar-header,.coc-sidebar.is-collapsed .coc-sidebar-header,.entity-sidebar.is-collapsed .entity-sidebar-header,.admin-sidebar.is-collapsed .admin-sidebar-header{flex-wrap:nowrap;margin-bottom:.5rem!important;width:100%;max-width:100%;overflow:hidden;display:flex;justify-content:center!important;align-items:center}.app-sidebar.is-collapsed .menu-list,.coc-sidebar.is-collapsed .menu-list,.entity-sidebar.is-collapsed .menu-list,.admin-sidebar.is-collapsed .menu-list{display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100%;box-sizing:border-box}.app-sidebar.is-collapsed .coc-sidebar-footer-buttons-collapsed .button,.app-sidebar.is-collapsed .sidebar-footer-buttons-collapsed .button,.app-sidebar.is-collapsed .admin-sidebar-footer-buttons-collapsed .button,.coc-sidebar.is-collapsed .coc-sidebar-footer-buttons-collapsed .button,.entity-sidebar.is-collapsed .sidebar-footer-buttons-collapsed .button,.admin-sidebar.is-collapsed .admin-sidebar-footer-buttons-collapsed .button{width:2.5rem;max-width:100%;margin-left:auto;margin-right:auto}.app-sidebar.is-collapsed .menu-list li,.coc-sidebar.is-collapsed .menu-list li,.entity-sidebar.is-collapsed .menu-list li,.admin-sidebar.is-collapsed .menu-list li{width:100%;max-width:100%;display:flex;justify-content:center;overflow:hidden}.app-sidebar.is-collapsed .menu-list a,.coc-sidebar.is-collapsed .menu-list a,.entity-sidebar.is-collapsed .menu-list a,.admin-sidebar.is-collapsed .menu-list a{justify-content:center;padding:.5rem;width:2.5rem;max-width:100%;min-width:0;min-height:2.5rem;border-radius:.5rem;margin:0 auto;box-sizing:border-box}.app-sidebar.is-collapsed .menu-list a .icon,.coc-sidebar.is-collapsed .menu-list a .icon,.entity-sidebar.is-collapsed .menu-list a .icon,.admin-sidebar.is-collapsed .menu-list a .icon{margin:0!important;font-size:1.1rem}.app-sidebar.is-collapsed .menu-label,.app-sidebar.is-collapsed .app-sidebar-footer,.app-sidebar.is-collapsed .coc-sidebar-footer,.app-sidebar.is-collapsed .sidebar-footer,.coc-sidebar.is-collapsed .coc-sidebar-footer,.entity-sidebar.is-collapsed .sidebar-footer,.admin-sidebar.is-collapsed .admin-sidebar-footer{width:100%;max-width:100%;padding-left:0;padding-right:0;overflow:hidden;box-sizing:border-box}.app-sidebar.is-collapsed .menu-label .button.is-fullwidth,.coc-sidebar.is-collapsed .menu-label .button.is-fullwidth,.entity-sidebar.is-collapsed .menu-label .button.is-fullwidth,.admin-sidebar.is-collapsed .menu-label .button.is-fullwidth{width:2.5rem;max-width:100%;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;justify-content:center}.app-sidebar.is-collapsed .menu-label .mb-3,.coc-sidebar.is-collapsed .menu-label .mb-3,.entity-sidebar.is-collapsed .menu-label .mb-3,.admin-sidebar.is-collapsed .menu-label .mb-3{margin-bottom:.35rem!important}.app-sidebar.is-collapsed .menu-list .menu-list,.coc-sidebar.is-collapsed .menu-list .menu-list,.entity-sidebar.is-collapsed .menu-list .menu-list,.admin-sidebar.is-collapsed .menu-list .menu-list{display:none}.app-sidebar--coc.is-collapsed .menu-list a.is-active,.coc-dashboard--coc .coc-sidebar.is-collapsed .menu-list a.is-active{background-color:color-mix(in srgb,var(--color-danger) 45%,transparent)!important}.app-sidebar--entity.is-collapsed .menu-list a.is-active,.entity-dashboard .entity-sidebar.is-collapsed .menu-list a.is-active{background-color:#3498db66!important}.app-sidebar--admin.is-collapsed .menu-list a.is-active,.admin-dashboard .admin-sidebar.is-collapsed .menu-list a.is-active{background-color:#e74c3c66!important}.app-sidebar-footer,.app-sidebar .menu-label.app-sidebar-footer,.app-sidebar .sidebar-footer,.coc-sidebar-footer,.entity-sidebar .sidebar-footer,.admin-sidebar-footer{flex-shrink:0;padding-right:0!important;margin-right:0;margin-top:auto}.app-sidebar-footer-buttons,.sidebar-footer-buttons,.coc-sidebar-footer-buttons,.admin-sidebar-footer-buttons{display:flex;justify-content:flex-end;align-items:center;gap:.25rem;flex-shrink:0}.app-sidebar-footer-buttons-collapsed,.sidebar-footer-buttons-collapsed,.coc-sidebar-footer-buttons-collapsed,.admin-sidebar-footer-buttons-collapsed{display:flex;flex-direction:column;align-items:center;width:100%;gap:.35rem}.app-sidebar-overlay,.coc-sidebar-overlay,.mobile-sidebar-overlay,.admin-sidebar-overlay{display:none;position:fixed;inset:0;background:var(--color-overlay, rgba(0, 0, 0, .5));z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.app-sidebar-overlay.is-active,.coc-sidebar-overlay.is-active,.mobile-sidebar-overlay.is-active,.admin-sidebar-overlay.is-active{display:block;animation:appSidebarOverlayIn .25s ease}@keyframes appSidebarOverlayIn{0%{opacity:0}to{opacity:1}}.app-dashboard-main,.coc-main,.entity-main,.admin-main{flex:1;display:flex;overflow:hidden;overflow-x:hidden;min-height:0;min-width:0}.app-dashboard-content,.coc-main-content,.entity-content,.admin-main-content{flex:1;min-width:0;background:var(--color-bg-primary)}.admin-sidebar-logo{background:linear-gradient(135deg,#e74c3c,#c0392b)}.entity-dashboard--association .entity-sidebar,.coc-dashboard--coc .coc-sidebar{border-right:1px solid rgba(255,255,255,.06)}@media(min-width:769px){.app-sidebar,.coc-sidebar,.entity-sidebar,.admin-sidebar{position:relative;transform:translate(0)!important}.app-sidebar-overlay.is-active,.coc-sidebar-overlay.is-active,.mobile-sidebar-overlay.is-active,.admin-sidebar-overlay.is-active{display:none!important}}@media(max-width:1024px)and (min-width:769px){.app-sidebar:not(.is-collapsed),.coc-sidebar:not(.is-collapsed),.entity-sidebar:not(.is-collapsed),.admin-sidebar:not(.is-collapsed){width:240px;flex:0 0 240px}}@media(max-width:768px){#root{height:100dvh;min-height:100dvh}.coc-dashboard,.entity-dashboard,.admin-dashboard{height:100dvh;min-height:100dvh;max-height:100dvh}.app-sidebar,.coc-sidebar,.entity-sidebar,.admin-sidebar{position:fixed;left:0;top:var(--app-dashboard-header-height);height:calc(100dvh - var(--app-dashboard-header-height));bottom:auto;transform:translate(-100%);width:min(280px,88vw)!important;flex:0 0 min(280px,88vw)!important;box-shadow:4px 0 20px #00000040}.app-sidebar.is-collapsed,.coc-sidebar.is-collapsed,.entity-sidebar.is-collapsed,.admin-sidebar.is-collapsed{width:min(280px,88vw)!important;flex:0 0 min(280px,88vw)!important}.app-sidebar.mobile-open,.coc-sidebar.mobile-open,.entity-sidebar.mobile-open,.admin-sidebar.mobile-open{transform:translate(0)}.app-sidebar .menu-list a span:not(.icon),.coc-sidebar .menu-list a span:not(.icon),.entity-sidebar .menu-list a span:not(.icon),.admin-sidebar .menu-list a span:not(.icon){display:inline!important}.app-sidebar.is-collapsed .menu-list a span:not(.icon),.coc-sidebar.is-collapsed .menu-list a span:not(.icon),.entity-sidebar.is-collapsed .menu-list a span:not(.icon),.admin-sidebar.is-collapsed .menu-list a span:not(.icon){display:inline!important}.app-sidebar .menu,.coc-sidebar .menu,.entity-sidebar .menu,.admin-sidebar .menu{padding:1rem .85rem}.app-sidebar-logo,.coc-sidebar-logo,.entity-sidebar-logo,.admin-sidebar-logo{width:3.5rem;height:3.5rem}.app-dashboard-main,.coc-main,.entity-main,.admin-main,.app-dashboard-content,.coc-main-content,.entity-content,.admin-main-content{width:100%}}.App{width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-primary);color:var(--color-text-primary)}.desktop-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.desktop-header{background:var(--color-sidebar);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;flex-shrink:0;z-index:100}.desktop-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;background:var(--color-bg-primary)}.desktop-sidebar{width:280px;background:#34495e;color:#fff;flex-shrink:0;overflow-y:auto;box-shadow:2px 0 8px #0000001a}.desktop-main{flex:1;display:flex;overflow:hidden}.btn-desktop{padding:12px 24px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px;font-family:inherit}.btn-desktop-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #3498db4d}.btn-desktop-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #3498db66}.btn-desktop-danger{background:var(--color-danger);color:#fff;box-shadow:0 4px 12px #e74c3c4d}.btn-desktop-danger:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c66}.card-desktop{background:var(--color-bg-secondary);border-radius:8px;padding:24px;box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-border);margin-bottom:20px;color:var(--color-text-primary)}.input-desktop{width:100%;padding:12px 16px;border:2px solid var(--color-border);border-radius:6px;font-size:.95rem;transition:all .2s;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.input-desktop:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.table-desktop{width:100%;border-collapse:collapse;background:var(--color-bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px var(--color-shadow)}.table-desktop th{background:var(--color-table-header-alt);color:var(--color-text-inverse);padding:14px 16px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.table-desktop td{padding:14px 16px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.table-desktop tr:hover{background:var(--color-table-row-hover)}.table-desktop tr:last-child td{border-bottom:none}@media(min-width:769px)and (max-width:1024px){.desktop-sidebar{width:240px}.desktop-content{padding:20px}.desktop-header{padding:14px 20px}.desktop-header h1{font-size:1.35rem}}@media(max-width:768px){.desktop-container,.desktop-main{flex-direction:column}.desktop-sidebar{width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease}.desktop-sidebar.mobile-open{max-height:400px;border-bottom:2px solid var(--color-sidebar)}.desktop-header{padding:12px 16px;flex-wrap:wrap;gap:10px}.desktop-header h1{font-size:1.25rem;flex:1;min-width:200px}.desktop-header p{font-size:.8rem;width:100%;margin-top:4px}.desktop-content{padding:16px}.card-desktop{padding:20px;margin-bottom:16px}.btn-desktop{padding:10px 18px;font-size:.9rem}.table-desktop{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-desktop thead,.table-desktop tbody,.table-desktop tr{display:block}.table-desktop thead{position:sticky;top:0;z-index:10}.table-desktop th,.table-desktop td{display:block;width:100%;padding:12px;text-align:left}.table-desktop th{border-bottom:2px solid rgba(255,255,255,.2)}.table-desktop td{border-bottom:1px solid var(--color-border-light);padding-left:16px}.table-desktop td:before{content:attr(data-label) ": ";font-weight:600;display:inline-block;width:120px;color:var(--color-text-secondary)}}@media(max-width:480px){.desktop-header{padding:10px 12px}.desktop-header h1{font-size:1.1rem}.desktop-content{padding:12px}.card-desktop{padding:16px}.btn-desktop{padding:10px 16px;font-size:.85rem;width:100%;margin-top:8px}.input-desktop{padding:10px 14px;font-size:16px}}.mobile-only{display:none}.desktop-only{display:block}@media(max-width:768px){.mobile-only{display:block}.desktop-only{display:none}}.modal-card-head{background:var(--color-sidebar)!important;border-bottom:none}.modal-card-title{color:#fff!important}.modal-card-head .delete{background-color:#fff3}.modal-card-head .delete:hover{background-color:#ffffff4d}.modal-card-head .delete:before,.modal-card-head .delete:after{background-color:var(--color-bg-secondary)}.modal-card-head .tag{background-color:#fff3;color:#fff}.modal-card-head .tag.is-warning{background-color:var(--color-warning);color:#fff}.modal-card-head .tag.is-info{background-color:var(--color-primary);color:#fff}html:has(.login-container.auth-shell),body:has(.login-container.auth-shell){overflow:auto}#root:has(.login-container.auth-shell){height:auto;min-height:100dvh;overflow:visible}.login-container.auth-shell{min-height:100dvh;height:auto;overflow:visible;box-sizing:border-box}.login-container.auth-shell .auth-shell-body{flex:1 1 auto;align-items:center;justify-content:center;width:100%}.login-container.auth-shell .app-developer-footer{flex-shrink:0}.login-container.auth-shell .auth-shell-center{max-width:26rem}.login-container.auth-shell .login-box{margin:0}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0 .5rem;color:var(--color-text-muted, #888);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-auth-card-border, rgba(0, 0, 0, .12))}.auth-btn-passkey{background:transparent;border:1px solid var(--color-auth-card-border, rgba(0, 0, 0, .15));color:inherit;white-space:normal;height:auto;min-height:2.75rem}.auth-btn-passkey:hover:not(:disabled){border-color:var(--color-primary, #3273dc);color:var(--color-primary, #3273dc)}@media(max-width:768px){.login-container.auth-shell .auth-shell-body{flex:none;align-items:stretch;justify-content:flex-start;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.login-container.auth-shell .auth-shell-center{max-width:100%}.login-container.auth-shell .auth-card{padding:clamp(1rem,4vw,1.5rem)}.login-container.auth-shell .auth-card-header{margin-bottom:1.25rem}.login-container.auth-shell .auth-card-header .auth-logo{max-height:5rem}.login-container.auth-shell .auth-title{font-size:clamp(1.15rem,4.5vw,1.35rem);overflow-wrap:anywhere}.login-container.auth-shell .auth-subtitle{font-size:.9rem}.login-container.auth-shell .app-developer-footer{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px))}.login-container.auth-shell .app-developer-footer-inner{flex-wrap:wrap;justify-content:center;row-gap:.5rem}.login-container:not(.auth-shell){justify-content:flex-start;overflow-y:auto;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.login-container:not(.auth-shell) .login-header .login-logo{max-height:5rem}}@media(min-width:769px){.login-container.auth-shell .auth-shell-body{flex:1 1 0;min-height:0}}.login-container:not(.auth-shell){min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 20% 0%,var(--color-auth-glow) 0%,transparent 55%),linear-gradient(145deg,var(--color-auth-gradient-start) 0%,var(--color-auth-gradient-end) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.login-container:not(.auth-shell)>.app-developer-footer{width:100%;max-width:900px;margin-top:1rem}.login-container:not(.auth-shell) .login-box{width:100%;max-width:26rem;background:var(--color-auth-box);border:1px solid var(--color-auth-card-border);border-radius:var(--radius-auth-card, 1rem);padding:clamp(1.5rem,4vw,2rem);box-shadow:0 12px 40px var(--color-auth-card-shadow)}.login-container:not(.auth-shell) .login-header{text-align:center;margin-bottom:1.75rem}.login-container:not(.auth-shell) .login-header .login-logo-wrapper{margin-bottom:1rem}.login-container:not(.auth-shell) .login-header .login-logo{max-height:7.5rem}.login-container:not(.auth-shell) .login-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .35rem}.login-container:not(.auth-shell) .login-header h2{font-size:.95rem;font-weight:500;color:var(--color-text-secondary);text-transform:none;letter-spacing:.01em;margin:0}.login-container:not(.auth-shell) .login-form{margin-top:.5rem}.login-container:not(.auth-shell) .form-group{margin-bottom:1.15rem}.login-container:not(.auth-shell) .form-group label{display:block;margin-bottom:.4rem;color:var(--color-text-secondary);font-weight:600;font-size:.8125rem;text-transform:none;letter-spacing:.01em}.login-container:not(.auth-shell) .form-group input{width:100%;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:.625rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text-primary)}.login-container:not(.auth-shell) .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.login-container:not(.auth-shell) .form-group input::placeholder{color:var(--color-text-muted)}.login-container:not(.auth-shell) .btn-login{width:100%;padding:.75rem 1rem;margin-top:.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:.625rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;text-transform:none;letter-spacing:.02em}.login-container:not(.auth-shell) .btn-login:hover:not(:disabled){background:var(--color-primary-hover)}.login-container:not(.auth-shell) .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:.625rem;font-size:.9rem}.login-container:not(.auth-shell) .login-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light);text-align:center}.login-container:not(.auth-shell) .login-footer p{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.login-container:not(.auth-shell) .login-welcome{text-align:center;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--color-info-bg);border-radius:.625rem;color:var(--color-text-primary);font-size:.95rem}.login-container:not(.auth-shell) .login-welcome strong{color:var(--color-primary)}html.app-layout--auth-scroll,html.app-layout--auth-scroll body,html.app-layout--auth-scroll #root{overflow-x:hidden;overflow-y:auto!important;height:auto!important;min-height:100dvh;-webkit-overflow-scrolling:touch}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 50% at 20% 0%,var(--color-auth-glow) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,color-mix(in srgb,var(--color-primary) 18%,transparent) 0%,transparent 50%),linear-gradient(145deg,var(--color-auth-gradient-start) 0%,var(--color-auth-gradient-end) 100%);color:var(--color-text-inverse)}.auth-shell-body{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem)}.auth-shell-center{width:100%;max-width:28rem}.auth-shell-center--wide{max-width:56rem}.auth-card{width:100%;background:var(--color-auth-box);color:var(--color-text-primary);border:1px solid var(--color-auth-card-border);border-radius:var(--radius-auth-card, 1rem);padding:clamp(1.5rem,4vw,2rem);box-shadow:0 1px 2px var(--color-shadow),0 12px 40px var(--color-auth-card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-card-header{text-align:center;margin-bottom:1.75rem}.auth-card-header .auth-logo-wrap{display:flex;justify-content:center;margin-bottom:1rem}.auth-card-header .auth-logo{max-height:7.5rem;max-width:100%;object-fit:contain}.auth-title{font-size:clamp(1.35rem,3vw,1.65rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.auth-subtitle{font-size:1rem;font-weight:500;color:var(--color-text-secondary);margin:.35rem 0 0}.auth-user-email{font-size:.875rem;color:var(--color-text-muted);margin:.25rem 0 0}.auth-user-name{color:var(--color-primary);font-weight:600}.auth-form .field{margin-bottom:1.15rem}.auth-form .label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:none;letter-spacing:.01em;margin-bottom:.4rem}.auth-form .input,.auth-form .select select{border-radius:.625rem;min-height:2.75rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.auth-form .input:user-invalid:not(:placeholder-shown){border-color:var(--color-danger)}.auth-form .input:user-valid:not(:placeholder-shown){border-color:var(--color-success)}.auth-btn{width:100%;min-height:2.75rem;border-radius:.625rem;font-weight:600;font-size:1rem;letter-spacing:.02em;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.auth-btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.auth-otp-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-family:ui-monospace,Cascadia Code,monospace;font-variant-numeric:tabular-nums}.auth-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:.625rem;font-size:.9rem;line-height:1.4}.auth-alert--danger{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent)}.auth-alert--info{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}.auth-alert--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid color-mix(in srgb,var(--color-warning) 25%,transparent)}.auth-alert .bi{flex-shrink:0;margin-top:.1rem}.auth-alert p{margin:.35rem 0 0;font-size:.85rem}.auth-card-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light);text-align:center}.auth-link{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-hint{font-size:.8rem;color:var(--color-text-muted);margin:.75rem 0 0}.auth-context-panel{padding:1rem 1.15rem;margin-bottom:1.25rem;border-radius:.75rem;background:var(--color-info-bg);border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent)}.auth-context-panel .label{font-size:.8125rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text-primary)}.auth-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin-top:.5rem}.auth-role-card{--auth-role-card-radius: .875rem;position:relative;display:flex;flex-direction:column;height:100%;min-height:100%;padding:1.25rem 1rem;border-radius:var(--auth-role-card-radius);border:1px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;text-align:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease;overflow:hidden;isolation:isolate}.auth-role-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:var(--auth-role-card-radius) var(--auth-role-card-radius) 0 0;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));opacity:0;transition:opacity .2s ease;pointer-events:none}.auth-role-card:hover:not(.auth-role-card--disabled),.auth-role-card:focus-visible:not(.auth-role-card--disabled){border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-3px);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-bg-secondary))}.auth-role-card:hover:not(.auth-role-card--disabled):before,.auth-role-card:focus-visible:not(.auth-role-card--disabled):before{opacity:1}.auth-role-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-role-card--disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.auth-role-card--has-dropdown{cursor:default}.auth-role-card--has-dropdown:hover:not(.auth-role-card--disabled),.auth-role-card--has-dropdown:focus-within:not(.auth-role-card--disabled){transform:none}.auth-role-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin:0 auto .75rem;border-radius:50%;font-size:1.65rem;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.auth-role-name{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .35rem;line-height:1.3}.auth-role-desc{font-size:.8125rem;line-height:1.45;color:var(--color-text-secondary);margin:0 0 .75rem;flex-grow:1}.auth-role-badge{display:inline-flex;align-self:center;align-items:center;justify-content:center;gap:.35rem;max-width:100%;padding:.35rem .65rem;margin-bottom:.65rem;font-size:.78rem;text-align:center;border-radius:999px;background:var(--color-info-bg);color:var(--color-info-text)}.auth-role-card .field{align-self:stretch;width:100%;margin-top:auto;text-align:left}.auth-role-card .field .label{font-size:.75rem;font-weight:600;margin-bottom:.35rem}.auth-role-card .select select{border-radius:.5rem;font-size:.875rem}.auth-shell-actions{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light);text-align:center}.auth-shell-actions .button.is-danger{border-radius:.625rem;font-weight:600;padding-left:1.5rem;padding-right:1.5rem}@media(max-width:768px){.auth-role-grid{grid-template-columns:1fr}.auth-shell-body{align-items:flex-start;padding-top:1.25rem;padding-bottom:1.25rem}}@media(prefers-reduced-motion:reduce){.auth-role-card,.auth-role-card:before,.auth-btn,.auth-form .input{transition:none}.auth-role-card:hover:not(.auth-role-card--disabled){transform:none}.auth-role-card:hover:not(.auth-role-card--disabled):before,.auth-role-card:focus-visible:not(.auth-role-card--disabled):before{opacity:1}}.role-selector-container.auth-shell .auth-shell-center{width:fit-content;max-width:min(56rem,calc(100vw - 2rem))}.role-selector-container.auth-shell .auth-shell-center[data-role-count="1"]{max-width:min(24rem,calc(100vw - 2rem))}.role-selector-container.auth-shell .auth-shell-center[data-role-count="2"]{max-width:min(38rem,calc(100vw - 2rem))}.role-selector-container.auth-shell .auth-shell-center[data-role-count="3"]{max-width:min(52rem,calc(100vw - 2rem))}.role-selector-container.auth-shell .auth-shell-center[data-role-count="4"],.role-selector-container.auth-shell .auth-shell-center[data-role-count="5"],.role-selector-container.auth-shell .auth-shell-center[data-role-count="6"]{max-width:min(56rem,calc(100vw - 2rem))}.role-selector-container .auth-role-grid[data-role-count="1"]{grid-template-columns:minmax(16rem,1fr)}.role-selector-container .auth-role-grid[data-role-count="2"]{grid-template-columns:repeat(2,minmax(15rem,1fr))}.role-selector-container .auth-role-grid[data-role-count="3"]{grid-template-columns:repeat(3,minmax(14rem,1fr))}.role-selector-container .auth-role-grid[data-role-count="4"]{grid-template-columns:repeat(4,minmax(13rem,1fr))}.role-selector-container .auth-role-grid[data-role-count="5"],.role-selector-container .auth-role-grid[data-role-count="6"]{grid-template-columns:repeat(3,minmax(14rem,1fr))}.role-selector-container.auth-shell{min-height:100dvh;height:auto;overflow:visible}.role-selector-container.auth-shell .auth-shell-body{flex:none;width:100%;align-items:flex-start;padding-top:clamp(1rem,3vw,2rem);padding-bottom:clamp(1rem,3vw,2rem)}.role-selector-container .role-selector-box{max-height:none;overflow:visible}.role-selector-container .auth-subtitle--role{margin-top:.25rem;margin-bottom:.75rem;font-weight:600;color:var(--color-text-secondary)}@media(min-width:769px){.role-selector-container.auth-shell .auth-shell-body{align-items:center}}@media(max-width:768px){.role-selector-container.auth-shell .auth-shell-center{width:100%;max-width:100%}.role-selector-container .auth-role-grid[data-role-count]{grid-template-columns:1fr}.role-selector-container.auth-shell .auth-shell-body{padding-bottom:2rem}.role-selector-container .auth-role-card{min-height:auto;height:auto}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-secondary);border-radius:12px;box-shadow:0 10px 40px var(--color-shadow-strong);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-small{width:400px}.modal-medium{width:500px}.modal-large{width:600px}.modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title-wrapper{display:flex;align-items:center;gap:12px}.modal-icon{font-size:1.5rem;display:flex;align-items:center}.modal-icon-info{color:var(--color-primary)}.modal-icon-success{color:var(--color-success)}.modal-icon-warning{color:var(--color-warning)}.modal-icon-error{color:var(--color-danger)}.modal-icon-confirm{color:var(--color-primary)}.modal-icon-prompt{color:#9b59b6}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.btn-close-x{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close-x:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1;color:var(--color-text-secondary);line-height:1.6}.modal-prompt-input{margin-top:16px}.modal-prompt-input input{width:100%;padding:12px;border:2px solid var(--color-border);border-radius:6px;font-size:1rem;transition:all .2s;box-sizing:border-box}.modal-prompt-input input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3498db1a}.modal-footer{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.btn-cancel,.btn-confirm{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--color-text-muted);color:#fff}.btn-cancel:hover{background:var(--color-text-secondary)}.btn-confirm{background:var(--color-primary);color:#fff}.btn-confirm:hover{background:var(--color-primary-hover)}.btn-confirm-success{background:var(--color-success)}.btn-confirm-success:hover{background:#229954}.btn-confirm-warning{background:var(--color-warning)}.btn-confirm-warning:hover{background:#e67e22}.btn-confirm-error{background:var(--color-danger)}.btn-confirm-error:hover{background:#c0392b}.btn-confirm-confirm{background:var(--color-primary)}.btn-confirm-confirm:hover{background:var(--color-primary-hover)}.btn-confirm-prompt{background:#9b59b6}.btn-confirm-prompt:hover{background:#8e44ad}.modal-info{border-top:4px solid #3498db}.modal-success{border-top:4px solid #27ae60}.modal-warning{border-top:4px solid #f39c12}.modal-error{border-top:4px solid #e74c3c}.modal-confirm{border-top:4px solid #3498db}.modal-prompt{border-top:4px solid #9b59b6}@media(max-width:768px){.modal-backdrop{padding:10px}.modal-content{max-width:95vw;max-height:95vh}.modal-small,.modal-medium,.modal-large{width:90vw;max-width:500px}.modal-header{padding:16px 20px}.modal-title{font-size:1.1rem}.modal-body{padding:20px}.modal-footer{padding:12px 20px;flex-direction:column;gap:8px}.modal-footer button{width:100%}}@media(max-width:480px){.modal-backdrop{padding:0}.modal-content{max-width:100vw;max-height:100vh;border-radius:0}.modal-small,.modal-medium,.modal-large{width:100vw;max-width:100vw}.modal-header{padding:12px 16px}.modal-title{font-size:1rem}.modal-icon{font-size:1.2rem}.modal-body{padding:16px;font-size:.9rem}.modal-footer{padding:12px 16px}.btn-cancel,.btn-confirm{padding:12px 16px;font-size:.9rem}}.coc-modal-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,1.25rem);background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coc-modal-panel{display:flex;flex-direction:column;width:100%;max-height:min(90dvh,900px);overflow:hidden;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-auth-card, 1rem);box-shadow:0 12px 40px var(--color-shadow-strong)}.coc-modal-panel--sm{max-width:26rem}.coc-modal-panel--md{max-width:32.5rem}.coc-modal-panel--lg{max-width:43.75rem}.coc-modal-panel--xl{max-width:56rem}.coc-modal-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-danger) 0%,color-mix(in srgb,var(--color-danger) 75%,#000) 100%);border-bottom:1px solid color-mix(in srgb,var(--color-danger) 40%,transparent)}.coc-modal-panel__title{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--color-text-inverse);display:flex;align-items:center;gap:.5rem}.coc-modal-panel__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:.5rem;background:#ffffff1f;color:var(--color-text-inverse);cursor:pointer;transition:background .15s ease,border-color .15s ease}.coc-modal-panel__close:hover{background:#ffffff38;border-color:#ffffff80}.coc-modal-panel__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem}.coc-modal-panel__footer{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid var(--color-border-light);background:var(--color-bg-tertiary)}.modal.is-active.coc-bulma-modal,.coc-bulma-modal.modal.is-active{z-index:10050}.coc-bulma-modal .modal-background{pointer-events:none}.modal-card.coc-modal.coc-modal-panel--sm,.modal-card.coc-modal.coc-modal-panel--md,.modal-card.coc-modal.coc-modal-panel--lg,.modal-card.coc-modal.coc-modal-panel--xl{width:calc(100% - 2rem)}.modal-card.coc-modal{max-height:min(90dvh,900px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-auth-card, 1rem);border:1px solid var(--color-border);box-shadow:0 12px 40px var(--color-shadow-strong)}.modal-card.coc-modal .modal-card-head{flex-shrink:0;background:linear-gradient(135deg,var(--color-danger) 0%,color-mix(in srgb,var(--color-danger) 75%,#000) 100%);border-bottom:none}.modal-card.coc-modal .modal-card-title{font-size:1.1rem;font-weight:700;color:var(--color-text-inverse)!important}.modal-card.coc-modal .modal-card-head .delete{background-color:#ffffff26}.modal-card.coc-modal .modal-card-head .delete:before,.modal-card.coc-modal .modal-card-head .delete:after{background-color:var(--color-text-inverse)}.modal-card.coc-modal .modal-card-head .delete:hover{background-color:#ffffff47}.modal-card.coc-modal .modal-card-body{flex:1 1 auto;min-height:0;overflow-y:auto;background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-card.coc-modal .modal-card-foot{flex-shrink:0;justify-content:flex-end;gap:.5rem;background:var(--color-bg-tertiary);border-top:1px solid var(--color-border-light)}.coc-dashboard--coc .modal-card.coc-modal .button.is-primary,.coc-modal-overlay .button.is-primary,.coc-modal-panel .button.is-primary{background-color:var(--color-danger);border-color:transparent;color:var(--color-text-inverse)}.coc-dashboard--coc .modal-card.coc-modal .button.is-primary:hover,.coc-modal-overlay .button.is-primary:hover:not(:disabled),.coc-modal-panel .button.is-primary:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-danger) 88%,#000)}.coc-modal-panel .input,.coc-modal-panel .textarea,.coc-modal-panel .select select,.modal-card.coc-modal .input,.modal-card.coc-modal .textarea,.modal-card.coc-modal .select select{border-radius:.625rem}.coc-modal-drawer{position:fixed;inset:0;z-index:10055;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coc-modal-drawer__panel{width:100%;max-width:56rem;max-height:min(92dvh,920px);overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-radius:var(--radius-auth-card, 1rem);border:1px solid var(--color-border);box-shadow:0 12px 40px var(--color-shadow-strong)}@media(max-width:768px){.modal-card.coc-modal{width:100%;max-height:95dvh;border-radius:.75rem}.coc-modal-panel__footer{flex-direction:column-reverse;align-items:stretch}.coc-modal-panel__footer .button{width:100%}.modal-card.coc-modal .modal-card-foot{flex-direction:column-reverse}.modal-card.coc-modal .modal-card-foot .button{width:100%}}@media(prefers-reduced-motion:reduce){.coc-modal-panel{animation:none}}html.passkey-setup-prompt-open,html.passkey-setup-prompt-open.app-layout--auth-scroll,html.passkey-setup-prompt-open body,html.passkey-setup-prompt-open.app-layout--auth-scroll body,html.passkey-setup-prompt-open #root,html.passkey-setup-prompt-open.app-layout--auth-scroll #root{overflow:hidden!important;height:100%!important;max-height:100dvh;overscroll-behavior:none}.passkey-setup-prompt.modal.is-active{position:fixed;inset:0;z-index:1200;display:flex!important;align-items:center;justify-content:center;width:100%;max-width:100vw;height:100%;max-height:100dvh;overflow:hidden;overscroll-behavior:none;padding:clamp(.75rem,3vw,1.25rem)}.passkey-setup-prompt .modal-background{position:fixed;inset:0;z-index:1200}.passkey-setup-prompt-form{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;margin:0;position:relative;z-index:1201}.passkey-setup-prompt-card{flex-shrink:0;width:min(26rem,calc(100vw - 2rem));max-width:100%}.passkey-setup-prompt-title-icon{color:var(--color-text-inverse)}.passkey-setup-prompt-footer{gap:.5rem;justify-content:flex-start}.passkey-setup-prompt-never{margin-left:auto;font-size:.85rem;text-decoration:underline}@media(max-width:768px){.passkey-setup-prompt-card{width:100%;max-width:100%}.passkey-setup-prompt-footer{flex-direction:column;align-items:stretch}.passkey-setup-prompt-footer .button{width:100%;margin-left:0!important}.passkey-setup-prompt-never{margin-left:0;order:3}}
