*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where(:not([type])),input:where([type=date]),input:where([type=datetime-local]),input:where([type=email]),input:where([type=month]),input:where([type=number]),input:where([type=password]),input:where([type=search]),input:where([type=tel]),input:where([type=text]),input:where([type=time]),input:where([type=url]),input:where([type=week]),select,select:where([multiple]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}input:where(:not([type])):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=email]):focus,input:where([type=month]):focus,input:where([type=number]):focus,input:where([type=password]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=text]):focus,input:where([type=time]):focus,input:where([type=url]):focus,input:where([type=week]):focus,select:focus,select:where([multiple]):focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus,input:where([type=checkbox]):checked:hover,input:where([type=radio]):checked:focus,input:where([type=radio]):checked:hover{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus,input:where([type=checkbox]):indeterminate:hover{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}:root{--bg:#f4f6fb;--surface:#ffffff;--surface-soft:#f8f9fd;--text:#1a2433;--muted:#6e7a8f;--text-muted:#6e7a8f;--border:#e2e8f3;--brand:#3056d3;--brand-strong:#1e3ea8;--primary:#3056d3;--danger:#dc2626;--sidebar-bg:#1d3768;--sidebar-bg-alt:#19315b;--sidebar-text:#b8c6e7;--sidebar-active:#28487f;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:Inter,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-page{min-height:100vh;display:grid;grid-template-columns:58% 42%;background:#fff;font-size:.93rem}.auth-hero{order:1;position:relative;padding:42px 52px;display:flex;flex-direction:column;justify-content:center;color:#fff;background-image:linear-gradient(175deg,rgba(25,68,150,.34),rgba(16,53,123,.3) 45%,rgba(10,34,84,.38)),url(/images/auth-hero-bg.png);background-size:cover;background-position:50%;background-repeat:no-repeat}.auth-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,97,198,.2) 0,rgba(25,70,154,.14) 45%,rgba(11,31,78,.26)),radial-gradient(ellipse at 20% 65%,rgba(62,157,255,.18),transparent 55%),radial-gradient(ellipse at 78% 35%,rgba(59,143,255,.16),transparent 50%);pointer-events:none}.auth-hero-content{position:relative;max-width:540px;padding:16px 18px 18px;border-radius:14px}.auth-hero-content:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(140deg,rgba(6,20,56,.48),rgba(7,24,63,.18));backdrop-filter:blur(1.5px);z-index:0}.auth-hero-content>*{position:relative;z-index:1}.auth-hero-content h1{margin:0;font-size:clamp(1.95rem,3.4vw,2.7rem);line-height:1.04;letter-spacing:-.02em;text-shadow:0 6px 24px rgba(2,10,28,.7)}.auth-hero-content p{margin:12px 0 0;color:#c9d5f2;max-width:500px;font-size:.86rem;line-height:1.55;text-shadow:0 3px 14px rgba(2,10,28,.6)}.auth-hero-button{margin-top:18px;border:0;border-radius:8px;padding:9px 20px;font-weight:600;color:#26498d;background:#fff;width:-moz-fit-content;width:fit-content;box-shadow:0 2px 8px rgba(5,18,49,.32)}.auth-hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px}.auth-hero-dots span{width:12px;height:12px;border-radius:999px;background:rgba(7,15,34,.9)}.auth-hero-dots span.active{background:#fff}.auth-panel{order:2;display:flex;align-items:center;justify-content:center;background:#fdfdfe;padding:10px 16px;overflow-y:auto}.auth-card{width:min(430px,100%);padding:8px 4px 6px}.auth-card-signup{width:min(500px,100%)}.auth-panel-signup{align-items:center}.auth-panel-signup .auth-card-signup{margin:auto 0}.auth-card-header{margin-bottom:14px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px}.auth-brand-logo{width:36px;height:36px;border-radius:8px}.auth-card-header h2{margin:0;font-size:1.9rem;letter-spacing:-.02em;color:#214379;text-align:center;font-weight:700}.auth-card-header p{margin:4px 0 0;color:#7e8aa0;font-size:.8rem;text-align:center}.auth-mode-copy{margin:0;text-align:center;color:#9aa7bd;font-size:.84rem}.auth-copy h3{margin:0;font-size:1.08rem}.auth-copy p{margin:5px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}.auth-form{margin-top:12px;display:flex;flex-direction:column;gap:9px}.auth-form-signup{margin-top:10px;gap:8px}.auth-stepper{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-step-pill{border:1px solid #d7dfeb;background:#f5f8ff;color:#5c6f90;border-radius:999px;height:28px;font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.auth-step-pill.active{background:#1f4279;color:#fff;border-color:#1f4279}.auth-step{display:flex;flex-direction:column;gap:8px}.auth-org-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.auth-grid-full{grid-column:1/-1}.auth-form .field input,.auth-form .field select,.auth-form .field textarea{border:0;border-bottom:1.2px solid #d6deea;border-radius:0;padding:6px 0 7px;background:transparent;outline:0;color:#243753}.auth-form .field .field-input-wrap{position:relative}.auth-form .field .field-input-wrap input{padding-right:30px}.field-password-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8fa0bd;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer}.field-password-toggle:hover{color:#4a5f84}.field-password-toggle:focus-visible{outline:none;color:#3b5dc8}.select-trigger{width:100%;border:0;border-bottom:1.2px solid #d6deea;background:transparent;padding:6px 0 7px;color:#243753;display:flex;align-items:center;justify-content:space-between;font-size:.84rem;cursor:pointer}.select-trigger[data-placeholder]{color:#a0aac0}.select-trigger:focus-visible{outline:none;border-bottom-color:#3b5dc8}.select-trigger[data-state=open]{border-bottom-color:#3b5dc8}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-content{z-index:90;min-width:var(--radix-select-trigger-width);max-width:min(360px,88vw);max-height:min(260px,var(--radix-select-content-available-height));background:#fff;border:1px solid #d7dfeb;border-radius:10px;box-shadow:0 10px 24px rgba(15,34,79,.18);overflow:hidden}.select-viewport{padding:4px}.select-item{position:relative;font-size:.8rem;color:#233556;border-radius:8px;padding:8px 32px 8px 10px;cursor:pointer}.select-item[data-highlighted]{background:#edf3ff;outline:none}.select-item[data-state=checked]{color:#1e3a8a;font-weight:600}.select-item-indicator{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.country-trigger{width:100%;border:0;border-bottom:1.2px solid #d6deea;border-radius:0;background:transparent;padding:6px 0 7px;color:#243753;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.country-trigger:focus-visible,.country-trigger[data-state=open]{outline:none;border-bottom-color:#3b5dc8}.country-placeholder{color:#a0aac0;font-size:.84rem}.country-value{min-width:0;display:inline-flex;align-items:center;gap:8px;font-size:.84rem;text-align:left}.country-popover{z-index:90;width:min(380px,var(--radix-popover-trigger-width),92vw);background:#fff;border:1px solid #d7dfeb;border-radius:10px;box-shadow:0 12px 24px rgba(15,34,79,.2);padding:8px}.country-search{height:34px;border:1px solid #d8e0ee;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#7a8aa8}.country-search input{width:100%;border:0;outline:0;background:transparent;color:#243753;font-size:.82rem}.country-options{margin-top:8px;max-height:230px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.country-option{width:100%;border:0;border-radius:8px;background:transparent;color:#233556;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:.82rem;text-align:left;cursor:pointer}.country-option.active,.country-option:hover{background:#edf3ff}.country-option.active{color:#1e3a8a;font-weight:600}.country-option-label{min-width:0;display:inline-flex;align-items:center;gap:8px}.country-empty{margin:10px 0;color:#8291ab;font-size:.79rem;text-align:center}.auth-form .field input:focus,.auth-form .field select:focus,.auth-form .field textarea:focus{border-bottom-color:#3b5dc8}.auth-form .field label{font-size:.76rem;color:#a0aac0;margin-bottom:0}.auth-form-meta{margin-top:-6px;display:flex;justify-content:flex-start}.auth-form-meta a{font-size:.79rem;color:#3960dc}.auth-hint{margin:-6px 0 0;font-size:.75rem;color:var(--muted)}.auth-submit{width:100%;margin-top:6px;height:38px;border-radius:10px;background:#1f4279;box-shadow:0 8px 18px rgba(21,49,95,.25);font-size:.84rem}.auth-inline-link{margin:8px 0 0;font-size:.76rem;color:var(--muted);text-align:center;line-height:1.6}.auth-inline-link a{color:#2980d8;font-weight:600}.auth-success{margin-top:14px;font-size:.84rem;color:#14532d}.auth-checkbox-row{margin-top:0;display:flex;align-items:center;gap:8px}.auth-checkbox-row input{width:14px;height:14px}.auth-checkbox-row label{font-size:.74rem;color:#5f6f89}.auth-step-actions{margin-top:2px;display:grid;grid-template-columns:110px 1fr;gap:10px}.auth-step-actions .auth-back,.auth-step-actions .auth-submit{margin-top:0;display:inline-flex;align-items:center;justify-content:center;gap:6px}.auth-copyright{margin:26px 0 0;text-align:center;color:#c0c8d9;font-size:.7rem}.auth-panel-signup .auth-copyright{margin-top:16px}.auth-page-reverse{grid-template-columns:42% 58%}.auth-page-reverse .auth-panel{order:1}.auth-page-reverse .auth-hero{order:2}.system-state-page{min-height:100vh;display:grid;grid-template-columns:54% 46%;background:#fff}.system-state-hero{position:relative;background-image:linear-gradient(178deg,rgba(26,73,161,.36),rgba(15,53,124,.3) 46%,rgba(9,33,84,.42)),url(/images/auth-hero-bg.png);background-size:cover;background-position:50%;background-repeat:no-repeat;display:flex;align-items:flex-end;padding:38px 42px;color:#eaf0ff}.system-state-hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 68%,rgba(73,171,255,.22),transparent 55%),radial-gradient(ellipse at 80% 36%,rgba(71,149,255,.18),transparent 54%)}.system-state-hero-copy{position:relative;max-width:460px;padding:14px 16px;border-radius:14px;background:linear-gradient(146deg,rgba(8,20,54,.54),rgba(8,22,57,.2));box-shadow:0 10px 24px rgba(4,12,34,.34)}.system-state-hero-label{margin:0;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#c2d4ff}.system-state-hero-copy h2{margin:6px 0 0;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.06;color:#fff}.system-state-hero-copy p{margin:11px 0 0;font-size:.85rem;line-height:1.55;color:#d4e0fb}.system-state-panel{display:flex;align-items:center;justify-content:center;background:#fdfdfe;padding:22px}.system-state-card{width:min(470px,100%);border-radius:16px;border:1px solid #e1e8f4;background:#fff;box-shadow:0 16px 42px rgba(12,33,76,.12);padding:24px 22px;display:flex;flex-direction:column;gap:8px}.system-state-code{margin:0;font-size:.78rem;letter-spacing:.14em;font-weight:700;color:#5574bf}.system-state-card h1{margin:0;font-size:1.68rem;letter-spacing:-.02em;color:#18396d}.system-state-description{margin:0;color:#586886;font-size:.92rem;line-height:1.55}.system-state-hint{margin:2px 0 0;color:#7d8da9;font-size:.8rem}.system-state-actions{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.system-state-icon{margin-top:6px;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e8efff;color:#2d4f9e}.app-loader-overlay{position:fixed;inset:0;z-index:9999;background:rgba(7,18,42,.42);backdrop-filter:blur(2px);display:grid;place-items:center}.app-loader-card{width:min(300px,92vw);border-radius:16px;padding:20px 18px;background:#ffffff;box-shadow:0 16px 44px rgba(9,23,56,.24);display:flex;flex-direction:column;align-items:center;gap:6px}.app-loader-spinner{width:34px;height:34px;border-radius:999px;border:3px solid #dbe5ff;border-top-color:#244a92;animation:app-loader-spin .85s linear infinite}.app-loader-title{margin:4px 0 0;font-size:1rem;font-weight:700;color:#1c3d77}.app-loader-message{margin:0;font-size:.82rem;color:#6d7c95;text-align:center}@keyframes app-loader-spin{to{transform:rotate(1turn)}}.auth-field-with-icon{position:relative}.auth-input-icon{position:absolute;right:2px;top:26px;width:16px;height:16px;border-radius:999px;display:grid;place-items:center;color:#fff;background:#4f7cff}.app-shell{min-height:100vh;display:grid;grid-template-columns:215px 1fr;font-size:13.5px}.app-shell.sidebar-collapsed{grid-template-columns:60px 1fr}.sidebar{background:linear-gradient(180deg,var(--sidebar-bg) 0,var(--sidebar-bg-alt) 100%);color:var(--sidebar-text);padding:12px 10px 10px;display:flex;flex-direction:column;gap:6px;transition:padding .14s ease;height:100vh;position:sticky;top:0;overflow:hidden}.brand-block{display:flex;align-items:center;gap:8px;padding:2px 2px 10px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.brand-copy{min-width:0}.brand-logo{width:30px;height:30px;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;text-transform:lowercase;background:#d62839}.brand-logo,.brand-logo-img{border-radius:6px;flex-shrink:0}.brand-logo-img{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;background:#fff;padding:2px}.brand-title{margin:0;color:#fff;font-size:.88rem;font-weight:700}.brand-subtitle{margin:1px 0 0;font-size:.68rem;color:#9bb1dd}.sidebar-collapse-btn{margin-left:auto;width:22px;height:22px;border-radius:6px;border:1px solid rgba(160,182,230,.2);background:rgba(255,255,255,.07);color:#d8e4ff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.sidebar-collapse-btn:hover{background:rgba(255,255,255,.14)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:1px;overflow-y:hidden;padding:4px 0}.nav-link{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 7px;border-radius:7px;color:var(--sidebar-text);font-size:.81rem;font-weight:500;border:none;border-left:3px solid transparent;transition:background .15s ease,color .15s ease;white-space:nowrap;overflow:hidden}.nav-link:hover{background:rgba(63,96,165,.28);color:#d4e0fb}.nav-link.active{background:rgba(245,183,40,.12);border-left-color:#f5b728;color:#fff}.nav-link-label{white-space:nowrap}.sidebar-footer{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding-top:6px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-profile{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.07)}.sidebar-profile-avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:.65rem;font-weight:700;color:#123469;background:#dce7ff;flex-shrink:0}.sidebar-profile-name{font-size:.75rem;color:#fff;font-weight:600}.sidebar-profile-name,.sidebar-profile-role{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-role{font-size:.65rem;color:#abc0ec}.sidebar-logout{justify-content:center;gap:8px}.sidebar-tooltip{z-index:100;border-radius:8px;padding:7px 10px;background:#102c5e;color:#eff4ff;font-size:.76rem;font-weight:500;box-shadow:0 8px 20px rgba(9,25,58,.28)}.sidebar-tooltip-arrow{fill:#102c5e}.app-shell.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .brand-logo{display:none}.app-shell.sidebar-collapsed .brand-block{justify-content:center;padding-left:0;padding-right:0;gap:0}.app-shell.sidebar-collapsed .sidebar-collapse-btn{margin-left:0}.app-shell.sidebar-collapsed .nav-link{justify-content:center;padding:7px 0;border-left-color:transparent!important}.app-shell.sidebar-collapsed .nav-link-label,.app-shell.sidebar-collapsed .sidebar-logout-text,.app-shell.sidebar-collapsed .sidebar-profile-copy{display:none}.app-shell.sidebar-collapsed .sidebar-footer{align-items:center}.app-shell.sidebar-collapsed .sidebar-profile{justify-content:center;padding:8px}.app-shell.sidebar-collapsed .sidebar-logout{width:38px;min-width:38px;padding:8px}.main{min-width:0;display:flex;flex-direction:column;overflow-y:auto;height:100%;min-height:0;overscroll-behavior-y:contain}@media (min-width:1081px){.app-shell,body.dashboard-shell-active{overflow:hidden}.app-shell{min-height:100dvh}.app-shell,.main,.sidebar{height:100dvh}.content{min-height:0}}.topbar{height:58px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;flex-shrink:0;position:sticky;top:0;z-index:40}.topbar-title{margin:0;font-size:1.15rem;font-weight:700}.topbar-subtitle{margin:2px 0 0;font-size:.75rem;color:var(--muted)}.topbar-actions{gap:8px}.topbar-actions,.topbar-search{display:flex;align-items:center}.topbar-search{width:min(280px,28vw);height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft);gap:7px;padding:0 10px;color:var(--muted)}.topbar-search input{flex:1;border:0;outline:0;padding:0;background:transparent;color:var(--text);font-size:.9rem}.topbar-icon-button{position:relative;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:grid;place-items:center;cursor:pointer}.topbar-badge{position:absolute;top:4px;right:4px;min-width:15px;height:15px;border-radius:999px;display:grid;place-items:center;font-size:.64rem;font-weight:700;color:#fff;background:#f59e0b}.topbar-user{display:flex;align-items:center;gap:8px;padding-left:4px}.topbar-avatar{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:#123469;background:#dce7ff}.topbar-user-name{margin:0;font-size:.78rem;font-weight:600}.topbar-user-role{margin:0;font-size:.68rem;color:var(--muted)}.content{padding:14px 18px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.dashboard-page{display:flex;flex-direction:column;gap:16px}.error-banner{font-size:.9rem}.dashboard-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-section-title{margin:0;font-size:.97rem;font-weight:700}.dashboard-section-subtitle{margin:3px 0 0;font-size:.76rem;color:var(--muted)}.dashboard-actions{display:flex;align-items:center;gap:8px}.stats-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-soft)}.stat-label{margin:0;font-size:.78rem;color:var(--muted)}.stat-value{margin:9px 0 0;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}.stat-meta{margin:6px 0 0;font-size:.76rem;color:var(--muted)}.insight-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.insight-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface)}.insight-card h3{margin:0;font-size:.92rem;font-weight:600}.insight-list{margin-top:10px;display:grid;gap:8px}.insight-list>div{display:flex;justify-content:space-between;align-items:center;font-size:.84rem}.insight-list span{color:var(--muted)}.insight-highlight{margin:10px 0 0;font-size:1.36rem;font-weight:700}.insight-meta{margin:8px 0 0;font-size:.78rem;color:var(--muted)}.project-card-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-soft);display:flex;flex-direction:column;gap:10px}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-card-code{margin:0;font-size:.72rem;color:var(--muted)}.project-card h3{margin:3px 0 0;font-size:.94rem}.project-card-timeline{margin:0;font-size:.79rem;color:var(--muted)}.project-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--muted)}.project-card-action{width:100%;margin-top:4px;height:34px;border-radius:8px;font-size:.78rem}.progress-track{width:100%;height:7px;border-radius:999px;overflow:hidden;background:#e7edf8}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3056d3,#4f7dff)}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.status-chip.success{color:#14532d;background:#dcfce7}.status-chip.info{color:#1d4ed8;background:#dbeafe}.status-chip.warning{color:#9a3412;background:#ffedd5}.status-chip.danger{color:#991b1b;background:#fee2e2}.status-chip.neutral{color:#334155;background:#e2e8f0}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden}.table-controls{display:flex;align-items:center;gap:10px}.table-search{width:min(260px,50vw);height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft);display:inline-flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted)}.table-search input{border:0;outline:0;width:100%;padding:0;background:transparent;color:var(--text);font-size:.84rem}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:.85rem;vertical-align:middle}.table th{background:var(--surface-soft);color:var(--muted);font-size:.76rem;font-weight:600}.table tbody tr:hover{background:#f8faff}.table-row-clickable{cursor:pointer}.table-row-clickable:focus-visible{outline:2px solid #2f5cc7;outline-offset:-2px}.table-progress{min-width:130px;display:flex;align-items:center;gap:8px}.table-progress span{font-size:.74rem;color:var(--muted)}.table-empty{padding:10px 12px;font-size:.84rem;color:var(--muted)}.link-action{border:0;background:transparent;color:var(--brand);font-size:.8rem;font-weight:600;gap:4px;cursor:pointer}.link-action,.row-actions{display:inline-flex;align-items:center}.row-actions{gap:6px}.icon-action{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-action:hover{color:#1e3a8a;border-color:#c8d4ef}.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-card{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);padding:14px}.budget-card h3{margin:0;font-size:.9rem}.budget-list{margin-top:10px;display:flex;flex-direction:column;gap:10px}.budget-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.budget-row-title{margin:0;font-size:.83rem;font-weight:600}.budget-row-subtitle{margin:3px 0 0;font-size:.76rem;color:var(--muted)}.budget-row-progress{min-width:140px;display:flex;align-items:center;gap:8px}.budget-row-progress span{font-size:.75rem;color:var(--muted)}.program-progress-list{margin-top:10px;display:flex;flex-direction:column;gap:10px}.program-progress-row{display:flex;flex-direction:column;gap:5px}.program-progress-head{display:flex;align-items:center;justify-content:space-between;font-size:.81rem}.program-progress-head strong{font-size:.79rem}.program-progress-meta{margin:0;font-size:.73rem;color:var(--muted)}.grid{display:grid;gap:12px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{border-radius:12px;border:1px solid var(--border);background:var(--surface-soft);padding:12px}.kpi .label{font-size:.82rem;color:var(--muted)}.kpi .value{margin-top:6px;font-size:1.35rem;font-weight:700}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.84rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}.field textarea{resize:vertical}.button{border:0;border-radius:9px;padding:9px 13px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.84rem;font-weight:600;cursor:pointer}.button:hover{background:var(--brand-strong)}.button.secondary{background:#ecf1ff;color:#1d3d8f}.button.secondary:hover{background:#dfe7fd}.button:disabled{cursor:not-allowed;opacity:.6}.error{color:var(--danger);font-size:.82rem}.program-list-page{gap:14px}.program-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.program-stat-card{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);padding:12px}.program-stat-label{margin:0;font-size:.76rem;color:var(--muted)}.program-stat-value{margin:6px 0 0;font-size:1.34rem;font-weight:700;letter-spacing:-.02em;color:#1b3767}.program-table-link{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:.86rem;font-weight:600;color:#1a2433;text-decoration:none;transition:color .18s ease}.program-table-link:hover{color:#2f5cc7}.program-table-link-icon{opacity:0;transform:translateX(-2px);transition:opacity .18s ease,transform .18s ease}.table-row-clickable:focus-visible .program-table-link,.table-row-clickable:hover .program-table-link{color:#2f5cc7}.table-row-clickable:focus-visible .program-table-link-icon,.table-row-clickable:hover .program-table-link-icon{opacity:1;transform:translateX(0)}.program-table-code{margin:3px 0 0;font-size:.75rem;color:var(--muted)}.program-builder-page{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;align-items:start}.program-builder-main{min-width:0}.program-builder-side{position:sticky;top:90px}.program-builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.program-builder-breadcrumb{margin:0 0 6px;font-size:.76rem;color:var(--muted)}.program-builder-breadcrumb a{color:#2f5cc7}.program-builder-actions{display:flex;align-items:center;gap:6px}.program-builder-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.program-section-card{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface)}.program-section-header{margin-bottom:8px}.program-section-heading{display:inline-flex;align-items:flex-start;gap:8px}.program-section-header h3{margin:0;font-size:.9rem}.program-section-header p{margin:3px 0 0;color:var(--muted);font-size:.74rem}.program-section-icon{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid transparent;flex-shrink:0}.section-header-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.section-header-inline .button{height:30px;font-size:.74rem;padding:0 9px}.program-dynamic-list{display:flex;flex-direction:column;gap:6px}.program-dynamic-item{border:1px solid #e4eaf5;border-radius:9px;background:#fafcff;padding:8px;display:flex;gap:6px;align-items:flex-start}.program-dynamic-item>.form-grid{flex:1;width:100%}.program-dynamic-item .field{min-width:0}.program-dynamic-item .icon-action{margin-top:22px;flex-shrink:0}.program-summary-panel{border:1px solid var(--border)}.program-summary-head{display:flex;align-items:center;gap:10px}.program-summary-ring{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:conic-gradient(#335fd6 0deg,#dfe8f7 0deg)}.program-summary-ring-inner{width:56px;height:56px;border-radius:999px;background:#fff;display:grid;place-items:center;align-content:center}.program-summary-ring-inner strong{font-size:.96rem;line-height:1;color:#1f4286}.program-summary-ring-inner span{margin-top:2px;font-size:.66rem;color:#8393af}.program-summary-copy h3{margin:0;font-size:.88rem}.program-summary-copy p{margin:3px 0 0;color:#8090aa;font-size:.73rem;line-height:1.5}.program-builder-main>.panel,.program-builder-side>.panel{padding:12px}.program-builder-page .form-grid{gap:8px}.program-builder-page .field{gap:4px}.program-builder-page .field label{font-size:.75rem;color:#7989a4}.program-control{width:100%;height:34px;border:1px solid #d7dfed;border-radius:8px;background:#fff;padding:0 10px;font-size:.8rem;color:#223556;transition:border-color .14s ease,box-shadow .14s ease}.program-control:focus{outline:none;border-color:#3b5dc8;box-shadow:0 0 0 3px rgba(63,100,205,.12)}.program-control::-moz-placeholder{color:#9aabc6}.program-control::placeholder{color:#9aabc6}.program-control[disabled]{opacity:.65;cursor:not-allowed}.program-builder-page textarea.program-control{min-height:86px;height:auto;padding:8px 10px;resize:vertical}.program-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:#253654;font-weight:500}.program-checkbox input{width:15px;height:15px;margin:0;accent-color:#335fd6}.program-upload-note{border:1px dashed #c7d6f3;background:#f7faff;border-radius:10px;padding:12px;font-size:.82rem;color:#425571}.budget-upload-zone{border:1px dashed #c7d6f3;background:linear-gradient(180deg,#f8fbff,#f2f7ff);border-radius:12px;padding:14px 12px;margin-top:8px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.budget-upload-zone:hover{border-color:#9eb8ee;box-shadow:0 8px 18px rgba(36,77,164,.08)}.budget-upload-zone:focus-visible{outline:none;border-color:#3b5dc8;box-shadow:0 0 0 3px rgba(63,100,205,.16)}.budget-upload-zone-icon{width:34px;height:34px;border-radius:9px;border:1px solid #d7e3fa;background:#fff;color:#2f5fcf;display:inline-flex;align-items:center;justify-content:center}.budget-upload-zone-title{margin:0;font-size:.84rem;font-weight:600;color:#2a3f66}.budget-upload-zone-subtitle{margin:0;font-size:.76rem;color:#7588a8;line-height:1.45;max-width:360px}.budget-upload-browse{margin-top:4px;height:30px;font-size:.74rem;padding:0 12px}.budget-upload-file-list .program-dynamic-item{background:#f9fbff}.budget-upload-file{align-items:center}.budget-upload-file-icon{width:24px;height:24px;border-radius:7px;border:1px solid #d5e1f8;background:#fff;color:#5877c9;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.program-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#7f8fb0 0),linear-gradient(135deg,#7f8fb0 50%,transparent 0);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.program-select-trigger{width:100%;height:34px;border:1px solid #d7dfed;border-radius:8px;background:#fff;padding:0 10px;display:inline-flex;align-items:center;justify-content:space-between;font-size:.8rem;color:#223556}.program-select-trigger[data-empty=true]{color:#96a6c0}.program-select-trigger:focus-visible,.program-select-trigger[data-state=open]{outline:none;border-color:#3b5dc8;box-shadow:0 0 0 3px rgba(63,100,205,.12)}.program-select-content{z-index:110;min-width:var(--radix-select-trigger-width);max-height:min(260px,var(--radix-select-content-available-height));background:#fff;border:1px solid #d7dfeb;border-radius:10px;box-shadow:0 12px 24px rgba(15,34,79,.2);overflow:hidden}.program-select-viewport{padding:4px}.program-select-item{position:relative;font-size:.8rem;color:#233556;border-radius:8px;padding:8px 30px 8px 10px;cursor:pointer}.program-select-item[data-highlighted]{background:#edf3ff;outline:none}.program-select-item[data-state=checked]{color:#1e3a8a;font-weight:600}.program-select-item-indicator{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.program-date{color-scheme:light;padding-right:8px}.program-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.68}.program-date:hover::-webkit-calendar-picker-indicator{opacity:.95}.program-summary-sections{margin-top:10px;display:flex;flex-direction:column;gap:8px}.program-summary-item{border:1px solid #e1e8f5;border-radius:10px;background:#fafcff;padding:8px}.program-summary-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.program-summary-item-title{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:flex-start}.program-summary-item-icon{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent}.program-summary-item-label{margin:0;font-size:.77rem;font-weight:600;color:#1f3560}.program-summary-item-hint{margin:2px 0 0;font-size:.7rem;color:#8a9ab5}.program-summary-badge{height:24px;border-radius:999px;border:1px solid #d8e2f4;background:#eef3fd;color:#516ba6;display:inline-flex;align-items:center;gap:5px;padding:0 8px;font-size:.72rem;font-weight:600}.program-summary-badge.done{border-color:#ccebd7;background:#e8f8ef;color:#166534}.program-summary-track{margin-top:7px;height:6px;border-radius:999px;background:#e6edf9;overflow:hidden}.program-summary-track-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3159ca,#4d76e8)}.tone-blue{color:#2f58cb;background:#edf3ff;border-color:#d7e4ff}.tone-cyan{color:#087b8f;background:#e9f8fc;border-color:#c9eef8}.tone-emerald{color:#15803d;background:#eafaf0;border-color:#cdefd8}.tone-amber{color:#b45309;background:#fff7ea;border-color:#ffe5c2}.tone-violet{color:#6d28d9;background:#f4efff;border-color:#e3d8ff}.tone-rose{color:#be123c;background:#fff1f4;border-color:#ffd6df}.dashboard-feedback-panel{min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:flex-start}.dashboard-feedback-code{margin:0;color:#5f79b8;letter-spacing:.12em;font-size:.75rem;font-weight:700}.dashboard-feedback-title{margin:0;font-size:1.28rem;color:#1b3767}.dashboard-feedback-description{margin:0;color:#60708c;font-size:.9rem;max-width:620px}.dashboard-feedback-hint{margin:0;color:#8190aa;font-size:.8rem}.dashboard-feedback-actions{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}@media (max-width:1320px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-grid{grid-template-columns:1fr 1fr}.program-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1180px){.program-builder-page{grid-template-columns:1fr}.program-builder-side{position:static}}@media (max-width:1080px){.auth-page{grid-template-columns:1fr;grid-template-rows:auto auto}.auth-panel{order:1;padding:16px 14px 22px}.auth-hero{order:2;min-height:260px;padding:40px 24px}.auth-hero-dots{position:relative;transform:none;left:auto;bottom:auto;margin-top:24px}.auth-card{padding:10px 0}.auth-card-header h2{font-size:1.85rem}.auth-copyright{margin-top:38px}.system-state-page{grid-template-columns:1fr;grid-template-rows:auto auto}.system-state-hero{min-height:260px;align-items:flex-end;padding:24px 18px}.system-state-panel{padding:16px 14px 20px}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:relative;top:auto}.main,.sidebar{height:auto;overflow:visible}.topbar{height:auto;align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.topbar-search{width:100%}}@media (max-width:860px){.content{padding:14px}.dashboard-section-header{flex-direction:column}.budget-grid,.dash-insight-row,.dash-program-grid,.dash-stats-row,.form-grid,.grid.cols-4,.insight-grid,.program-stats-grid,.project-card-grid{grid-template-columns:1fr}.program-builder-header,.program-dynamic-item,.section-header-inline{flex-direction:column}.program-dynamic-item .icon-action{margin-top:0}}.dash-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.dash-stat-card{border:1px solid var(--border);border-radius:12px;padding:13px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.dash-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dash-stat-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.dash-stat-badge{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#15803d;white-space:nowrap}.dash-stat-value{margin:3px 0 0;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.dash-stat-label{margin:0;font-size:.74rem;color:var(--muted)}.dash-stat-bar-wrap{margin-top:8px;display:flex;align-items:center;gap:8px}.dash-stat-bar-track{flex:1;height:5px;border-radius:999px;background:#e8edf8;overflow:hidden}.dash-stat-bar-fill{height:100%;border-radius:inherit;transition:width .4s ease}.dash-stat-bar-pct{font-size:.7rem;color:var(--muted);white-space:nowrap}.dash-insight-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.dash-insight-card{border:1px solid var(--border);border-radius:12px;padding:13px;background:var(--surface)}.dash-insight-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.dash-insight-head h3{margin:0;font-size:.9rem;font-weight:600}.dash-more-btn{border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;cursor:pointer}.dash-more-btn:hover{background:var(--surface-soft)}.dash-insight-list{display:flex;flex-direction:column;gap:10px}.dash-insight-row-item{display:flex;align-items:center;gap:8px}.dash-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.dash-insight-row-label{flex:1;font-size:.84rem;color:var(--muted)}.dash-insight-row-val{font-size:.9rem;color:var(--text)}.dash-budget-display{display:flex;align-items:baseline;gap:0;margin-bottom:8px}.dash-budget-actual{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.dash-budget-of{font-size:.84rem;color:var(--muted)}.dash-budget-bar{height:7px;border-radius:999px;background:#e8edf8;overflow:hidden}.dash-budget-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .4s ease}.dash-budget-meta{margin:7px 0 0;font-size:.78rem;color:var(--muted)}.dash-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dash-program-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.dash-program-scroll::-webkit-scrollbar{height:4px}.dash-program-scroll::-webkit-scrollbar-track{background:#edf2fb;border-radius:999px}.dash-program-scroll::-webkit-scrollbar-thumb{background:#b8c9e8;border-radius:999px}.dash-program-scroll .dash-program-card{flex:0 0 218px;min-height:312px;scroll-snap-align:start}.dash-select-trigger{height:36px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.84rem;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;min-width:128px}.dash-select-trigger>span:first-child{flex:1;text-align:left}.dash-select-trigger:hover{background:var(--surface-soft);border-color:#c8d4ef}.dash-select-trigger[data-state=open]{border-color:var(--brand)}.dash-select-trigger:focus-visible{outline:2px solid #a5b8f5;outline-offset:1px}.dash-program-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:5px}.dash-program-label{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.dash-program-name{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--text)}.dash-program-desc{margin:0;font-size:.8rem;color:#586886;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dash-program-desc-muted{color:var(--muted)}.dash-ring-wrap{position:relative;padding:8px 0}.dash-ring-inner,.dash-ring-wrap{display:flex;justify-content:center;align-items:center}.dash-ring-inner{position:absolute;flex-direction:column;pointer-events:none}.dash-ring-pct{font-size:1.15rem;font-weight:700;color:var(--text);line-height:1}.dash-ring-sub{font-size:.68rem;color:var(--muted);margin-top:3px}.dash-program-foot{display:flex;align-items:center;justify-content:space-between;padding-top:4px;border-top:1px solid var(--border);margin-top:2px}.dash-program-foot-label{font-size:.78rem;color:var(--muted)}.dash-program-foot-val{font-size:.84rem;font-weight:700;color:var(--text)}.dash-program-btn{width:100%;height:36px;margin-top:6px;border-radius:9px;font-size:.82rem;justify-content:center;text-decoration:none}@media (max-width:900px){.dash-program-grid,.dash-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-height:780px){.auth-panel-signup{align-items:flex-start;padding-top:12px;padding-bottom:12px}.auth-panel-signup .auth-card-signup{margin:0}}.logout-overlay{position:fixed;inset:0;z-index:500;background:rgba(5,15,40,.52);backdrop-filter:blur(3px);animation:logout-fade-in .18s ease}.logout-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:501;width:min(420px,92vw);background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(5,15,40,.28),0 4px 16px rgba(5,15,40,.14);padding:32px 28px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;animation:logout-slide-up .22s cubic-bezier(.22,1,.36,1)}.logout-icon-wrap{width:54px;height:54px;border-radius:14px;background:#fff0f0;display:grid;place-items:center;color:#dc2626;margin-bottom:2px;flex-shrink:0}.logout-title{margin:0;font-size:1.22rem;font-weight:700;color:#1a2433;letter-spacing:-.01em}.logout-desc{margin:0;font-size:.88rem;color:#6e7a8f;line-height:1.6;max-width:320px}.logout-actions{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.logout-actions .button{flex:1;height:42px;border-radius:10px;font-size:.88rem}.logout-actions .logout-confirm-btn{background:#dc2626;color:#fff}.logout-actions .logout-confirm-btn:hover{background:#b91c1c}.logout-close-btn{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:8px;border:1px solid #e2e8f3;background:#f8f9fd;color:#6e7a8f;display:grid;place-items:center;cursor:pointer}.logout-close-btn:hover{background:#eef1f8;color:var(--text)}.typed-confirm-overlay{position:fixed;inset:0;z-index:520;background:rgba(7,18,45,.58);backdrop-filter:blur(3px)}.typed-confirm-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:521;width:min(460px,92vw);background:#fff;border-radius:16px;border:1px solid #e2e8f3;box-shadow:0 26px 70px rgba(6,20,55,.28),0 5px 18px rgba(6,20,55,.16);padding:26px 24px 22px}.typed-confirm-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#f8f9fd;color:var(--muted);display:grid;place-items:center;cursor:pointer}.typed-confirm-close:hover{background:#eef1f8;color:var(--text)}.typed-confirm-icon-wrap{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff1f2;color:#dc2626;margin-bottom:10px}.typed-confirm-title{margin:0;font-size:1.1rem;font-weight:700;color:#111b2d}.typed-confirm-description{margin:8px 0 0;font-size:.84rem;line-height:1.55;color:var(--muted)}.typed-confirm-body{margin-top:14px;display:flex;flex-direction:column;gap:10px}.typed-confirm-target{padding:10px 12px;border-radius:10px;border:1px dashed #c4d2ed;background:#f7faff;font-size:.82rem;color:#1f3e7a;font-weight:600;word-break:break-word}.typed-confirm-field{margin:0}.typed-confirm-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.typed-confirm-actions .button{min-width:108px}.typed-confirm-danger-btn{background:#dc2626;color:#fff;border-color:#dc2626}.typed-confirm-danger-btn:hover{background:#b91c1c;border-color:#b91c1c}.icon-action.danger{color:#dc2626;border-color:#fecaca;background:#fff7f7}.icon-action.danger:hover{color:#b91c1c;border-color:#fca5a5;background:#fff1f2}@keyframes logout-fade-in{0%{opacity:0}to{opacity:1}}@keyframes logout-slide-up{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.prog-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:18px;font-size:12.5px;color:var(--text-muted)}.prog-breadcrumb-sep{color:#c5ccd8}.prog-breadcrumb-item{color:var(--text-muted);text-decoration:none;transition:color .15s}.prog-breadcrumb-item:hover{color:var(--primary)}.prog-breadcrumb-item.active{color:var(--text);font-weight:500}.prog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:18px}.prog-header-left{flex:1;min-width:0}.prog-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.prog-badge{background:#e8f0fe;color:#3b5bdb;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.prog-badge,.prog-date-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px}.prog-date-chip{gap:4px;background:#f4f6fb;color:#6e7a8f;font-size:11px;font-weight:500;border:1px solid #e8ecf4}.prog-title{font-size:19px;font-weight:700;color:var(--text);margin:0 0 6px;line-height:1.3}.prog-desc{font-size:13px;color:var(--text-muted);line-height:1.55;margin:0;max-width:680px}.prog-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.prog-stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px}.prog-stat-card-label{font-size:11.5px;color:var(--text-muted);font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.prog-stat-card-value{font-size:22px;font-weight:700;color:var(--text);line-height:1.1}.prog-stat-card-sub{font-size:11px;color:var(--text-muted);margin-top:3px}.prog-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.prog-metric-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px}.prog-metric-label{font-size:11.5px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.prog-metric-value{font-size:20px;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:8px}.prog-metric-bar{height:5px;border-radius:3px;background:#eef0f6;overflow:hidden}.prog-metric-bar-fill{height:100%;border-radius:3px;background:var(--primary);transition:width .5s}.prog-metric-sub{font-size:11px;color:var(--text-muted);margin-top:5px}.prog-tabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.prog-tab-btn{padding:8px 16px;font-size:12.5px;font-weight:500;color:var(--text-muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.prog-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.prog-tab-btn:hover:not(.active){color:var(--text)}.prog-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.prog-overview-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px}.prog-overview-panel-title{font-size:13px;font-weight:600;color:var(--text);margin:0 0 16px}.prog-ring-wrap{display:flex;align-items:center;gap:24px;margin-bottom:20px}.prog-ring-label{display:flex;flex-direction:column;gap:2px}.prog-ring-pct{font-size:26px;font-weight:700;color:var(--text)}.prog-ring-sub{font-size:12px;color:var(--text-muted)}.prog-stat-list{display:flex;flex-direction:column;gap:10px}.prog-stat-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text-muted)}.prog-stat-row-val{font-weight:600;color:var(--text)}.prog-kpi-list{gap:12px}.prog-kpi-item,.prog-kpi-list{display:flex;flex-direction:column}.prog-kpi-item{gap:5px}.prog-kpi-header{display:flex;align-items:center;justify-content:space-between}.prog-kpi-name{font-size:12.5px;color:var(--text);font-weight:500}.prog-kpi-fraction{font-size:11.5px;color:var(--text-muted)}.prog-kpi-bar-wrap{height:6px;border-radius:3px;background:#eef0f6;overflow:hidden}.prog-kpi-bar-fill{height:100%;border-radius:3px;transition:width .4s}.prog-kpi-status-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.prog-kpi-status-label.ON_TRACK{color:#16a34a}.prog-kpi-status-label.ACHIEVED{color:#2563eb}.prog-kpi-status-label.AT_RISK{color:#d97706}.prog-kpi-status-label.OFF_TRACK{color:#dc2626}.prog-kpi-status-label.PENDING{color:#9ca3af}.prog-section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:20px}.prog-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}.prog-section-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.prog-section-actions{display:flex;align-items:center;gap:8px}.prog-projects-table{width:100%;border-collapse:collapse}.prog-projects-table th{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:left}.prog-projects-table td{padding:10px 12px;font-size:12.5px;color:var(--text);border-bottom:1px solid #f3f4f8;vertical-align:middle}.prog-projects-table tr:last-child td{border-bottom:none}.prog-projects-table tr:hover td{background:#fafbfd}.prog-project-name{font-weight:600;color:var(--text)}.prog-project-code-badge{display:inline-block;padding:1px 6px;background:#eef1f8;color:#6e7a8f;border-radius:4px;font-size:10px;font-weight:500;font-family:monospace;margin-left:5px}.prog-timeline{font-size:11.5px;color:var(--text-muted)}.prog-budget-cell{display:flex;flex-direction:column;gap:1px}.prog-budget-main{font-size:12.5px;font-weight:600;color:var(--text)}.prog-budget-chip{display:inline-block;padding:1px 7px;font-size:10px;font-weight:500;border-radius:20px;background:#fef9ec;color:#92400e;border:1px solid #fde68a}.prog-progress-cell{display:flex;align-items:center;gap:8px}.prog-progress-bar{flex:1;height:5px;border-radius:3px;background:#eef0f6;overflow:hidden}.prog-progress-bar-fill{height:100%;border-radius:3px;background:var(--primary)}.prog-progress-pct{font-size:11.5px;font-weight:600;color:var(--text);min-width:30px;text-align:right}.prog-budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.prog-budget-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px}.prog-budget-panel-title{font-size:13px;font-weight:600;color:var(--text);margin:0 0 14px}.prog-budget-bar-item{margin-bottom:12px}.prog-budget-bar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:12.5px}.prog-budget-bar-name{font-weight:500;color:var(--text)}.prog-budget-bar-amounts{color:var(--text-muted);font-size:11.5px}.prog-budget-bar-track{height:7px;border-radius:4px;background:#eef0f6;overflow:hidden}.prog-budget-bar-planned{height:100%;border-radius:4px;background:#dbeafe;position:relative}.prog-budget-bar-actual{position:absolute;top:0;left:0;height:100%;border-radius:4px;background:var(--primary)}.prog-budget-cat-table{width:100%;border-collapse:collapse}.prog-budget-cat-table th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;border-bottom:1px solid var(--border);text-align:left}.prog-budget-cat-table td{padding:9px 10px;font-size:12.5px;color:var(--text);border-bottom:1px solid #f3f4f8}.prog-budget-cat-table tr:last-child td{border-bottom:none}.prog-budget-variance-pos{color:#16a34a;font-weight:600}.prog-budget-variance-neg{color:#dc2626;font-weight:600}.prog-cat-label{display:inline-block;padding:2px 8px;background:#f4f6fb;color:#6e7a8f;border-radius:6px;font-size:11px;font-weight:500;text-transform:capitalize}.prog-outcomes-section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:20px}.prog-outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.prog-outcome-card{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:#fafbfd}.prog-outcome-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.prog-outcome-title{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.4;flex:1}.prog-outcome-status-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:700}.prog-outcome-status-icon.ACHIEVED{background:#d1fae5;color:#065f46}.prog-outcome-status-icon.ON_TRACK{background:#dbeafe;color:#1d4ed8}.prog-outcome-status-icon.AT_RISK{background:#fef3c7;color:#92400e}.prog-outcome-status-icon.OFF_TRACK{background:#fee2e2;color:#991b1b}.prog-outcome-status-icon.PENDING{background:#f3f4f6;color:#6b7280}.prog-outcome-desc{font-size:11.5px;color:var(--text-muted);line-height:1.5;margin-bottom:10px}.prog-outcome-progress-bar{height:5px;border-radius:3px;background:#eef0f6;overflow:hidden;margin-bottom:5px}.prog-outcome-progress-fill{height:100%;border-radius:3px;transition:width .4s}.prog-outcome-progress-fill.ACHIEVED{background:#10b981}.prog-outcome-progress-fill.ON_TRACK{background:#3b82f6}.prog-outcome-progress-fill.AT_RISK{background:#f59e0b}.prog-outcome-progress-fill.OFF_TRACK{background:#ef4444}.prog-outcome-progress-fill.PENDING{background:#9ca3af}.prog-outcome-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted)}.prog-outcome-pct{font-weight:700;color:var(--text);font-size:12px}.prog-summary-bar{display:flex;align-items:center;gap:24px;padding:12px 16px;background:#f8f9fd;border-radius:8px;border:1px solid var(--border)}.prog-summary-item{display:flex;align-items:center;gap:6px;font-size:12.5px}.prog-summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.prog-summary-count{font-weight:700;color:var(--text)}.prog-summary-label{color:var(--text-muted)}@media (max-width:1100px){.prog-stats-row{grid-template-columns:repeat(3,1fr)}.prog-metrics-row{grid-template-columns:repeat(2,1fr)}.prog-budget-grid,.prog-overview-grid{grid-template-columns:1fr}.prog-outcomes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.prog-stats-row{grid-template-columns:repeat(2,1fr)}.prog-outcomes-grid{grid-template-columns:1fr}}.project-detail-page{display:flex;flex-direction:column;gap:14px}.project-detail-header{padding:16px 18px}.project-detail-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.project-detail-header-copy{min-width:0;flex:1}.project-detail-code{margin:0 0 4px;font-size:.68rem;font-weight:700;letter-spacing:.08em;color:#7183a1}.project-detail-title{margin:0;font-size:1.62rem;line-height:1.18;color:#1d2a42}.project-detail-description{margin:8px 0 0;font-size:.82rem;color:var(--muted);line-height:1.55;max-width:860px}.project-detail-meta-row{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-detail-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;border:1px solid #dde6f6;background:#f7f9ff;color:#4c5f83;font-size:.7rem;font-weight:500}.project-detail-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.project-progress-ring-wrap{position:relative;width:84px;height:84px}.project-progress-ring-svg{transform:rotate(-90deg);display:block}.project-progress-ring-track{fill:none;stroke:#e7edf8}.project-progress-ring-fill{fill:none;stroke:#2f5dcf;stroke-linecap:round}.project-progress-ring-label{position:absolute;inset:0;display:grid;place-items:center;font-size:.9rem;font-weight:700;color:#1f3357}.project-progress-ring-sub-label{display:block;margin-top:-18px;text-align:center;font-size:.62rem;color:#7a88a3;font-weight:600}.project-detail-stats-grid{margin-top:12px;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.project-detail-stat{border:1px solid var(--border);border-radius:10px;background:#fafcff;padding:10px 11px}.project-detail-stat-label{margin:0;font-size:.7rem;color:#7d8aa1}.project-detail-stat-value{margin:5px 0 0;font-size:1.08rem;font-weight:700;color:#1d2f53}.project-detail-body-panel{padding:0 0 14px;overflow:hidden}.project-detail-tab-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border);padding:0 12px}.project-detail-tab{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;color:#7a859b;font-size:.77rem;font-weight:600;padding:10px 11px;border-bottom:2px solid transparent;cursor:pointer}.project-detail-tab.active{color:#2f5dcf;border-bottom-color:#2f5dcf}.project-detail-section-head{padding:12px 12px 0}.project-detail-section-head h3{margin:0;font-size:1.05rem;color:#1f3357}.project-detail-section-head p{margin:4px 0 0;font-size:.76rem;color:#7787a1}.project-detail-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding:10px 12px 0}.project-detail-list{display:flex;flex-direction:column;gap:10px;padding:10px 12px 0}.project-detail-item-card{border:1px solid var(--border);border-radius:10px;background:#fff;padding:11px 12px}.project-detail-item-card.clickable{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.project-detail-item-card.clickable:hover{border-color:#c8d6f4;box-shadow:0 10px 20px rgba(33,63,128,.08);transform:translateY(-1px)}.project-detail-item-card.clickable:focus-visible{outline:2px solid #9cb5f2;outline-offset:2px}.project-detail-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-detail-item-title{margin:0;font-size:.87rem;font-weight:600;color:#1f2f4f}.project-detail-item-sub{margin:3px 0 0;font-size:.73rem;color:#71829e;line-height:1.45}.project-detail-item-meta{margin-top:9px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.68rem;color:#7c879d}.project-detail-item-meta span{padding:2px 7px;border-radius:999px;border:1px solid #e3e8f5;background:#f8faff}.project-detail-progress-row{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:.72rem;color:#6f7d93}.project-detail-footnote{margin:2px 0 0;text-align:left;font-size:.7rem;color:#7887a2}.project-variance-positive{color:#0f8a45;font-weight:600}.project-variance-negative{color:#c52828;font-weight:600}.project-row-action{width:28px;height:28px;border-radius:8px;border:1px solid #d5dff0;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#4b5f82;cursor:pointer}.project-row-action:hover{background:#eef3ff;border-color:#bdcdf2;color:#294fbc}.project-indicator-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 12px 4px}.project-indicator-highlight-card{border:1px solid #dde5f5;background:#fff;border-radius:12px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-indicator-highlight-copy{min-width:0}.project-indicator-highlight-copy h4{margin:0;font-size:.8rem;color:#243655}.project-indicator-highlight-copy p{margin:4px 0 0;font-size:.7rem;color:#7b89a0;line-height:1.45}.project-indicator-highlight-metrics{margin-top:8px;display:flex;flex-direction:column;gap:2px;font-size:.67rem;color:#63748f;font-weight:600}.project-budget-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 12px 4px}.project-budget-card{border:1px solid #dde6f6;border-radius:12px;background:#fff;padding:12px}.project-budget-card-label{margin:0;font-size:.7rem;color:#7a8ba8}.project-budget-card strong{margin-top:4px;display:block;font-size:1.35rem;line-height:1.1;color:#1b2f4f}.project-budget-card span{margin-top:4px;display:block;font-size:.72rem;color:#6e7f9a}.progress-fill.warning{background:#e09f2e}.progress-fill.danger{background:#db4b3e}.entity-modal-overlay{position:fixed;inset:0;background:rgba(11,14,24,.78);z-index:700}.entity-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(860px,94vw);max-height:92vh;overflow:auto;background:#f9fbff;border-radius:16px;border:1px solid #d5deef;box-shadow:0 30px 70px rgba(7,16,38,.44),0 8px 24px rgba(7,16,38,.2);z-index:701}.entity-modal-shell{padding:20px}.entity-modal-title{margin:0;font-size:1.48rem;line-height:1.1;color:#233656}.entity-modal-subtitle{margin:6px 0 0;font-size:.8rem;color:#73839f}.entity-modal-form{margin-top:14px;display:flex;flex-direction:column;gap:12px}.entity-modal-section{border:1px solid #dde6f6;background:#fff;border-radius:12px;padding:12px}.entity-modal-section>header{margin-bottom:8px}.entity-modal-section>header h4{margin:0;font-size:.86rem;color:#2a3f64}.entity-modal-grid{display:grid;gap:8px}.entity-modal-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-modal-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.entity-modal-progress-control{display:flex;align-items:center;gap:10px}.entity-modal-progress-control input[type=range]{flex:1}.entity-modal-progress-control span{min-width:42px;text-align:right;font-size:.8rem;font-weight:700;color:#2d4470}.entity-modal-upload{border:1px dashed #bccbe8;border-radius:10px;padding:14px;background:#f6f9ff;display:block;cursor:pointer}.entity-modal-upload input[type=file]{display:block;width:100%;margin-bottom:8px}.entity-modal-upload span{font-size:.74rem;color:#6d7f9d}.entity-modal-file-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.entity-modal-file-list li{border:1px solid #dde6f6;border-radius:8px;padding:8px 10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.entity-modal-file-list small{color:#7587a5;font-size:.7rem}.entity-modal-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width:1180px){.project-detail-header-top{flex-direction:column}.project-detail-header-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.project-detail-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-budget-cards,.project-indicator-highlight-grid{grid-template-columns:1fr}}@media (max-width:860px){.project-detail-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-toolbar{justify-content:stretch}.project-detail-toolbar .button,.project-detail-toolbar .dash-select-trigger,.project-detail-toolbar .table-search{width:100%}.entity-modal-grid.four,.entity-modal-grid.two{grid-template-columns:1fr}.entity-modal-actions{flex-direction:column-reverse}.entity-modal-actions .button{width:100%;justify-content:center}}.session-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg,#f4f6fb);z-index:999}.session-loading-spinner{width:36px;height:36px;border:3px solid #dbe3f4;border-top:3px solid var(--primary,#3b5bdb);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.global-search-wrap{position:relative}.search-spinner{width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.search-clear-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;padding:0}.search-clear-btn:hover{background:var(--border);color:var(--text)}.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(15,34,79,.15);z-index:100;max-height:420px;overflow-y:auto}.search-group{padding:4px 0}.search-group+.search-group{border-top:1px solid var(--border)}.search-group-label{display:flex;align-items:center;gap:6px;padding:6px 12px 3px;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.search-result-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 12px;border:0;background:transparent;text-align:left;cursor:pointer;font-size:.83rem;color:var(--text)}.search-result-item:hover{background:var(--surface-soft)}.search-result-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-sub{font-size:.71rem;color:var(--muted);flex-shrink:0}.search-empty{padding:20px 12px;text-align:center;font-size:.84rem;color:var(--muted)}.user-menu-wrap{position:relative}.topbar-user-btn{border:0;background:transparent;cursor:pointer;border-radius:8px;padding:4px 6px;display:flex;align-items:center;gap:8px}.topbar-user-btn:hover{background:var(--surface-soft)}.topbar-user-copy{text-align:left}.user-menu-chevron{color:var(--muted);transition:transform .15s;flex-shrink:0}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(15,34,79,.14);z-index:100;padding:4px}.user-menu-header{display:flex;align-items:center;gap:10px;padding:12px 12px 10px}.user-menu-avatar{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#123469;background:#dce7ff;flex-shrink:0}.user-menu-name{margin:0;font-size:.82rem;font-weight:600}.user-menu-email{margin:2px 0 0;font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.user-menu-divider{height:1px;background:var(--border);margin:3px 0}.user-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;border:0;background:transparent;font-size:.83rem;color:var(--text);border-radius:8px;cursor:pointer;text-align:left;text-decoration:none}.user-menu-item:hover{background:var(--surface-soft)}.user-menu-item-danger{color:var(--danger)}.user-menu-item-danger:hover{background:#fef2f2}.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.profile-id-card{display:flex;flex-direction:column;gap:16px}.profile-avatar-row{display:flex;align-items:center;gap:14px}.profile-avatar-xl{width:60px;height:60px;border-radius:999px;display:grid;place-items:center;font-size:1.15rem;font-weight:700;color:#123469;background:#dce7ff;flex-shrink:0}.profile-display-name{margin:0;font-size:1.02rem;font-weight:700}.profile-detail-list{display:flex;flex-direction:column;gap:0}.profile-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.83rem}.profile-detail-row:last-child{border-bottom:0}.profile-detail-key{color:var(--muted);flex-shrink:0}.profile-detail-val{text-align:right;font-weight:500}.profile-org-chip{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.profile-org-name{margin:0;font-size:.84rem;font-weight:600}.profile-org-meta{margin:2px 0 0;font-size:.72rem;color:var(--muted)}.profile-dates-list{display:flex;flex-direction:column;gap:4px}.profile-date-item{margin:0;font-size:.73rem;color:var(--muted)}.settings-tab-bar{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.settings-tab-btn{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:9px 16px;font-size:.84rem;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}.settings-tab-btn:hover{color:var(--text)}.settings-tab-btn.active{color:var(--brand);border-bottom-color:var(--brand)}.user-avatar-sm{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-size:.64rem;font-weight:700;color:#123469;background:#dce7ff;flex-shrink:0}.dropzone{border:2px dashed var(--border);border-radius:10px;padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;background:var(--surface-soft);transition:border-color .15s,background .15s}.dropzone-active,.dropzone:hover{border-color:var(--brand);background:#f0f4ff}.dropzone-title{margin:0;font-size:.9rem;color:var(--text)}.dropzone-title span{color:var(--brand);text-decoration:underline}.dropzone-hint{margin:0;font-size:.76rem;color:var(--muted)}.upload-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:200;display:grid;place-items:center;padding:20px}.upload-modal{background:var(--surface);border-radius:14px;width:min(540px,100%);box-shadow:0 20px 60px rgba(0,0,0,.22);display:flex;flex-direction:column;max-height:88vh;overflow:hidden}.upload-file-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}@media (max-width:900px){.profile-layout{grid-template-columns:1fr}}.profile-avatar-upload-wrap{position:relative;display:inline-block;line-height:0}.profile-avatar-upload-btn{position:absolute;bottom:0;right:0;width:22px;height:22px;background:var(--brand);border-radius:50%;border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;padding:0;transition:background .15s}.profile-avatar-upload-btn:hover{background:var(--brand-dark,#2450c0)}.profile-avatar-img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.places-autocomplete-wrap{position:relative;display:block}.pac-container{border-radius:10px!important;border:1px solid var(--border)!important;box-shadow:0 8px 28px rgba(0,0,0,.1)!important;font-family:inherit!important;margin-top:3px!important;overflow:hidden;background:var(--surface)!important}.pac-item{padding:9px 14px!important;font-size:.84rem!important;cursor:pointer;border-top:1px solid var(--border)!important;color:var(--text)!important;line-height:1.4!important}.pac-item:first-child{border-top:none!important}.pac-item.pac-item-selected,.pac-item:hover{background:var(--surface-soft)!important}.pac-item-query{font-size:.84rem!important;color:var(--text)!important;font-weight:500!important}.pac-matched{color:var(--brand)!important}.pac-icon{display:none!important}.kpi-management-page{gap:14px}.kpi-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.kpi-table-search{width:min(340px,100%)}.kpi-top-filter{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.kpi-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi-summary-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface);display:flex;flex-direction:column;gap:7px}.kpi-summary-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font:inherit;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.kpi-summary-button:hover{border-color:#c7d7f7;box-shadow:0 8px 18px rgba(38,69,140,.08);transform:translateY(-1px)}.kpi-summary-button.active{border-color:#3f66ce;box-shadow:0 0 0 3px rgba(63,102,206,.16)}.kpi-summary-button:focus-visible{outline:2px solid #9cb5f2;outline-offset:2px}.kpi-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-summary-head p{margin:0;font-size:.76rem;color:var(--muted)}.kpi-summary-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.kpi-summary-icon.total{color:#5b39ca;background:#f0ebff}.kpi-summary-icon.success{color:#166534;background:#dcfce7}.kpi-summary-icon.warning{color:#b45309;background:#ffedd5}.kpi-summary-icon.danger{color:#b91c1c;background:#fee2e2}.kpi-summary-card strong{font-size:2rem;line-height:1;font-weight:700;color:#1c2f4f}.kpi-summary-card span{font-size:.73rem;color:var(--muted)}.kpi-summary-progress{display:flex;flex-direction:column;gap:6px}.kpi-summary-progress-track{height:4px;border-radius:999px;overflow:hidden;background:#e8edf8}.kpi-summary-progress-fill{height:100%;border-radius:inherit}.kpi-summary-progress-fill.success{background:linear-gradient(90deg,#1f8b4c,#33b36b)}.kpi-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.kpi-table-actions{display:flex;align-items:center;gap:8px}.kpi-table-wrap .table td{padding-top:14px;padding-bottom:14px}.kpi-name-cell{display:flex;align-items:flex-start;gap:10px}.kpi-row-icon{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.kpi-row-icon.success{color:#15803d;background:#dcfce7}.kpi-row-icon.warning{color:#b45309;background:#ffedd5}.kpi-row-icon.danger{color:#b91c1c;background:#fee2e2}.kpi-row-icon.neutral{color:#475569;background:#e2e8f0}.kpi-name{margin:0;font-size:.84rem;font-weight:600;color:#1d2f4f}.kpi-description{margin:3px 0 0;font-size:.75rem;color:var(--muted);max-width:400px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kpi-progress-cell{min-width:170px}.kpi-target-value{margin:0;font-size:.83rem;font-weight:600;color:#21395f}.kpi-target-sub{margin:3px 0 0;font-size:.74rem;color:var(--muted)}.kpi-pagination-row{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-pagination-row p{margin:0;font-size:.78rem;color:var(--muted)}.kpi-pagination-controls{display:flex;align-items:center;gap:8px}.kpi-page-list{display:inline-flex;align-items:center;gap:6px}.kpi-page-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.78rem;color:#3a4f71;cursor:pointer}.kpi-page-btn.active{border-color:#335fce;background:#edf3ff;color:#21459e;font-weight:600}.kpi-modal-select-trigger{width:100%;height:40px}.kpi-scope-lock-note{border:1px solid #dbe7ff;border-radius:10px;background:#f5f8ff;color:#365496;font-size:.78rem;padding:8px 10px}@media (max-width:1180px){.kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.kpi-filter-row,.kpi-pagination-row,.kpi-table-header{flex-direction:column;align-items:stretch}.kpi-pagination-controls,.kpi-table-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.kpi-table-search{width:100%}}@media (max-width:700px){.kpi-summary-grid{grid-template-columns:1fr}}.kpi-upsert-page{display:flex;flex-direction:column;gap:12px}.kpi-upsert-panel{padding:14px}.kpi-upsert-panel .program-builder-header{margin-bottom:10px}.kpi-upsert-panel .program-builder-form{margin-top:0}.kpi-section-card{padding:12px}.kpi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-tone-blue{background:#e9f0ff;color:#2f5ec9;border-color:#d3e0fb}.kpi-tone-indigo{background:#ecedff;color:#4b4ec7;border-color:#d9dbfb}.kpi-tone-cyan{background:#e7f8ff;color:#1f87a7;border-color:#c8eaf7}.kpi-field-footnote{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-field-footnote,.kpi-field-footnote-single{margin-top:4px;font-size:.7rem;color:#7f8ea8}@media (max-width:900px){.kpi-form-grid{grid-template-columns:1fr}.kpi-upsert-panel .program-builder-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}}.data-collection-page{gap:14px}.data-collection-filter-row{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.data-collection-filter-row .button{height:36px}.data-collection-metrics-grid{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.data-collection-metric-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:6px}.data-collection-metric-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.data-collection-metric-icon.neutral{color:#475569;background:#e2e8f0}.data-collection-metric-icon.success{color:#166534;background:#dcfce7}.data-collection-metric-icon.warning{color:#b45309;background:#ffedd5}.data-collection-metric-icon.info{color:#1d4ed8;background:#dbeafe}.data-collection-metric-card strong{font-size:1.45rem;letter-spacing:-.02em;color:#1f2f4f}.data-collection-metric-card p{margin:0;font-size:.75rem;color:var(--muted)}.data-collection-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.data-collection-table-toolbar-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.data-collection-tool-cell{display:flex;align-items:center;gap:8px}.data-collection-tool-cell p{margin:0;font-size:.8rem;font-weight:600}.data-collection-tool-cell span{font-size:.72rem;color:var(--muted)}.data-collection-tool-badge{width:24px;height:24px;border-radius:7px;border:1px solid #d6e2ff;background:#e9f0ff;color:#2f5ec9;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.data-collection-pagination-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--muted)}.data-collection-pagination-actions{display:inline-flex;align-items:center;gap:8px}.data-collection-rows-select{display:inline-flex;align-items:center;gap:6px}.data-collection-rows-select .dash-select-trigger{min-width:74px}.data-collection-page-indicator{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:#edf3ff;color:#22489f;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.data-collection-warning-inline{margin-top:8px;display:inline-flex;align-items:center;gap:6px;color:#b45309}.spin{animation:spin-anim 1s linear infinite}@keyframes spin-anim{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.connect-survey-page{grid-template-columns:minmax(0,1fr) 290px}.connect-survey-tool-grid{margin-bottom:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.connect-survey-tool-card{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.connect-survey-tool-card:hover{border-color:#c2d4fb}.connect-survey-tool-card.active{border-color:#3562cf;box-shadow:0 0 0 3px rgba(53,98,207,.14)}.connect-survey-tool-badge{width:24px;height:24px;border-radius:7px;border:1px solid #d6e2ff;background:#e9f0ff;color:#2f5ec9;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.connect-survey-tool-card p{margin:0;font-size:.8rem;font-weight:600}.connect-survey-tool-card span{font-size:.7rem;color:var(--muted)}.connect-survey-checkbox-stack{margin-top:8px;display:flex;flex-direction:column;gap:8px}.connect-survey-actions{margin-top:2px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.connect-survey-side-panel h3{margin:0 0 8px;font-size:.86rem}.connect-survey-side-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.connect-survey-side-panel li{display:flex;align-items:center;gap:7px;font-size:.75rem;color:#435673}.connect-survey-side-panel li span{width:18px;height:18px;border-radius:6px;background:#edf3ff;color:#2f5ec9;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:600}.connect-survey-tip-list{display:flex;flex-direction:column;gap:8px}.connect-survey-tip-list article{border:1px solid #e5ecf9;border-radius:8px;background:#f8fbff;padding:8px;display:flex;align-items:flex-start;gap:7px;color:#4a5e7f}.connect-survey-tip-list article p{margin:0;font-size:.74rem;line-height:1.45}.connect-survey-help-list{display:flex;flex-direction:column;gap:8px}.connect-survey-help-list .button{justify-content:flex-start}.survey-responses-page{gap:12px}.survey-response-hero{border:1px solid #ccdaf8;border-radius:12px;background:#fff;padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.data-collection-quality-chip{gap:5px}.participants-page{gap:14px}.participants-metrics-grid{margin-top:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.participants-metric-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:11px;display:flex;flex-direction:column;gap:6px}.participants-metric-icon{width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.participants-metric-icon.neutral{color:#475569;background:#e2e8f0}.participants-metric-icon.info{color:#1d4ed8;background:#dbeafe}.participants-metric-icon.success{color:#166534;background:#dcfce7}.participants-metric-card strong{font-size:1.4rem;letter-spacing:-.02em;color:#1f2f4f}.participants-metric-card p{margin:0;color:var(--muted);font-size:.75rem}.participants-filter-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.participants-main-search{width:min(340px,100%)}.participants-filter-button{height:36px;padding:0 12px;font-size:.78rem}.participants-filter-row{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.participants-filter-select,.participants-search-inline{width:100%}.participants-table-panel{overflow:hidden}.participants-id-number{margin:0;font-size:.79rem;font-weight:600;color:#1d3355}.participants-id-name{margin:3px 0 0;font-size:.74rem;color:var(--muted)}.participants-table-actions{display:inline-flex;align-items:center;gap:6px}.participants-pagination-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.participants-pagination-row p{margin:0;color:var(--muted);font-size:.76rem}.participants-recent-heading{margin:0 0 9px;font-size:.87rem}.participants-recent-empty{margin:0;font-size:.77rem;color:var(--muted)}.participants-recent-list{display:flex;flex-direction:column;gap:8px}.participants-recent-item{border:1px solid #e1e8f5;border-radius:10px;background:#fafcff;padding:8px;display:flex;align-items:center;gap:9px}.participants-recent-avatar{width:29px;height:29px;border-radius:999px;background:#e3ebff;color:#2f5cc7;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0}.participants-recent-item p{margin:0;font-size:.79rem;font-weight:600}.participants-recent-item span{display:block;margin-top:1px;font-size:.72rem;color:var(--muted)}.participants-recent-item small{margin-left:auto;color:#7d8ea9;font-size:.7rem}.participant-tracking-page{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}.participants-form-shell{min-width:0}.participants-form-header{margin-bottom:10px}.participants-tracking-form{display:flex;flex-direction:column;gap:8px}.participants-type-switch{border:1px solid #dce6f7;border-radius:10px;background:#f5f8ff;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.participants-type-button{border:1px solid transparent;border-radius:8px;background:transparent;height:34px;font-size:.78rem;font-weight:600;color:#587092;cursor:pointer}.participants-type-button.active{border-color:#d7e2f9;background:#fff;color:#1f3f7e;box-shadow:0 2px 10px rgba(18,45,107,.08)}.participants-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participants-household-members{margin-top:8px;border-top:1px dashed #dbe4f5;padding-top:8px;display:flex;flex-direction:column;gap:8px}.participants-household-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.participants-household-header h4{margin:0;font-size:.8rem}.participants-household-header .button{height:30px;font-size:.72rem;padding:0 10px}.participants-household-member-row{border:1px solid #e4ebf8;border-radius:10px;background:#fafcff;padding:8px;display:flex;align-items:flex-start;gap:8px}.participants-household-member-row .icon-action{margin-top:21px}.participants-household-grid{flex:1}.participants-map-action-wrap .button{width:100%;justify-content:center}.participants-map-button{margin-top:auto;height:34px;font-size:.76rem}.participants-notes-area{min-height:82px;resize:vertical;padding:8px 10px}.participants-form-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.participants-progress-panel{position:sticky;top:88px}.participants-progress-panel h3{margin:0;font-size:.86rem}.participants-progress-panel p{margin:4px 0 0;font-size:.74rem;color:var(--muted)}.participants-progress-track{margin-top:10px;height:8px;width:100%;border-radius:999px;background:#e5ecf9;overflow:hidden}.participants-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3562cf,#4d7cff)}.participants-progress-panel strong{display:block;margin-top:8px;font-size:.84rem;color:#233a62}.participants-progress-panel ul{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.participants-progress-panel li{font-size:.75rem;color:#556a8b;display:inline-flex;align-items:center;gap:6px}.participants-progress-panel li:before{content:"";width:8px;height:8px;border-radius:999px;background:#c8d5ef}.participants-progress-panel li.done:before{background:#2f66d2}@media (max-width:1280px){.data-collection-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.connect-survey-page{grid-template-columns:1fr}.connect-survey-page .program-builder-side{position:static}.participants-filter-row,.participants-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participant-tracking-page{grid-template-columns:1fr}.participants-progress-panel{position:static}}@media (max-width:980px){.data-collection-filter-row{grid-template-columns:1fr}.connect-survey-actions,.data-collection-pagination-row,.data-collection-table-toolbar,.survey-response-hero{flex-direction:column;align-items:stretch}.connect-survey-tool-grid,.data-collection-pagination-actions,.data-collection-table-toolbar-actions{width:100%}.connect-survey-tool-grid{grid-template-columns:1fr}.participants-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.participants-filter-top,.participants-pagination-row{flex-direction:column;align-items:stretch}.participants-filter-row,.participants-form-grid,.participants-household-grid{grid-template-columns:1fr}}@media (max-width:760px){.data-collection-metrics-grid,.participants-metrics-grid{grid-template-columns:1fr}}.impact-page{display:flex;flex-direction:column;gap:14px}.impact-filter-input,.impact-filter-select{height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft);font-size:.83rem;color:var(--text);cursor:pointer;outline:none;font-family:inherit}.impact-filter-select{padding-right:28px}.impact-filter-input:focus,.impact-filter-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(51,95,214,.12)}.impact-map-panel{height:480px;padding:0;overflow:hidden;background:#f8fbff;border-color:#d6e2f4}.impact-map-loading{gap:12px;color:#94a3b8;font-size:.85rem}.impact-map-empty,.impact-map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.impact-map-empty{gap:4px;text-align:center;padding:24px}.impact-mode-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;gap:0}.impact-mode-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:500;background:transparent;border:none;cursor:pointer;color:var(--muted);transition:background .15s,color .15s}.impact-mode-btn:first-child{border-right:1px solid var(--border)}.impact-mode-btn.active{background:var(--primary);color:#fff}.impact-mode-btn:not(.active):hover{background:var(--surface-alt,#f4f6fa);color:var(--text)}.impact-map-legend{bottom:24px;left:12px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;gap:5px;z-index:1000;max-width:220px;box-shadow:0 2px 8px rgba(0,0,0,.12)}.impact-map-legend-item{display:flex;align-items:center;gap:7px}.impact-map-legend-dot{border-radius:50%;flex-shrink:0}.impact-map-legend-label{font-size:.72rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impact-map-spinner{width:32px;height:32px;border:3px solid #1e3a5f;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.impact-rwanda-map-wrap{position:relative;width:100%;height:100%}.impact-rwanda-map{width:100%;height:100%}.impact-map-panel .leaflet-container{background:#eef5ff}.impact-map-panel .leaflet-control-attribution{font-size:.64rem;background:rgba(255,255,255,.92)}.impact-map-panel .leaflet-control-zoom a{color:#1e3a8a}.impact-map-panel .leaflet-tooltip{background:transparent;border:none;box-shadow:none;padding:0}.impact-map-panel .leaflet-tooltip-bottom:before,.impact-map-panel .leaflet-tooltip-left:before,.impact-map-panel .leaflet-tooltip-right:before,.impact-map-panel .leaflet-tooltip-top:before{border:none}.impact-map-legend{position:absolute;right:12px;bottom:12px;z-index:500;background:rgba(255,255,255,.95);border:1px solid rgba(203,213,225,.9);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:126px;box-shadow:0 8px 18px rgba(15,23,42,.12)}.impact-map-legend-title{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#334155}.impact-map-legend-row{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#475569}.impact-map-legend-dot{width:10px;height:10px;border-radius:99px;display:inline-flex;border:1px solid rgba(30,64,175,.15)}.impact-map-legend-dot.low{background:#93c5fd}.impact-map-legend-dot.medium{background:#3b82f6}.impact-map-legend-dot.high{background:#1d4ed8}.impact-map-tooltip-title{font-size:.76rem;font-weight:700;color:#0f172a}.impact-map-tooltip-line{font-size:.7rem;color:#334155;margin-top:1px}.impact-province-hover-tooltip{min-width:440px}.impact-province-hover-card{background:#fff;border:1px solid #d7e3f5;border-radius:20px;box-shadow:0 18px 36px rgba(15,23,42,.16);padding:20px 22px;display:flex;flex-direction:column;gap:14px}.impact-province-hover-row{display:grid;grid-template-columns:180px 1fr;gap:14px}.impact-province-hover-row span{font-size:.88rem;font-weight:700;color:#1f2937}.impact-province-hover-row strong{font-size:.88rem;font-weight:500;color:#111827}.impact-pin-hover-tip{pointer-events:none}.impact-pin-hover-tip .leaflet-tooltip{background:#0f172a;border:none;border-radius:6px;color:#f8fafc;padding:5px 10px;font-size:.8rem;box-shadow:0 4px 12px rgba(0,0,0,.25);white-space:nowrap}.impact-pin-hover-tip .leaflet-tooltip:before{border-top-color:#0f172a}.impact-pin-popup .leaflet-popup-content-wrapper{border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 12px 28px rgba(15,23,42,.14);padding:0;overflow:hidden}.impact-pin-popup .leaflet-popup-content{margin:0;width:auto!important}.impact-pin-popup .leaflet-popup-tip-container{display:none}.impact-pin-popup-card{padding:14px 16px;min-width:230px;max-width:280px}.impact-bottom-grid{display:grid;grid-template-columns:280px 1fr 1fr;gap:14px}.impact-stat-card{display:flex;align-items:center;gap:12px}.impact-stat-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.impact-stat-value{margin:0;font-size:1.18rem;font-weight:700;color:var(--text);line-height:1}.impact-stat-label{margin:2px 0 0;font-size:.75rem;color:var(--muted)}.impact-stat-sub{margin:0;font-size:.7rem;color:#16a34a}.impact-prog-track{height:5px;background:var(--surface-soft);border-radius:99px;overflow:hidden}.impact-prog-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1)}.impact-sdg-row{display:flex;align-items:flex-start;gap:10px}.impact-sdg-badge{width:26px;height:26px;border-radius:6px;font-size:.72rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.impact-sdg-label{margin:0;font-size:.8rem;color:var(--text);line-height:1.3;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impact-sdg-pct{font-size:.8rem;font-weight:700;color:var(--text);flex-shrink:0}.impact-sdg-track{height:5px;background:var(--surface-soft);border-radius:99px;overflow:hidden}.impact-sdg-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);opacity:.85}.impact-province-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.impact-province-card{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--surface-soft);border-radius:10px;border:1px solid var(--border);transition:border-color .15s}.impact-province-card:hover{border-color:var(--brand)}.impact-province-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.impact-province-name{margin:0;font-size:.82rem;font-weight:500;color:var(--muted);line-height:1.3}.impact-province-count{margin:3px 0 0;font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.impact-province-label{margin:2px 0 0;font-size:.72rem;color:var(--muted)}@media (max-width:1100px){.impact-bottom-grid{grid-template-columns:1fr 1fr}.impact-snapshot{grid-column:1/-1}}@media (max-width:720px){.impact-bottom-grid{grid-template-columns:1fr}.impact-map-panel{height:320px}.impact-province-grid{grid-template-columns:1fr}.impact-province-hover-tooltip{min-width:260px;max-width:280px}.impact-province-hover-card{border-radius:14px;padding:12px;gap:8px}.impact-province-hover-row{grid-template-columns:1fr;gap:4px}.impact-province-hover-row span,.impact-province-hover-row strong{font-size:.76rem}.impact-map-legend{right:8px;bottom:8px;min-width:108px;padding:6px 8px}}.org-logo-upload-wrap{position:relative;display:inline-block;flex-shrink:0}.org-logo-img{width:72px;height:72px;border-radius:14px;-o-object-fit:contain;object-fit:contain;background:var(--surface-soft);border:1px solid var(--border);padding:4px}.org-logo-placeholder{width:72px;height:72px;border-radius:14px;background:linear-gradient(135deg,var(--brand) 0,#6366f1 100%);font-size:1.4rem;font-weight:700;letter-spacing:1px}.org-logo-placeholder,.org-logo-upload-btn{display:flex;align-items:center;justify-content:center;color:#fff}.org-logo-upload-btn{position:absolute;bottom:-6px;right:-6px;width:24px;height:24px;background:var(--brand);border-radius:50%;border:2px solid var(--surface);cursor:pointer;padding:0}.org-logo-upload-btn:disabled{opacity:.6;cursor:not-allowed}.reports-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reports-advanced-filters{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.reports-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px}@media (max-width:900px){.reports-filter-grid{grid-template-columns:repeat(2,1fr)}}.reports-stat-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width:1100px){.reports-stat-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.reports-stat-cards{grid-template-columns:repeat(2,1fr)}}.reports-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px}.reports-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.reports-stat-value{margin:0 0 2px;font-size:1.6rem;font-weight:700;color:var(--text);line-height:1}.reports-stat-label{margin:0;font-size:.82rem;font-weight:500;color:var(--text)}.reports-stat-sub{margin:2px 0 0;font-size:.72rem;color:var(--muted)}.reports-view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.reports-view-toggle button{background:none;border:none;padding:5px 8px;cursor:pointer;color:var(--muted);display:flex;align-items:center;transition:background .15s,color .15s}.reports-view-toggle button.active,.reports-view-toggle button:hover{background:var(--brand);color:#fff}.reports-type-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--surface-soft);border-radius:20px;font-size:.75rem;font-weight:500;color:var(--text);white-space:nowrap}tr.row-selected{background:#eff6ff}.reports-bulk-bar{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);margin-top:12px;flex-wrap:wrap}.reports-bulk-count{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap}.reports-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.reports-bulk-actions .button.secondary.danger{color:var(--danger);border-color:var(--danger)}.reports-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border);margin-top:12px;flex-wrap:wrap;gap:10px}.reports-page-size{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:.78rem;background:var(--surface);color:var(--text)}.reports-page-btns{display:flex;gap:4px;align-items:center}.reports-empty-state{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}.reports-wizard-steps{display:flex;align-items:center;gap:0;margin-top:20px;padding:0 2px}.reports-wizard-step{gap:8px}.reports-step-num,.reports-wizard-step{display:flex;align-items:center;flex-shrink:0}.reports-step-num{width:28px;height:28px;border-radius:50%;background:var(--surface-soft);border:2px solid var(--border);justify-content:center;font-size:.78rem;font-weight:700;color:var(--muted)}.reports-wizard-step.active .reports-step-num{background:var(--brand);border-color:var(--brand);color:#fff}.reports-wizard-step.completed .reports-step-num{background:#10b981;border-color:#10b981;color:#fff}.reports-step-label{font-size:.8rem;font-weight:500;color:var(--muted);white-space:nowrap}.reports-wizard-step.active .reports-step-label{color:var(--text);font-weight:600}.reports-wizard-connector{flex:1;height:2px;background:var(--border);margin:0 8px;min-width:24px}.reports-wizard-connector.active{background:var(--brand)}.reports-step-title{margin:0 0 2px;font-size:1rem;font-weight:700;color:var(--text)}.reports-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:800px){.reports-type-grid{grid-template-columns:repeat(2,1fr)}}.reports-type-option{border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface)}.reports-type-option.selected,.reports-type-option:hover{border-color:var(--brand);background:#eff6ff}.reports-type-option-inner{padding:12px 14px}.reports-config-summary{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:0}.reports-wizard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:0;gap:12px}.reports-preview-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}@media (max-width:900px){.reports-preview-cards{grid-template-columns:repeat(2,1fr)}}.reports-preview-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px}.reports-preview-card-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.reports-preview-card-val{margin:0 0 2px;font-size:1.4rem;font-weight:700;color:var(--text);line-height:1}.reports-preview-card-label{margin:0 0 2px;font-size:.78rem;font-weight:600;color:var(--text)}.reports-preview-card-sub{margin:0 0 1px;font-size:.7rem;color:var(--muted)}.reports-preview-card-note{margin:0;font-size:.68rem;color:var(--muted);opacity:.75}.reports-recent-updates{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:4px}.reports-recent-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.reports-recent-item:last-child{border-bottom:none;padding-bottom:0}.reports-recent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.reports-recent-dot.success{background:#10b981}.reports-recent-dot.info{background:#3b82f6}.reports-recent-dot.neutral{background:#9ca3af}.reports-step2-grid{display:grid;grid-template-columns:1fr 280px;gap:12px;align-items:start}@media (max-width:900px){.reports-step2-grid{grid-template-columns:1fr}}.reports-sections-list{display:flex;flex-direction:column;gap:8px}.reports-section-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface)}.reports-section-item:hover{border-color:var(--brand)}.reports-section-item.selected{border-color:var(--brand);background:#f0f7ff}.reports-section-item input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--brand)}.reports-data-sources{position:sticky;top:80px}.reports-source-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.reports-source-item{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;background:var(--surface-soft);border-radius:7px;color:var(--muted);font-size:.78rem}.reports-source-item>div>p:first-child{margin:0 0 1px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.reports-source-item>div>p:last-child{margin:0;font-weight:600;color:var(--text);font-size:.78rem}.reports-completeness{margin-top:0;padding-top:14px;border-top:1px solid var(--border)}.reports-preview-layout{display:flex;gap:16px;align-items:flex-start;min-height:calc(100vh - 80px)}.reports-preview-sidebar{width:220px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.reports-preview-sidebar-header{padding-bottom:12px;border-bottom:1px solid var(--border)}.reports-preview-nav{display:flex;flex-direction:column;gap:2px}.reports-preview-nav-item{text-align:left;background:none;border:none;padding:7px 10px;border-radius:7px;font-size:.78rem;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;font-family:inherit;line-height:1.3}.reports-preview-nav-item.active,.reports-preview-nav-item:hover{background:#eff6ff;color:var(--brand);font-weight:600}.reports-preview-main{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.reports-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.reports-section-title{margin:0;font-size:.96rem;font-weight:700;color:var(--text)}.reports-narrative p{margin:0 0 10px;font-size:.84rem;line-height:1.7;color:var(--text)}.reports-narrative p:last-child{margin-bottom:0}.reports-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.reports-kpi-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:12px 14px;text-align:center}.reports-kpi-val{margin:0 0 2px;font-size:1.6rem;font-weight:700;color:var(--text)}.reports-kpi-lbl{margin:0;font-size:.72rem;color:var(--muted)}.reports-chart-placeholder{background:var(--surface-soft);border:1.5px dashed var(--border);border-radius:10px;height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.reports-budget-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.reports-section-editor{margin-top:14px;background:var(--surface-soft);border:1.5px solid var(--brand);border-radius:10px;padding:14px;animation:fadeIn .15s ease}.reports-section-textarea{width:100%;min-height:130px;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:10px 12px;font-family:inherit;font-size:.84rem;line-height:1.6;color:var(--text);resize:vertical;outline:none;transition:border-color .15s}.reports-section-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(29,78,216,.08)}.reports-section-textarea::-moz-placeholder{color:var(--muted);font-style:italic}.reports-section-textarea::placeholder{color:var(--muted);font-style:italic}.reports-section-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.notif-bell-wrap{display:inline-flex}.notif-bell-btn,.notif-bell-wrap{position:relative}.notif-badge{position:absolute;top:-3px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;border-radius:999px;font-size:.6rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none;border:2px solid var(--surface)}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.14);z-index:9000;overflow:hidden;animation:fadeIn .12s ease}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.notif-dropdown-title{font-size:.82rem;font-weight:700;color:var(--text)}.notif-mark-all-btn{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--brand);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .15s}.notif-mark-all-btn:hover{background:var(--brand-light)}.notif-close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:background .15s}.notif-close-btn:hover{background:var(--surface-soft)}.notif-list{overflow-y:auto;max-height:400px}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-soft)}.notif-item.unread{background:rgba(29,78,216,.04)}.notif-item.unread:hover{background:rgba(29,78,216,.07)}.notif-item.unread:before{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:5px;height:5px;background:var(--brand);border-radius:50%}.notif-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-content{flex:1;min-width:0}.notif-title{font-size:.78rem;color:var(--text);margin:0 0 2px;line-height:1.4}.notif-title.bold{font-weight:600}.notif-body{font-size:.73rem;color:var(--muted);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-time{font-size:.68rem;white-space:nowrap}.notif-delete-btn,.notif-time{color:var(--muted);flex-shrink:0}.notif-delete-btn{opacity:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;border-radius:5px;cursor:pointer;transition:opacity .15s,background .15s,color .15s}.notif-item:hover .notif-delete-btn{opacity:1}.notif-delete-btn:hover{background:#fee2e2;color:#ef4444}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text)}.notif-skeleton-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border)}.notif-skeleton-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0}.notif-skeleton-icon,.notif-skeleton-line{background:var(--surface-soft);animation:shimmer 1.4s infinite}.notif-skeleton-line{height:10px;border-radius:5px}.notif-dropdown-footer{padding:8px 16px;border-top:1px solid var(--border);display:flex;justify-content:center}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.kpi-row-card{background:var(--surface-soft,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:14px}