:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .5rem;--bs-border-radius-sm: .5rem;--bs-border-radius-lg: .625rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}.form-label{margin-bottom:0}.col-form-label{padding-top:calc(.6rem + 1px);padding-bottom:calc(.6rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.6rem .8rem;font-size:.925rem;font-weight:400;line-height:1.5;color:#0f172a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:1px solid #dbe0ea;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#0f172a;background-color:var(--bs-body-bg);border-color:#6366f1;outline:0;box-shadow:0 0 0 4px #6366f12e}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:#94a3b8;opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.6rem .8rem;margin:-.6rem -.8rem;margin-inline-end:.8rem;color:#0f172a;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.6rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 1.2rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + 1.2rem + 2px);padding:.6rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.6rem 2.4rem .6rem .8rem;font-size:.925rem;font-weight:400;line-height:1.5;color:#0f172a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .8rem center;background-size:16px 12px;border:1px solid #dbe0ea;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#6366f1;outline:0;box-shadow:0 0 0 4px #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.8rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #0f172a}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#6366f1;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#4f46e5;border-color:#4f46e5}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#4f46e5;border-color:#4f46e5;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%236366f1'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:calc(1rem + 8px);padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 4px #6366f12e}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 4px #6366f12e}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#4f46e5;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#cac8f7}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#4f46e5;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#cac8f7}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);min-height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .8rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .8rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.8rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;top:1rem;right:.4rem;bottom:1rem;left:.4rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.6rem .8rem;font-size:.925rem;font-weight:400;line-height:1.5;color:#0f172a;text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:1px solid #dbe0ea;border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3.2rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 1.2rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .3rem) center;background-size:calc(.75em + .6rem) calc(.75em + .6rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 4px rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1.2rem);background-position:top calc(.375em + .3rem) right calc(.375em + .3rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.4rem;background-position:right .8rem center,center right 2.4rem;background-size:16px 12px,calc(.75em + .6rem) calc(.75em + .6rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 4px rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(4.2rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 4px rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 1.2rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .3rem) center;background-size:calc(.75em + .6rem) calc(.75em + .6rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 4px rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1.2rem);background-position:top calc(.375em + .3rem) right calc(.375em + .3rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.4rem;background-position:right .8rem center,center right 2.4rem;background-size:16px 12px,calc(.75em + .6rem) calc(.75em + .6rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 4px rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(4.2rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 4px rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.form-control,.form-select{font-family:system-ui,sans-serif;border-radius:0;box-shadow:none}.form-select[multiple]{padding:4px;min-height:132px}.form-select[multiple] option{padding:7px 9px}textarea.form-control{min-height:104px}:root{--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #4338ca;--violet-500: #7c3aed;--violet-600: #6d28d9;--grad-brand: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--grad-brand-soft: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f8fafc;--border: #e9ecf3;--border-strong: #dbe0ea;--text: #0f172a;--muted: #5b6475;--faint: #93a0b4;--green-50: #e7faf0;--green-500: #10b981;--green-600: #059666;--green-700: #047857;--amber-50: #fff5e1;--amber-500: #f59e0b;--amber-600: #b45309;--amber-700: #92400e;--red-50: #ffecee;--red-500: #f43f5e;--red-600: #e11d48;--red-700: #be123c;--blue-50: #e6f4ff;--blue-600: #0284c7;--purple-50: #f3edff;--purple-600: #7c3aed;--slate-100: #f1f5f9;--slate-600: #475569;--radius: 14px;--radius-sm: 10px;--radius-xs: 8px;--shadow-xs: 0 1px 2px rgba(15,23,42,.06);--shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 2px 5px rgba(15,23,42,.05);--shadow-md: 0 6px 16px -4px rgba(15,23,42,.1), 0 3px 8px -4px rgba(15,23,42,.06);--shadow-lg: 0 24px 48px -16px rgba(79,70,229,.22), 0 10px 24px -12px rgba(15,23,42,.14);--shadow-brand: 0 8px 20px -6px rgba(79,70,229,.45);--sidebar-w: 256px;--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-head: "Plus Jakarta Sans", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);background-image:radial-gradient(1200px 500px at 100% -10%,rgba(124,58,237,.06),transparent 60%),radial-gradient(1000px 480px at -10% 0%,rgba(79,70,229,.06),transparent 55%);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-head);margin:0;letter-spacing:-.02em;font-weight:700;color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3d9e4;border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#c0c7d5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 17px;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-head);font-weight:600;font-size:14px;white-space:nowrap;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px -8px #4f46e58c}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#cbd2df}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--slate-100);color:var(--text)}.btn-danger{background:var(--red-500);color:#fff;box-shadow:0 8px 18px -6px #f43f5e80}.btn-danger:hover:not(:disabled){background:var(--red-600);transform:translateY(-1px)}.btn-sm{padding:7px 12px;font-size:13px;border-radius:7px}.btn-sm svg{width:15px;height:15px}.btn-icon{padding:8px}.btn-icon.btn-sm{padding:6px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.01em;line-height:1.5;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.badge-gray{background:var(--slate-100);color:var(--slate-600)}.badge-blue{background:var(--blue-50);color:var(--blue-600)}.badge-indigo{background:var(--brand-50);color:var(--brand-600)}.badge-green{background:var(--green-50);color:var(--green-700)}.badge-amber{background:var(--amber-50);color:var(--amber-700)}.badge-red{background:var(--red-50);color:var(--red-700)}.badge-purple{background:var(--purple-50);color:var(--purple-600)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card-pad{padding:24px}.field{display:grid;gap:7px}.field-label,.field>span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.field-hint{font-size:12px;color:var(--faint);text-transform:none;letter-spacing:0;font-weight:500}.input-icon{position:relative}.input-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none;z-index:2}.input-icon .form-control{padding-left:38px}.progress-bar-track{width:100%;height:8px;border-radius:999px;background:#eceef5;overflow:hidden}.progress-bar-track>span{display:block;height:100%;border-radius:999px;background:var(--grad-brand);transition:width .55s cubic-bezier(.22,1,.36,1)}.progress-bar-track.is-done>span{background:linear-gradient(135deg,#10b981,#34d399)}.progress-bar-track.tone-green>span{background:linear-gradient(135deg,#10b981,#34d399)}.progress-bar-track.tone-amber>span{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.progress-bar-track.tone-red>span{background:linear-gradient(135deg,#f43f5e,#fb7185)}.progress-bar-track.tone-na{background:transparent;box-shadow:inset 0 0 0 1px var(--blue-600)}.progress-bar-track.tone-na>span{background:transparent}.progress-bar-track.sm{height:6px}.avatar{display:inline-grid;place-items:center;border-radius:999px;width:36px;height:36px;font-size:12px;font-weight:700;color:#fff;flex:0 0 auto;background:var(--brand-600);letter-spacing:.02em;font-family:var(--font-head)}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:44px;height:44px;font-size:15px}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-8px;box-shadow:var(--shadow-xs)}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--slate-100);color:var(--muted);font-size:11px;font-weight:700;border:2px solid var(--surface);margin-left:-8px}.spinner{width:24px;height:24px;border-radius:999px;border:3px solid var(--brand-100);border-top-color:var(--brand-600);animation:spin .7s linear infinite}.spinner-lg{width:34px;height:34px}@keyframes spin{to{transform:rotate(360deg)}}.screen-center{min-height:100vh;display:grid;place-items:center;gap:12px;color:var(--muted)}.loading-block{display:grid;place-items:center;gap:12px;min-height:240px;color:var(--muted)}.empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:48px 24px;color:var(--muted)}.empty h3{font-size:13px;color:var(--text);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.empty p{margin:0;font-size:14px;max-width:360px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;z-index:100;animation:fade .16s ease}.modal{width:100%;max-width:600px;max-height:92vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow:hidden;animation:pop .2s cubic-bezier(.22,1,.36,1)}.modal-wide{max-width:760px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-header p{margin:4px 0 0;font-size:13px;color:var(--muted)}.modal-body{padding:24px;overflow-y:auto}.modal-body>p{margin:0;color:var(--muted);line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface-2)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.99)}}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:11px;padding:22px 20px 18px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--grad-brand);display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:800;font-size:19px;box-shadow:var(--shadow-brand)}.brand-name{font-family:var(--font-head);font-weight:800;font-size:19px;letter-spacing:-.03em}.brand-sub{font-size:10px;color:var(--faint);font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:2px}.nav-label{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);padding:18px 10px 8px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;transition:background-color .14s ease,color .14s ease;position:relative}.nav-item:hover{background:var(--slate-100);color:var(--text)}.nav-item.active{background:var(--brand-50);color:var(--brand-700)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:999px;background:var(--grad-brand)}.nav-item.disabled{color:var(--faint);cursor:default}.nav-item.disabled:hover{background:transparent}.nav-soon{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.1em;padding:2px 7px;border-radius:999px;background:var(--slate-100);color:var(--faint);text-transform:uppercase}.sidebar-foot{padding:14px;border-top:1px solid var(--border)}.user-card{display:flex;align-items:center;gap:10px;padding:7px;border-radius:var(--radius-sm)}.user-card .meta{min-width:0}.user-card .name{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card .role{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;gap:12px;padding:0 24px;background:#f6f7fbcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar-title{font-family:var(--font-head);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.topbar-spacer{flex:1}.hamburger{display:inline-grid}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--muted);transition:background-color .14s ease,color .14s ease}.icon-btn:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:var(--border)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn svg{width:19px;height:19px}.content{padding:32px;max-width:1340px;width:100%;margin:0 auto;overflow-x:clip}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}.page-head h1{font-size:27px;font-weight:800;letter-spacing:-.03em}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.back-link:hover{color:var(--brand-600)}.back-link svg{width:15px;height:15px}.head-actions{display:flex;align-items:center;gap:10px}.head-actions .btn-primary{border-radius:0;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:500}.badge-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats-toggle{display:none;align-items:center;gap:7px;margin:0 0 14px;padding:8px 12px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stats-toggle svg{width:15px;height:15px}.stat{padding:22px;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.stat.clickable{cursor:pointer}.stat.clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-hero.clickable:hover{box-shadow:0 14px 30px -8px #4f46e599}.stat-val{font-family:var(--font-head);font-size:36px;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat-label{font-size:11px;color:var(--muted);font-weight:700;margin-top:10px;text-transform:uppercase;letter-spacing:.12em}.stat.c-green .stat-val{color:var(--green-600)}.stat.c-amber .stat-val{color:var(--amber-600)}.stat.c-red .stat-val{color:var(--red-600)}.stat.c-blue .stat-val{color:var(--blue-600)}.stat-hero{background:var(--grad-brand);border:0;box-shadow:var(--shadow-brand)}.stat-hero .stat-val{color:#fff}.stat-hero .stat-label{color:#ffffffd1}.stat-hero:after{content:"";position:absolute;width:150px;height:150px;border-radius:999px;background:#ffffff1f;top:-60px;right:-40px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h2{font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section-title .link{color:var(--brand-600);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dash-cols{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.dash-cols>*{min-width:0}.table-wrap{min-width:0}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.toolbar .input-icon{flex:1 1 240px;min-width:200px;max-width:380px}.toolbar .form-select{max-width:185px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}.data-table th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:13px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.data-table th:first-child{border-top-left-radius:0}.data-table th:last-child{border-top-right-radius:0}.data-table td{padding:15px 18px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background-color .12s ease}.data-table tbody tr.row-link{cursor:pointer}.data-table tbody tr:hover{background:var(--surface-2)}.cell-strong{font-weight:500;letter-spacing:1px;color:var(--text)}.cell-muted{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pcard{display:flex;flex-direction:column;gap:15px;padding:20px 22px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.pcard:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.pcard-clickable{cursor:pointer;color:inherit}.stat.is-selected{box-shadow:0 0 0 2px var(--brand-500),var(--shadow-sm)}.stat-hero.is-selected{box-shadow:0 0 0 2px #fff,var(--shadow-brand)}.pcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pcard-title{font-family:var(--font-head);font-size:13px;font-weight:600;line-height:1.35;letter-spacing:1px}.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid var(--border)}.meta-row{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.meta-row svg{width:15px;height:15px;color:var(--faint)}.progress-line{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}.progress-line .pct{font-weight:800;color:var(--text);font-family:var(--font-head);letter-spacing:0;font-variant-numeric:tabular-nums}.progress-line span:first-child{color:var(--muted);font-weight:700}.detail-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;align-items:start;margin-bottom:30px}.meta-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}.meta-item{display:flex;flex-direction:column;gap:5px;padding:13px 0;border-bottom:1px solid var(--border)}.meta-item .k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.meta-item .v{font-size:14px;color:var(--text);font-weight:500}.meta-item.span-2{grid-column:1 / -1}.big-pct{font-family:var(--font-head);font-size:50px;font-weight:800;line-height:1;letter-spacing:-.04em;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}.chip-list{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 4px;border-radius:999px;background:var(--slate-100);font-size:13px;font-weight:600}.step-form{display:flex;gap:10px;margin:18px 0}.step-form .form-control{flex:1}.step-list{display:flex;flex-direction:column}.step-row{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:var(--radius-sm);transition:background-color .12s ease}.step-row:hover{background:var(--surface-2)}.step-check{width:22px;height:22px;border-radius:7px;border:2px solid var(--border-strong);display:grid;place-items:center;background:#fff;flex:0 0 auto;color:#fff;transition:all .14s ease}.step-check.done{background:var(--grad-brand);border-color:transparent}.step-check svg{width:13px;height:13px}.step-check:disabled{cursor:not-allowed;opacity:.7}.step-title{flex:1;font-size:14.5px;font-weight:500}.step-title.done{color:var(--faint);text-decoration:line-through}.step-actions{display:flex;align-items:center;gap:3px}.review-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:15px 18px;border-radius:var(--radius-sm);background:var(--green-50);color:var(--green-700);font-weight:600;font-size:14px}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-aside{background:var(--grad-brand);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0);background-size:24px 24px}.auth-aside:after{content:"";position:absolute;width:480px;height:480px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);bottom:-180px;right:-120px}.auth-aside>*{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .brand-mark{background:#ffffff29;box-shadow:none}.auth-brand .brand-name,.auth-brand .brand-sub{color:#fff}.auth-hero h2{font-size:36px;line-height:1.16;font-weight:800;max-width:460px;color:#fff;letter-spacing:-.03em}.auth-hero p{color:#ffffffc7;font-size:15px;max-width:410px;margin-top:16px;line-height:1.6}.auth-points{display:grid;gap:13px;margin-top:34px}.auth-point{display:flex;align-items:center;gap:12px;color:#fffffff2;font-size:14.5px;font-weight:500}.auth-point:before{content:"";width:20px;height:20px;border-radius:6px;background:#fff3;flex:0 0 auto}.auth-foot{color:#fff9;font-size:12px;letter-spacing:.03em}.auth-main{display:grid;place-items:center;padding:32px}.auth-card{width:100%;max-width:390px;display:grid;gap:24px}.auth-card .head h1{font-size:26px;font-weight:800;letter-spacing:-.03em}.auth-card .head p{color:var(--muted);margin:8px 0 0;font-size:14px}.auth-form{display:grid;gap:17px}.alert-error{display:flex;align-items:center;gap:9px;background:var(--red-50);color:var(--red-700);border:1px solid #f6c9cf;padding:11px 13px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500}.alert-error svg{width:17px;height:17px;flex:0 0 auto}.form-error{grid-column:1 / -1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full-field{grid-column:1 / -1}.row-actions{display:flex;align-items:center;gap:5px}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.backdrop{display:none}.warn-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;background:transparent;border-radius:8px;transition:background-color .14s ease}.warn-btn:hover{background:var(--slate-100)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 10px;border-bottom:1px solid var(--border);transition:background-color .12s ease}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--surface-2)}.list-title{font-weight:500;font-size:13px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-sub{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-date{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.list-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.list-overdue{font-size:11px;font-weight:700;color:var(--red-600);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.reason-list{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--text);font-size:14px;line-height:1.55}.reason-list li::marker{color:var(--brand-500)}@media(min-width:993px){.shell.nav-collapsed .sidebar{display:none}}@media(max-width:1100px){.dash-cols,.detail-grid{grid-template-columns:1fr}}@media(max-width:992px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .24s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.hamburger{display:inline-grid}.backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:45}.content{padding:24px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.auth-wrap{grid-template-columns:1fr}.auth-aside{display:none}}@media(max-width:680px){.content{padding:14px 12px}.card-pad{padding:16px}.page-head{align-items:center;margin-bottom:18px}.form-grid,.meta-list{grid-template-columns:1fr}.toolbar .input-icon,.toolbar .form-select{max-width:none;width:100%;flex-basis:100%}.toolbar .btn{width:100%}.card-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:16px}.stat-val{font-size:28px}.stats-toggle{display:inline-flex}.stat-grid.collapsed{display:none}.big-pct{font-size:44px}.pcard-foot{flex-wrap:wrap}.review-prompt{flex-direction:column;align-items:stretch}.review-prompt .btn{width:100%}.step-row{flex-wrap:wrap}[data-testid=recent-projects] .data-table{min-width:0}[data-testid=recent-projects] th:nth-child(3),[data-testid=recent-projects] td:nth-child(3){display:none}[data-testid=recent-projects] .progress-bar-track{display:none}[data-testid=recent-projects] .cell-strong{font-size:12px;letter-spacing:0}[data-testid=recent-projects] th,[data-testid=recent-projects] td{padding-left:10px;padding-right:10px}}
