@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Atkinson Hyperlegible,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.confirm-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:24px;animation:.2s ease-out dialog-appear;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.confirm-dialog.danger{border-top:4px solid var(--color-danger-bg)}@keyframes dialog-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-dialog-title{color:#2d3748;margin:0 0 12px;font-size:18px;font-weight:600}.confirm-dialog.danger .confirm-dialog-title{color:var(--color-danger-bg)}.confirm-dialog-message{color:#4a5568;margin:0 0 24px;font-size:14px;line-height:1.6}.confirm-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-dialog-button{cursor:pointer;border:none;border-radius:8px;min-width:80px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.confirm-dialog-button:focus{outline-offset:2px;box-shadow:var(--shadow-focus-ring);outline:2px solid #0000}.confirm-dialog-button.cancel{background-color:var(--color-secondary-light-bg);color:var(--color-secondary-light-text)}.confirm-dialog-button.cancel:hover{background-color:var(--color-secondary-light-bg-hover)}.confirm-dialog-button.confirm{background:var(--color-secondary-bg);color:var(--color-secondary-text)}.confirm-dialog-button.confirm:hover{background:var(--color-secondary-bg-hover)}.confirm-dialog-button.confirm.danger{background:var(--color-danger-bg)}.confirm-dialog-button.confirm.danger:hover{background:var(--color-danger-bg-hover)}@media (width<=480px){.confirm-dialog{padding:20px}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-button{width:100%}}.app-footer{border-top:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-muted,#f8fafc);color:var(--text-secondary,#64748b);margin-top:2rem;padding:1rem 1.5rem;font-size:.8125rem}.app-footer-nav ul{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.app-footer-nav a{color:inherit;text-decoration:none}.app-footer-nav a:hover,.app-footer-nav a:focus-visible{color:var(--color-brand-teal,#003b49);text-decoration:underline}.app-footer-copy{margin:.5rem 0 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{color:#fff;z-index:1000;background:#000;border-radius:0 0 4px;padding:8px 16px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.layout{flex-direction:row;min-height:100vh;display:flex;overflow-x:hidden}.sidebar{z-index:100;background-color:#013b49;flex-direction:column;width:220px;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-collapsed .sidebar{width:56px}.sidebar-header{border-bottom:1px solid #ffffff26;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.brand-link{align-items:center;gap:10px;text-decoration:none;display:inline-flex;overflow:hidden}.brand-mark{flex-shrink:0;width:28px;height:auto;display:block}.brand-title{color:#fff;white-space:nowrap;margin:0;font-size:20px;font-weight:700}.sidebar-collapsed .brand-title{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-collapsed .brand-mark{display:block}.sidebar-toggle{color:#ffffffb3;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:12px;line-height:1}.sidebar-toggle:hover{color:#fff}.sidebar-tenant{border-bottom:1px solid #ffffff26;flex-shrink:0;padding:10px 16px;overflow:hidden}.tenant-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.tenant-role{color:#fff9;text-transform:capitalize;font-size:11px}.sidebar-collapsed .sidebar-tenant{display:none}.sidebar-menu{flex-direction:column;gap:2px;margin:0;padding:8px;list-style:none;display:flex}.sidebar-link{color:#fff;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;font-weight:500;text-decoration:none;transition:background-color .2s;display:flex;overflow:hidden}.sidebar-icon{flex-shrink:0;width:24px;min-width:24px;height:24px;min-height:24px}.sidebar-link:hover,.sidebar-link.active{background-color:#fff3}.sidebar-collapsed [data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:1000;background:#1e293b;border-radius:4px;padding:4px 10px;font-size:13px;font-weight:500;transition:opacity .15s;position:fixed;left:64px}.sidebar-collapsed [data-tooltip]:hover:after,.sidebar-collapsed [data-tooltip]:focus-visible:after{opacity:1}.sidebar-collapsed .sidebar-link{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-label{display:none}.sidebar-footer{border-top:1px solid #ffffff26;flex-direction:column;flex-shrink:0;gap:2px;padding:8px;display:flex}.sidebar-footer .account-link{padding:10px 12px}.logout-button{color:var(--color-nav-text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background-color .2s;display:flex;overflow:hidden}.logout-button:hover{background:#ffffff4d}.sidebar-collapsed .logout-button{justify-content:center;padding:10px}.sidebar-collapsed .logout-button .sidebar-label{display:none}.main-content{background-color:#f7fafc;flex:1;min-height:100vh;margin-left:220px;transition:margin-left .2s}.sidebar-collapsed .main-content{margin-left:56px}.content-container{max-width:1200px;margin:0 auto;padding:32px 24px}.layout-mobile{flex-direction:column}.layout-mobile .main-content{margin-left:0}.layout-mobile .sidebar{display:none}.layout-mobile .sidebar.sidebar-mobile-open{display:flex}.mobile-header,.mobile-backdrop,.mobile-only{display:none}@media (width<=1024px){.mobile-header{z-index:200;background-color:#013b49;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-header .brand-title{color:#fff;margin:0;font-size:18px;font-weight:700}.mobile-menu-toggle{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px;line-height:1}.mobile-backdrop{z-index:299;background:#00000080;display:block;position:fixed;inset:0}.sidebar{z-index:300;visibility:hidden;flex-flow:column;width:min(280px,85vw);height:100%;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar-mobile-open{visibility:visible;transform:translate(0)}.sidebar .brand-link{display:none}.sidebar-header{justify-content:flex-end;padding:8px 16px}.desktop-only{display:none}.mobile-only{display:block}.sidebar-toggle.mobile-only{align-items:center;display:flex}.sidebar-menu{flex-direction:column;gap:2px;padding:8px}.sidebar-link{padding:12px;font-size:15px}.sidebar-collapsed .sidebar-link{justify-content:flex-start;padding:12px}.sidebar-collapsed .sidebar-label,.sidebar-collapsed .brand-title{display:block!important}.sidebar-collapsed .brand-title{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.sidebar-footer{flex-direction:column;gap:2px;padding:8px}.sidebar-footer .account-link{padding:12px}.logout-button,.sidebar-collapsed .logout-button{justify-content:flex-start;padding:12px}.sidebar-collapsed .logout-button .sidebar-label{display:block!important}.main-content{margin-left:0!important}.content-container{padding:20px 12px}.sidebar-tenant{border-bottom:1px solid #ffffff26;flex-direction:column;padding:12px 16px;display:flex}}@media (width<=480px){.content-container{padding:16px 8px}.mobile-header{padding:8px 12px}.mobile-header .brand-title{font-size:16px}}.not-found{max-width:40rem;margin:0 auto;padding:3rem 1.5rem}.not-found h1{margin-bottom:.5rem}.not-found-path code{overflow-wrap:anywhere;color:#5c6470;background:#f5f7f8;border-radius:3px;padding:.125rem .375rem;font-size:.9375rem}.loading-spinner-container{flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;display:flex}.loading-spinner-container.small{min-height:100px;padding:1rem}.loading-spinner-container.large{min-height:400px;padding:3rem}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid var(--color-brand-teal);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-spinner-container.small .loading-spinner{border-width:3px;width:24px;height:24px}.loading-spinner-container.large .loading-spinner{border-width:6px;width:60px;height:60px}.loading-message{color:#666;text-align:center;font-size:.95rem}.loading-spinner-container.small .loading-message{font-size:.85rem}.loading-spinner-container.large .loading-message{font-size:1.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{border-top-color:#0000;border-right-color:var(--color-brand-teal);animation:none}}.consent-banner{inset-inline:0;z-index:1300;background:var(--color-surface,#fff);border-top:2px solid var(--color-primary-bg,#2b6cb0);padding:16px;position:fixed;bottom:0;box-shadow:0 -4px 16px #00000026}.consent-banner__inner{max-width:1152px;margin:0 auto}.consent-banner h2{margin:0 0 8px;font-size:18px;font-weight:600}.consent-banner h2:focus{outline-offset:2px;box-shadow:var(--shadow-focus-ring);outline:2px solid #0000}.consent-banner__body{margin:0 0 16px;font-size:14px;line-height:1.5}.consent-banner__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}@media (width<=599px){.consent-banner__actions{flex-direction:column;align-items:stretch}}.notification-announcer{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notification-stack{z-index:999;flex-direction:column;align-items:flex-end;gap:.5rem;width:min(24rem,100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem;overflow-y:auto}.notification-stack__list{flex-direction:column;gap:.5rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.notification-toast{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-left:4px solid var(--color-brand-teal);border-radius:var(--radius-btn);padding:.75rem 1rem;box-shadow:0 4px 16px #00000026}.notification-toast--failed{border-left-color:var(--color-danger-bg)}.notification-toast__message{overflow-wrap:anywhere;margin:0 0 .5rem;font-size:.875rem;line-height:1.4}.notification-toast__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.notification-toast__link{color:var(--color-brand-teal);font-size:.875rem;font-weight:600;text-decoration:underline}.notification-toast__link:focus-visible{outline-offset:2px;box-shadow:var(--shadow-focus-ring);outline:2px solid #0000}.notification-stack__dismiss-all{background:var(--color-surface)}html.has-notification-stack{scroll-padding-bottom:var(--notification-stack-reserve,0)}html.has-notification-stack body{padding-bottom:var(--notification-stack-reserve,0)}:root{--color-brand-teal:#003b49;--color-brand-teal-hover:#00262f;--color-brand-teal-tint:#e6eef0;--color-brand-gold:#ffc845;--color-brand-gold-hover:#e5b03e;--color-brand-gold-tint:#fff8e1;--color-primary-bg:var(--color-brand-gold);--color-primary-bg-hover:var(--color-brand-gold-hover);--color-primary-text:var(--color-brand-teal);--color-primary-text-hover:var(--color-brand-teal-hover);--color-secondary-bg:var(--color-brand-teal);--color-secondary-bg-hover:var(--color-brand-teal-hover);--color-secondary-text:#fff;--color-ghost-bg:transparent;--color-ghost-bg-hover:var(--color-brand-teal-tint);--color-ghost-text:var(--color-brand-teal);--color-ghost-border:#cbd5e1;--color-danger-bg:#b91c1c;--color-danger-bg-hover:#991b1b;--color-danger-text:#fff;--color-danger-bg-tint:#fef2f2;--color-danger-border:#fecaca;--color-secondary-light-bg:#edf2f7;--color-secondary-light-bg-hover:#e2e8f0;--color-secondary-light-text:var(--color-brand-teal);--color-disabled-bg:#cbd5e0;--color-disabled-text:#6b7280;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#475569;--color-nav-text:#fff;--color-error-text:#721c24;--color-error-bg:#f8d7da;--color-error-border:#f5c6cb;--color-focus-ring:var(--color-brand-gold);--color-focus-ring-outer:var(--color-brand-teal);--shadow-focus-ring:0 0 0 2px var(--color-focus-ring), 0 0 0 4px var(--color-focus-ring-outer);--shadow-focus-ring-inset:inset 0 0 0 2px var(--color-focus-ring-outer), inset 0 0 0 4px var(--color-focus-ring);--shadow-focus-ring-on-dark:0 0 0 2px var(--color-focus-ring-outer), 0 0 0 4px var(--color-focus-ring);--radius-btn:6px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2d3748;background-color:#f7fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}.App{min-height:100vh}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.rounded{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.btn{border-radius:var(--radius-btn);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{outline-offset:2px;box-shadow:var(--shadow-focus-ring);outline:2px solid #0000}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary-bg);color:var(--color-primary-text)}.btn-primary:hover:not(:disabled,[aria-disabled=true]){background:var(--color-primary-bg-hover);color:var(--color-primary-text-hover)}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-secondary-text)}.btn-secondary:hover:not(:disabled,[aria-disabled=true]){background:var(--color-secondary-bg-hover)}.btn-ghost{background:var(--color-ghost-bg);color:var(--color-ghost-text);border-color:var(--color-ghost-border)}.btn-ghost:hover:not(:disabled,[aria-disabled=true]){background:var(--color-ghost-bg-hover)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled,[aria-disabled=true]){background:var(--color-danger-bg-hover)}.btn-sm{padding:.35rem .75rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-label{color:#374151;margin-bottom:.25rem;font-weight:500;display:block}.form-input{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline-offset:2px;box-shadow:var(--shadow-focus-ring);border-color:var(--color-brand-teal);outline:2px solid #0000}.card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.card-header{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.card-title{color:#1f2937;font-size:1.25rem;font-weight:600}.alert{border:1px solid #0000;border-radius:.375rem;margin-bottom:1rem;padding:.75rem 1rem}.alert-error{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.alert-warning{color:#946300;background-color:#fffbeb;border-color:#fed7aa}.alert-success{color:#15803d;background-color:#f0fdf4;border-color:#bbf7d0}.alert-info{color:#2563eb;background-color:#eff6ff;border-color:#bfdbfe}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}
