@import url(https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&display=swap);:root{--color-navy:#0a2540;--color-turquoise:#06b6d4;--color-yellow:#fcd34d;--color-orange:#fb923c;--color-red:#ef4444;--color-green:#059669;--color-primary-navy:var(--color-navy);--color-primary-turquoise:var(--color-turquoise);--color-secondary-green:var(--color-green);--color-secondary-red:var(--color-red);--color-secondary-orange:var(--color-orange);--color-secondary-yellow:var(--color-yellow);--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-white:#fff;--color-bg-sand:#fafaf9;--font-primary:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-body-s:var(--font-size-sm);--font-size-body-m:var(--font-size-base);--font-size-body-l:var(--font-size-lg);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0a25400d;--shadow-md:0 2px 8px #0a254014;--shadow-lg:0 4px 16px #0a25401f;--shadow-xl:0 8px 32px #0a254029;--duration-fast:200ms;--duration-normal:300ms;--duration-slow:500ms;--easing:cubic-bezier(0.4,0.0,0.2,1);--z-dropdown:1000;--z-sticky:1020;--z-modal-backdrop:1040;--z-modal:1050}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafaf9;background-color:var(--color-bg-sand);color:#1e293b;color:var(--color-gray-800);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:16px;line-height:1.5;line-height:var(--line-height-normal)}.app-container,body{min-height:100vh}.app-container{background:#fff;background:var(--color-white);box-shadow:0 0 60px #0a254014;margin:0 auto;max-width:1600px}@media (min-width:1700px){.app-container{border-radius:0}body{background:linear-gradient(135deg,#f3f4f6,#fafaf9);background:linear-gradient(135deg,var(--color-gray-100) 0,var(--color-bg-sand) 100%)}}.main-content{margin:0 auto;max-width:1400px;padding:2rem;padding:var(--space-6)}@media (max-width:768px){.main-content{padding:1rem;padding:var(--space-4)}}.content-container{margin:0 auto;max-width:1200px}.header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);gap:1.5rem;gap:var(--space-5);padding:1rem 2rem;padding:var(--space-4) var(--space-6);z-index:1020;z-index:var(--z-sticky)}.header-logo{cursor:pointer;flex-shrink:0;min-width:180px}.header-user-info{flex:1 1;gap:.75rem;gap:var(--space-3);margin-left:1rem;margin-left:var(--space-4)}.user-current-bu{align-items:center;color:#475569;color:var(--color-gray-600);display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:6px}.header-actions{flex-shrink:0;gap:20px!important}.header-actions>.action-button{margin-left:8px}.header-actions>.action-button:first-child{margin-left:0}.header-spacer{flex:1 1}.action-button{border-radius:.5rem;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-size:var(--font-size-base);font-weight:600;gap:.5rem;line-height:1.2;min-height:40px;padding:.75rem 1.5rem;padding:var(--space-3) var(--space-5);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.action-button:not(:disabled):hover{box-shadow:0 4px 16px #0a25401f}.action-button--primary{background:#06b6d4;background:var(--color-turquoise);box-shadow:0 2px 8px #0a254014;color:var(--color-white)}.action-button--secondary{border:2px solid #0a2540;border:2px solid var(--color-navy);color:#0a2540;color:var(--color-navy)}.action-button--secondary:not(:disabled):hover{background:#0a2540;background:var(--color-navy);color:var(--color-white)}.action-button--success{background:#059669;background:var(--color-green);box-shadow:0 2px 8px #0a254014;color:var(--color-white)}.action-button--danger{border:2px solid #ef4444;border:2px solid var(--color-red);color:#ef4444;color:var(--color-red)}.action-button--danger:not(:disabled):hover{background:#ef4444;background:var(--color-red);color:var(--color-white)}.action-button--sm{font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem 1rem}.action-button--primary svg,.action-button--primary svg *,.action-button--success svg,.action-button--success svg *,.admin-add-btn svg,.admin-add-btn svg *,.btn--primary svg,.btn--primary svg *,.btn--success svg,.btn--success svg *,.export-btn--full svg,.export-btn--full svg *,.export-btn--primary svg,.export-btn--primary svg *,.export-btn--secondary svg,.export-btn--secondary svg *,.password-submit-btn svg,.password-submit-btn svg *,button[class*=bg-green] svg,button[class*=bg-green] svg *,button[class*=bg-turquoise] svg,button[class*=bg-turquoise] svg *{stroke:#fff!important;fill:none!important}.action-button--primary svg [fill]:not([fill=none]),.action-button--success svg [fill]:not([fill=none]),.admin-add-btn svg [fill]:not([fill=none]),.export-btn--full svg [fill]:not([fill=none]),.export-btn--primary svg [fill]:not([fill=none]),.export-btn--secondary svg [fill]:not([fill=none]),.password-submit-btn svg [fill]:not([fill=none]){fill:#fff!important}.action-button--danger:hover svg,.action-button--danger:hover svg *,.action-button--secondary:hover svg,.action-button--secondary:hover svg *{stroke:#fff!important;fill:none!important}.budgease-logo-full{gap:.75rem;gap:var(--space-3);transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--duration-fast) var(--easing)}.budgease-logo-full:hover{opacity:.85}.budgease-logo-text{color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}@media (max-width:768px){.header{gap:.75rem;gap:var(--space-3);min-height:64px;padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.header-actions--desktop{display:none}.header-actions--mobile{display:flex}.action-button{min-height:44px;width:100%}}.text-navy{color:#0a2540;color:var(--color-navy)}.text-turquoise{color:#06b6d4;color:var(--color-turquoise)}.text-gray-600{color:#475569;color:var(--color-gray-600)}.text-gray-800{color:#1e293b;color:var(--color-gray-800)}.bg-white{background-color:var(--color-white)}.bg-gray-50{background-color:var(--color-gray-50)}.font-bold{font-weight:var(--font-weight-bold)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}.shadow-sm{box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 2px 8px #0a254014;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 4px 16px #0a25401f;box-shadow:var(--shadow-lg)}.rounded-md{border-radius:.5rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.75rem;border-radius:var(--radius-lg)}:focus{outline:2px solid #06b6d4;outline:2px solid var(--color-turquoise);outline-offset:2px}::selection{background-color:#06b6d4;background-color:var(--color-turquoise);color:#fff;color:var(--color-white)}.nav-tabs{background:#fff;background:var(--color-white);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);display:flex;gap:.25rem;gap:var(--space-1);padding:0 2rem;padding:0 var(--space-6)}.nav-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--color-gray-500);cursor:pointer;display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);gap:.5rem;gap:var(--space-2);margin-bottom:-1px;padding:1rem 1.5rem;padding:var(--space-4) var(--space-5);text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.nav-tab:hover{background:#f9fafb;background:var(--color-gray-50);color:#0a2540;color:var(--color-navy)}.nav-tab.active{background:#0000;border-bottom-color:#06b6d4;border-bottom-color:var(--color-turquoise);color:#06b6d4;color:var(--color-turquoise);font-weight:700;font-weight:var(--font-weight-bold)}.nav-tab-full-text{display:inline}.nav-tab-short-text{display:none}@media (max-width:1024px){.nav-tabs{gap:0;padding:0 1rem;padding:0 var(--space-4)}.nav-tab{font-size:.875rem;font-size:var(--font-size-sm);padding:.75rem;padding:var(--space-3) var(--space-3)}}@media (max-width:768px){.nav-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;gap:0;overflow-x:auto;padding:0 .5rem;padding:0 var(--space-2);scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{flex-shrink:0;font-size:12px;padding:.5rem;padding:var(--space-2) var(--space-2);white-space:nowrap}.nav-tab-full-text{display:none}.nav-tab-short-text{display:inline}}@media (max-width:480px){.nav-tabs{justify-content:stretch;padding:0}.nav-tab{flex:1 1;font-size:10px;justify-content:center;min-width:0;padding:.5rem .25rem;padding:var(--space-2) var(--space-1);text-align:center}}.card{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0a254014;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--space-5);transition:box-shadow .2s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--duration-fast) var(--easing)}.card:hover{box-shadow:0 4px 16px #0a25401f;box-shadow:var(--shadow-lg)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4)}.card-title{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold)}.progress-bar-container{width:100%}.progress-bar{border-radius:9999px;border-radius:var(--radius-full);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);transition:width var(--duration-normal) var(--easing)}.progress-bar--nominal{background:#06b6d4;background:var(--color-turquoise)}.progress-bar--vigilance{background:#fcd34d;background:var(--color-yellow)}.progress-bar--alerte{background:#fb923c;background:var(--color-orange)}.progress-bar--critique{background:#ef4444;background:var(--color-red)}h1,h2,h3,h4,h5,h6{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.2;line-height:var(--line-height-tight)}h1{font-size:2.25rem;font-size:var(--font-size-4xl);margin-bottom:2rem;margin-bottom:var(--space-6)}h2{font-size:1.875rem;font-size:var(--font-size-3xl);margin-bottom:1.5rem;margin-bottom:var(--space-5)}h3{font-size:1.5rem;font-size:var(--font-size-2xl);margin-bottom:1rem;margin-bottom:var(--space-4)}h3,h4{font-weight:600;font-weight:var(--font-weight-semibold)}h4{font-size:1.25rem;font-size:var(--font-size-xl);margin-bottom:.75rem;margin-bottom:var(--space-3)}.amount,.montant{font-feature-settings:"tnum";font-family:IBM Plex Mono,Courier New,monospace!important;font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums;font-weight:500!important;font-weight:var(--font-weight-medium)!important}.stat-card-value,[class*=amount],[class*=montant],[class*=stat] [class*=value]{font-family:IBM Plex Mono,Courier New,monospace!important;font-family:var(--font-mono)!important}.budgease-table{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);margin-bottom:2rem;margin-bottom:var(--space-6);overflow:hidden}.budgease-table__desktop{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.budgease-table__table{border-collapse:collapse;table-layout:auto;width:100%}.budgease-table__header{background:#f9fafb;background:var(--color-gray-50);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-gray-200)}.budgease-table__header-row{min-height:3.5rem}.budgease-table__header-cell{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-gray-100);color:#475569;color:var(--color-gray-600);font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.05em;padding:1rem 1.5rem;text-align:left;text-transform:uppercase;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing);white-space:nowrap}.budgease-table__header-cell.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.budgease-table__header-cell.sortable:hover{background:#f3f4f6;background:var(--color-gray-100);color:#0a2540;color:var(--color-navy)}.budgease-table__header-content{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.budgease-table__sort-indicator{color:#94a3b8;color:var(--color-gray-400);font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.budgease-table__header-cell.sorted-asc .budgease-table__sort-indicator,.budgease-table__header-cell.sorted-desc .budgease-table__sort-indicator{color:#06b6d4;color:var(--color-turquoise)}.budgease-table__body{background:#fff;background:var(--color-white)}.budgease-table__row{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-gray-100);min-height:3.5rem;transition:all .15s ease}.budgease-table--hoverable .budgease-table__row:hover{background:#f9fafb;background:var(--color-gray-50);border-left:4px solid #06b6d4;border-left:4px solid var(--color-turquoise);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.budgease-table--striped .budgease-table__row:nth-child(2n){background:#fafafa}.budgease-table--striped .budgease-table__row:nth-child(2n):hover{background:#f9fafb;background:var(--color-gray-50)}.budgease-table__row.selected{background:#06b6d41a;border-left:4px solid #06b6d4;border-left:4px solid var(--color-turquoise)}.budgease-table__cell{border-bottom:1px solid #0000;color:#0f172a;color:var(--color-gray-900);font-size:.875rem;font-size:var(--font-size-sm);padding:1rem 1.5rem;vertical-align:middle}.budgease-table__cell-text{display:block;word-break:break-word}.budgease-table__cell-currency{color:#0a2540;color:var(--color-navy);font-weight:500;font-weight:var(--font-weight-medium)}.budgease-table__cell-currency,.budgease-table__cell-date{font-feature-settings:"tnum";font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.budgease-table__cell-date{color:#475569;color:var(--color-gray-600)}.budgease-table__cell-boolean.active{color:#059669;color:var(--color-green);font-weight:500;font-weight:var(--font-weight-medium)}.budgease-table__cell-boolean.inactive{color:#94a3b8;color:var(--color-gray-400)}.budgease-table__cell-link{background:none;border:none;color:#06b6d4;color:var(--color-turquoise);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.budgease-table__cell-link:hover{color:#0891b2}.budgease-table__cell-empty{color:#64748b;color:var(--color-gray-500);font-style:italic}.budgease-table__cell-editor{padding:0}.budgease-table__editor-input,.budgease-table__editor-select,.budgease-table__editor-textarea{background:#fff;background:var(--color-white);border:2px solid #06b6d4;border:2px solid var(--color-turquoise);border-radius:.375rem;color:#0f172a;color:var(--color-gray-900);font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing);width:100%}.budgease-table__editor-input:focus,.budgease-table__editor-select:focus,.budgease-table__editor-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #06b6d41a;outline:none}.budgease-table__mobile{display:none}.budgease-table__mobile-card{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1rem;transition:all .15s ease}.budgease-table__mobile-card:hover{border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 2px 8px #0a254014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.budgease-table__mobile-field{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;padding:.5rem 0}.budgease-table__mobile-field:last-child{border-bottom:none}.budgease-table__mobile-label{color:#475569;color:var(--color-gray-600);flex-shrink:0;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.05em;min-width:100px;text-transform:uppercase}.budgease-table__mobile-value{flex:1 1;margin-left:1rem;text-align:right}.budgease-table__empty{background:#fff;background:var(--color-white);border:2px dashed #e5e7eb;border:2px dashed var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);color:#64748b;color:var(--color-gray-500);padding:3rem 1.5rem;text-align:center}.budgease-table__empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.budgease-table__empty-message{font-size:1rem;font-size:var(--font-size-base);margin:0}.budgease-table__footer{align-items:center;background:#f9fafb;background:var(--color-gray-50);border-top:1px solid #e5e7eb;border-top:1px solid var(--color-gray-200);color:#475569;color:var(--color-gray-600);display:flex;font-size:.75rem;font-size:var(--font-size-xs);justify-content:space-between;padding:.75rem 1rem}.budgease-table__footer-info{font-weight:500;font-weight:var(--font-weight-medium)}.budgease-table__footer-hint{font-style:italic;opacity:.8}.budgease-table--compact .budgease-table__cell,.budgease-table--compact .budgease-table__header-cell{padding:.75rem 1rem}.budget-teams-section{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);margin-bottom:2rem;margin-bottom:var(--space-6);padding:2rem;padding:var(--space-6)}.budget-teams-title{align-items:center;color:#0a2540;color:var(--color-navy);display:flex;font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);gap:.5rem;gap:var(--space-2);margin-bottom:.5rem;margin-bottom:var(--space-2)}.budget-teams-subtitle,.budget-teams-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary)}.budget-teams-subtitle{color:#64748b;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.75;line-height:var(--line-height-relaxed);margin-bottom:2rem;margin-bottom:var(--space-6)}.team-container{margin-bottom:1rem;margin-bottom:var(--space-4)}.budget-item.team-header{align-items:center;background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:1rem;gap:var(--space-4);overflow:hidden;padding:1rem;padding:var(--space-4);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.budget-item.team-header:hover{background:#f9fafb;background:var(--color-gray-50);border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 2px 8px #0a254014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.budget-item.team-header:before{background:#06b6d4;background:var(--color-turquoise);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform var(--duration-fast) var(--easing);width:4px}.budget-item.team-header:hover:before{transform:scaleY(1)}.budget-avatar{align-items:center;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);color:#fff;color:var(--color-white);display:flex;flex-shrink:0;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);height:48px;justify-content:center;margin-right:1rem;margin-right:var(--space-4);width:48px}.budget-info{display:flex;flex:0 0 auto;flex-direction:column;gap:2px;max-width:250px;min-width:150px}.budget-spacer{flex:1 1}.budget-name{color:#0a2540;color:var(--color-navy);display:inline-block;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);transition:color .2s cubic-bezier(.4,0,.2,1);transition:color var(--duration-fast) var(--easing);width:-webkit-fit-content;width:fit-content}.budget-name:hover{color:#06b6d4;color:var(--color-turquoise);text-decoration:underline}.budget-meta{color:#64748b;color:var(--color-gray-500);display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem;font-size:var(--font-size-xs);gap:.5rem;gap:var(--space-2)}.budget-meta span:hover{color:#06b6d4;color:var(--color-turquoise);text-decoration:underline}.budget-amounts{margin-right:2rem;margin-right:var(--space-6);min-width:180px;text-align:right}.budget-amounts-main{color:#0f172a;color:var(--color-gray-900);font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.875rem;font-size:var(--font-size-sm)}.budget-amounts-main,.budget-amounts-remaining{font-weight:500;font-weight:var(--font-weight-medium)}.budget-amounts-remaining{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem;font-size:var(--font-size-xs);margin-top:2px}.budget-progress{align-items:center;display:flex;gap:.75rem;gap:var(--space-3);min-width:140px}.progress-bar-container{background:#f3f4f6;background:var(--color-gray-100);flex:1 1;height:8px;min-width:100px;overflow:hidden}.progress-bar-container,.progress-fill{border-radius:9999px;border-radius:var(--radius-full)}.progress-fill{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-fill.nominal{background:#06b6d4;background:var(--color-turquoise)}.progress-fill.vigilance{background:#fcd34d;background:var(--color-yellow)}.progress-fill.alerte{background:#fb923c;background:var(--color-orange)}.progress-fill.critique{background:#ef4444;background:var(--color-red)}.progress-percentage{color:#475569;color:var(--color-gray-600);font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);text-align:right;width:36px}.team-expand-button{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.25rem;border-radius:var(--radius-sm);color:#94a3b8;color:var(--color-gray-400);cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:28px;justify-content:center;margin-left:1rem;margin-left:var(--space-4);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing);width:28px}.budget-amounts-remaining--nominal{color:#06b6d4;color:var(--color-turquoise)}.budget-amounts-remaining--nominal strong{color:inherit}.budget-amounts-remaining--vigilance{color:#fcd34d;color:var(--color-yellow)}.budget-amounts-remaining--vigilance strong{color:inherit}.budget-amounts-remaining--alerte{color:#fb923c;color:var(--color-orange)}.budget-amounts-remaining--alerte strong{color:inherit}.budget-amounts-remaining--critique{color:#ef4444;color:var(--color-red)}.budget-amounts-remaining--critique strong{color:inherit}.dashboard-header{align-items:center;background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:2rem;margin-bottom:var(--space-6);padding:2rem;padding:var(--space-6)}.dashboard-header-content{display:flex;flex-direction:column}.dashboard-title{color:#0a2540;color:var(--color-navy);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.2;line-height:var(--line-height-tight);margin-bottom:.25rem;margin-bottom:var(--space-1)}.dashboard-subtitle,.dashboard-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary)}.dashboard-subtitle{color:#64748b;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm)}.dashboard-filters{align-items:center;display:flex;gap:1rem;gap:var(--space-4)}.dashboard-filter-item{align-items:center;background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);display:flex;gap:.5rem;gap:var(--space-2);padding:.5rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.dashboard-filter-item:hover{background:#fff;background:var(--color-white);border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm)}.dashboard-filter-label{color:#64748b;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);white-space:nowrap}.dashboard-filter-select{background:#0000;border:none;color:#0a2540;color:var(--color-navy);cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-weight:700;font-weight:var(--font-weight-bold);min-width:80px;outline:none}.dashboard-filter-select:focus{outline:none}.dashboard-filter-input{background:#0000;border:none;color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);min-width:120px;outline:none;padding:0}.dashboard-filter-input:focus{outline:none}.filter-reset-btn{align-items:center;background:#0000;border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#475569;color:var(--color-gray-600);cursor:pointer;display:inline-flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem;font-size:var(--font-size-xs);gap:.25rem;gap:var(--space-1);padding:.5rem .75rem;padding:var(--space-2) var(--space-3);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.filter-reset-btn:hover{background:#f9fafb;background:var(--color-gray-50);border-color:#ef4444;border-color:var(--color-red);color:#ef4444;color:var(--color-red)}.filter-reset-btn svg{color:currentColor}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem;gap:var(--space-4);padding:1rem;padding:var(--space-4)}.dashboard-filters{align-items:stretch;flex-direction:column;width:100%}.dashboard-filter-item{justify-content:space-between}}.team-expand-button:hover{background:#06b6d4;background:var(--color-turquoise);border-color:#06b6d4;border-color:var(--color-turquoise);color:#fff;color:var(--color-white)}.team-budgets-list{animation:slideDown .3s ease-out;border-left:2px solid #f3f4f6;border-left:2px solid var(--color-gray-100);margin-left:calc(48px + 1rem);margin-left:calc(48px + var(--space-4));margin-top:.5rem;margin-top:var(--space-2);padding-left:1rem;padding-left:var(--space-4)}.budget-child{background:#fff;background:var(--color-white);border:1px solid #f3f4f6;border:1px solid var(--color-gray-100);border-radius:.5rem;border-radius:var(--radius-md);margin-bottom:.5rem;margin-bottom:var(--space-2);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.budget-child,.budget-child-desktop{align-items:center;display:flex;justify-content:space-between}.budget-child-desktop{gap:.75rem;gap:var(--space-3);width:100%}.budget-child-mobile{display:none}.budget-child:hover{background:#f9fafb;background:var(--color-gray-50);border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm)}.budget-child-icon{font-size:16px;margin-right:.75rem;margin-right:var(--space-3);opacity:.7}.budget-child-name{color:#334155;color:var(--color-gray-700);cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium)}.budget-child-name:hover{color:#06b6d4;color:var(--color-turquoise)}.budget-actions{display:flex;gap:.5rem;gap:var(--space-2);margin-left:.75rem;margin-left:var(--space-3);opacity:1}.budget-child:hover .budget-actions{opacity:1}.budget-action-btn{background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.25rem;border-radius:var(--radius-sm);color:#64748b;color:var(--color-gray-500);padding:4px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.budget-action-btn:hover{background:#f9fafb;background:var(--color-gray-50);border-color:#d1d5db;border-color:var(--color-gray-300);color:#0a2540;color:var(--color-navy)}.budget-action-btn.delete-btn:hover{background:#fef2f2;border-color:var(--color-red);color:#ef4444;color:var(--color-red)}.no-budgets-message,.no-teams-message{color:#94a3b8;color:var(--color-gray-400);font-size:.875rem;font-size:var(--font-size-sm);font-style:italic;padding:2rem;padding:var(--space-6);text-align:center}@media (max-width:768px){.budget-item.team-header{align-items:flex-start;flex-direction:column;gap:.75rem;gap:var(--space-3)}.budget-avatar{margin-bottom:.5rem;margin-bottom:var(--space-2)}.budget-amounts{align-items:center;border-top:1px solid #f3f4f6;border-top:1px solid var(--color-gray-100);display:flex;justify-content:space-between;margin-right:0;margin-top:.5rem;margin-top:var(--space-2);padding-top:.5rem;padding-top:var(--space-2);text-align:left;width:100%}.budget-progress{width:100%}.team-expand-button{position:absolute;right:1rem;right:var(--space-4);top:1rem;top:var(--space-4)}.team-budgets-list{border-left:none;margin-left:0;padding-left:.5rem;padding-left:var(--space-2)}.budget-child{padding:0!important}.budget-child-desktop{display:none!important}.budget-child-mobile{display:flex!important;flex-direction:column;gap:.75rem;gap:var(--space-3);padding:.75rem;padding:var(--space-3);width:100%}.budget-child-mobile__header{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-1)}.budget-child-mobile__title-row{align-items:center;display:flex;gap:.5rem;gap:var(--space-2)}.budget-child-mobile__icon{font-size:16px;opacity:.8}.budget-child-mobile__name{color:#0a2540;color:var(--color-navy);cursor:pointer;flex:1 1;font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;line-height:1.3}.budget-child-mobile__name:active{color:#06b6d4;color:var(--color-turquoise)}.budget-child-mobile__actions{display:flex;flex-shrink:0;gap:.25rem;gap:var(--space-1)}.budget-child-mobile__action-btn{align-items:center;background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.25rem;border-radius:var(--radius-sm);color:#64748b;color:var(--color-gray-500);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.budget-child-mobile__action-btn:active{background:#f3f4f6;background:var(--color-gray-100)}.budget-child-mobile__action-btn--delete:active{background:#fee2e2;border-color:#ef4444;border-color:var(--color-red);color:#ef4444;color:var(--color-red)}.budget-child-mobile__meta{align-items:center;color:#64748b;color:var(--color-gray-500);display:flex;font-size:11px;gap:.25rem;gap:var(--space-1);padding-left:24px}.budget-child-mobile__expenses-link{color:#06b6d4;color:var(--color-turquoise);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.budget-child-mobile__separator{color:#d1d5db;color:var(--color-gray-300)}.budget-child-mobile__progress-section{align-items:center;display:flex;gap:.5rem;gap:var(--space-2)}.budget-child-mobile__progress-bar{background:#f3f4f6;background:var(--color-gray-100);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.budget-child-mobile__progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.budget-child-mobile__progress-fill--ok{background:linear-gradient(90deg,#10b981,#34d399)}.budget-child-mobile__progress-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.budget-child-mobile__progress-fill--danger{background:linear-gradient(90deg,#ef4444,#f87171)}.budget-child-mobile__percentage{font-size:12px;font-weight:700;min-width:36px;text-align:right}.budget-child-mobile__percentage--ok{color:#059669}.budget-child-mobile__percentage--warning{color:#d97706}.budget-child-mobile__percentage--danger{color:#dc2626}.budget-child-mobile__amounts{align-items:stretch;background:#f9fafb;background:var(--color-gray-50);border-radius:.5rem;border-radius:var(--radius-md);display:flex;gap:.5rem;gap:var(--space-2);justify-content:space-between;padding:.5rem;padding:var(--space-2)}.budget-child-mobile__amount-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px}.budget-child-mobile__amount-divider{align-self:stretch;background:#e5e7eb;background:var(--color-gray-200);width:1px}.budget-child-mobile__amount-label{color:#64748b;color:var(--color-gray-500);font-size:9px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.budget-child-mobile__amount-value{color:#0a2540;color:var(--color-navy);font-size:12px;font-weight:600}.budget-child-mobile__amount-value--total{color:#475569;color:var(--color-gray-600)}.budget-child-mobile__amount-value--highlight{font-weight:700}.budget-child-mobile__amount-item--ok .budget-child-mobile__amount-value--highlight{color:#059669}.budget-child-mobile__amount-item--warning .budget-child-mobile__amount-value--highlight{color:#d97706}.budget-child-mobile__amount-item--danger .budget-child-mobile__amount-value--highlight{color:#dc2626}}.budgease-table--readonly .budgease-table__header{background:#0a25400d}@media (max-width:768px){.budgease-table__desktop{display:none}.budgease-table__mobile{display:block}.budgease-table__mobile-card{min-height:4rem}.budgease-table__mobile-field{align-items:flex-start;flex-direction:column}.budgease-table__mobile-label{margin-bottom:.25rem;min-width:auto}.budgease-table__mobile-value{margin-left:0;text-align:left;width:100%}.budgease-table__footer{flex-direction:column;gap:.5rem;text-align:center}.budgease-table__mobile-card--budget{overflow:hidden;padding:0!important}.budget-mobile-card__header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:12px 16px}.budget-mobile-card__title-row{align-items:center;display:flex;gap:12px}.budget-mobile-card__avatar{align-items:center;background:linear-gradient(135deg,#0a2540,#1a3a5c);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.budget-mobile-card__avatar.inactive{background:linear-gradient(135deg,#94a3b8,#64748b);opacity:.7}.budget-mobile-card__info{flex:1 1;min-width:0}.budget-mobile-card__name{color:#0a2540;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-mobile-card__team{color:#64748b;font-size:12px;margin-top:2px}.budget-mobile-card__status{flex-shrink:0}.budget-mobile-card__badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.budget-mobile-card__badge.active{background:#d1fae5;color:#059669}.budget-mobile-card__badge.inactive{background:#f1f5f9;color:#64748b}.budget-mobile-card__progress-section{align-items:center;background:#fff;display:flex;gap:12px;padding:12px 16px}.budget-mobile-card__progress-bar{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.budget-mobile-card__progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.budget-mobile-card__progress-fill--ok{background:linear-gradient(90deg,#10b981,#34d399)}.budget-mobile-card__progress-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.budget-mobile-card__progress-fill--danger{background:linear-gradient(90deg,#ef4444,#f87171)}.budget-mobile-card__percentage{font-size:14px;font-weight:700;min-width:45px;text-align:right}.budget-mobile-card__percentage--ok{color:#059669}.budget-mobile-card__percentage--warning{color:#d97706}.budget-mobile-card__percentage--danger{color:#dc2626}.budget-mobile-card__amounts{align-items:stretch;background:#f8fafc;display:flex;gap:8px;justify-content:space-between;padding:10px 12px}.budget-mobile-card__amount-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px}.budget-mobile-card__amount-divider{align-self:stretch;background:#e2e8f0;width:1px}.budget-mobile-card__amount-label{color:#64748b;font-size:9px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.budget-mobile-card__amount-value{color:#0a2540;font-size:12px;font-weight:600}.budget-mobile-card__amount-value--total{color:#475569}.budget-mobile-card__amount-value--highlight{font-weight:700}.budget-mobile-card__amount-item--ok .budget-mobile-card__amount-value--highlight{color:#059669}.budget-mobile-card__amount-item--warning .budget-mobile-card__amount-value--highlight{color:#d97706}.budget-mobile-card__amount-item--danger .budget-mobile-card__amount-value--highlight{color:#dc2626}.budget-mobile-card__footer{align-items:center;background:#fff;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 16px}.budget-mobile-card__expenses-count{color:#00b8a9;font-size:12px;font-weight:500}.budget-mobile-card__year{background:#f1f5f9;border-radius:4px;color:#94a3b8;font-size:11px;font-weight:500;padding:3px 8px}.budgease-table__mobile-card--expense{overflow:hidden;padding:0!important}.expense-mobile-card__header{background:#fff;border-bottom:1px solid #f1f5f9;padding:14px 16px}.expense-mobile-card__description-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.expense-mobile-card__description{color:#0a2540;flex:1 1;font-size:14px;font-weight:600;line-height:1.4}.expense-mobile-card__date{background:#f1f5f9;border-radius:4px;color:#64748b;flex-shrink:0;font-size:11px;padding:4px 8px;white-space:nowrap}.expense-mobile-card__body{background:#f8fafc;display:flex;gap:0}.expense-mobile-card__amount-section{align-items:center;border-right:1px solid #e2e8f0;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:12px 16px}.expense-mobile-card__amount-label{color:#64748b;font-size:10px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.expense-mobile-card__amount{color:#0a2540;font-size:18px;font-weight:700}.expense-mobile-card__type-section{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:12px 16px}.expense-mobile-card__type-label{color:#64748b;font-size:10px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.expense-mobile-card__type-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;color:#92400e;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 12px;text-transform:uppercase}.expense-mobile-card__footer{align-items:center;background:#fff;border-top:1px solid #f1f5f9;display:flex;gap:16px;justify-content:space-between;padding:10px 16px}.expense-mobile-card__budget-info,.expense-mobile-card__team-info{align-items:center;display:flex;font-size:12px;gap:4px}.expense-mobile-card__budget-label,.expense-mobile-card__team-label{color:#94a3b8;font-weight:400}.expense-mobile-card__budget-name{color:#00b8a9;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-mobile-card__team-name{color:#64748b;font-weight:500}.budgease-table__mobile-card--user{overflow:hidden;padding:0!important}.user-mobile-card__header{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;padding:12px 16px}.user-mobile-card__title-row{align-items:center;display:flex;gap:12px}.user-mobile-card__avatar{align-items:center;background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:44px;justify-content:center;width:44px}.user-mobile-card__avatar.inactive{background:linear-gradient(135deg,#94a3b8,#64748b);opacity:.7}.user-mobile-card__info{flex:1 1;min-width:0}.user-mobile-card__name{color:#0a2540;font-size:15px;font-weight:600;line-height:1.3}.user-mobile-card__email{color:#64748b;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-mobile-card__status{flex-shrink:0}.user-mobile-card__status-dot{border-radius:50%;display:block;height:12px;width:12px}.user-mobile-card__status-dot.active{background:#10b981;box-shadow:0 0 0 3px #10b98133}.user-mobile-card__status-dot.inactive{background:#94a3b8}.user-mobile-card__details{background:#fff;display:flex;gap:16px;padding:12px 16px}.user-mobile-card__detail-item{display:flex;flex:1 1;flex-direction:column;gap:4px}.user-mobile-card__detail-label{color:#64748b;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.user-mobile-card__role-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.user-mobile-card__role-badge--superadmin{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff}.user-mobile-card__role-badge--admin{background:#dbeafe;color:#1e40af}.user-mobile-card__role-badge--bu-admin{background:#d1fae5;color:#065f46}.user-mobile-card__role-badge--budget-admin{background:#fef3c7;color:#92400e}.user-mobile-card__role-badge--user{background:#f1f5f9;color:#475569}.user-mobile-card__mfa-badge{font-size:11px;font-weight:500}.user-mobile-card__mfa-badge.enabled{color:#059669}.user-mobile-card__mfa-badge.disabled{color:#94a3b8}.user-mobile-card__footer{align-items:center;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 16px}.user-mobile-card__last-login{color:#64748b;font-size:11px}.user-mobile-card__active-badge{border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.user-mobile-card__active-badge.active{background:#d1fae5;color:#059669}.user-mobile-card__active-badge.inactive{background:#fee2e2;color:#dc2626}}@media (max-width:1024px) and (min-width:769px){.budgease-table__cell,.budgease-table__header-cell{padding:.75rem 1rem}.budgease-table__header-cell{font-size:.65rem}}.budgease-table__header-cell.sortable:focus,.budgease-table__row:focus{outline:2px solid #06b6d4;outline:2px solid var(--color-turquoise);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.budgease-table__editor-input,.budgease-table__editor-select,.budgease-table__editor-textarea,.budgease-table__header-cell,.budgease-table__mobile-card,.budgease-table__row{transition:none}.budgease-table--hoverable .budgease-table__row:hover,.budgease-table__mobile-card:hover{transform:none}}.stat-card-icon,[class*=card] svg:not(.budgease-logo svg),[class*=heading],[class*=stat] svg,[class*=title],h1,h2,h3,h4,h5,h6{color:#0a2540!important;color:var(--color-navy)!important}[class*=card],[class*=stat]{border-radius:.75rem!important;border-radius:var(--radius-lg)!important}.form-input,.form-select,.form-textarea{background-color:#fff;background-color:var(--color-white);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);min-height:42px;padding:10px 12px;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.filter-bar{background-color:#fff;background-color:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);margin-bottom:2rem;margin-bottom:var(--space-6);padding:1rem;padding:var(--space-4)}.text-yellow{color:#fcd34d;color:var(--color-yellow)}.text-orange{color:#fb923c;color:var(--color-orange)}.text-red{color:#ef4444;color:var(--color-red)}.text-green{color:#059669;color:var(--color-green)}.filter-bar-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-1);min-width:200px}.filter-group-label{color:#64748b;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.share-section{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-gray-200);margin-top:3rem;margin-top:var(--space-8);padding-top:2rem;padding-top:var(--space-6)}.share-button-container{display:flex;justify-content:center;position:relative}.share-button{align-items:center;background:#06b6d4;background:var(--color-turquoise);border:none;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #0a254014;box-shadow:var(--shadow-md);color:#fff;color:var(--color-white);cursor:pointer;display:inline-flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);gap:.75rem;gap:var(--space-3);justify-content:center;min-width:280px;padding:1rem 3rem;padding:var(--space-4) var(--space-8);transition:all .2s ease}.share-button:hover:not(:disabled){background:#0891b2;box-shadow:0 4px 16px #0a25401f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.share-button:disabled{cursor:not-allowed;opacity:.6}.share-button-icon{height:20px;width:20px}.share-dropdown{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);bottom:calc(100% + 12px);box-shadow:0 8px 32px #0a254029;box-shadow:var(--shadow-xl);left:50%;position:absolute;transform:translateX(-50%);width:420px;z-index:100}.share-dropdown-content{padding:1.5rem;padding:var(--space-5)}.share-dropdown-title{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:1rem;margin-bottom:var(--space-4)}.share-url-container{display:flex;gap:.5rem;gap:var(--space-2);margin-bottom:.75rem;margin-bottom:var(--space-3)}.share-url-input{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);color:#475569;color:var(--color-gray-600);flex:1 1;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.75rem;font-size:var(--font-size-xs);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.share-copy-button{background:#059669;background:var(--color-green);border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#fff;color:var(--color-white);cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);transition:background .2s ease;white-space:nowrap}.share-copy-button:hover{background:#047857}.share-copied-message{color:#059669;color:var(--color-green);font-size:.875rem;font-size:var(--font-size-sm)}.share-copied-message,.share-expiry{margin-bottom:.75rem;margin-bottom:var(--space-3)}.share-expiry{color:#64748b;color:var(--color-gray-500)}.share-close-button,.share-expiry{font-size:.75rem;font-size:var(--font-size-xs)}.share-close-button{background:none;border:none;color:#94a3b8;color:var(--color-gray-400);cursor:pointer;padding:0}.share-close-button:hover{color:#475569;color:var(--color-gray-600)}@media (max-width:768px){.share-button{min-width:auto;width:100%}.share-dropdown{left:16px;right:16px;transform:none;width:calc(100vw - 32px)}}.page-header{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);margin-bottom:2rem;margin-bottom:var(--space-6);padding:2rem;padding:var(--space-6)}.page-header-content{margin-bottom:1.5rem;margin-bottom:var(--space-5)}.page-title{color:#0a2540;color:var(--color-navy);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 .5rem;margin:0 0 var(--space-2) 0}.page-subtitle,.page-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary)}.page-subtitle{color:#64748b;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.75;line-height:var(--line-height-relaxed);margin:0}.page-title-simple{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 1.5rem;margin:0 0 var(--space-5) 0}.page-filters{flex-direction:column}.filter-row,.page-filters{display:flex;gap:1rem;gap:var(--space-4)}.filter-row{align-items:center;flex-wrap:wrap}.filter-checkbox{align-items:center;color:#334155;color:var(--color-gray-700);cursor:pointer;display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);gap:.5rem;gap:var(--space-2)}.filter-checkbox input[type=checkbox]{accent-color:#06b6d4;accent-color:var(--color-turquoise);border:2px solid #d1d5db;border:2px solid var(--color-gray-300);border-radius:.25rem;border-radius:var(--radius-sm);cursor:pointer;height:18px;width:18px}.filter-search{flex:1 1;min-width:200px}.search-input{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s ease;width:100%}.search-input:focus{border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.search-input::placeholder{color:#94a3b8;color:var(--color-gray-400)}.data-card{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);overflow:hidden;padding:1.5rem;padding:var(--space-5)}@media (max-width:768px){.page-header{padding:1rem;padding:var(--space-4)}.filter-row{align-items:stretch;flex-direction:column}.dashboard-filter-item{width:100%}.filter-search{min-width:100%}}.budget-progress-cell{display:flex;flex-direction:column;gap:6px;min-width:180px}.budget-progress-bar{align-items:center;display:flex;gap:.75rem;gap:var(--space-3)}.budget-progress-bar .progress-bar-container{background:#f3f4f6;background:var(--color-gray-100);border-radius:9999px;border-radius:var(--radius-full);flex:1 1;height:10px;overflow:hidden}.budget-progress-bar .progress-fill{border-radius:9999px;border-radius:var(--radius-full);height:100%;transition:width .3s ease}.budget-progress-percent{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.875rem;font-size:var(--font-size-sm);font-weight:700;font-weight:var(--font-weight-bold);min-width:45px;text-align:right}.budget-progress-percent--nominal{color:#06b6d4;color:var(--color-turquoise)}.budget-progress-percent--vigilance{color:#fcd34d;color:var(--color-yellow)}.budget-progress-percent--alerte{color:#fb923c;color:var(--color-orange)}.budget-progress-percent--critique{color:#ef4444;color:var(--color-red)}.budget-progress-amounts{align-items:center;display:flex;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.75rem;font-size:var(--font-size-xs);gap:4px}.budget-progress-spent{color:#0a2540;color:var(--color-navy);font-weight:600;font-weight:var(--font-weight-semibold)}.budget-progress-separator{color:#94a3b8;color:var(--color-gray-400)}.budget-progress-total{color:#64748b;color:var(--color-gray-500)}.budget-progress-remaining{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium)}.budget-progress-remaining--nominal{color:#06b6d4;color:var(--color-turquoise)}.budget-progress-remaining--vigilance{color:#fcd34d;color:var(--color-yellow)}.budget-progress-remaining--alerte{color:#fb923c;color:var(--color-orange)}.budget-progress-remaining--critique{color:#ef4444;color:var(--color-red)}.currency-display{font-feature-settings:"tnum";font-family:IBM Plex Mono,Courier New,monospace!important;font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.page-title-sub{color:#64748b;color:var(--color-gray-500);font-size:1rem;font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);gap:.5rem;gap:var(--space-2);justify-content:center;padding:.75rem 1.5rem;padding:var(--space-3) var(--space-5);text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{background:#06b6d4;background:var(--color-turquoise);color:#fff;color:var(--color-white)}.btn--primary:hover:not(:disabled){background:#0891b2}.btn--secondary{background:#fff;background:var(--color-white);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);color:#0a2540;color:var(--color-navy)}.btn--secondary:hover:not(:disabled){background:#f9fafb;background:var(--color-gray-50);border-color:#06b6d4;border-color:var(--color-turquoise)}.btn--success{background:#059669;background:var(--color-green);color:#fff;color:var(--color-white)}.btn--success:hover:not(:disabled){background:#047857}.btn--danger{background:#ef4444;background:var(--color-red);color:#fff;color:var(--color-white)}.btn--danger:hover:not(:disabled){background:#dc2626}.btn--sm{font-size:.75rem;font-size:var(--font-size-xs);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.btn--lg{font-size:1rem;font-size:var(--font-size-base);padding:1rem 2rem;padding:var(--space-4) var(--space-6)}.btn--icon{min-height:36px;min-width:36px;padding:.5rem;padding:var(--space-2)}.btn-icon{height:20px;width:20px}.button-group{display:flex;flex-wrap:wrap;gap:.75rem;gap:var(--space-3)}.form-input{background:#fff;background:var(--color-white);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s ease}.form-input:focus{border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a}.form-input::placeholder{color:#94a3b8;color:var(--color-gray-400)}.form-input:disabled{background:#f3f4f6;background:var(--color-gray-100)}.form-label{color:#334155;color:var(--color-gray-700);display:block;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:.5rem;margin-bottom:var(--space-2)}.form-hint{color:#64748b;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs);margin-top:.25rem;margin-top:var(--space-1)}.form-group{margin-bottom:1rem;margin-bottom:var(--space-4)}.form-row{align-items:flex-end;display:flex;gap:1rem}.section-title{color:#0a2540;color:var(--color-navy);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 .5rem;margin:0 0 var(--space-2) 0}.section-description,.section-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary)}.section-description{color:#64748b;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);margin:0 0 1rem;margin:0 0 var(--space-4) 0}.import-steps{display:flex;flex-direction:column;gap:1rem;gap:var(--space-4)}.import-step{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);padding:1rem;padding:var(--space-4)}.import-step--highlight{background:#06b6d40d;border-color:#06b6d4;border-color:var(--color-turquoise)}.import-step--warning{background:#fcd34d1a;border-color:#fcd34d;border-color:var(--color-yellow)}.import-step-title{color:#0a2540;color:var(--color-navy);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 .5rem;margin:0 0 var(--space-2) 0}.import-step-desc,.import-step-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm)}.import-step-desc{color:#475569;color:var(--color-gray-600);margin:0 0 .75rem;margin:0 0 var(--space-3) 0}.import-instructions{list-style:none;margin:0;padding:0}.import-instructions li{color:#334155;color:var(--color-gray-700);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);padding:.25rem 0;padding:var(--space-1) 0;padding-left:1rem;padding-left:var(--space-4);position:relative}.import-instructions li:before{color:#06b6d4;color:var(--color-turquoise);content:"•";left:0;position:absolute}.file-input{color:#475569;color:var(--color-gray-600);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);width:100%}.file-input::-webkit-file-upload-button{background:#06b6d41a;border:1px solid #06b6d4;border:1px solid var(--color-turquoise);border-radius:.5rem;border-radius:var(--radius-md);color:#06b6d4;color:var(--color-turquoise);cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-right:.75rem;margin-right:var(--space-3);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);-webkit-transition:all .2s ease;transition:all .2s ease}.file-input::file-selector-button{background:#06b6d41a;border:1px solid #06b6d4;border:1px solid var(--color-turquoise);border-radius:.5rem;border-radius:var(--radius-md);color:#06b6d4;color:var(--color-turquoise);cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-right:.75rem;margin-right:var(--space-3);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);transition:all .2s ease}.file-input::-webkit-file-upload-button:hover{background:#06b6d433}.file-input::file-selector-button:hover{background:#06b6d433}.settings-field{margin-bottom:1.5rem;margin-bottom:var(--space-5)}.settings-value{align-items:center;display:flex;gap:.75rem;gap:var(--space-3)}.settings-display{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;border-radius:var(--radius-md);color:#0a2540;color:var(--color-navy);flex:1 1;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);padding:.75rem;padding:var(--space-3)}.admin-table-actions{display:flex;gap:.5rem;gap:var(--space-2)}.admin-list{gap:.5rem}.admin-list-item{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.5rem;padding:.75rem 1rem;transition:all .2s ease}.admin-list-item:hover{background:#fff;background:var(--color-white);border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 1px 2px #0a25400d}.admin-list-content{flex-wrap:wrap;gap:.75rem;gap:var(--space-3)}.admin-list-name{color:#0a2540;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-weight:500}.admin-list-name--inactive{color:#94a3b8}.admin-list-desc{color:#64748b;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem}.readonly-indicator{font-size:.875rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.filter-lock-icon,.readonly-indicator{color:#06b6d4;color:var(--color-turquoise)}.filter-lock-icon{margin-left:.5rem;margin-left:var(--space-2)}.readonly-badge{align-items:center;background:#06b6d41a;border-radius:9999px;border-radius:var(--radius-full);color:#06b6d4;color:var(--color-turquoise);display:inline-flex;font-weight:500;font-weight:var(--font-weight-medium);gap:.5rem;gap:var(--space-2);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.readonly-badge,.readonly-filter-info{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);white-space:nowrap}.readonly-filter-info{color:#475569;color:var(--color-gray-600)}.page-direction-title{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.875rem;font-size:var(--font-size-3xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:1rem;margin-bottom:var(--space-4);margin-top:.5rem;margin-top:var(--space-2);text-align:center}.header-user-info--readonly{align-items:center;display:flex;flex:1 1;gap:1rem;gap:var(--space-4);margin-left:1rem;margin-left:var(--space-4)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4)}.loading-container,.shared-view-page{background:#fafaf9;background:var(--color-bg-sand);min-height:100vh}.loading-container{align-items:center;display:flex;justify-content:center}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#06b6d4;border:3px solid var(--color-gray-200);border-top-color:var(--color-turquoise);height:48px;width:48px}.loading-text{color:#475569;color:var(--color-gray-600);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--font-size-base);margin-top:1rem;margin-top:var(--space-4)}.error-container{align-items:center;background:#fafaf9;background:var(--color-bg-sand);display:flex;justify-content:center;min-height:100vh}.error-box{background:#ef44440d;border:1px solid #ef4444;border:1px solid var(--color-red);border-radius:.75rem;border-radius:var(--radius-lg);max-width:400px;padding:1.5rem;padding:var(--space-5);text-align:center}.error-icon{height:48px;margin:0 auto .75rem;margin:0 auto var(--space-3);width:48px}.error-icon,.error-title{color:#ef4444;color:var(--color-red)}.error-title{font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:.5rem;margin-bottom:var(--space-2)}.error-message,.error-title{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary)}.error-message{color:#334155;color:var(--color-gray-700);font-size:.875rem;font-size:var(--font-size-sm)}.shared-main-content{margin:0 auto;max-width:1400px;padding:2rem;padding:var(--space-6)}@media (max-width:768px){.shared-main-content{padding:1rem;padding:var(--space-4)}}.shared-section-header{display:flex;flex-direction:column;gap:.5rem;gap:var(--space-2);margin-bottom:2rem;margin-bottom:var(--space-6)}@media (min-width:640px){.shared-section-header{align-items:center;flex-direction:row;justify-content:space-between}}.shared-section-title{color:#0a2540;color:var(--color-navy);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.shared-section-subtitle{color:#64748b;color:var(--color-gray-500);margin-top:.25rem;margin-top:var(--space-1)}.shared-info-badge,.shared-section-subtitle{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm)}.shared-info-badge{align-items:center;background:#06b6d41a;border-radius:.5rem;border-radius:var(--radius-md);color:#06b6d4;color:var(--color-turquoise);display:inline-flex;gap:.5rem;gap:var(--space-2);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.shared-filters{align-items:center;background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4);margin-bottom:2rem;margin-bottom:var(--space-6);padding:1rem;padding:var(--space-4)}.shared-filter-group{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-1)}.shared-filter-label{color:#334155;color:var(--color-gray-700);font-weight:500;font-weight:var(--font-weight-medium)}.shared-filter-label,.shared-filter-select{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm)}.shared-filter-select{background:#fff;background:var(--color-white);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#0a2540;color:var(--color-navy);min-width:180px;padding:.5rem .75rem;padding:var(--space-2) var(--space-3);transition:border-color .2s cubic-bezier(.4,0,.2,1);transition:border-color var(--duration-fast) var(--easing)}.shared-filter-select:focus{border-color:#06b6d4;border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.shared-filter-select:disabled{background:#f3f4f6;background:var(--color-gray-100);color:#64748b;color:var(--color-gray-500);cursor:not-allowed}.filter-locked-indicator{align-items:center;color:#06b6d4;color:var(--color-turquoise);display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.75rem;font-size:var(--font-size-xs);gap:.25rem;gap:var(--space-1)}.shared-filter-checkbox{align-items:center;display:flex;gap:.5rem;gap:var(--space-2)}.shared-filter-checkbox input[type=checkbox]{accent-color:#06b6d4;accent-color:var(--color-turquoise);border:2px solid #d1d5db;border:2px solid var(--color-gray-300);border-radius:.25rem;border-radius:var(--radius-sm);cursor:pointer;height:18px;width:18px}.shared-filter-checkbox label{color:#334155;color:var(--color-gray-700)}.shared-export-btn,.shared-filter-checkbox label{cursor:pointer;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium)}.shared-export-btn{align-items:center;background:#059669;background:var(--color-green);border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#fff;color:var(--color-white);display:inline-flex;gap:.5rem;gap:var(--space-2);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--easing)}.shared-export-btn:hover{background:#047857;transform:translateY(-1px)}.shared-export-btn svg{height:16px;width:16px}.shared-table-container{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0a25400d;box-shadow:var(--shadow-sm);overflow:hidden}.action-icon-btn{align-items:center;background:#fff;background:var(--color-white,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--color-gray-200,#e5e7eb);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;transition:all var(--duration-fast,.2s) var(--easing,ease);width:36px}.action-icon-btn svg{height:18px;width:18px}.action-icon-btn:disabled{cursor:not-allowed;opacity:.4}.action-icon-btn:focus{box-shadow:0 0 0 3px #06b6d433;outline:none}.action-icon-btn.edit{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.edit:hover:not(:disabled){background:#06b6d4;background:var(--color-turquoise,#06b6d4);border-color:#06b6d4;border-color:var(--color-turquoise,#06b6d4)}.action-icon-btn.edit:hover:not(:disabled) svg,.action-icon-btn.edit:hover:not(:disabled) svg *{stroke:#fff!important;color:#fff!important}.action-icon-btn.lock,.action-icon-btn.reset{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.lock:hover:not(:disabled),.action-icon-btn.reset:hover:not(:disabled){background:#0a2540;background:var(--color-navy,#0a2540);border-color:#0a2540;border-color:var(--color-navy,#0a2540)}.action-icon-btn.lock:hover:not(:disabled) svg,.action-icon-btn.lock:hover:not(:disabled) svg *,.action-icon-btn.reset:hover:not(:disabled) svg,.action-icon-btn.reset:hover:not(:disabled) svg *{stroke:#fff!important;color:#fff!important}.action-icon-btn.toggle{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.toggle:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b}.action-icon-btn.toggle.activate:hover:not(:disabled){background:#dcfce7;border-color:#10b981;border-color:var(--color-green,#10b981)}.action-icon-btn.delete{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.delete:hover:not(:disabled){background:#fee2e2;border-color:#ef4444;border-color:var(--color-red,#ef4444)}.action-icon-btn.view{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.view:hover:not(:disabled){background:#e0f2fe;border-color:#0ea5e9}.action-icon-btn.download{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.download:hover:not(:disabled){background:#dcfce7;border-color:#10b981;border-color:var(--color-green,#10b981)}.action-icon-btn.share{border-color:#e5e7eb;border-color:var(--color-gray-200,#e5e7eb)}.action-icon-btn.share:hover:not(:disabled){background:#ede9fe;border-color:#7c3aed}.action-buttons,.actions-cell,.table-actions{display:flex;flex-wrap:nowrap;gap:8px;gap:var(--space-2,8px)}.budget-action-btn{align-items:center;background:#fff;background:var(--color-white,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--color-gray-200,#e5e7eb);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;transition:all var(--duration-fast,.2s) var(--easing,ease);width:32px}.budget-action-btn.edit-btn:hover,.budget-action-btn:hover{border-color:#06b6d4;border-color:var(--color-turquoise,#06b6d4)}.budget-action-btn.edit-btn:hover{background:#06b6d4;background:var(--color-turquoise,#06b6d4);color:#fff}.budget-action-btn.delete-btn:hover{background:#fee2e2;border-color:#ef4444;border-color:var(--color-red,#ef4444)}.admin-card-header{align-items:center;border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.admin-card-title{align-items:center;display:flex;gap:var(--space-3)}.admin-card-title svg{color:var(--color-turquoise)}.admin-card-title h3{color:var(--color-navy);font-size:var(--font-size-lg);margin:0}.admin-card-count,.admin-card-title h3{font-weight:var(--font-weight-semibold)}.admin-card-count{align-items:center;background:var(--color-gray-100);border-radius:var(--radius-full);color:var(--color-gray-600);display:inline-flex;font-family:var(--font-mono);font-size:var(--font-size-xs);height:24px;justify-content:center;min-width:24px;padding:0 8px}.admin-settings-card{background:linear-gradient(135deg,var(--color-white) 0,#f8fafc 100%)}.admin-settings-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,1fr)}.admin-setting-item{display:flex;flex-direction:column;gap:var(--space-2)}.admin-setting-label{align-items:center;color:var(--color-gray-600);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2)}.admin-setting-label svg{color:var(--color-navy)}.admin-setting-display,.admin-setting-value{align-items:center;display:flex}.admin-setting-display{gap:var(--space-3)}.admin-setting-text{color:var(--color-navy);font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-setting-edit{align-items:center;display:flex;gap:var(--space-2)}.admin-setting-input{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-navy);font-family:var(--font-primary);font-size:var(--font-size-base);min-width:200px;padding:var(--space-2) var(--space-3);transition:all var(--duration-fast) var(--easing)}.admin-setting-input:focus{border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.admin-setting-input--number{min-width:80px;text-align:center;width:80px}.admin-setting-unit{color:var(--color-gray-500);font-size:var(--font-size-sm);margin-left:var(--space-1)}.admin-setting-hint{color:var(--color-gray-400);font-size:var(--font-size-xs);margin:0}.admin-add-form{background:var(--color-gray-50);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4)}.admin-add-form--multi{flex-wrap:wrap}.admin-add-input{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-navy);flex:1 1;font-family:var(--font-primary);font-size:var(--font-size-sm);min-width:200px;padding:var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--easing)}.admin-add-input:focus{border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.admin-add-input::placeholder{color:var(--color-gray-400)}.admin-add-input--secondary{flex:1.5 1}.admin-add-btn{align-items:center;background:var(--color-turquoise);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all var(--duration-fast) var(--easing);white-space:nowrap}.admin-add-btn:hover{background:#0891b2;transform:translateY(-1px)}.admin-add-btn:active{transform:translateY(0)}.admin-list{display:flex;flex-direction:column;gap:var(--space-2)}.admin-list-item{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--easing)}.admin-list-item:hover{border-color:var(--color-gray-200);box-shadow:var(--shadow-sm)}.admin-list-content{align-items:center;display:flex;flex:1 1;gap:var(--space-4)}.admin-list-name{color:var(--color-navy);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.admin-list-name--inactive{color:var(--color-gray-400);text-decoration:line-through}.admin-list-desc{background:var(--color-gray-50);border-radius:var(--radius-sm);color:var(--color-gray-500);font-size:var(--font-size-xs);padding:2px 8px}.admin-list-actions{display:flex;gap:var(--space-2)}.admin-list-empty{align-items:center;color:var(--color-gray-400);display:flex;flex-direction:column;justify-content:center;padding:var(--space-8);text-align:center}.admin-list-empty svg{margin-bottom:var(--space-3);opacity:.5}.admin-list-empty p{font-size:var(--font-size-sm);margin:0}.admin-inline-input{background:var(--color-white);border:1.5px solid var(--color-turquoise);border-radius:var(--radius-md);color:var(--color-navy);font-family:var(--font-primary);font-size:var(--font-size-sm);min-width:150px;padding:var(--space-2) var(--space-3)}.admin-inline-input:focus{box-shadow:0 0 0 3px #06b6d41a;outline:none}.admin-inline-input--desc{color:var(--color-gray-600);min-width:200px}.admin-checkbox{align-items:center;color:var(--color-gray-600);cursor:pointer;display:flex;font-size:var(--font-size-xs);gap:var(--space-2)}.admin-checkbox input[type=checkbox]{accent-color:var(--color-turquoise);cursor:pointer;height:16px;width:16px}@media (max-width:768px){.admin-settings-grid{grid-template-columns:1fr}.admin-add-form{flex-direction:column}.admin-add-input{min-width:100%}.admin-list-content{flex-wrap:wrap;gap:var(--space-2)}.admin-list-item{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.admin-list-actions{justify-content:flex-end;width:100%}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
 */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.right-4{right:1rem}.top-20{top:5rem}.top-4{top:1rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-\[32rem\]{width:32rem}.w-\[48rem\]{width:48rem}.w-full{width:100%}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:#fb923c;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:#f87171;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:#ca8a04;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.p-0\.5{padding:.125rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:#9a3412;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity,1))}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-colors{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:#bfdbfe;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:#a16207;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:rounded-lg{border-radius:.5rem}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}.budgease-logo{border:none!important;display:block;outline:none!important}.budgease-logo,.logo-icon{background:none!important;border-radius:0!important;box-shadow:none!important}.logo-icon{border:none!important;height:auto!important;width:auto!important}.logo-icon:before{display:none!important}.mfa-verification-container{align-items:center;background:linear-gradient(135deg,#0a2540,#1e3a5f);background:linear-gradient(135deg,var(--color-navy,#0a2540) 0,#1e3a5f 100%);bottom:0;display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.mfa-verification-card{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%}.mfa-header{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);padding:40px 32px 32px;text-align:center}.mfa-icon{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);background:linear-gradient(135deg,var(--color-turquoise,#06b6d4) 0,#0891b2 100%);border-radius:50%;box-shadow:0 8px 24px #06b6d44d;display:flex;font-size:36px;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.mfa-header h2{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.mfa-subtitle{color:#475569;color:var(--color-gray-600,#475569);font-size:14px;line-height:1.6;margin:0}.mfa-subtitle strong{color:#0a2540;color:var(--color-navy,#0a2540);font-weight:600}.mfa-body{padding:32px}.mfa-instruction{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:14px;font-weight:500;margin:0 0 20px;text-align:center}.mfa-code-inputs{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.mfa-code-input{font-weight:600;height:64px;transition:all .2s;width:56px}.mfa-code-input.error{background:#fef2f2;border-color:#ef4444;border-color:var(--color-red,#ef4444)}.mfa-code-input:disabled{cursor:not-allowed;opacity:.5}.mfa-error{animation:shake .3s}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.mfa-error-icon{font-size:16px}.mfa-loading{animation:pulse 1.5s infinite;color:#475569;color:var(--color-gray-600,#475569);font-size:14px;margin-bottom:20px;text-align:center}.mfa-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.btn-verify{background:#0a2540;background:var(--color-navy,#0a2540);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Sora,sans-serif;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s ease;width:100%}.btn-verify:hover:not(:disabled){background:#0f3460;box-shadow:0 8px 20px #0a25404d;transform:translateY(-2px)}.btn-verify:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-cancel{background:#0000;border:1px solid #d1d5db;border:1px solid var(--color-gray-300,#d1d5db);border-radius:10px;color:#475569;color:var(--color-gray-600,#475569);cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;width:100%}.btn-cancel:hover:not(:disabled){background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-color:#94a3b8;border-color:var(--color-gray-400,#94a3b8)}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.mfa-help{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-gray-200,#e5e7eb);padding-top:20px;text-align:center}.mfa-help p{color:#475569;color:var(--color-gray-600,#475569);font-size:13px;margin:0 0 8px}.mfa-help-text{color:#64748b!important;color:var(--color-gray-500,#64748b)!important;font-size:12px!important}@media (max-width:768px){.mfa-verification-card{max-width:100%}.mfa-header{padding:32px 24px 24px}.mfa-body{padding:24px}.mfa-code-inputs{gap:8px}.mfa-code-input{font-size:20px;height:56px;width:48px}}.mfa-setup-container{align-items:center;background:linear-gradient(135deg,#0a2540,#1e3a5f);background:linear-gradient(135deg,var(--color-navy,#0a2540) 0,#1e3a5f 100%);bottom:0;display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.mfa-setup-card{animation:mfaSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:480px;overflow:hidden;width:100%}@keyframes mfaSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mfa-setup-header{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);padding:40px 32px 32px;text-align:center}.mfa-setup-icon-wrapper{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);background:linear-gradient(135deg,var(--color-turquoise,#06b6d4) 0,#0891b2 100%);border-radius:50%;box-shadow:0 8px 24px #06b6d44d;display:flex;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.mfa-setup-icon-wrapper svg{color:#fff}.mfa-setup-header h2{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.mfa-setup-subtitle{color:#475569;color:var(--color-gray-600,#475569);font-size:14px;line-height:1.6;margin:0}.mfa-setup-body{padding:32px}.mfa-info-box{background:linear-gradient(135deg,#f0fdfa,#e0f7fa);border:1px solid #06b6d4;border:1px solid var(--color-turquoise,#06b6d4);border-radius:12px;margin-bottom:24px;padding:20px}.mfa-info-box h3{align-items:center;color:#0a2540;color:var(--color-navy,#0a2540);display:flex;font-family:Sora,sans-serif;font-size:15px;font-weight:600;gap:8px;margin:0 0 8px}.mfa-info-box p{color:#475569;color:var(--color-gray-600,#475569);font-size:13px;line-height:1.6;margin:0}.mfa-steps-list{margin:0 0 24px}.mfa-steps-list h4{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:14px;font-weight:600;margin:0 0 16px}.mfa-step-item{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.mfa-step-number{align-items:center;background:#0a2540;background:var(--color-navy,#0a2540);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.mfa-step-text{color:#475569;color:var(--color-gray-600,#475569);font-size:13px;line-height:1.5;padding-top:2px}.mfa-code-sent{align-items:center;background:#f0fdf4;border:1px solid #059669;border:1px solid var(--color-green,#059669);border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.mfa-code-sent-icon{align-items:center;background:#059669;background:var(--color-green,#059669);border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mfa-code-sent-icon svg{color:#fff}.mfa-code-sent-text{color:#166534;font-size:13px;line-height:1.5}.mfa-code-sent-text strong{color:#0a2540;color:var(--color-navy,#0a2540)}.mfa-dev-code{background:#fffbeb;border:2px dashed #fcd34d;border:2px dashed var(--color-yellow,#fcd34d);border-radius:8px;color:#92400e;font-size:13px;margin-bottom:20px;padding:12px 16px;text-align:center}.mfa-dev-code strong{color:#0a2540;color:var(--color-navy,#0a2540);font-family:IBM Plex Mono,monospace;font-size:20px;letter-spacing:6px}.mfa-code-form,.mfa-code-label{margin-bottom:8px}.mfa-code-label{color:#0a2540;color:var(--color-navy,#0a2540);display:block;font-family:Sora,sans-serif;font-size:14px;font-weight:500}.mfa-code-input-wrapper{position:relative}.mfa-code-input{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:2px solid #d1d5db;border:2px solid var(--color-gray-300,#d1d5db);border-radius:12px;color:#0a2540;color:var(--color-navy,#0a2540);font-family:IBM Plex Mono,monospace;font-size:24px;letter-spacing:12px;padding:16px 20px;text-align:center;transition:all .2s ease;width:100%}.mfa-code-input:focus{background:#fff;border-color:#06b6d4;border-color:var(--color-turquoise,#06b6d4);box-shadow:0 0 0 4px #06b6d426;outline:none}.mfa-code-input::placeholder{color:#94a3b8;color:var(--color-gray-400,#94a3b8);letter-spacing:12px}.mfa-error{align-items:center;animation:mfaShake .3s;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;color:var(--color-red,#ef4444);display:flex;font-size:14px;gap:8px;justify-content:center;margin-bottom:20px;padding:12px 16px}@keyframes mfaShake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.mfa-setup-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.mfa-btn-primary{align-items:center;background:#0a2540;background:var(--color-navy,#0a2540);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.mfa-btn-primary:hover:not(:disabled){background:#0f3460;box-shadow:0 8px 20px #0a25404d;transform:translateY(-2px)}.mfa-btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.mfa-btn-secondary{background:#0000;border:1px solid #d1d5db;border:1px solid var(--color-gray-300,#d1d5db);border-radius:10px;color:#475569;color:var(--color-gray-600,#475569);cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;width:100%}.mfa-btn-secondary:hover:not(:disabled){background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-color:#94a3b8;border-color:var(--color-gray-400,#94a3b8)}.mfa-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.mfa-btn-link{background:none;border:none;color:#06b6d4;color:var(--color-turquoise,#06b6d4);cursor:pointer;font-family:Sora,sans-serif;font-size:13px;font-weight:500;padding:8px;transition:color .2s ease}.mfa-btn-link:hover:not(:disabled){color:#0891b2;text-decoration:underline}.mfa-btn-link:disabled{cursor:not-allowed;opacity:.5}.mfa-setup-footer{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--color-gray-200,#e5e7eb);padding:16px 32px}.mfa-setup-footer p{align-items:center;color:#64748b;color:var(--color-gray-500,#64748b);display:flex;font-size:12px;gap:8px;justify-content:center;margin:0}.mfa-setup-footer svg{color:#94a3b8;color:var(--color-gray-400,#94a3b8);flex-shrink:0}.mfa-spinner{animation:mfaSpin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes mfaSpin{to{transform:rotate(1turn)}}@media (max-width:480px){.mfa-setup-container{align-items:flex-start;padding:0}.mfa-setup-card{border-radius:0;max-width:100%;min-height:100vh}.mfa-setup-header{padding:32px 24px 24px}.mfa-setup-body{padding:24px}.mfa-setup-footer{padding:16px 24px}.mfa-code-input{font-size:20px;letter-spacing:8px;padding:14px 16px}}.login-page{--login-bg-primary:#fff;--login-bg-secondary:#f8fafc;--login-bg-accent:#e2e8f0;--login-text-primary:#1e293b;--login-text-secondary:#475569;--login-text-muted:#94a3b8;--login-border:#e2e8f0;--login-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;--login-gradient:linear-gradient(135deg,#667eea,#764ba2);--login-primary:#3b82f6;--login-primary-hover:#2563eb;--login-success:#10b981;--login-error:#ef4444;--login-warning:#f59e0b}.login-page.dark{--login-bg-primary:#0f172a;--login-bg-secondary:#1e293b;--login-bg-accent:#334155;--login-text-primary:#f1f5f9;--login-text-secondary:#cbd5e1;--login-text-muted:#64748b;--login-border:#334155;--login-shadow:0 25px 50px -12px #00000080;--login-gradient:linear-gradient(135deg,#667eea,#764ba2);--login-primary:#3b82f6;--login-primary-hover:#60a5fa;--login-success:#34d399;--login-error:#f87171;--login-warning:#fbbf24}.login-page{background:var(--login-bg-primary);color:var(--login-text-primary);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-x:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.login-background{z-index:-1}.login-background,.login-background__grid{height:100%;left:0;position:absolute;top:0;width:100%}.login-background__grid{animation:float 20s ease-in-out infinite;background-image:radial-gradient(circle at 2px 2px,var(--login-text-muted) 1px,#0000 0);background-size:50px 50px;opacity:.1}.login-background__gradient{animation:float-reverse 25s ease-in-out infinite;background:var(--login-gradient);border-radius:50%;filter:blur(80px);height:120%;opacity:.1;position:absolute;right:-20%;top:-50%;width:80%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(1deg)}}@keyframes float-reverse{0%,to{transform:translateX(0) translateY(0) rotate(0deg)}33%{transform:translateX(-30px) translateY(-30px) rotate(1deg)}66%{transform:translateX(20px) translateY(-20px) rotate(-1deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.login-container{display:flex;min-height:100vh;position:relative;z-index:1}.login-visual{background:var(--login-bg-secondary);display:none;overflow:hidden;position:relative}.login-visual__content{animation:slideInLeft .8s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;max-width:480px;padding:2.5rem 2rem}.login-visual__logo-section{margin-bottom:2rem;text-align:center}.login-visual__subtitle{color:var(--login-text-secondary);font-size:1rem;line-height:1.5;margin:1rem 0 0}.login-visual__features{display:flex;flex-direction:column;gap:1rem}.feature-item{align-items:flex-start;background:var(--login-bg-primary);border:1px solid var(--login-border);border-radius:12px;display:flex;gap:.75rem;padding:1rem;transition:all .3s ease}.feature-item:hover{box-shadow:var(--login-shadow);transform:translateY(-2px)}.feature-icon{align-items:center;background:var(--login-bg-accent);border-radius:10px;display:flex;flex-shrink:0;font-size:1.5rem;height:2.5rem;justify-content:center;min-width:2.5rem}.feature-item h3{color:var(--login-text-primary);font-size:1rem;font-weight:600;margin:0 0 .25rem}.feature-item p{color:var(--login-text-secondary);font-size:.8125rem;line-height:1.4;margin:0}.feature-text{flex:1 1;min-width:0}.login-form-panel{display:flex;flex:1 1;flex-direction:column;min-height:100vh;padding:1rem;position:relative}.theme-toggle{align-items:center;background:var(--login-bg-secondary);border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--login-text-primary);cursor:pointer;display:flex;font-size:1.25rem;height:48px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:all .3s ease;width:48px;z-index:10}.theme-toggle:hover{box-shadow:var(--login-shadow);transform:scale(1.1)}.welcome-banner{animation:slideInUp .6s cubic-bezier(.4,0,.2,1);margin:1rem 0}.welcome-banner__content{align-items:center;background:linear-gradient(45deg,var(--login-success),#34d399);border-radius:16px;box-shadow:var(--login-shadow);color:#fff;display:flex;gap:1rem;padding:1rem 1.5rem;position:relative}.welcome-banner__icon{font-size:1.5rem;min-width:2rem}.welcome-banner h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.welcome-banner p{font-size:.875rem;margin:0;opacity:.9}.welcome-banner__close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.25rem;opacity:.7;position:absolute;right:1rem;top:.75rem;transition:opacity .2s ease}.welcome-banner__close:hover{opacity:1}.login-form-container{animation:slideInUp .8s cubic-bezier(.4,0,.2,1);display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:400px;width:100%}.login-form-header{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem;text-align:center}.login-form-logo{margin-bottom:.5rem}.login-form-title{color:var(--login-text-primary);font-family:Sora,sans-serif;font-size:1.875rem;font-weight:700;margin:0}.login-form-subtitle{color:var(--login-text-secondary);font-family:Sora,sans-serif;font-size:1rem;margin:0}.error-message{animation:slideInUp .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(45deg,var(--login-error),#f87171);border-radius:16px;box-shadow:var(--login-shadow);color:#fff;margin-bottom:1.5rem;padding:1rem 1.5rem}.error-message__content{align-items:flex-start;display:flex;gap:1rem}.error-message__icon{font-size:1.25rem;margin-top:.125rem;min-width:1.5rem}.error-message strong{display:block;font-weight:600;margin-bottom:.25rem}.error-message p{font-size:.875rem;margin:0;opacity:.9}.error-message__actions{border-top:1px solid #fff3;margin-top:1rem;padding-top:1rem}.error-action-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.error-action-btn:hover{background:#ffffff4d}.expiration-message{background:linear-gradient(45deg,var(--login-warning),#fbbf24);border-radius:16px;box-shadow:var(--login-shadow);color:#fff;margin-bottom:1.5rem;padding:1rem 1.5rem}.expiration-message__content{align-items:flex-start;display:flex;gap:1rem}.expiration-message__icon{font-size:1.25rem;margin-top:.125rem;min-width:1.5rem}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{color:var(--login-text-primary);font-family:Sora,sans-serif;font-size:.875rem;font-weight:600}.form-input-container{align-items:center;display:flex;position:relative}.form-input{background:var(--login-bg-primary);border:2px solid var(--login-border);border-radius:12px;box-sizing:border-box;color:var(--login-text-primary);font-family:Sora,sans-serif;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:var(--login-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.6}.form-input-icon{color:var(--login-text-muted);font-size:1.125rem;pointer-events:none;position:absolute;right:1rem}.form-input:focus~.form-input-icon{color:var(--login-primary)}.form-options{align-items:center;display:flex;justify-content:space-between;margin:.5rem 0}.checkbox-container{align-items:center;color:var(--login-text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-container input[type=checkbox]{display:none}.checkbox-custom{background:var(--login-bg-primary);border:2px solid var(--login-border);border-radius:4px;height:18px;position:relative;transition:all .2s ease;width:18px}.checkbox-container input[type=checkbox]:checked+.checkbox-custom{background:var(--login-primary);border-color:var(--login-primary)}.checkbox-container input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:.75rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.forgot-password-btn{background:none;border:none;color:var(--login-primary);cursor:pointer;font-size:.875rem;text-decoration:none;transition:color .2s ease}.forgot-password-btn:hover{color:var(--login-primary-hover);text-decoration:underline}.login-submit-btn{align-items:center;background:var(--login-gradient);border:none;border-radius:12px;box-shadow:var(--login-shadow);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.login-submit-btn:hover:not(:disabled){box-shadow:0 20px 40px -12px #3b82f666;transform:translateY(-2px)}.login-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.submit-arrow{transition:transform .2s ease}.login-submit-btn:hover:not(:disabled) .submit-arrow{transform:translateX(4px)}.forgot-password-info{align-items:flex-start;background:var(--login-bg-secondary);border:1px solid var(--login-border);border-radius:16px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.info-icon{color:var(--login-primary);font-size:1.5rem;min-width:2rem}.forgot-password-info h4{color:var(--login-text-primary);font-size:1rem;font-weight:600;margin:0 0 .5rem}.forgot-password-info p{color:var(--login-text-secondary);font-size:.875rem;line-height:1.5;margin:0}.form-actions{display:flex;gap:1rem;margin-top:1rem}.back-to-login-btn{background:var(--login-bg-secondary);border:2px solid var(--login-border);border-radius:12px;color:var(--login-text-secondary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:1rem;transition:all .3s ease}.back-to-login-btn:hover{border-color:var(--login-primary);color:var(--login-primary)}.forgot-submit-btn{background:var(--login-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:1rem;transition:all .3s ease}.forgot-submit-btn:hover{background:var(--login-primary-hover)}.login-help{border-top:1px solid var(--login-border);margin-top:2rem;padding-top:2rem}.help-section{align-items:flex-start;background:var(--login-bg-secondary);border:1px solid var(--login-border);border-radius:16px;display:flex;gap:1rem;padding:1.5rem}.help-icon{color:var(--login-primary);font-size:1.25rem;margin-top:.125rem;min-width:1.5rem}.help-content{color:var(--login-text-secondary);font-size:.875rem;line-height:1.6}.help-content p{margin:0 0 .75rem}.help-content p:last-child{margin-bottom:0}.help-content strong{color:var(--login-text-primary)}@media (min-width:768px){.login-form-panel{padding:2rem}.login-form-container{max-width:450px}.theme-toggle{right:2rem;top:2rem}.form-actions{flex-direction:row}}@media (min-width:1024px){.login-visual{display:flex;flex:1 1;max-width:600px}.login-form-panel{flex:0 0 600px;padding:3rem}.login-form-container{max-width:500px}.login-visual__features{gap:1.5rem}}@media (min-width:1280px){.login-visual{max-width:700px}.login-form-panel{flex:0 0 700px}}@media (prefers-contrast:high){.login-page{--login-border:#000;--login-shadow:0 4px 6px -1px #0000004d}.form-input:focus{box-shadow:0 0 0 3px #0000004d}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-page button:focus-visible,.login-page input:focus-visible{outline:2px solid var(--login-primary);outline-offset:2px}.header{background:#fff;background:var(--color-surface-primary,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-primary,#e5e7eb);box-shadow:0 1px 3px #0000001a;justify-content:space-between;min-height:72px;padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1000}.header,.header-logo-wrapper{align-items:center;display:flex}.header-logo-wrapper{flex-shrink:0}.header-logo-container{align-items:center;cursor:pointer;display:flex;gap:12px;transition:all .2s ease}.header-logo-container:hover{transform:scale(1.02)}.header-brand-name{color:#0a2540;color:var(--color-text-primary,#0a2540);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0;white-space:nowrap}.header-user-info{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-component-md)}.header-user-info .user-info{align-items:flex-end;display:flex;flex-direction:column;gap:var(--spacing-component-xs)}.header-user-info .user-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.header-user-info .user-role{background:var(--color-bg-secondary);color:var(--color-text-secondary);text-transform:capitalize}.header-user-info .user-current-bu,.header-user-info .user-role{border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);padding:2px 6px}.header-user-info .user-current-bu{background:var(--color-brand-bg-light);border:1px solid var(--color-brand-primary);color:var(--color-brand-primary);opacity:.9}.header-user-badge{background:var(--color-brand-secondary);border-radius:var(--border-radius-base);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);padding:var(--spacing-component-xs) var(--spacing-component-sm);text-transform:uppercase}.header-actions{align-items:center;display:flex;gap:var(--spacing-component-lg);padding-right:0}.header-actions--desktop{display:flex}.header-actions--mobile{align-items:center;display:none;gap:var(--spacing-component-sm);position:relative}.mobile-dashboard-menu-toggle{align-items:center;background:none;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-base);cursor:pointer;display:flex;height:40px;justify-content:center;padding:var(--spacing-component-xs);transition:all .2s ease;width:40px}.mobile-dashboard-menu-toggle:hover{background-color:var(--color-surface-secondary);border-color:var(--color-border-primary)}.hamburger-icon{height:14px;justify-content:space-between}.hamburger-icon span{background-color:var(--color-text-primary);transition:all .2s ease;width:100%}.mobile-dashboard-menu-dropdown{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1000}.mobile-dashboard-menu-overlay{background-color:#00000080;height:100%;left:0;position:absolute;top:0;width:100%}.mobile-dashboard-menu-content{background:#fff;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);min-width:200px;overflow:hidden;position:absolute;right:1rem;top:80px}.mobile-dashboard-menu-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-component-md);padding:var(--spacing-component-lg) var(--spacing-component-xl);transition:all .2s ease;width:100%}.mobile-dashboard-menu-item:last-child{border-bottom:none}.mobile-dashboard-menu-item:hover{background-color:var(--color-surface-secondary)}.mobile-menu-icon{flex-shrink:0;font-size:var(--font-size-lg)}.mobile-menu-text{font-weight:var(--font-weight-medium)}@media (max-width:768px){.header{min-height:56px;padding:var(--spacing-component-md) var(--spacing-component-lg)}.header-logo-wrapper{flex-shrink:0;min-width:auto;overflow:visible}.header-logo-container{gap:var(--spacing-component-sm)}.header-logo{height:32px;width:32px}.header-brand-name,.header-logo{font-size:var(--font-size-base)}.header-actions--desktop{display:none!important}.header-actions--mobile{display:flex;flex-shrink:0;gap:var(--spacing-component-xs)}.header-user-info{display:none}.header-actions--mobile .action-button,.header-actions--mobile .logout-mobile-button{height:36px!important;min-width:36px!important;padding:0!important;width:36px!important}.mobile-dashboard-menu-toggle{height:36px;width:36px}}@media (max-width:480px){.header{gap:var(--spacing-component-xs);min-height:50px;padding:var(--spacing-component-sm) var(--spacing-component-md)}.header-logo-wrapper{flex-shrink:0}.header-logo-container{gap:var(--spacing-component-xs)}.header-brand-name{font-size:var(--font-size-sm)}.header-logo{height:28px;width:28px}.header-actions--mobile .action-button,.header-actions--mobile .logout-mobile-button{height:32px!important;min-width:32px!important;width:32px!important}.mobile-dashboard-menu-toggle{height:32px;width:32px}.hamburger-icon{width:16px}}.navigation-container{background:var(--color-surface-primary);border-bottom:var(--border-width-thin) solid var(--color-border-primary);overflow:hidden;padding:0 var(--spacing-section-md)}.navigation-tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;min-height:60px}.navigation-tab,.navigation-tabs{align-items:center;gap:var(--spacing-component-xs)}.navigation-tab{background:#0000;border:var(--border-width-thin) solid #0000;border-radius:var(--border-radius-base);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);min-height:40px;padding:var(--spacing-component-sm) var(--spacing-component-lg);position:relative;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.navigation-tab:hover:not(.navigation-tab--active){background:var(--color-background-tertiary);color:var(--color-text-primary);transform:translateY(-1px)}.navigation-tab--active{background:var(--color-brand-secondary);border-color:var(--color-brand-secondary);box-shadow:var(--shadow-md);color:#fff;font-weight:var(--font-weight-semibold)}.navigation-tab--active:before{background:var(--color-accent);border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:-1px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.navigation-tab-icon{font-size:1.1em;line-height:1;transition:transform .2s ease}.navigation-tab--active .navigation-tab-icon,.navigation-tab:hover .navigation-tab-icon{transform:scale(1.1)}.navigation-tab-text-full{display:inline}.navigation-tab-text-short{display:none}.navigation-tab-badge{align-items:center;animation:badge-pulse 2s infinite;background:var(--color-error-500);border-radius:var(--border-radius-full);color:#fff;display:flex;font-size:10px;font-weight:var(--font-weight-bold);height:18px;justify-content:center;min-width:18px;padding:2px 6px;position:absolute;right:-2px;top:-2px}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.navigation-tab-full-text{display:block}.navigation-tab-short-text{display:none}@media (max-width:768px){.navigation-tab-full-text{display:none}.navigation-tab-short-text{display:block}}@media (max-width:1024px){.navigation-tabs{gap:var(--spacing-component-xs);justify-content:center}.navigation-tab{font-size:var(--font-size-xs);padding:var(--spacing-component-xs) var(--spacing-component-md)}}@media (max-width:768px){.navigation-container{padding:0 var(--spacing-component-lg)}.navigation-tabs{gap:var(--spacing-component-xs);justify-content:center}.navigation-tab{flex:0 0 auto;font-size:var(--font-size-xs);min-height:36px;padding:var(--spacing-component-xs) var(--spacing-component-sm)}.navigation-tab-text-full{display:none}.navigation-tab-text-short{display:inline}}@media (max-width:480px){.navigation-container{padding:0 var(--spacing-component-md)}.navigation-tabs{gap:2px}.navigation-tab{flex:1 1;justify-content:center;max-width:none;min-width:auto;padding:var(--spacing-component-xs)}.navigation-tab-text-short{font-size:10px;line-height:1}}:root{--table-bg-primary:#fff;--table-bg-secondary:var(--gray-50);--table-bg-hover:var(--gray-25);--table-bg-stripe:#fafafa;--table-border-primary:var(--gray-200);--table-border-secondary:var(--gray-100);--table-border-hover:var(--teal-medium);--table-text-primary:var(--gray-900);--table-text-secondary:var(--gray-600);--table-text-muted:var(--gray-500);--table-text-link:var(--blue-600);--table-text-link-hover:var(--blue-800);--table-font-size-header:var(--font-size-xs);--table-font-size-body:var(--font-size-sm);--table-font-size-mobile:var(--font-size-base);--table-font-weight-header:600;--table-font-weight-body:400;--table-font-weight-emphasis:500;--table-padding-cell:1rem 1.5rem;--table-padding-cell-compact:0.75rem 1rem;--table-padding-cell-mobile:1rem;--table-margin-bottom:var(--spacing-6);--table-gap-mobile:var(--spacing-4);--table-min-height-row:3.5rem;--table-min-height-row-mobile:4rem;--table-avatar-size:40px;--table-avatar-size-mobile:36px;--table-icon-size:20px;--table-mobile-breakpoint:768px;--table-tablet-breakpoint:1024px;--table-shadow-base:0 1px 3px #0000001a;--table-shadow-hover:0 4px 12px #00000026;--table-shadow-mobile:0 2px 8px #0000001a;--table-transition-base:all 0.2s ease;--table-transition-hover:all 0.15s ease;--table-hover-transform:translateY(-1px);--table-active-scale:scale(0.98);--table-status-success:var(--teal-medium);--table-status-warning:var(--yellow-500);--table-status-error:var(--red-500);--table-status-inactive:var(--gray-400);--teal-dark:#0f766e;--teal-medium:#14b8a6;--teal-light:#5eead4;--yellow-500:#fbbf24;--blue-600:#2563eb;--blue-800:#1e40af;--red-500:#ef4444;--gray-25:#fafafa;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-900:#111827;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--spacing-4:1rem;--spacing-6:1.5rem}.action-button{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:var(--font-primary);font-size:var(--font-size-body-m);font-weight:var(--font-weight-semibold);gap:var(--space-2);justify-content:center;line-height:var(--line-height-tight);min-height:42px;overflow:hidden;padding:var(--space-3) var(--space-6);position:relative;text-decoration:none;transition:all var(--duration-fast) var(--easing-standard);white-space:nowrap}.action-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.action-button:not(:disabled):hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.action-button:not(:disabled):active{transform:translateY(0)}.action-button--primary{background:var(--color-primary-turquoise);box-shadow:var(--shadow-md);color:#fff}.action-button--primary:not(:disabled):hover{background:#0891b2;box-shadow:0 4px 12px #06b6d44d}.action-button--secondary{background:#0000;border:2px solid var(--color-primary-navy);color:var(--color-primary-navy);padding:10px 22px}.action-button--secondary:not(:disabled):hover{background:var(--color-primary-navy);color:#fff}.action-button--success{background:var(--color-secondary-green);box-shadow:var(--shadow-md);color:#fff}.action-button--success:not(:disabled):hover{background:#047857;box-shadow:0 4px 12px #0596694d}.action-button--danger{background:#0000;border:2px solid var(--color-secondary-red);color:var(--color-secondary-red);padding:10px 22px}.action-button--danger:not(:disabled):hover{background:var(--color-secondary-red);color:#fff}.action-button--warning{background:var(--color-secondary-orange);box-shadow:var(--shadow-md);color:#fff}.action-button--warning:not(:disabled):hover{background:#f97316;box-shadow:0 4px 12px #fb923c4d}.action-button--edit{background:var(--color-primary-turquoise);box-shadow:var(--shadow-sm);color:#fff;font-size:var(--font-size-body-s);min-height:32px;padding:6px 12px}.action-button--edit:not(:disabled):hover{background:#0891b2}.action-button--delete{background:#0000;border:1px solid var(--color-secondary-red);color:var(--color-secondary-red);font-size:var(--font-size-body-s);min-height:32px;padding:6px 12px}.action-button--delete:not(:disabled):hover{background:var(--color-secondary-red);color:#fff}.action-button--save{background:var(--color-secondary-green);color:#fff;font-size:var(--font-size-body-s);min-height:32px;padding:6px 12px}.action-button--save:not(:disabled):hover{background:#047857}.action-button--cancel{background:#0000;border:1px solid var(--color-gray-300);color:var(--color-gray-600);font-size:var(--font-size-body-s);min-height:32px;padding:6px 12px}.action-button--cancel:not(:disabled):hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.action-button--export{background:var(--color-secondary-green);color:#fff;font-size:var(--font-size-body-s);min-height:32px;padding:6px 12px}.action-button--export:not(:disabled):hover{background:#047857}.action-button--sm{font-size:var(--font-size-body-s);min-height:32px;padding:var(--space-2) var(--space-4)}.action-button--lg{font-size:var(--font-size-body-l);min-height:48px;padding:var(--space-4) var(--space-6)}.action-button-icon{font-size:1.1em;line-height:1}.action-button--loading{cursor:wait;opacity:.8}.action-button--loading:after{animation:button-loading .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;position:absolute;width:16px}@keyframes button-loading{to{transform:rotate(1turn)}}@media (max-width:768px){.action-button{justify-content:center;min-height:44px;padding:var(--space-3) var(--space-5);width:100%}.action-button--sm{min-height:38px}.action-button--lg{min-height:50px}}.budget-detail-header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);margin-top:0;position:relative;z-index:10}.budget-detail-header__container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin:0 auto;max-width:1400px;padding:var(--space-3) var(--space-5)}.budget-detail-header__left{flex:1 1;flex-wrap:wrap;gap:var(--space-4);min-width:0}.breadcrumb-item--back,.breadcrumb-nav,.budget-detail-header__left{align-items:center;display:flex}.breadcrumb-item--back{background:none;border:none;border-radius:var(--radius-md);color:var(--color-turquoise);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-1);padding:var(--space-2) var(--space-3);transition:all var(--duration-fast) var(--easing)}.breadcrumb-item--back:hover{background:var(--color-gray-50);color:#0891b2}.breadcrumb-arrow-icon{color:var(--color-turquoise)}.budget-detail-header__title{align-items:center;border-left:2px solid var(--color-gray-200);color:var(--color-navy);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-2);padding-left:var(--space-3)}.budget-detail-header__title svg{color:var(--color-turquoise);flex-shrink:0}.budget-detail-header__name{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-detail-header__badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.header-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--space-1);padding:var(--space-1) var(--space-3)}.header-badge svg{flex-shrink:0}.header-badge--team{background:#06b6d41a;border:1px solid #06b6d433;color:var(--color-navy)}.header-badge--team svg{color:var(--color-turquoise)}.header-badge--year{background:#0a25400d;border:1px solid #0a25401a}.header-badge--year,.header-badge--year svg{color:var(--color-navy)}.header-badge--readonly{background:#fb923c1a;border:1px solid #fb923c33;color:#c2410c}.header-badge--readonly svg{color:var(--color-orange)}.budget-detail-header__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-3)}.budget-detail-header__actions--desktop{display:none}.header-action-btn{justify-content:center;min-width:160px;padding:var(--space-2) var(--space-5)!important}.budget-detail-header__mobile-menu{display:block}.mobile-menu-toggle{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--duration-fast) var(--easing);width:40px}.mobile-menu-toggle:hover{background:var(--color-gray-100);border-color:var(--color-turquoise)}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:18px}.hamburger-icon span{background:var(--color-navy);border-radius:1px;display:block;height:2px;transition:all var(--duration-fast) var(--easing)}.mobile-menu-dropdown{position:absolute;right:var(--space-4);top:100%;z-index:50}.mobile-menu-overlay{background:#0000001a;inset:0;position:fixed}.mobile-menu-content{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-top:var(--space-2);min-width:200px;padding:var(--space-2);position:relative}.mobile-menu-item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-navy);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:all var(--duration-fast) var(--easing);width:100%}.mobile-menu-item:hover{background:var(--color-gray-50)}.mobile-menu-icon svg{color:var(--color-turquoise)}@media (min-width:768px){.budget-detail-header__container{flex-wrap:nowrap}.budget-detail-header__actions--desktop{display:flex}.budget-detail-header__mobile-menu{display:none}}@media (max-width:640px){.budget-detail-header__left{gap:var(--space-2)}.budget-detail-header__title{font-size:var(--font-size-base);padding-left:var(--space-2)}.budget-detail-header__name{max-width:150px}.budget-detail-header__badges{display:none}}.stat-cards-container{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0a25400f;overflow:hidden;padding:16px 20px;position:relative;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.stat-card--clickable{cursor:pointer}.stat-card:hover{border-color:#06b6d4;box-shadow:0 4px 12px #0a25401f;transform:translateY(-2px)}.stat-card-header{align-items:center;display:flex;flex-direction:row;gap:10px;justify-content:center;margin-bottom:12px;min-height:28px}.stat-card-title{color:#6b7280;font-family:Sora,sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;line-height:1.4;text-transform:uppercase}.stat-card-icon{align-items:center;color:#0a2540;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.stat-card-icon svg{stroke-width:1.5px!important;height:20px;width:20px}.stat-card-icon--budgets{color:#0a2540}.stat-card-icon--total{color:#06b6d4}.stat-card-icon--spent{color:#f59e0b}.stat-card-icon--remaining{color:#10b981}.stat-card-value{color:#0a2540;font-family:IBM Plex Mono,Sora,monospace;font-size:24px;font-weight:700;line-height:1.2;text-align:center}.stat-card--loading .stat-card-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;margin:0 auto}.stat-card--loading .stat-card-title.stat-card-skeleton{height:12px;width:60%}.stat-card--loading .stat-card-icon.stat-card-skeleton{height:36px;width:36px}.stat-card--loading .stat-card-value.stat-card-skeleton{height:26px;margin-top:12px;width:70%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:1200px){.stat-card{flex:1 1 180px;min-width:180px}}@media (max-width:768px){.stat-cards-container{gap:12px}.stat-card{flex:1 1 45%;max-width:none;min-width:150px;padding:16px 20px}.stat-card-title{font-size:10px}.stat-card-value{font-size:22px}.stat-card-icon{height:32px;width:32px}.stat-card-icon svg{height:24px;width:24px}}@media (max-width:480px){.stat-card{flex:1 1 100%}}.budget-metrics-section{background:var(--table-bg-primary);border:1px solid var(--table-border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--table-shadow-base);margin-bottom:var(--spacing-4);padding:1.5rem}.budget-metrics-section__primary{margin-bottom:2rem}.budget-metrics-section__title{align-items:center;color:var(--color-navy);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 .5rem}.budget-metrics-section__title svg{color:var(--color-turquoise)}.budget-metrics-section__cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.budget-metrics-section__context{border-top:1px solid var(--table-border-secondary);margin-bottom:1.5rem;padding-top:2rem}.budget-metrics-section__context-title{align-items:center;color:var(--color-navy);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.budget-metrics-section__context-title svg{color:var(--color-turquoise)}.budget-metrics-context-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.context-info-card{align-items:center;background:var(--table-bg-stripe);border:1px solid var(--table-border-secondary);border-radius:var(--border-radius-base);display:flex;gap:1rem;padding:1rem;transition:var(--table-transition-base)}.context-info-card:hover{background:var(--table-bg-hover);border-color:var(--table-border-hover)}.context-info-card__icon{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:50%;display:flex;flex-shrink:0;font-size:1.25rem;height:2.5rem;justify-content:center;width:2.5rem}.context-info-card__icon svg{color:var(--color-turquoise)}.context-info-card__content{flex:1 1;min-width:0}.context-info-card__label{color:var(--table-text-secondary);font-size:var(--table-font-size-header);font-weight:var(--table-font-weight-header);letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.context-info-card__value{color:var(--table-text-primary);font-size:var(--table-font-size-body);font-weight:var(--table-font-weight-emphasis)}.budget-metrics-section__description{border-top:1px solid var(--table-border-secondary);padding-top:1.5rem}.description-title{align-items:center;color:var(--color-navy);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.description-title svg{color:var(--color-turquoise)}.description-content{background:var(--table-bg-stripe);border:1px solid var(--table-border-secondary);border-radius:var(--border-radius-base);color:var(--table-text-secondary);font-size:var(--table-font-size-body);line-height:1.6;margin:0;padding:1rem}@media (min-width:768px){.budget-metrics-context-grid,.budget-metrics-section__cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.budget-metrics-section{padding:2.5rem}.budget-metrics-context-grid,.budget-metrics-section__cards{grid-template-columns:repeat(4,1fr)}}.budget-metrics-section{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.context-info-card:focus-within{outline:2px solid var(--teal-medium);outline-offset:2px}@media (prefers-reduced-motion:reduce){.budget-metrics-section{animation:none}.context-info-card{transition:none}}.burnup-chart{display:flex;flex-direction:column;height:100%;width:100%}.burnup-chart__title{align-items:center;color:var(--table-text-primary);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin:0 0 1rem}.burnup-chart__canvas{flex:1 1;max-height:300px;min-height:250px;position:relative;width:100%}.burnup-chart__legend{margin-top:1rem}.burnup-chart__legend,.burnup-chart__legend-item{color:var(--table-text-muted);font-size:var(--table-font-size-header)}.burnup-chart__legend-item{align-items:center;display:flex;margin-bottom:.5rem}.burnup-chart__legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;margin-right:.5rem;width:12px}.burnup-chart__legend-dot--blue{background-color:#3b82f6}.burnup-chart__legend-dot--green{background-color:#10b981}.burnup-chart__variance{font-weight:600;margin-top:.5rem}.burnup-chart__variance--warning{color:var(--red-600)}.burnup-chart__variance--success{color:var(--teal-medium)}.burnup-chart--no-data{display:flex;flex-direction:column;height:100%}.burnup-chart__no-data{align-items:center;color:var(--table-text-muted);display:flex;flex:1 1;font-style:italic;justify-content:center;min-height:200px}@media (max-width:767px){.burnup-chart__canvas{min-height:200px}}.modern-expense-pie-chart{height:100%;width:100%}.modern-expense-pie-chart__header{margin-bottom:1rem;text-align:center}.modern-expense-pie-chart__title{align-items:center;color:var(--table-text-primary);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin:0}.modern-expense-pie-chart__canvas{align-items:center;display:flex;justify-content:center;max-width:100%;position:relative;width:100%}.modern-expense-pie-chart__footer{margin-top:1rem;text-align:center}.modern-expense-pie-chart__hint{color:var(--table-text-muted);font-size:var(--table-font-size-header);font-style:italic;margin:0;opacity:.8}@media (max-width:767px){.modern-expense-pie-chart__canvas{height:250px!important}}@media (min-width:768px) and (max-width:1023px){.modern-expense-pie-chart__canvas{height:280px!important}}.budget-charts-section{background:var(--table-bg-primary);border:1px solid var(--table-border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--table-shadow-base);margin-bottom:var(--spacing-6);padding:1.5rem}.budget-charts-section__header{margin-bottom:1rem;text-align:center}.budget-charts-section__title{align-items:center;color:var(--color-navy);display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;justify-content:center;margin:0 0 .5rem}.budget-charts-section__title svg{color:var(--color-turquoise)}.budget-charts-section__subtitle{color:var(--table-text-secondary);font-size:var(--table-font-size-body);margin:0 auto;max-width:600px}.budget-charts-section__grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.budget-charts-section__grid--two-cols{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:1024px){.budget-charts-section__grid--two-cols{grid-template-columns:1fr 1fr}}.chart-container{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;padding:1.25rem;transition:all .2s ease}.chart-container:hover{border-color:var(--color-turquoise);box-shadow:var(--shadow-md)}.chart-container__header{margin-bottom:1rem;text-align:center}.chart-container__title{align-items:center;color:var(--color-navy);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin:0 0 .25rem}.chart-container__title svg{color:var(--color-turquoise)}.chart-container__description{color:var(--table-text-muted);font-size:var(--table-font-size-header);font-style:italic;margin:0}.chart-container__content{align-items:stretch;display:flex;flex:1 1;justify-content:center;max-height:400px;min-height:300px;overflow:hidden;position:relative;width:100%}.chart-container__content>*{height:100%;max-height:100%;max-width:100%;width:100%}.chart-container__footer{border-top:1px solid var(--table-border-secondary);margin-top:.75rem;padding-top:1rem;text-align:center}.chart-interaction-hint{align-items:center;color:var(--color-gray-500);display:flex;font-size:var(--font-size-xs);gap:.375rem;justify-content:center;margin:0}.chart-interaction-hint svg{color:var(--color-turquoise);opacity:.8}.budget-charts-section__metrics{border-top:1px solid var(--table-border-secondary);padding-top:2rem}.chart-metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.chart-metric-card{align-items:center;background:var(--table-bg-primary);border:1px solid var(--table-border-primary);border-radius:var(--border-radius-base);display:flex;gap:1rem;padding:1rem;transition:var(--table-transition-base)}.chart-metric-card:hover{background:var(--table-bg-hover);transform:var(--table-hover-transform)}.chart-metric-card__icon{align-items:center;background:var(--teal-medium);border-radius:50%;box-shadow:var(--table-shadow-base);color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:2.5rem;justify-content:center;width:2.5rem}.chart-metric-card__content{flex:1 1;min-width:0}.chart-metric-card__label{color:var(--table-text-secondary);font-size:var(--table-font-size-header);font-weight:var(--table-font-weight-header);letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.chart-metric-card__value{font-feature-settings:"tnum";color:var(--table-text-primary);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700}@media (min-width:768px){.budget-charts-section__row--three-cols{grid-template-columns:1fr 1fr}.chart-metrics-grid{grid-template-columns:repeat(2,1fr)}.budget-charts-section__header{text-align:left}.budget-charts-section__title{justify-content:flex-start}}@media (min-width:1024px){.budget-charts-section{padding:2rem}.budget-charts-section__grid{gap:2.5rem}.budget-charts-section__row--three-cols{gap:1.5rem;grid-template-columns:1fr 1fr 1fr}.chart-metrics-grid{grid-template-columns:repeat(4,1fr)}.chart-container{padding:1.5rem}.chart-container__content{min-height:350px}}@media (min-width:1280px){.budget-charts-section__row--three-cols{gap:2rem;grid-template-columns:1fr 1fr 1fr}}.budget-charts-section{animation:slideInFromBottom .5s ease-out}.chart-container{animation:fadeInScale .4s ease-out}.chart-container:nth-child(2){animation-delay:.1s}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chart-container--loading{opacity:.6}.chart-container--loading .chart-container__content{background:var(--table-bg-stripe);border-radius:var(--border-radius-base);position:relative}.chart-container--loading .chart-container__content:before{color:var(--table-text-muted);content:"⏳ Chargement...";font-size:var(--table-font-size-body);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.chart-container:focus-within,.chart-metric-card:focus-within{outline:2px solid var(--teal-medium);outline-offset:2px}@media (prefers-reduced-motion:reduce){.budget-charts-section,.chart-container{animation:none}.chart-container,.chart-metric-card{transition:none}.chart-metric-card:hover{transform:none}}.table-cell-compound{align-items:center;display:flex;gap:1rem;min-height:2.5rem}.table-cell-compound__avatar{flex-shrink:0}.table-cell-compound__content{flex:1 1;min-width:0}.table-cell-compound__primary{color:var(--table-text-primary);font-weight:500;line-height:1.4;margin-bottom:.25rem}.table-cell-compound__secondary{color:var(--table-text-secondary);font-size:var(--table-font-size-header);line-height:1.3}.table-avatar{align-items:center;border-radius:50%;display:flex;height:var(--table-avatar-size);justify-content:center;overflow:hidden;position:relative;transition:var(--table-transition-base);width:var(--table-avatar-size)}.table-avatar.active{background:linear-gradient(135deg,var(--blue-600),var(--blue-800))}.table-avatar.inactive{background:var(--gray-100)}.table-avatar__text{color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase}.table-avatar.inactive .table-avatar__text{color:var(--gray-400)}.table-text-primary{color:var(--table-text-primary);font-weight:var(--table-font-weight-emphasis)}.table-text-secondary{color:var(--table-text-secondary)}.table-text-muted{color:var(--table-text-muted)}.table-text-compound{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}.table-text-separator{color:var(--table-text-muted);font-weight:400}.table-link-primary{background:none;border:none;color:var(--table-text-link);cursor:pointer;font-size:inherit;font-weight:var(--table-font-weight-emphasis);padding:0;text-align:left;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:var(--table-transition-base)}.table-link-primary:hover{color:var(--table-text-link-hover);-webkit-text-decoration-color:currentColor;text-decoration-color:initial}.table-link-secondary{background:none;border:none;color:var(--table-text-secondary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:var(--table-transition-base)}.table-link-secondary:hover{color:var(--table-text-link);-webkit-text-decoration-color:currentColor;text-decoration-color:initial}.table-link-accent{background:none;border:none;color:var(--teal-medium);cursor:pointer;font-size:inherit;font-weight:var(--table-font-weight-emphasis);padding:0;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:var(--table-transition-base)}.table-link-accent:hover{color:var(--teal-dark);-webkit-text-decoration-color:currentColor;text-decoration-color:initial}.table-cell-currency{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--table-font-weight-emphasis)}.table-cell-currency.usage-normal{color:var(--table-text-primary)}.table-cell-currency.usage-warning{color:var(--yellow-500)}.table-cell-currency.usage-critical{color:var(--red-500)}.table-cell-year{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--table-font-weight-emphasis)}.table-cell-year.usage-normal{color:var(--table-text-primary)}.table-cell-year.usage-warning{color:var(--yellow-500)}.table-cell-year.usage-critical{color:var(--red-500)}.table-cell-progress{min-width:200px}.table-cell-numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-cell-status{display:flex;justify-content:flex-start}.table-header-actions{align-items:center;display:flex;justify-content:center}.table-cell-actions{display:flex;justify-content:flex-end}.table-action-group{align-items:center;display:flex;gap:.5rem}.table-editor-input,.table-editor-select,.table-editor-textarea{background:var(--table-bg-primary);border:2px solid var(--teal-medium);border-radius:.375rem;color:var(--table-text-primary);font-size:var(--table-font-size-body);padding:.5rem;transition:var(--table-transition-base);width:100%}.table-editor-input:focus,.table-editor-select:focus,.table-editor-textarea:focus{border-color:var(--teal-dark);box-shadow:0 0 0 3px #14b8a61a;outline:none}.table-editor-textarea{min-height:2.5rem;resize:vertical}.table-edit-hint{color:var(--table-text-muted);font-size:.65rem;font-style:italic;margin-top:.25rem;opacity:.7}@media (max-width:768px){.table-cell-compound{align-items:flex-start;flex-direction:column;gap:.5rem}.table-cell-compound__avatar{align-self:center}.table-avatar{height:var(--table-avatar-size-mobile);width:var(--table-avatar-size-mobile)}.table-cell-compound__content{text-align:center;width:100%}.table-cell-progress{min-width:auto}.table-action-group{justify-content:center}.table-text-compound{align-items:flex-start;flex-direction:column;gap:.125rem}.table-text-separator{display:none}}.table-link-accent:focus,.table-link-primary:focus,.table-link-secondary:focus{border-radius:2px;outline:2px solid var(--teal-medium);outline-offset:2px}@media (prefers-reduced-motion:reduce){.table-avatar,.table-editor-input,.table-editor-select,.table-editor-textarea,.table-link-accent,.table-link-primary,.table-link-secondary{transition:none}}.form-modal-overlay{align-items:center!important;animation:modal-fade-in .25s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a254099!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;padding:var(--space-5);position:fixed!important;right:0!important;top:0!important;z-index:9999!important}@keyframes modal-fade-in{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1}}.form-modal{animation:modal-slide-in .25s ease-out;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:480px;overflow:hidden;position:relative;width:100%}.form-modal--lg{max-width:600px}.form-modal--sm{max-width:380px}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.form-modal-header{align-items:center;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);position:relative}.form-modal-header:before{background:linear-gradient(90deg,var(--color-turquoise),var(--color-navy));border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.form-modal-title{align-items:center;color:var(--color-navy);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-2);margin:0}.form-modal-icon{align-items:center;display:flex;justify-content:center}.form-modal-icon svg{color:var(--color-turquoise)}.form-modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--color-gray-500);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:36px;justify-content:center;transition:all var(--duration-fast) var(--easing);width:36px}.form-modal-close:hover{background:var(--color-gray-100);color:var(--color-navy)}.form-modal-close:active{transform:scale(.95)}.form-modal-content{max-height:calc(90vh - 140px);overflow-y:auto;padding:var(--space-5)}.form-modal-content::-webkit-scrollbar{width:6px}.form-modal-content::-webkit-scrollbar-track{background:var(--color-gray-50);border-radius:var(--radius-full)}.form-modal-content::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}.form-modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.form-modal-footer{align-items:center;background:var(--color-gray-50);border-top:1px solid var(--color-gray-100);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5)}.form-modal-form,.form-modal-section{display:flex;flex-direction:column;gap:var(--space-4)}.form-modal-section-title{border-bottom:1px solid var(--color-gray-100);color:var(--color-navy);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0;padding-bottom:var(--space-2)}@media (max-width:768px){.form-modal-overlay{align-items:center;padding:var(--space-4)}.form-modal{display:flex;flex-direction:column;max-height:90vh;max-width:100%}.form-modal-header{flex-shrink:0;padding:var(--space-3)}.form-modal-title{font-size:var(--font-size-base)}.form-modal-content{flex:1 1;max-height:none;min-height:0;overflow-y:auto;padding:var(--space-3)}.form-modal-footer{background:var(--color-gray-50);border-top:1px solid var(--color-gray-200);bottom:0;flex-shrink:0;padding:var(--space-3);position:-webkit-sticky;position:sticky}}@media (max-width:480px){.form-modal-overlay{align-items:flex-end;padding:var(--space-2)}.form-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85vh}.form-modal-content,.form-modal-footer,.form-modal-header{padding:var(--space-3)}.form-modal-footer{flex-direction:column;gap:var(--space-2)}.form-modal-footer .action-button{min-height:44px;width:100%}}.form-field{flex-direction:column;position:relative}.form-field,.form-field-label{display:flex;gap:var(--space-1)}.form-field-label{align-items:center;color:var(--color-navy);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.3}.form-field-label--required:after{color:var(--color-red);content:"*";font-weight:var(--font-weight-bold);margin-left:2px}.form-field-label-icon{color:var(--color-turquoise);font-size:1em}.form-field-input{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-navy);font-family:var(--font-primary);font-size:var(--font-size-sm);line-height:1.4;padding:var(--space-3) var(--space-3);transition:all var(--duration-fast) var(--easing);width:100%}.form-field-input:focus{border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.form-field-input:hover:not(:disabled):not(:focus){border-color:var(--color-gray-300)}.form-field-input:disabled{background:var(--color-gray-50);cursor:not-allowed}.form-field-input::placeholder,.form-field-input:disabled{color:var(--color-gray-400)}.form-field-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 9 2 4h8z' fill='%230a2540'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:var(--space-8)}.form-field-select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 9 2 4h8z' fill='%2306b6d4'/%3E%3C/svg%3E")}.form-field-select option{padding:var(--space-2)}.form-field-textarea{font-family:var(--font-primary);min-height:80px;resize:vertical}.form-field-number{text-align:left}.form-field-checkbox-wrapper{margin-top:var(--space-2)}.form-field-checkbox-label{align-items:center;color:var(--color-gray-700);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--space-2)}.form-field-checkbox{appearance:none;-webkit-appearance:none;background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:all var(--duration-fast) var(--easing);width:18px}.form-field-checkbox:checked{background:var(--color-turquoise);border-color:var(--color-turquoise)}.form-field-checkbox:checked:before{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.form-field-checkbox:focus{box-shadow:0 0 0 3px #06b6d41a;outline:none}.form-field-checkbox:focus,.form-field-checkbox:hover:not(:checked){border-color:var(--color-turquoise)}.form-field-checkbox-text{-webkit-user-select:none;user-select:none}.form-field--error .form-field-input{background:#fef2f2;border-color:var(--color-red)}.form-field--error .form-field-input:focus{box-shadow:0 0 0 3px #ef44441a}.form-field--error .form-field-label{color:var(--color-red)}.form-field-error,.form-field-help{font-size:var(--font-size-xs);line-height:1.4;margin-top:var(--space-1)}.form-field-help{color:var(--color-gray-500)}.form-field-error{align-items:center;color:var(--color-red);display:flex;font-weight:var(--font-weight-medium);gap:var(--space-1)}.form-field-error:before{content:"⚠";font-size:1em}.form-field-input-wrapper{align-items:center;display:flex;position:relative}.form-field-input-icon{color:var(--color-gray-400);font-size:var(--font-size-base);left:var(--space-3);pointer-events:none;position:absolute;z-index:1}.form-field-input--with-icon{padding-left:var(--space-10)}@media (max-width:768px){.form-field-input{font-size:var(--font-size-base);padding:var(--space-3)}}.expense-charts-section{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--space-6);padding:var(--space-6)}.expense-charts-container{grid-gap:var(--space-6);align-items:stretch;display:grid;gap:var(--space-6);grid-template-columns:2fr 1fr}.expense-chart-donut{background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-5)}.expense-chart-title{align-items:center;color:var(--color-navy);display:flex;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-2);margin-bottom:var(--space-4)}.expense-chart-wrapper{align-items:center;display:flex;justify-content:center;min-height:300px}.expense-details-list{background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:var(--space-5)}.expense-details-title{align-items:center;color:var(--color-navy);display:flex;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-2);margin-bottom:var(--space-4)}.expense-details-container{flex:1 1;max-height:320px;overflow-y:auto}.expense-detail-item{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4);transition:all .2s ease}.expense-detail-item:hover{background:var(--color-gray-50);border-color:var(--color-turquoise);transform:translateX(4px)}.expense-detail-item:last-child{margin-bottom:0}.expense-detail-color{border-radius:50%;box-shadow:0 1px 2px #0000001a;flex-shrink:0;height:14px;margin-right:var(--space-3);width:14px}.expense-detail-info{flex:1 1;min-width:0}.expense-detail-type{color:var(--color-navy);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:2px}.expense-detail-percentage{color:var(--color-gray-500);font-family:var(--font-mono);font-size:var(--font-size-xs)}.expense-detail-amount{color:var(--color-navy);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:right}.expense-charts-empty{color:var(--color-gray-500);padding:var(--space-8);text-align:center}.expense-charts-empty-icon{font-size:2.5rem;margin-bottom:var(--space-4);opacity:.6}@media (max-width:1024px){.expense-charts-container{gap:var(--space-5);grid-template-columns:1fr}}@media (max-width:768px){.expense-chart-donut,.expense-charts-section,.expense-details-list{padding:var(--space-4)}.expense-chart-title,.expense-details-title{font-size:var(--font-size-base)}.expense-detail-item{padding:var(--space-2) var(--space-3)}}.admin-section-desc{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--space-5) 0}.export-buttons-grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}.export-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all var(--duration-fast) var(--easing)}.export-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.export-btn:active:not(:disabled){transform:translateY(0)}.export-btn:disabled{cursor:not-allowed;opacity:.5}.export-btn--primary{background:var(--color-turquoise);color:#fff}.export-btn--primary:hover:not(:disabled){background:#0891b2}.export-btn--secondary{background:var(--color-green);color:#fff}.export-btn--secondary:hover:not(:disabled){background:#047857}.export-btn--full{background:var(--color-turquoise);color:#fff;justify-content:center;max-width:320px;width:100%}.export-btn--full:hover:not(:disabled){background:#0891b2}.import-workflow{display:flex;flex-direction:column;gap:var(--space-4)}.import-card{background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--duration-fast) var(--easing)}.import-card--highlight{background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-color:var(--color-turquoise);border-width:1.5px}.import-card--info{background:linear-gradient(135deg,#fefce8,#fffbeb);border-color:#fcd34d;border-width:1.5px}.import-card-header{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.import-card-header h4{color:var(--color-navy);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.import-card-header svg{color:var(--color-turquoise);flex-shrink:0}.import-card--info .import-card-header svg{color:#f59e0b}.import-step-number{align-items:center;background:var(--color-turquoise);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:28px;justify-content:center;width:28px}.import-card-desc{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--space-4) 0}.file-upload-btn{align-items:center;background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-navy);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all var(--duration-fast) var(--easing)}.file-upload-btn:hover{background:var(--color-gray-50);border-color:var(--color-turquoise)}.file-upload-btn svg{color:var(--color-turquoise)}.file-input-hidden{display:none}.import-checklist{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.import-checklist li{align-items:center;color:var(--color-gray-700);display:flex;font-size:var(--font-size-sm);gap:var(--space-2);line-height:1.4}.import-checklist li svg{color:var(--color-green);flex-shrink:0}@media (max-width:640px){.export-buttons-grid{flex-direction:column}.export-btn{justify-content:center;width:100%}.export-btn--full{max-width:100%}.import-card{padding:var(--space-3)}.import-card-header{flex-wrap:wrap}}.password-form-container{max-width:480px}.password-form-description{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--space-5) 0}.password-form{gap:var(--space-5)}.password-field,.password-form{display:flex;flex-direction:column}.password-field,.password-label{gap:var(--space-2)}.password-label{align-items:center;color:var(--color-navy);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.password-label svg{color:var(--color-turquoise)}.password-input{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-navy);font-family:var(--font-primary);font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--easing);width:100%}.password-input:focus{border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.password-input::placeholder{color:var(--color-gray-400)}.password-input--error{border-color:var(--color-red)}.password-input--error:focus{box-shadow:0 0 0 3px #ef44441a}.password-error{align-items:center;color:var(--color-red);display:flex;font-size:var(--font-size-xs);gap:var(--space-1);margin:0}.password-requirements{background:var(--color-gray-50);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-3)}.requirement{align-items:center;display:flex;font-size:var(--font-size-xs);gap:var(--space-2);transition:color var(--duration-fast) var(--easing)}.requirement svg{flex-shrink:0}.requirement--valid,.requirement--valid svg{color:var(--color-green)}.requirement--invalid{color:var(--color-gray-400)}.requirement--invalid svg{color:var(--color-gray-300)}.password-message{align-items:center;border-radius:var(--radius-md);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-3);padding:var(--space-3) var(--space-4)}.password-message--error{background:#fef2f2;border:1px solid #fecaca;color:var(--color-red)}.password-message--error svg{color:var(--color-red);flex-shrink:0}.password-message--success{background:#f0fdf4;border:1px solid #bbf7d0;color:var(--color-green)}.password-message--success svg{color:var(--color-green);flex-shrink:0}.password-submit-btn{align-items:center;background:var(--color-turquoise);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-5);transition:all var(--duration-fast) var(--easing);width:100%}.password-submit-btn:hover:not(:disabled){background:#0891b2;box-shadow:var(--shadow-md);transform:translateY(-1px)}.password-submit-btn:active:not(:disabled){transform:translateY(0)}.password-submit-btn:disabled{cursor:not-allowed;opacity:.5}.password-submit-btn svg{flex-shrink:0}.password-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.password-note{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4)}.password-note-icon{flex-shrink:0}.password-note-icon svg{color:#f59e0b}.password-note-content{display:flex;flex-direction:column;gap:var(--space-1)}.password-note-title{color:#b45309;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.password-note-text{color:#92400e;font-size:var(--font-size-xs);line-height:1.5;margin:0}@media (max-width:640px){.password-form-container{max-width:100%}.password-note,.password-requirements{gap:var(--space-2)}.password-note{flex-direction:column}}.budgease-logo-full{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;gap:12px;margin:0;padding:0;text-decoration:none}.budgease-logo-full:hover{opacity:.9}.budgease-logo-text{color:#0a2540;font-family:Sora,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0;padding:0;white-space:nowrap}.budgease-logo-full--sm .budgease-logo-text{font-size:20px}.budgease-logo-full--md .budgease-logo-text{font-size:26px}.budgease-logo-full--lg .budgease-logo-text{font-size:32px}@media (max-width:768px){.budgease-logo-full{gap:8px}.budgease-logo-full--md .budgease-logo-text{font-size:20px}}@media (max-width:480px){.budgease-logo-full{gap:6px}.budgease-logo-full--md .budgease-logo-text,.budgease-logo-full--sm .budgease-logo-text{font-size:16px}}@media (max-width:360px){.budgease-logo-text{display:none}}.business-unit-selector{align-items:center;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--space-4);margin-bottom:0;padding:var(--space-2) var(--space-4)}.bu-selector-label{align-items:center;color:var(--color-navy);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-2);white-space:nowrap}.bu-selector-icon{font-size:var(--font-size-base)}.bu-selector-dropdown{flex:1 1;max-width:400px;position:relative}.bu-selector-current{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--space-2) var(--space-3);transition:all .2s ease;width:100%}.bu-selector-current:hover:not(:disabled){border-color:var(--color-turquoise);box-shadow:0 0 0 2px #06b6d41a}.bu-selector-current:disabled{cursor:not-allowed;opacity:.6}.bu-current-name{color:var(--color-navy);font-weight:var(--font-weight-medium)}.bu-selector-arrow{color:var(--color-gray-500);font-size:var(--font-size-xs);transition:transform .2s ease}.bu-selector-dropdown.open .bu-selector-arrow{transform:rotate(180deg)}.bu-selector-options{animation:slideDown .2s ease;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bu-selector-option{align-items:center;border-bottom:1px solid var(--color-gray-100);cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-2) var(--space-3);transition:background-color .15s ease}.bu-selector-option:last-child{border-bottom:none}.bu-selector-option:hover{background:var(--color-gray-50)}.bu-selector-option.selected{background:#06b6d40d;border-left:3px solid var(--color-turquoise)}.bu-option-content{display:flex;flex-direction:column;gap:2px}.bu-option-name{color:var(--color-navy);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.bu-option-desc{color:var(--color-gray-500);font-size:var(--font-size-xs)}.bu-option-status{align-items:center;display:flex}.bu-status-badge{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 6px;text-transform:capitalize}.bu-status-active{background:#0596691a;color:var(--color-green)}.bu-status-trial{background:#fcd34d33;color:#b45309}.bu-status-suspended{background:#ef44441a;color:var(--color-red)}.bu-status-cancelled{background:var(--color-gray-100);color:var(--color-gray-500)}.bu-selector-info{border-radius:var(--radius-sm);color:var(--color-gray-400);font-size:var(--font-size-xs);opacity:.7;padding:var(--space-1) var(--space-2);white-space:nowrap}@media (max-width:768px){.business-unit-selector{align-items:stretch;flex-direction:column;gap:var(--space-2)}.bu-selector-label{justify-content:center}.bu-selector-dropdown{max-width:none}.bu-selector-info{text-align:center}}.bu-selector-option{position:relative}.bu-selector-option:before{background:var(--color-turquoise);bottom:0;content:"";left:0;position:absolute;top:0;transition:width .2s ease;width:0}.bu-selector-option.selected:before{width:3px}.bu-selector-dropdown.open{z-index:999}.enhanced-budget-selector{margin:var(--space-4) 0}.enhanced-budget-selector-label{align-items:center;color:var(--color-navy);display:flex;font-size:14px;font-weight:600;gap:var(--space-2);margin-bottom:var(--space-3)}.enhanced-budget-count{color:var(--color-gray-500);font-size:13px;font-weight:500;margin-left:auto}.enhanced-budget-year-filter{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3)}.enhanced-budget-year-label{align-items:center;color:var(--color-navy);display:flex;font-size:13px;font-weight:500;gap:var(--space-1);white-space:nowrap}.enhanced-budget-year-select{background:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-gray-700);cursor:pointer;font-size:13px;min-width:150px;padding:6px 12px}.enhanced-budget-year-select:focus{border-color:var(--color-navy);box-shadow:0 0 0 2px #0a25401a;outline:none}.enhanced-budget-active-info{color:var(--color-gray-500);font-size:12px;font-style:italic}@media (max-width:640px){.enhanced-budget-year-filter{flex-wrap:wrap}.enhanced-budget-active-info{margin-top:var(--space-1);width:100%}}.enhanced-budget-empty-warning{align-items:center;background:#fffbeb;background:var(--color-amber-50,#fffbeb);border:1px solid #fde68a;border:1px solid var(--color-amber-200,#fde68a);border-radius:var(--radius-md);color:#92400e;color:var(--color-amber-800,#92400e);display:flex;font-size:13px;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3)}.enhanced-budget-dual-list{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr;min-height:300px}@media (max-width:640px){.enhanced-budget-dual-list{gap:var(--space-4);grid-template-columns:1fr}}.enhanced-budget-column{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.enhanced-budget-column.available{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.enhanced-budget-column.selected{background:linear-gradient(180deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0;border-color:var(--color-green-200,#bbf7d0)}.enhanced-budget-column-header{align-items:center;background:#fff;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:var(--space-3)}.enhanced-budget-column.selected .enhanced-budget-column-header{background:#f0fdf4;background:var(--color-green-50,#f0fdf4);border-color:#bbf7d0;border-color:var(--color-green-200,#bbf7d0)}.enhanced-budget-column-header h4{color:var(--color-navy);font-size:13px;font-weight:600;margin:0}.enhanced-budget-column-count{align-items:center;background:var(--color-gray-200);border-radius:12px;color:var(--color-gray-700);display:inline-flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 8px}.enhanced-budget-column-count.selected{background:#bbf7d0;background:var(--color-green-200,#bbf7d0);color:#166534;color:var(--color-green-800,#166534)}.enhanced-budget-search{align-items:center;background:#fff;border-bottom:1px solid var(--color-gray-100);display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.enhanced-budget-search svg{color:var(--color-gray-400);flex-shrink:0}.enhanced-budget-search input{background:#0000;border:none;color:var(--color-gray-700);flex:1 1;font-size:13px;outline:none}.enhanced-budget-search input::placeholder{color:var(--color-gray-400)}.enhanced-budget-search-clear{align-items:center;background:var(--color-gray-200);border:none;border-radius:50%;color:var(--color-gray-500);cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;transition:all .15s ease;width:20px}.enhanced-budget-search-clear:hover{background:var(--color-gray-300);color:var(--color-gray-700)}.enhanced-budget-actions{background:#ffffff80;border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:center;padding:var(--space-2)}.enhanced-budget-action-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:var(--space-1);padding:6px 12px;transition:all .15s ease}.enhanced-budget-action-btn.add-all{background:var(--color-navy);color:#fff}.enhanced-budget-action-btn.add-all:hover:not(:disabled){background:#0f172a;background:var(--color-navy-dark,#0f172a)}.enhanced-budget-action-btn.remove-all{background:var(--color-gray-200);color:var(--color-gray-700)}.enhanced-budget-action-btn.remove-all:hover:not(:disabled){background:var(--color-gray-300)}.enhanced-budget-action-btn:disabled{cursor:not-allowed;opacity:.5}.enhanced-budget-list{flex:1 1;max-height:250px;overflow-y:auto;padding:var(--space-2)}.enhanced-budget-list-empty{align-items:center;color:var(--color-gray-400);display:flex;font-size:13px;font-style:italic;height:100%;justify-content:center;min-height:80px}.enhanced-budget-item{align-items:center;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);display:flex;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);transition:all .15s ease}.enhanced-budget-item:last-child{margin-bottom:0}.enhanced-budget-item:hover{border-color:var(--color-gray-300);box-shadow:0 1px 3px #0000000d}.enhanced-budget-column.selected .enhanced-budget-item{background:#fff;border-color:#bbf7d0;border-color:var(--color-green-200,#bbf7d0)}.enhanced-budget-item-content{flex:1 1;min-width:0}.enhanced-budget-item-name{color:var(--color-navy);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enhanced-budget-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:4px}.enhanced-budget-meta-tag{align-items:center;color:var(--color-gray-500);display:inline-flex;font-size:11px;gap:4px}.enhanced-budget-meta-tag.amount{color:var(--color-navy);font-weight:500}.enhanced-budget-item-action{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.enhanced-budget-item-action.add{background:var(--color-navy);color:#fff}.enhanced-budget-item-action.add:hover{background:#0f172a;background:var(--color-navy-dark,#0f172a);transform:scale(1.05)}.enhanced-budget-item-action.remove{background:var(--color-gray-200);color:var(--color-gray-600)}.enhanced-budget-item-action.remove:hover{background:#fee2e2;background:var(--color-red-100,#fee2e2);color:#dc2626;color:var(--color-red-600,#dc2626);transform:scale(1.05)}.enhanced-budget-help{align-items:center;background:#eff6ff;background:var(--color-blue-50,#eff6ff);border-radius:var(--radius-md);color:#1d4ed8;color:var(--color-blue-700,#1d4ed8);display:flex;font-size:12px;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3)}.enhanced-budget-help svg{flex-shrink:0}.password-modal-overlay{align-items:center;animation:pwdFadeIn .2s ease-out;background:#0a2540b3;bottom:0;display:flex;justify-content:center;left:0;padding:16px;padding:var(--space-4,16px);position:fixed;right:0;top:0;z-index:1000}@keyframes pwdFadeIn{0%{opacity:0}to{opacity:1}}.password-modal{animation:pwdSlideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0a25404d;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}@keyframes pwdSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.password-modal-header{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);border-radius:16px 16px 0 0;padding:32px 32px 28px;position:relative;text-align:center}.password-modal-icon{align-items:center;animation:pwdBounce .5s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 8px 24px #10b9814d;display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto 16px;width:64px}@keyframes pwdBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.password-modal-header h2{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:20px;font-weight:600;margin:0}.password-modal-close{align-items:center;background:#e5e7eb;background:var(--color-gray-200,#e5e7eb);border:none;border-radius:50%;color:#475569;color:var(--color-gray-600,#475569);cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:all .2s;width:36px}.password-modal-close:hover{background:#d1d5db;background:var(--color-gray-300,#d1d5db);transform:rotate(90deg)}.password-modal-content{padding:28px 32px 32px}.password-modal-user-info{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);margin-bottom:24px;padding-bottom:20px;text-align:center}.password-modal-user-info p{margin:4px 0}.password-modal-user-info strong{color:#0a2540;color:var(--color-navy,#0a2540);font-size:18px;font-weight:600}.password-modal-email{color:#64748b;color:var(--color-gray-500,#64748b);font-size:14px}.password-modal-password-section{margin-bottom:24px}.password-modal-label{align-items:center;color:#0a2540;color:var(--color-navy,#0a2540);display:flex;font-family:Sora,sans-serif;font-size:14px;font-weight:600;gap:8px;margin-bottom:10px}.password-modal-password-box{align-items:stretch;background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:2px solid #0a2540;border:2px solid var(--color-navy,#0a2540);border-radius:10px;display:flex;overflow:hidden}.password-modal-password{background:#fff;border:none;color:#0a2540;color:var(--color-navy,#0a2540);flex:1 1;font-family:IBM Plex Mono,Monaco,Menlo,monospace;font-size:16px;font-weight:600;letter-spacing:1px;padding:14px 18px;-webkit-user-select:all;user-select:all;word-break:break-all}.password-modal-copy-btn{align-items:center;background:#0a2540;background:var(--color-navy,#0a2540);border:none;color:#fff;cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:14px;font-weight:600;gap:6px;padding:0 20px;transition:all .2s;white-space:nowrap}.password-modal-copy-btn:hover{background:#0f3460}.password-modal-copy-btn.copied{background:#059669;cursor:default}.password-modal-copy-icon{font-size:16px}.password-modal-warning{background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:8px;display:flex;gap:14px;margin-bottom:24px;padding:16px}.password-modal-warning-icon{flex-shrink:0;font-size:20px}.password-modal-warning-text{flex:1 1}.password-modal-warning-text strong{color:#92400e;display:block;font-size:14px;margin-bottom:6px}.password-modal-warning-text ul{color:#78350f;margin:0;padding-left:18px}.password-modal-warning-text li{font-size:13px;line-height:1.5;margin:4px 0}.password-modal-actions{display:flex;gap:12px;justify-content:flex-end}.password-modal-btn-primary,.password-modal-btn-secondary{border:none;border-radius:10px;cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.password-modal-btn-secondary{background:#fff;border:2px solid #d1d5db;border:2px solid var(--color-gray-300,#d1d5db);color:#0a2540;color:var(--color-navy,#0a2540)}.password-modal-btn-secondary:hover{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-color:#94a3b8;border-color:var(--color-gray-400,#94a3b8)}.password-modal-btn-primary{background:#0a2540;background:var(--color-navy,#0a2540);color:#fff}.password-modal-btn-primary:hover{background:#0f3460;box-shadow:0 6px 16px #0a254040;transform:translateY(-2px)}.password-modal-invitation-badge{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;display:flex;font-size:13px;gap:8px;justify-content:center;margin-bottom:20px;padding:10px 16px}.password-modal-invitation-badge svg{color:#16a34a}@media (max-width:640px){.password-modal{margin:16px;max-height:95vh}.password-modal-header{padding:24px 20px}.password-modal-icon{font-size:24px;height:56px;width:56px}.password-modal-header h2{font-size:18px}.password-modal-content{padding:20px}.password-modal-password-box{flex-direction:column}.password-modal-password{font-size:15px;padding:12px 14px;text-align:center}.password-modal-copy-btn{justify-content:center;padding:12px}.password-modal-actions{flex-direction:column}.password-modal-btn-primary,.password-modal-btn-secondary{padding:14px;width:100%}.password-modal-warning{flex-direction:column;gap:10px}}@keyframes pwdPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.password-modal-copy-btn.copied{animation:pwdPulse .3s ease-out}.accordion{margin-bottom:12px}.accordion-header{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;text-align:left;transition:all .2s;width:100%}.accordion-header:hover{background-color:#f3f4f6}.accordion-header:active{background-color:#e5e7eb}.accordion-header-left{align-items:center;display:flex;flex:1 1;gap:8px}.accordion-icon{font-size:16px;line-height:1}.accordion-title{color:#111827;font-size:14px;font-weight:600}.accordion-badge{color:#6b7280;font-size:12px;font-weight:400;margin-left:4px}.accordion-chevron{color:#6b7280;font-size:10px;transition:transform .2s}.accordion-chevron.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-content.open{max-height:1000px}.accordion-inner{background-color:#fff;border:1px solid #e5e7eb;border-radius:0 0 8px 8px;border-top:none;padding:12px 16px 16px}@media (min-width:768px){.accordion-header{padding:16px 20px}.accordion-title{font-size:15px}.accordion-inner{padding:16px 20px 20px}}.role-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--space-1);padding:4px 10px;white-space:nowrap}.role-badge--small{font-size:10px;padding:2px 8px}.role-badge--medium{font-size:var(--font-size-xs);padding:4px 10px}.role-badge--large{font-size:var(--font-size-sm);padding:6px 14px}.role-badge--superadmin{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.role-badge--bu-admin{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.role-badge--budget-admin{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1}.role-badge--user{background:var(--color-gray-100);color:var(--color-gray-600)}.role-badge-icon{font-size:.9em}.user-management{padding:0}.user-management-unauthorized{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:var(--space-6);padding:var(--space-8);text-align:center}.user-management-unauthorized h3{color:var(--color-red);font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.user-management-unauthorized p{color:var(--color-gray-600)}.user-management-header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.user-management-header h2{color:var(--color-navy);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.user-filters-card{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);padding:var(--space-5)}.user-filters{grid-gap:var(--space-4);align-items:end;display:grid;gap:var(--space-4);grid-template-columns:2fr 1fr 1fr 1fr auto}.user-filters .filter-field{display:flex;flex-direction:column;gap:var(--space-2)}.user-filters .filter-label{color:var(--color-gray-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase}.user-filters .filter-input,.user-filters .filter-select{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);color:var(--color-gray-700);font-family:var(--font-primary);font-size:var(--font-size-sm);height:42px;padding:0 var(--space-4);transition:all var(--duration-fast) var(--easing)}.user-filters .filter-input:focus,.user-filters .filter-select:focus{border-color:var(--color-turquoise);box-shadow:0 0 0 3px #06b6d41a;outline:none}.user-filters .filter-input::placeholder{color:var(--color-gray-400)}.user-filters .clear-btn{background:var(--color-gray-100);border:none;border-radius:var(--radius-md);color:var(--color-gray-600);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);height:42px;padding:0 var(--space-5);transition:all var(--duration-fast) var(--easing);white-space:nowrap}.user-filters .clear-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.user-table-card{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.user-table-header{align-items:center;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.user-table-header h3{color:var(--color-navy);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.user-table-count{background:var(--color-gray-100);border-radius:var(--radius-full);color:var(--color-gray-500);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}.user-table{padding:0}.user-cell{padding:var(--space-2) 0}.user-name{color:var(--color-navy);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:2px}.user-email{color:var(--color-gray-500);font-size:var(--font-size-xs)}.user-mfa,.user-status{display:flex;flex-wrap:wrap;gap:var(--space-2)}.user-actions{display:flex;flex-wrap:nowrap;gap:var(--space-2)}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.edit-user-info{background:var(--color-gray-50);border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4)}.edit-user-info p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:var(--space-1) 0}.edit-user-info strong{color:var(--color-navy)}.budget-admin-budgets{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-2)}.budget-admin-budget-tag{background:#e0f2fe;border:1px solid #bae6fd;border-radius:var(--radius-full);color:#0284c7;font-weight:var(--font-weight-medium)}.budget-admin-budget-more,.budget-admin-budget-tag{align-items:center;display:inline-flex;font-size:var(--font-size-xs);padding:2px 8px}.budget-admin-budget-more{background:var(--color-gray-100);border-radius:var(--radius-full);color:var(--color-gray-600);font-weight:var(--font-weight-semibold)}@media (max-width:1200px){.user-filters{grid-template-columns:1fr 1fr}}@media (max-width:768px){.user-management{padding:var(--space-4)}.user-management-header{flex-direction:column;gap:var(--space-4)}.form-row,.user-filters,.user-stats{grid-template-columns:1fr}.user-actions{flex-wrap:wrap}}.mfa-enforcement-section{border-top:1px solid var(--color-gray-200);margin-top:var(--space-3);padding-top:var(--space-3)}.mfa-enforcement-info{align-items:center;background:#fffbeb;background:var(--color-amber-50,#fffbeb);border:1px solid #fde68a;border:1px solid var(--color-amber-200,#fde68a);border-radius:var(--radius-md);color:#b45309;color:var(--color-amber-700,#b45309);display:flex;font-size:12px;gap:6px;margin:8px 0 0;padding:8px 12px}.mfa-enforcement-info svg{color:#d97706;color:var(--color-amber-600,#d97706);flex-shrink:0}.user-profile-overlay{animation:fadeIn .25s ease-out;background-color:#0a254080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-profile-drawer{background-color:#f8fafc;box-shadow:-4px 0 24px #0a254026;display:flex;flex-direction:column;font-family:Sora,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;max-width:400px;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:9999}.user-profile-drawer.open{transform:translateX(0)}.user-profile-header-compact{align-items:flex-start;background:#0a2540!important;background-color:#0a2540!important;display:flex;flex-shrink:0;justify-content:space-between;padding:20px;position:relative;z-index:10}.header-user-details{flex:1 1}.header-user-name{align-items:center;color:#fff!important;display:flex;font-size:17px;font-weight:600;gap:8px;line-height:1.3;margin:0 0 4px}.header-last-login{color:#fff9!important;font-size:11px;font-weight:400}.header-user-meta{color:#ffffffd9!important;font-size:13px;line-height:1.4;margin:0}.user-profile-close-compact{align-items:center;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.user-profile-close-compact:hover{background:#fff3}.user-profile-content-compact{background-color:#f8fafc;flex:1 1;overflow-y:auto;padding:16px}.user-profile-error,.user-profile-loading-compact{align-items:center;color:#64748b;display:flex;font-size:14px;justify-content:center;min-height:200px}.info-section-always-visible{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:16px}.info-section-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.info-section-title{align-items:center;color:#0a2540;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.info-section-title svg{color:#06b6d4}.btn-edit-info{background-color:#0a2540;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background .2s}.btn-edit-info:hover{background-color:#1e3a5f}.info-display-readonly{display:flex;flex-direction:column;gap:10px}.info-row-readonly{display:flex;flex-direction:column;gap:2px}.info-label-readonly{color:#64748b;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.info-value-readonly{color:#0a2540;font-size:14px;font-weight:500}.edit-form-compact{display:flex;flex-direction:column;gap:12px}.form-field-compact{display:flex;flex-direction:column;gap:4px}.form-field-compact label{color:#0a2540;font-size:12px;font-weight:500}.input-compact,.select-compact{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#0a2540;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.input-compact:focus,.select-compact:focus{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a;outline:none}.input-compact::placeholder{color:#94a3b8}.form-actions-compact{display:flex;gap:8px;margin-top:4px}.user-profile-content-compact .accordion-header{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;color:#0a2540!important;font-size:14px!important;font-weight:600!important;margin-bottom:8px!important;padding:12px 14px!important;transition:border-color .2s!important}.user-profile-content-compact .accordion-header:hover{border-color:#06b6d4!important}.user-profile-content-compact .accordion-header.open{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-color:#06b6d4!important;margin-bottom:0!important}.user-profile-content-compact .accordion-content{background:#0000!important;border:none!important}.user-profile-content-compact .accordion-content.open{background:#fff!important;margin-bottom:12px!important}.user-profile-content-compact .accordion-content.open .accordion-inner{background:#fff!important;border:1px solid #06b6d4!important;border-bottom-left-radius:10px!important;border-bottom-right-radius:10px!important;border-top:none!important;padding:14px!important}.security-section-compact{display:flex;flex-direction:column;gap:10px}.security-item-compact{background:#f8fafc;border-radius:8px;padding:12px}.security-item-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.security-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.security-item-label{color:#0a2540;font-size:13px;font-weight:600}.security-item-status{color:#64748b;font-size:12px}.security-item-status.status-enforced{color:#06b6d4;font-weight:500}.security-item-status.status-enabled{color:#10b981}.security-item-status.status-disabled{color:#94a3b8}.security-notice{background:#06b6d414;border-left:2px solid #06b6d4;border-radius:6px;color:#64748b;font-size:12px;margin:10px 0 0;padding:8px 10px}.btn-action-compact{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#0a2540;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-action-compact:hover{background-color:#e2e8f0}.btn-action-compact.btn-action-success{background-color:#06b6d4;border-color:#06b6d4;color:#fff}.btn-action-compact.btn-action-success:hover{background-color:#0891b2}.btn-action-compact.btn-action-danger{background-color:#ef4444;border-color:#ef4444;color:#fff}.btn-action-compact.btn-action-danger:hover{background-color:#dc2626}.btn-primary-compact{background-color:#0a2540;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:background .2s;width:100%}.btn-primary-compact:hover{background-color:#1e3a5f}.btn-primary-compact:disabled{cursor:not-allowed;opacity:.5}.btn-secondary-compact{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#0a2540;cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:all .2s}.btn-secondary-compact:hover{background-color:#e2e8f0}.btn-danger-compact{background-color:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:background .2s}.btn-danger-compact:hover{background-color:#dc2626}.btn-success-compact{background-color:#06b6d4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:background .2s}.btn-success-compact:hover{background-color:#0891b2}.btn-link-compact{background:none;border:none;color:#06b6d4;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:color .2s}.btn-link-compact:hover{color:#0891b2;text-decoration:underline}.password-form-inline{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.password-form-inline .input-compact{font-size:13px;padding:8px 10px}.mfa-confirm-compact{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.mfa-confirm-text{color:#64748b;font-size:12px;margin:0}.preferences-section-compact{display:flex;flex-direction:column;gap:12px}.user-profile-footer-compact{background-color:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:16px}.btn-logout-compact{align-items:center;background-color:#0a2540;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:background .2s;width:100%}.btn-logout-compact:hover{background-color:#1e3a5f}.budget-list{display:flex;flex-direction:column;gap:6px}.budget-chip{align-items:center;background:#06b6d414;border:1px solid #06b6d433;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 10px}.budget-chip-icon{font-size:14px}.budget-chip-name{color:#0a2540;flex:1 1;font-weight:500}.budget-chip-year{background:#fff;border-radius:4px;color:#06b6d4;font-size:11px;font-weight:500;padding:2px 6px}@media (min-width:768px){.user-profile-drawer{max-width:420px}.user-profile-header-compact{padding:24px}.header-user-name{font-size:18px}.user-profile-content-compact{padding:20px}}.bu-management{padding:var(--spacing-lg)}.bu-management-unauthorized{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);margin:var(--spacing-xl);padding:var(--spacing-xl);text-align:center}.bu-management-unauthorized h3{color:var(--color-danger);margin-bottom:var(--spacing-md)}.bu-management-header{align-items:flex-start;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.bu-management-header h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.bu-management-header p{color:var(--color-text-secondary);line-height:1.5;max-width:600px}.bu-stats-cards{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xl)}.bu-stats-cards .stat-card{align-items:center;background:#fff;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000001a;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:transform .2s,box-shadow .2s}.bu-stats-cards .stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.bu-stats-cards .stat-icon{font-size:2rem}.bu-stats-cards .stat-content{flex:1 1}.bu-stats-cards .stat-number{color:var(--color-primary);font-size:1.8rem;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs)}.bu-stats-cards .stat-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.bu-table{background:#fff;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000001a;padding:var(--spacing-lg)}.bu-cell{padding:var(--spacing-sm) 0}.bu-name{color:var(--color-text-primary);font-size:1rem;font-weight:600}.bu-description,.bu-name{margin-bottom:var(--spacing-xs)}.bu-description{color:var(--color-text-secondary);font-size:.875rem}.bu-created{color:var(--color-text-tertiary);font-size:.75rem;font-style:italic}.subscription-cell{display:flex;flex-direction:column;gap:var(--spacing-xs)}.trial-end{font-size:.75rem}.bu-stats,.trial-end{color:var(--color-text-secondary)}.bu-stats{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-cell,.bu-stats{font-size:.875rem}.admin-name{color:var(--color-text-primary);font-weight:600;margin-bottom:var(--spacing-xs)}.admin-email{color:var(--color-text-secondary);font-size:.8125rem}.no-admin{color:var(--color-text-tertiary);font-style:italic}.bu-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.info-box{background:#e3f2fd;background:var(--color-info-bg,#e3f2fd);border-left:4px solid #2196f3;border-left:4px solid var(--color-info,#2196f3);border-radius:var(--border-radius-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.info-box p{color:var(--color-text-primary);font-size:.875rem;margin:0}.info-box p:not(:last-child){margin-bottom:var(--spacing-sm)}.info-box strong{color:#2196f3;color:var(--color-info,#2196f3)}.warning-box{background:#fff3e0;background:var(--color-warning-bg,#fff3e0);border-left:4px solid #ff9800;border-left:4px solid var(--color-warning,#ff9800);border-radius:var(--border-radius-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.warning-box p{color:var(--color-text-primary);font-size:.875rem;margin:0}.warning-box p:not(:last-child){margin-bottom:var(--spacing-sm)}.warning-box strong{color:#ff9800;color:var(--color-warning,#ff9800)}.edit-bu-info{background:var(--color-bg-secondary);border-radius:var(--border-radius-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.edit-bu-info p{color:var(--color-text-secondary);font-size:.875rem;margin:var(--spacing-xs) 0}.edit-bu-info strong{color:var(--color-text-primary)}@media (max-width:768px){.bu-management-header{flex-direction:column;gap:var(--spacing-md)}.bu-stats-cards{grid-template-columns:1fr}.bu-actions{flex-direction:column}.bu-actions button{width:100%}}.mon-dashboard{max-width:100%;overflow-x:hidden;padding:0}.mon-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem 1rem}.mon-spin{animation:mon-rotate 1s linear infinite}@keyframes mon-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mon-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.mon-header-left{align-items:center;display:flex;gap:.5rem}.mon-header-left h1{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.mon-header-left svg{color:var(--primary)}.mon-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.mon-auto-toggle,.mon-toggle-row{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;-webkit-user-select:none;user-select:none}.mon-auto-toggle input,.mon-toggle-row input{display:none}.mon-toggle-dot{background:#cbd5e1;border-radius:10px;flex-shrink:0;height:20px;position:relative;transition:background .2s;width:36px}.mon-toggle-dot:after{background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.mon-auto-toggle input:checked+.mon-toggle-dot,.mon-toggle-row input:checked+.mon-toggle-dot{background:#22c55e}.mon-auto-toggle input:checked+.mon-toggle-dot:after,.mon-toggle-row input:checked+.mon-toggle-dot:after{transform:translateX(16px)}.mon-toggle-label{font-size:.75rem;white-space:nowrap}.mon-refresh-btn{align-items:center;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;gap:.35rem;padding:.4rem .75rem;transition:background .2s,transform .1s;white-space:nowrap}.mon-refresh-btn:hover{background:#1d4ed8;background:var(--primary-dark,#1d4ed8)}.mon-refresh-btn:active{transform:scale(.97)}.mon-last-update{align-items:center;color:var(--text-tertiary);display:flex;font-size:.7rem;gap:.25rem;white-space:nowrap}.mon-health-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.mon-health-card{align-items:flex-start;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;display:flex;gap:.6rem;padding:.75rem;transition:box-shadow .2s}.mon-health-card:hover{box-shadow:0 2px 8px #0000000f}.mon-health-card.green{border-left:3px solid #22c55e}.mon-health-card.yellow{border-left:3px solid #eab308}.mon-health-card.red{border-left:3px solid #ef4444}.mon-health-card.gray{border-left:3px solid #9ca3af}.mon-hc-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.mon-hc-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mon-hc-label{color:var(--text-tertiary);font-size:.7rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.mon-hc-status{align-items:center;color:var(--text-primary);display:flex;font-size:.85rem;font-weight:600;gap:.3rem}.mon-status-icon.green{color:#22c55e}.mon-status-icon.yellow{color:#eab308}.mon-status-icon.red{color:#ef4444}.mon-status-icon.gray{color:#9ca3af}.mon-hc-detail{color:var(--text-secondary);font-size:.7rem}.mon-hc-err{color:#ef4444;font-weight:600}.mon-stats-row{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.mon-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;margin-bottom:.75rem;padding:.75rem}.mon-card.danger-card{background:#fef2f2;border-color:#fecaca;border-left:3px solid #dc2626}.mon-section-header{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.25rem 0;-webkit-user-select:none;user-select:none}.mon-section-title{align-items:center;display:flex;gap:.4rem}.mon-section-title h2{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0}.mon-section-title svg{color:var(--text-secondary);flex-shrink:0}.mon-section-header>svg{color:var(--text-tertiary);flex-shrink:0}.mon-badge{background:var(--text-tertiary);border-radius:10px;color:#fff;font-size:.65rem;font-weight:700;line-height:1.3;padding:.1rem .45rem}.mon-badge.red{background:#ef4444}.mon-badge.yellow{background:#eab308;color:#1a1a1a}.mon-activity-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-top:.6rem}.mon-stat-box{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;padding:.6rem .4rem;text-align:center}.mon-stat-val{color:var(--text-primary);display:block;font-size:1.35rem;font-weight:700;line-height:1.2}.mon-stat-val small{font-weight:500}.mon-stat-lbl,.mon-stat-val small{color:var(--text-secondary);font-size:.65rem}.mon-stat-lbl{display:block;margin-top:.15rem}.mon-stat-box.err .mon-stat-val{color:#ef4444}.mon-chart{align-items:flex-end;display:flex;gap:2px;height:130px;margin-top:.5rem;padding:.5rem 0 0}.mon-chart-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.mon-chart-col.clickable{cursor:pointer}.mon-chart-col.clickable:hover .mon-chart-bar.has-err{background:#f87171}.mon-chart-col.selected .mon-chart-bar.has-err{background:#dc2626;box-shadow:0 0 0 2px #dc2626,0 0 0 4px #dc262633}.mon-chart-bar-wrap{align-items:flex-end;flex:1 1;width:100%}.mon-chart-bar,.mon-chart-bar-wrap{display:flex;justify-content:center}.mon-chart-bar{align-items:flex-start;background:#e2e8f0;background:var(--bg-tertiary,#e2e8f0);border-radius:3px 3px 0 0;max-width:36px;min-height:4px;transition:background .2s,box-shadow .2s;width:80%}.mon-chart-bar.has-err{background:#fca5a5}.mon-bar-val{color:#dc2626;font-size:.6rem;font-weight:700;padding-top:2px}.mon-chart-lbl{color:var(--text-tertiary);font-size:.6rem;line-height:1.2;margin-top:.3rem;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mon-date-errors{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);margin-top:.75rem;padding-top:.75rem}.mon-date-errors-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.mon-date-errors-header h3{color:var(--text-primary);flex:1 1;font-size:.85rem;font-weight:600;margin:0;min-width:0}.mon-date-actions{align-items:center;display:flex;flex-shrink:0;gap:.35rem}.mon-copy-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.72rem;gap:.3rem;padding:.35rem .7rem;transition:background .15s,border-color .15s;white-space:nowrap}.mon-copy-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-color:var(--primary);color:var(--primary)}.mon-copy-btn-sm{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:inline-flex;padding:.2rem;transition:color .15s,background .15s}.mon-copy-btn-sm:hover{background:#3b82f614;color:var(--primary)}.mon-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:inline-flex;padding:.25rem}.mon-close-btn:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:var(--text-primary)}.mon-save-btn{align-items:center;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.45rem .9rem;transition:background .2s,transform .1s}.mon-save-btn:hover:not(:disabled){background:#1d4ed8;background:var(--primary-dark,#1d4ed8)}.mon-save-btn:active:not(:disabled){transform:scale(.97)}.mon-save-btn:disabled{cursor:not-allowed;opacity:.5}.mon-save-btn.purple{background:#7c3aed}.mon-save-btn.purple:hover:not(:disabled){background:#6d28d9}.mon-msg{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:.25rem}.mon-msg.success{color:#22c55e}.mon-msg.error{color:#ef4444}.mon-errors-scroll{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;max-height:400px;overflow-y:auto}.mon-section-actions{margin-bottom:.25rem;margin-top:.5rem}.mon-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.3rem;padding:1.5rem .5rem}.mon-empty svg.green{color:#22c55e}.mon-empty p{font-size:.8rem;margin:0}.mon-loading-sm{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.4rem;justify-content:center;padding:1rem}.mon-no-data-sm{color:var(--text-tertiary);font-size:.8rem;padding:1rem;text-align:center}.mon-error-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-left:3px solid #ef4444;border-radius:8px;padding:.6rem}.mon-error-top{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:space-between;margin-bottom:.3rem}.mon-error-level{align-items:center;border-radius:3px;display:inline-flex;flex-shrink:0;font-size:.6rem;font-weight:700;gap:.2rem;letter-spacing:.03em;padding:.15rem .4rem;text-transform:uppercase}.mon-error-level.error{background:#fecaca;color:#dc2626}.mon-error-level.warning{background:#fef3c7;color:#d97706}.mon-error-top-right{align-items:center;display:flex;gap:.3rem;min-width:0}.mon-error-time{color:var(--text-tertiary);font-size:.65rem;white-space:nowrap}.mon-error-msg{color:var(--text-primary);font-size:.8rem;line-height:1.35;word-break:break-word}.mon-error-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.mon-tag{align-items:center;background:#e2e8f0;background:var(--bg-tertiary,#e2e8f0);border-radius:4px;color:var(--text-secondary);display:inline-flex;font-size:.65rem;gap:.2rem;padding:.12rem .4rem}.mon-tag.mono{font-family:SF Mono,Fira Code,monospace;font-size:.62rem}.mon-tag.ip{background:#f3e8ff;color:#7c3aed}.mon-tag.status{background:#fecaca;color:#dc2626;font-weight:600}.mon-tag.user{background:#dbeafe;color:#2563eb}.mon-tag.sm{font-size:.6rem;padding:.1rem .35rem}.mon-tag-row{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.mon-error-details{margin-top:.35rem}.mon-error-details summary{color:var(--primary);cursor:pointer;font-size:.68rem;font-weight:500;padding:.15rem 0}.mon-error-details pre{-webkit-overflow-scrolling:touch;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:4px;color:var(--text-primary);font-size:.62rem;margin:.25rem 0 0;max-height:150px;overflow-x:auto;padding:.4rem;white-space:pre-wrap;word-break:break-word}.mon-login-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-left:3px solid #eab308;border-radius:8px;padding:.6rem}.mon-login-card.danger{background:#fef2f2;border-left-color:#ef4444}.mon-login-top{align-items:center;display:flex;gap:.4rem;justify-content:space-between}.mon-login-email{color:var(--text-primary);font-size:.8rem;font-weight:600;min-width:0;word-break:break-all}.mon-login-time{color:var(--text-tertiary);font-size:.65rem;margin-top:.15rem}.mon-suspicious-card{background:#fff;border:1px solid #fecaca;border-radius:8px;margin-top:.5rem;padding:.65rem}.mon-suspicious-info{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.72rem;gap:.2rem;margin-top:.35rem}.mon-suspicious-info div{align-items:center;display:flex;gap:.3rem}.mon-suspicious-info svg{color:var(--text-tertiary);flex-shrink:0}.mon-section-desc{color:var(--text-secondary);font-size:.75rem;margin:.25rem 0 0}.mon-perf-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:6px;display:flex;flex-direction:column;gap:.3rem;padding:.5rem}.mon-perf-stats{color:var(--text-secondary);display:flex;font-size:.68rem;gap:.6rem}.mon-alert-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.mon-alert-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.mon-field{display:flex;flex-direction:column;gap:.25rem}.mon-field label{color:var(--text-secondary);font-size:.72rem;font-weight:500}.mon-input-row{align-items:center;display:flex;gap:.4rem}.mon-input-row input{background:#fff;background:var(--card-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:5px;color:var(--text-primary);font-size:.8rem;padding:.35rem .5rem;width:70px}.mon-input-row input:disabled{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:var(--text-tertiary);cursor:not-allowed}.mon-input-row span{color:var(--text-secondary);font-size:.72rem}.mon-alert-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.mon-info-text{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:.7rem;gap:.35rem;line-height:1.4;margin:0}.mon-info-text svg{flex-shrink:0;margin-top:1px}.mon-btn-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.mon-two-col{display:flex;flex-direction:column;gap:0}.mon-two-col .mon-card{margin-bottom:.75rem}@media (min-width:640px){.mon-header{align-items:center;flex-direction:row;justify-content:space-between}.mon-health-grid{gap:.75rem}.mon-activity-grid,.mon-health-grid{grid-template-columns:repeat(4,1fr)}.mon-stats-row{flex-direction:row}.mon-stats-row>.mon-card{flex:1 1;margin-bottom:0}.mon-alert-grid{grid-template-columns:repeat(3,1fr)}.mon-chart{height:150px}.mon-bar-val,.mon-chart-lbl{font-size:.65rem}}@media (min-width:1024px){.mon-dashboard{padding:0}.mon-health-grid{gap:1rem}.mon-card,.mon-health-card{padding:1rem}.mon-two-col{flex-direction:row;gap:1rem}.mon-two-col .mon-card{flex:1 1;min-width:0}.mon-errors-scroll{max-height:450px}.mon-chart{height:170px}.mon-section-title h2{font-size:.95rem}.mon-refresh-text{display:inline}}@media (max-width:639px){.mon-refresh-text{display:none}}@media (max-width:360px){.mon-health-grid{grid-template-columns:1fr}.mon-date-errors-header{flex-direction:column}.mon-date-errors-header h3{font-size:.78rem}.mon-error-top{align-items:flex-start;flex-direction:column;gap:.2rem}.mon-error-top-right{justify-content:space-between;width:100%}.mon-chart{height:100px}.mon-activity-grid{grid-template-columns:1fr 1fr}}.forgot-password-container{align-items:center;background:linear-gradient(135deg,#0a2540,#1e3a5f);background:linear-gradient(135deg,var(--color-navy,#0a2540) 0,#1e3a5f 100%);display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;padding:20px}.forgot-password-card{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;overflow:hidden;width:100%}.forgot-password-header{align-items:center;background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);display:flex;gap:12px;justify-content:center;padding:24px 32px 20px;text-align:center}.forgot-password-brand{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.5px}.forgot-password-body{padding:32px;text-align:center}.forgot-password-icon{font-size:48px;margin-bottom:16px}.forgot-password-body h2{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.forgot-password-subtitle{color:#475569;color:var(--color-gray-600,#475569);font-size:14px;line-height:1.6;margin:0 0 24px}.success-message{margin:0 0 16px}.success-message strong{color:#0a2540;color:var(--color-navy,#0a2540)}.success-hint{color:#64748b;color:var(--color-gray-500,#64748b);font-size:13px;font-style:italic;margin:0 0 24px}.forgot-password-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;color:var(--color-red,#ef4444);display:flex;font-size:14px;gap:8px;justify-content:center;margin-bottom:20px;padding:12px 16px}.forgot-password-form{margin-bottom:16px}.forgot-password-field{margin-bottom:20px;text-align:left}.forgot-password-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.forgot-password-field input,.forgot-password-field label{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif}.forgot-password-field input{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:2px solid #d1d5db;border:2px solid var(--color-gray-300,#d1d5db);border-radius:10px;font-size:15px;padding:14px 16px;transition:all .2s ease;width:100%}.forgot-password-field input:focus{background:#fff;border-color:#06b6d4;border-color:var(--color-turquoise,#06b6d4);box-shadow:0 0 0 4px #06b6d426;outline:none}.forgot-password-field input::placeholder{color:#94a3b8;color:var(--color-gray-400,#94a3b8)}.forgot-password-btn-primary{align-items:center;background:#0a2540;background:var(--color-navy,#0a2540);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.forgot-password-btn-primary:hover:not(:disabled){background:#0f3460;box-shadow:0 8px 20px #0a25404d;transform:translateY(-2px)}.forgot-password-btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.forgot-password-btn-secondary{background:#06b6d4;background:var(--color-turquoise,#06b6d4);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:600;margin-top:16px;padding:12px 24px;transition:all .2s ease;width:100%}.forgot-password-btn-secondary:hover{background:#0891b2;transform:translateY(-1px)}.forgot-password-btn-link{background:none;border:none;color:#06b6d4;color:var(--color-turquoise,#06b6d4);cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:500;padding:8px;transition:color .2s ease}.forgot-password-btn-link:hover:not(:disabled){color:#0891b2;text-decoration:underline}.forgot-password-btn-link:disabled{cursor:not-allowed;opacity:.5}.forgot-password-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:480px){.forgot-password-container{align-items:flex-start;padding:0}.forgot-password-card{border-radius:0;max-width:100%;min-height:100vh}.forgot-password-header{padding:24px 20px 20px}.forgot-password-body{padding:24px 20px}}.reset-password-container{align-items:center;background:linear-gradient(135deg,#0a2540,#1e3a5f);background:linear-gradient(135deg,var(--color-navy,#0a2540) 0,#1e3a5f 100%);display:flex;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;padding:20px}.reset-password-card{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.reset-password-header{align-items:center;background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);display:flex;gap:12px;justify-content:center;padding:24px 32px 20px;text-align:center}.reset-password-brand{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.5px}.reset-password-body{padding:32px;text-align:center}.reset-password-icon{font-size:48px;margin-bottom:16px}.success-icon,.token-error-icon{font-size:56px;margin-bottom:16px}.reset-password-body h2{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.reset-password-subtitle{color:#475569;color:var(--color-gray-600,#475569);font-size:14px;line-height:1.6;margin:0 0 24px}.reset-password-subtitle strong{color:#0a2540;color:var(--color-navy,#0a2540)}.success-message{color:#334155;color:var(--color-gray-700,#334155)}.success-message,.token-error-message{font-size:14px;line-height:1.6;margin:0 0 24px}.token-error-message{color:#475569;color:var(--color-gray-600,#475569)}.reset-password-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;color:var(--color-red,#ef4444);display:flex;font-size:14px;gap:8px;justify-content:center;margin-bottom:20px;padding:12px 16px}.reset-password-form{margin-bottom:16px;text-align:left}.reset-password-field{margin-bottom:16px}.reset-password-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.reset-password-field input,.reset-password-field label{color:#0a2540;color:var(--color-navy,#0a2540);font-family:Sora,sans-serif}.reset-password-field input{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:2px solid #d1d5db;border:2px solid var(--color-gray-300,#d1d5db);border-radius:10px;font-size:15px;padding:14px 16px;transition:all .2s ease;width:100%}.reset-password-field input:focus{background:#fff;border-color:#06b6d4;border-color:var(--color-turquoise,#06b6d4);box-shadow:0 0 0 4px #06b6d426;outline:none}.reset-password-field input::placeholder{color:#94a3b8;color:var(--color-gray-400,#94a3b8)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.toggle-password{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:opacity .2s}.toggle-password:hover{opacity:1}.password-requirements{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-radius:8px;margin-bottom:20px;padding:12px}.password-requirements p{color:#64748b;color:var(--color-gray-500,#64748b);font-size:13px;margin:4px 0;transition:color .2s}.password-requirements p.valid{color:#059669;color:var(--color-green,#059669)}.reset-password-btn-primary{align-items:center;background:#0a2540;background:var(--color-navy,#0a2540);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.reset-password-btn-primary:hover:not(:disabled){background:#0f3460;box-shadow:0 8px 20px #0a25404d;transform:translateY(-2px)}.reset-password-btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.reset-password-btn-link{background:none;border:none;color:#06b6d4;color:var(--color-turquoise,#06b6d4);cursor:pointer;font-family:Sora,sans-serif;font-size:14px;font-weight:500;padding:8px;transition:color .2s ease}.reset-password-btn-link:hover:not(:disabled){color:#0891b2;text-decoration:underline}.reset-password-btn-link:disabled{cursor:not-allowed;opacity:.5}.reset-password-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.reset-password-spinner-large{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#06b6d4;border:3px solid var(--color-gray-200,#e5e7eb);border-radius:50%;border-top-color:var(--color-turquoise,#06b6d4);height:32px;margin:0 auto 16px;width:32px}.reset-password-loading{padding:32px 0}.reset-password-loading p{color:#475569;color:var(--color-gray-600,#475569);font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.reset-password-container{align-items:flex-start;padding:0}.reset-password-card{border-radius:0;max-width:100%;min-height:100vh}.reset-password-header{padding:24px 20px 20px}.reset-password-body{padding:24px 20px}}
/*# sourceMappingURL=main.6eb37882.css.map*/