:root{color-scheme:light;--app-font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--app-color-brand-700: #1e3a8a;--app-color-brand-600: #1e40af;--app-color-brand-500: #1d4ed8;--app-color-brand-400: #3b82f6;--app-color-brand-050: rgba(29, 78, 216, .06);--app-color-accent-500: #3b82f6;--app-color-accent-100: #dbeafe;--app-color-dashboard-accent: #10b981;--app-color-dashboard-accent-soft: rgba(16, 185, 129, .12);--app-color-panel-900: #0a1128;--app-color-surface: #ffffff;--app-color-surface-muted: #f5f7fb;--app-color-surface-soft: rgba(255, 255, 255, .76);--app-color-surface-strong: #e9eef6;--app-color-background: #f3f6fb;--app-color-background-alt: #eef3f8;--app-color-background-emphasis: #e8eef6;--app-color-border: #dde5f0;--app-color-border-strong: #c7d4e3;--app-color-text: #25283d;--app-color-text-muted: #64748b;--app-color-text-soft: #8b97b0;--app-color-text-inverse: #f8fbff;--app-color-success-500: #10b981;--app-color-success-100: #ecfdf5;--app-color-warning-500: #f59e0b;--app-color-warning-100: #fffbeb;--app-color-info-500: #3b82f6;--app-color-info-100: #eff6ff;--app-color-danger-500: #ef4444;--app-color-danger-100: #fef2f2;--app-color-overlay: rgba(255, 255, 255, .84);--app-color-overlay-strong: rgba(255, 255, 255, .96);--app-color-nav-active-bg: rgba(29, 78, 216, .1);--app-color-nav-active-text: var(--app-color-brand-600);--app-color-nav-indicator: var(--app-color-brand-500);--app-color-search-background: rgba(255, 255, 255, .88);--app-color-search-border: rgba(199, 212, 227, .72);--app-color-chart-grid: rgba(139, 151, 176, .24);--app-color-chart-line-primary: rgba(29, 78, 216, .78);--app-color-chart-line-secondary: rgba(16, 185, 129, .82);--app-color-chart-fill-primary: rgba(29, 78, 216, .12);--app-color-chart-fill-secondary: rgba(16, 185, 129, .12);--app-space-1: .25rem;--app-space-2: .5rem;--app-space-3: .75rem;--app-space-4: 1rem;--app-space-5: 1.5rem;--app-space-6: 2rem;--app-space-7: 3rem;--app-space-8: 4rem;--app-radius-1: .75rem;--app-radius-2: 1rem;--app-radius-3: 1.5rem;--app-radius-4: 1.75rem;--app-radius-pill: 999px;--app-control-height: 2.75rem;--app-control-radius: .75rem;--app-button-height: 2.75rem;--app-button-radius: var(--app-radius-pill);--app-auth-panel-max-width: 28rem;--app-auth-title-size-mobile: 1.5rem;--app-auth-title-line-height-mobile: 1.3334;--app-auth-title-size-desktop: 2rem;--app-auth-title-line-height-desktop: 1.25;--app-auth-copy-size: 1rem;--app-auth-label-size: 1rem;--app-auth-helper-size: .8125rem;--app-auth-control-height: 3.5rem;--app-auth-button-height: 3.5rem;--app-auth-button-radius: var(--app-radius-pill);--app-shell-sidebar-width: 18rem;--app-shell-sidebar-collapsed-width: 6rem;--app-shell-topbar-height: 5.75rem;--app-shell-content-max-width: 90rem;--app-sidebar-nav-groups-gap: 1rem;--app-sidebar-nav-section-gap: .75rem;--app-sidebar-nav-row-gap: .375rem;--app-sidebar-nav-item-gap: .875rem;--app-sidebar-nav-item-padding-block: .9rem;--app-sidebar-nav-item-padding-inline: 1rem;--app-sidebar-nav-item-radius: 1rem;--app-sidebar-nav-item-label-size: .95rem;--app-sidebar-nav-item-label-weight: 600;--app-sidebar-nav-indicator-width: .22rem;--app-sidebar-nav-indicator-inset: .5rem;--app-shadow-sm: 0 .75rem 1.5rem rgba(15, 23, 42, .06);--app-shadow-md: 0 1rem 2.5rem rgba(15, 23, 42, .1);--app-shadow-lg: 0 1.5rem 3.75rem rgba(15, 23, 42, .14);--app-shadow-xl: 0 1.75rem 4.25rem rgba(10, 17, 40, .22);--app-shadow-control: 0 1px 2px rgba(15, 23, 42, .08);--app-shadow-button: 0 .5rem 1rem rgba(29, 78, 216, .2);--app-shadow-shell: 0 1rem 2.25rem rgba(15, 23, 42, .08);--app-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .5);--app-color-input-border: #c7d4e3;--app-color-input-placeholder: #94a3b8;--app-body-background: radial-gradient(circle at top left, rgba(59, 130, 246, .09), transparent 26%), radial-gradient(circle at top right, rgba(16, 185, 129, .08), transparent 22%), linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);--app-breakpoint-sm: 576px;--app-breakpoint-md: 768px;--app-breakpoint-lg: 992px;--app-breakpoint-xl: 1200px;--app-breakpoint-xxl: 1400px;--bs-primary: var(--app-color-brand-500);--bs-primary-rgb: 29, 78, 216;--bs-secondary: var(--app-color-surface);--bs-secondary-rgb: 255, 255, 255;--bs-warning: var(--app-color-warning-500);--bs-warning-rgb: 245, 158, 11;--bs-danger: var(--app-color-danger-500);--bs-danger-rgb: 239, 68, 68;--bs-light: var(--app-color-surface-muted);--bs-light-rgb: 248, 250, 252;--bs-body-color: var(--app-color-text);--bs-body-color-rgb: 37, 40, 61;--bs-body-bg: var(--app-color-background);--bs-body-bg-rgb: 243, 246, 251;--bs-border-color: var(--app-color-border);--bs-border-radius: var(--app-radius-1);--bs-border-radius-lg: var(--app-radius-2);--bs-border-radius-xl: var(--app-radius-3);--bs-box-shadow: var(--app-shadow-sm);--bs-box-shadow-lg: var(--app-shadow-lg);--bs-focus-ring-color: rgba(59, 130, 246, .2);--bs-link-color: var(--app-color-brand-500);--bs-link-hover-color: var(--app-color-brand-600);--bs-heading-color: var(--app-color-text);--bs-font-sans-serif: var(--app-font-sans);--bs-body-font-family: var(--app-font-sans);--bs-card-bg: var(--app-color-surface);--bs-tertiary-bg: var(--app-color-surface-muted)}[data-theme=dark]{color-scheme:dark;--app-color-brand-050: rgba(96, 165, 250, .12);--app-color-dashboard-accent-soft: rgba(16, 185, 129, .18);--app-color-panel-900: #0b1322;--app-color-surface: #132034;--app-color-surface-muted: #0f1a2b;--app-color-surface-soft: rgba(13, 23, 40, .84);--app-color-surface-strong: #1b2b43;--app-color-background: #09111f;--app-color-background-alt: #0d1728;--app-color-background-emphasis: #132136;--app-color-border: rgba(116, 137, 168, .28);--app-color-border-strong: rgba(139, 151, 176, .42);--app-color-text: #e5eef9;--app-color-text-muted: #a9b8cd;--app-color-text-soft: #7f92ab;--app-color-text-inverse: #f8fbff;--app-color-overlay: rgba(10, 18, 32, .82);--app-color-overlay-strong: rgba(15, 26, 43, .94);--app-color-nav-active-bg: rgba(96, 165, 250, .14);--app-color-nav-active-text: #d9e8ff;--app-color-nav-indicator: #60a5fa;--app-color-search-background: rgba(15, 26, 43, .78);--app-color-search-border: rgba(139, 151, 176, .22);--app-color-chart-grid: rgba(139, 151, 176, .18);--app-color-chart-line-primary: rgba(147, 197, 253, .86);--app-color-chart-line-secondary: rgba(52, 211, 153, .86);--app-color-chart-fill-primary: rgba(59, 130, 246, .18);--app-color-chart-fill-secondary: rgba(16, 185, 129, .18);--app-shadow-sm: 0 1rem 2rem rgba(2, 8, 23, .38);--app-shadow-md: 0 1.25rem 2.75rem rgba(2, 8, 23, .44);--app-shadow-lg: 0 1.5rem 3.75rem rgba(2, 8, 23, .5);--app-shadow-xl: 0 1.75rem 4.25rem rgba(2, 8, 23, .56);--app-shadow-control: 0 1px 2px rgba(2, 8, 23, .3);--app-shadow-button: 0 .75rem 1.5rem rgba(29, 78, 216, .26);--app-shadow-shell: 0 1.5rem 3rem rgba(2, 8, 23, .4);--app-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .04);--app-color-input-border: rgba(139, 151, 176, .24);--app-color-input-placeholder: #7f92ab;--app-body-background: radial-gradient(circle at top left, rgba(59, 130, 246, .16), transparent 26%), radial-gradient(circle at top right, rgba(16, 185, 129, .12), transparent 22%), linear-gradient(180deg, #07101d 0%, #0d1728 100%);--bs-secondary: var(--app-color-surface);--bs-secondary-rgb: 19, 32, 52;--bs-light: var(--app-color-surface-muted);--bs-light-rgb: 15, 26, 43;--bs-body-color-rgb: 229, 238, 249;--bs-body-bg-rgb: 9, 17, 31;--bs-focus-ring-color: rgba(96, 165, 250, .24);--bs-link-color: #93c5fd;--bs-link-hover-color: #dbeafe;--bs-card-bg: var(--app-color-surface);--bs-tertiary-bg: var(--app-color-surface-muted)}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;background:var(--app-body-background);color:var(--app-color-text);font-family:var(--bs-body-font-family);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}button,input,textarea,select{font:inherit}img{display:block;max-width:100%;height:auto}:focus-visible{outline:0;box-shadow:0 0 0 .25rem var(--bs-focus-ring-color)}a{color:inherit}.d-block{display:block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.align-items-center{align-items:center!important}.align-items-start{align-items:flex-start!important}.justify-content-between{justify-content:space-between!important}.justify-content-end{justify-content:flex-end!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.text-end{text-align:end!important}.text-danger{color:var(--app-color-danger-500)!important}.h-100{height:100%!important}.overflow-auto{overflow:auto!important}.h3{margin:0;color:var(--app-color-text);font-size:clamp(1.45rem,1.2rem + .75vw,1.75rem);font-weight:700;line-height:1.2}.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0}.row>*{min-width:0;grid-column:span 12}.g-4{gap:1.5rem}.g-5{gap:3rem}.col-12{grid-column:span 12}.table-responsive{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;color:var(--bs-table-color, var(--app-color-text));background:var(--bs-table-bg, transparent)}.table th,.table td{padding:.75rem;border-bottom:1px solid var(--bs-table-border-color, var(--app-color-border));background:var(--bs-table-bg, transparent);text-align:left}.align-middle th,.align-middle td{vertical-align:middle}.form-check{display:flex;align-items:flex-start;gap:.625rem}.form-check-input{flex:0 0 auto;width:1rem;height:1rem;margin:.2rem 0 0;accent-color:var(--app-color-brand-500)}.form-check-label{color:var(--app-color-text-muted);line-height:1.45}@media(min-width:576px){.flex-sm-row{flex-direction:row!important}}@media(min-width:992px){.col-lg-3{grid-column:span 3}.col-lg-6{grid-column:span 6}}@media(min-width:1200px){.col-xl-4{grid-column:span 4}.col-xl-5{grid-column:span 5}.col-xl-6{grid-column:span 6}.col-xl-7{grid-column:span 7}}.app-auth-title{margin:0;color:var(--app-color-text);font-size:var(--app-auth-title-size-mobile);font-weight:700;letter-spacing:-.04em;line-height:var(--app-auth-title-line-height-mobile)}.app-auth-copy{margin:0;color:var(--app-color-text-muted);font-size:var(--app-auth-copy-size);line-height:1.5}.app-label{display:inline-block;margin-bottom:.375rem;color:var(--app-color-text);font-size:var(--app-auth-label-size);font-weight:700}.app-input{display:block;width:100%;min-height:var(--app-control-height);padding:.75rem 1rem;border:1px solid var(--app-color-input-border);border-radius:var(--app-control-radius);background:var(--app-color-surface);color:var(--app-color-text);font-size:1rem;line-height:1.5;box-shadow:var(--app-shadow-control);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.app-input::placeholder{color:var(--app-color-input-placeholder)}.app-input:focus{border-color:#1d4ed86b;box-shadow:0 0 0 .25rem #1d4ed81a,var(--app-shadow-control)}.app-input--auth{min-height:var(--app-auth-control-height)}.app-input.is-invalid{border-color:#ef4444ad}.app-select-shell{position:relative;display:block;min-width:0}.app-select-shell:after{content:"";position:absolute;top:50%;right:1.125rem;width:.625rem;height:.625rem;border-right:2px solid var(--app-color-text-soft);border-bottom:2px solid var(--app-color-text-soft);transform:translateY(-70%) rotate(45deg);pointer-events:none}.app-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;padding-right:2.9rem;cursor:pointer}.app-select::-ms-expand{display:none}.app-select:disabled{cursor:not-allowed}.app-select:disabled+*,.app-select-shell:has(.app-select:disabled):after{opacity:.58}.app-helper-text{margin:.5rem 0 0;color:var(--app-color-text-soft);font-size:.8125rem;line-height:1.4}.app-helper-text--error{color:var(--app-color-danger-500)}.app-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--app-button-height);padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--app-button-radius);background:transparent;color:var(--app-color-text);font-size:.875rem;font-weight:600;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease;cursor:pointer}.app-button:disabled{cursor:not-allowed}.app-button--primary{background:var(--app-color-brand-500);color:var(--app-color-text-inverse);box-shadow:var(--app-shadow-button)}.app-button--primary:hover{background:var(--app-color-brand-600);color:var(--app-color-text-inverse)}.app-button--primary:disabled{background:#6b86e0;color:var(--app-color-text-inverse);box-shadow:none}.app-button--secondary{border-color:var(--app-color-border);background:var(--app-color-surface);color:var(--app-color-text);box-shadow:var(--app-shadow-control)}.app-button--secondary:hover{background:var(--app-color-surface-muted);color:var(--app-color-text)}.app-button--ghost{color:var(--app-color-text-soft)}.app-button--ghost:hover{background:#0f172a0f;color:var(--app-color-text)}.app-button--auth{width:100%;min-height:var(--app-auth-button-height);border-radius:var(--app-auth-button-radius);font-size:1rem;font-weight:700}.app-icon-button{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:3rem;height:3rem;min-width:3rem;aspect-ratio:1/1;border:1px solid var(--app-color-search-border);border-radius:var(--app-radius-pill);background:var(--app-color-overlay-strong);color:var(--app-color-text-muted);box-shadow:var(--app-shadow-sm);transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;cursor:pointer}.app-icon-button:hover{border-color:var(--app-color-border-strong);background:var(--app-color-surface);color:var(--app-color-text);transform:translateY(-1px)}.app-icon-button__dot{position:absolute;top:.8rem;right:.85rem;width:.5rem;height:.5rem;border:2px solid var(--app-color-overlay-strong);border-radius:var(--app-radius-pill);background:var(--app-color-danger-500)}.app-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem .875rem;border:1px solid var(--app-color-border);border-radius:var(--app-radius-pill);background:var(--app-color-surface-soft);color:var(--app-color-text);box-shadow:var(--app-shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-chip--success{border-color:#10b98129;background:var(--app-color-dashboard-accent-soft);color:var(--app-color-success-500)}.app-chip--subtle{color:var(--app-color-text-muted)}@media(min-width:992px){.app-auth-title{font-size:var(--app-auth-title-size-desktop);line-height:var(--app-auth-title-line-height-desktop)}}.app-page-shell{min-height:100vh;display:grid;place-items:center;padding-block:var(--app-space-6)}.app-form-shell{width:min(100%,30rem)}.app-dashboard-shell{width:min(100%,52rem)}.app-surface-card{border:1px solid var(--app-color-border);border-radius:var(--app-radius-4);background:var(--app-color-overlay-strong);box-shadow:var(--app-shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-eyebrow{margin:0;color:var(--app-color-brand-400);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-intro{color:var(--app-color-text-muted);max-width:60ch}.app-section-divider{padding-bottom:var(--app-space-4);border-bottom:1px solid var(--app-color-border)}.app-section-kicker{margin:0 0 var(--app-space-2);color:var(--app-color-brand-400);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.app-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-4)}.app-metric-card{display:grid;gap:.375rem;padding:1.125rem;border-radius:var(--app-radius-3);border:1px solid var(--app-color-border);background:var(--app-color-surface-muted)}.app-metric-label{color:var(--app-color-text-soft);font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.app-metric-caption{color:var(--app-color-text-muted)}.app-code-block{margin:0;border-radius:var(--app-radius-3);background:var(--app-color-panel-900);color:#dbeafe;white-space:pre-wrap;word-break:break-word}.app-modal-backdrop{position:fixed;inset:0;z-index:1050;display:grid;place-items:center;padding:var(--app-space-4);background:#0f172a85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-modal-card{width:min(100%,32rem);padding:var(--app-space-6);border-radius:var(--app-radius-3);background:var(--app-color-surface);box-shadow:var(--app-shadow-xl)}.app-entity-page{display:grid;min-width:0;gap:1.5rem}.app-entity-page__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.app-entity-card{--app-entity-card-padding: 1.5rem;display:grid;min-width:0;gap:1.25rem;padding:var(--app-entity-card-padding)}.app-entity-card>app-data-table{margin-inline:calc(var(--app-entity-card-padding) * -1)}.app-entity-card>app-data-table .app-data-table{border-inline:0;border-radius:0;background:transparent}.app-entity-card--table{overflow:hidden;padding-block-start:0}.app-entity-card--table>app-data-table .app-data-table{border-top:0}.app-entity-card--form{gap:1.5rem}.app-entity-card--form .app-entity-card__header{padding-bottom:1rem;border-bottom:1px solid var(--app-color-border)}.app-entity-card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.app-entity-card__header--hero{align-items:center;gap:1rem 1.25rem}.app-entity-card__header h2{margin:0;font-size:1.4rem;letter-spacing:-.03em}.app-entity-card__header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem}.app-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.app-form-field{display:grid;gap:.5rem;min-width:0}.app-form-actions{display:flex;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:.75rem;margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--app-color-border)}.app-form-actions .app-button{min-width:9rem}@media(max-width:768px){.app-metrics-grid{grid-template-columns:1fr}.app-entity-card__header-actions,.app-form-actions{width:100%}.app-entity-card__header-actions .app-button,.app-form-actions .app-button{flex:1 1 auto}}
