:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-active:#3730a3;--color-primary-subtle:#eef2ff;--color-nav-bg:#1e1b4b;--color-nav-bg-end:#312e81;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-error-border:#fca5a5;--color-success:#15803d;--color-success-bg:#f0fdf4;--color-warning:#92400e;--color-warning-bg:#fffbeb;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-inverse:#ffffff;--color-bg:#ffffff;--color-bg-page:#f8fafc;--color-bg-subtle:#f1f5f9;--color-border:#94a3b8;--color-border-subtle:#e2e8f0;--color-focus:#4f46e5;--focus-ring:3px solid var(--color-focus);--focus-offset:2px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:var(--font-inter,"Inter"),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"Cascadia Code",Menlo,monospace;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--line-height:1.6;--radius:0.5rem;--radius-sm:0.375rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.07),0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.05);--shadow-lg:0 10px 15px rgba(0,0,0,0.08),0 4px 6px rgba(0,0,0,0.04);--transition:150ms ease-in-out;--max-width:1200px;--content-width:720px;--bs-font-sans-serif:var(--font-sans);--bs-body-bg:var(--color-bg-page);--bs-body-color:var(--color-text);--bs-body-color-rgb:15,23,42;--bs-primary:#4f46e5;--bs-primary-rgb:79,70,229;--bs-link-color:#4f46e5;--bs-link-color-rgb:79,70,229;--bs-link-hover-color:#4338ca;--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-pill:50rem;--bs-border-color:#e2e8f0;--bs-border-color-translucent:rgba(0,0,0,0.07);--bs-card-border-color:rgba(0,0,0,0.06);--bs-card-bg:#ffffff;--bs-card-cap-bg:rgba(0,0,0,0.02);--bs-table-bg:#ffffff;--bs-table-striped-bg:rgba(248,250,252,0.75);--bs-table-hover-bg:rgba(238,242,255,0.5);--bs-input-bg:#ffffff;--bs-input-border-color:#cbd5e1;--bs-input-focus-border-color:#4f46e5;--bs-input-focus-box-shadow:0 0 0 0.2rem rgba(79,70,229,0.2);--bs-nav-tabs-border-color:#e2e8f0;--bs-nav-tabs-link-active-color:#4f46e5;--bs-nav-tabs-link-active-border-color:#e2e8f0 #e2e8f0 #ffffff}@media (prefers-contrast:high){:root{--color-primary:#3730a3;--color-text:#000000;--color-bg:#ffffff;--color-border:#000000;--color-error:#cc0000;--focus-ring:3px solid #000000}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text);letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{line-height:var(--line-height)}dd,li,p{max-width:80ch}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-primary-hover)}.navbar.navbar-app{background:linear-gradient(135deg,var(--color-nav-bg) 0,var(--color-nav-bg-end) 100%);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);padding-top:0;padding-bottom:0;min-height:56px}.navbar.navbar-app .navbar-brand{font-weight:700;font-size:1rem;letter-spacing:-.01em;color:#ffffff;padding:.75rem 0}.navbar.navbar-app .nav-link{font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.75);padding:.375rem .625rem;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease;white-space:nowrap}.navbar.navbar-app .nav-link:hover{background-color:rgba(255,255,255,.1);color:#ffffff}.navbar.navbar-app .nav-link.active{background-color:rgba(255,255,255,.15);color:#ffffff;font-weight:600}.navbar.navbar-app .navbar-toggler{border-color:rgba(255,255,255,.3);padding:.25rem .5rem}.navbar.navbar-app .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar.navbar-app .nav-dropdown-toggle{background:none;border:none;cursor:pointer;line-height:inherit}.navbar.navbar-app .nav-dropdown-toggle:after{opacity:.7;vertical-align:.1em}.navbar.navbar-app .nav-dropdown-toggle.active:after,.navbar.navbar-app .nav-dropdown-toggle:hover:after{opacity:1}.navbar.navbar-app .nav-dropdown-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.nav-dropdown-menu{min-width:160px;margin-top:4px!important;border-color:rgba(0,0,0,.1);box-shadow:0 8px 24px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.08);border-radius:var(--radius);padding:.375rem}.nav-dropdown-menu .dropdown-item.active,.nav-dropdown-menu .dropdown-item:active{background-color:var(--color-primary-subtle);color:var(--color-primary);font-weight:600}.nav-dropdown-menu .dropdown-item:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}@media (max-width:991.98px){.nav-dropdown-menu{box-shadow:none;border:none;background-color:rgba(255,255,255,.06);margin-top:0!important;padding:0 0 .25rem .75rem;border-radius:0}.nav-dropdown-menu .dropdown-item{color:rgba(255,255,255,.75);font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm)}.nav-dropdown-menu .dropdown-item:hover{background-color:rgba(255,255,255,.1);color:#ffffff}.nav-dropdown-menu .dropdown-item.active{background-color:rgba(255,255,255,.15);color:#ffffff;font-weight:600}}.card{border:1px solid var(--bs-card-border-color,rgba(0,0,0,.06));box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)!important;background-color:#ffffff}.btn-primary{--bs-btn-bg:#4f46e5;--bs-btn-border-color:#4f46e5;--bs-btn-hover-bg:#4338ca;--bs-btn-hover-border-color:#4338ca;--bs-btn-active-bg:#3730a3;--bs-btn-active-border-color:#3730a3;--bs-btn-focus-shadow-rgb:79,70,229;font-weight:500}.btn-outline-primary{--bs-btn-color:#4f46e5;--bs-btn-border-color:#4f46e5;--bs-btn-hover-bg:#4f46e5;--bs-btn-hover-border-color:#4f46e5;--bs-btn-hover-color:#ffffff;--bs-btn-active-bg:#4338ca;--bs-btn-active-border-color:#4338ca;--bs-btn-focus-shadow-rgb:79,70,229}.btn-outline-secondary{--bs-btn-color:#64748b;--bs-btn-border-color:#cbd5e1;--bs-btn-hover-bg:#f1f5f9;--bs-btn-hover-border-color:#94a3b8;--bs-btn-hover-color:#0f172a;--bs-btn-active-bg:#e2e8f0;font-weight:500}.btn{font-weight:500;letter-spacing:.01em}.table{--bs-table-color:var(--color-text);font-size:.9rem}.table>thead{border-bottom:2px solid var(--bs-border-color)}.table>thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-top:.625rem;padding-bottom:.625rem}.table-hover>tbody>tr:hover>*{background-color:rgba(238,242,255,.5)}.badge{font-weight:500;letter-spacing:.02em}.form-control,.form-select{border-color:#cbd5e1;box-shadow:var(--shadow-xs);transition:border-color .15s ease,box-shadow .15s ease}.form-control:focus,.form-select:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.18)}.nav-tabs{border-bottom-color:#e2e8f0;gap:.125rem}.nav-tabs .nav-link{color:var(--color-text-muted);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-color:transparent;padding:.5rem .875rem;transition:color .15s ease,background-color .15s ease}.nav-tabs .nav-link:hover:not(.active){color:var(--color-text);background-color:var(--color-bg-subtle);border-color:transparent}.nav-tabs .nav-link.active{color:#4f46e5;font-weight:600;border-color:#e2e8f0 #e2e8f0 #ffffff;background-color:#ffffff}.list-group-item{border-color:rgba(0,0,0,.06)}.alert{border-left-width:4px;border-radius:var(--radius)}.modal-content{border-radius:var(--radius-xl);border:none;box-shadow:var(--shadow-lg)}.modal-header{border-bottom-color:#e2e8f0}.modal-footer{border-top-color:#e2e8f0}.dropdown-menu{border-color:rgba(0,0,0,.08);box-shadow:var(--shadow-md);border-radius:var(--radius);padding:.375rem}.dropdown-item{border-radius:var(--radius-sm);font-size:.875rem;padding:.375rem .75rem}.bg-light{background-color:var(--color-bg-subtle)!important}label{display:block;font-weight:500;margin-bottom:var(--space-1);color:var(--color-text)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error);border-width:2px;background-color:var(--color-error-bg)}[role=button],button{cursor:pointer;font-family:var(--font-sans)}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-3) var(--space-6);background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:600;text-decoration:none;border-radius:0 0 var(--radius) var(--radius);transition:top var(--transition)}.skip-link:focus{top:0;outline:var(--focus-ring);outline-offset:var(--focus-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.field-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-1);display:flex;align-items:flex-start;gap:var(--space-1)}.alert-error{background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.alert-success{background-color:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-4)}@media (max-width:320px){.container{padding-inline:var(--space-2)}}