/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-0{margin-bottom:0}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.mb-24{margin-bottom:calc(var(--spacing) * 24)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.pt-16{padding-top:calc(var(--spacing) * 16)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.uppercase{text-transform:uppercase}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}}:root{--ink:#14203b;--brand:#1d3f72;--brand-600:#16345f;--brand-light:#eaf1fb;--gold:#b8862e;--gold-light:#fbf3e3;--canvas:#f5f6f8;--surface:#fff;--border:#e3e6eb;--border-strong:#cbd1db;--muted:#667085;--muted-2:#98a2b3;--success:#1e8e5a;--success-light:#e7f6ee;--warning:#c77d18;--warning-light:#fdf2e2;--danger:#c0362c;--danger-light:#fbeae8;--info:#2563a6;--info-light:#e8f1fa;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-sm:0 1px 2px #14203b0f;--shadow-md:0 4px 16px #14203b14;--shadow-lg:0 12px 32px #14203b24;--sidebar-w:264px;--sidebar-w-collapsed:76px;--topbar-h:64px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,-apple-system,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4,.font-display{color:var(--ink);letter-spacing:-.01em;margin:0;font-family:Sora,Inter,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}table{font-variant-numeric:tabular-nums}::selection{background:var(--brand-light);color:var(--brand-600)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{min-height:100vh;display:flex}.university-logo{background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 2px 12px #0000002e}.university-logo img{object-fit:cover;width:100%;height:100%;transform:scale(1.45)}.sidebar{width:var(--sidebar-w);background:var(--ink);color:#c9d3e5;z-index:40;flex-direction:column;flex-shrink:0;transition:width .2s,transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-brand{min-height:var(--topbar-h);white-space:nowrap;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:16px 18px;display:flex;overflow:hidden}.sidebar-brand .seal{width:52px;height:52px}.sidebar-brand .name{color:#fff;font-family:Sora,sans-serif;font-size:14.5px;font-weight:600;line-height:1.25}.sidebar-brand .name small{color:#9aa8c4;margin-top:1px;font-family:Inter,sans-serif;font-size:11.5px;font-weight:400;display:block}.sidebar.collapsed .name,.sidebar.collapsed .nav-label,.sidebar.collapsed .group-title{display:none}.sidebar-nav{flex:1;padding:14px 12px;overflow-y:auto}.nav-group{margin-bottom:18px}.group-title{text-transform:uppercase;letter-spacing:.08em;color:#6c7a99;margin-bottom:6px;padding:0 10px;font-size:10.5px;font-weight:600}.nav-item{border-radius:var(--r-sm);color:#c9d3e5;align-items:center;gap:11px;margin-bottom:2px;padding:9px 10px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-item i{text-align:center;color:#8c9bc0;flex-shrink:0;width:18px;font-size:15.5px}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{background:var(--brand);color:#fff}.nav-item.active i{color:#fff}.nav-item.active:before{content:"";background:var(--gold);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.nav-badge{background:var(--gold);color:#fff;border-radius:20px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:700}.sidebar-foot{border-top:1px solid #ffffff14;padding:12px}.sidebar-collapse-btn{color:#8c9bc0;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:12.5px;display:flex}.sidebar-collapse-btn:hover{color:#fff;background:#ffffff0f}.main{margin-left:var(--sidebar-w);flex:1;min-width:0;transition:margin-left .2s}.app-shell.collapsed .main{margin-left:var(--sidebar-w-collapsed)}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.mobile-menu-btn{border:1px solid var(--border);border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink);background:0 0;justify-content:center;align-items:center;display:none}.breadcrumb{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.breadcrumb b{color:var(--ink);font-weight:600}.topbar-search{background:var(--canvas);border:1px solid var(--border);border-radius:var(--r-md);width:300px;color:var(--muted-2);align-items:center;gap:8px;padding:7px 12px;display:flex}.topbar-search input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:13px}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.fy-pill{border:1px solid var(--border);color:var(--brand);background:var(--brand-light);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--canvas);color:var(--ink)}.icon-btn .dot{background:var(--danger);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:7px}.user-chip{border:1px solid var(--border);border-radius:24px;align-items:center;gap:9px;padding:4px 10px 4px 4px;display:flex}.user-chip .avatar{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-family:Sora,sans-serif;font-size:12px;font-weight:700;display:flex}.user-chip .who{line-height:1.2}.user-chip .who .r{color:var(--muted-2);font-size:10.5px}.user-chip .who .n{font-size:12.5px;font-weight:600}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;background:var(--surface)}.user-menu-trigger:hover{background:var(--canvas)}.user-menu-trigger .bi{color:var(--muted-2);margin-left:2px;font-size:11px}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lg);z-index:50;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.user-menu-meta{border-bottom:1px solid var(--border);margin-bottom:4px;padding:10px 12px 8px}.user-menu-meta .n{font-size:13px;font-weight:600}.user-menu-meta .e{color:var(--muted-2);margin-top:2px;font-size:11.5px}.user-menu-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.user-menu-item:hover{background:var(--canvas);color:var(--danger)}.page{max-width:1400px;padding:26px 28px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-size:21px;font-weight:700}.page-head .eyebrow{text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin-bottom:6px;font-size:11.5px;font-weight:700}.page-head p.sub{color:var(--muted);margin-top:5px;font-size:13px}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn i{font-size:14px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#9c7226}.btn-outline{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-outline:hover{background:var(--canvas)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover{background:var(--canvas);color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#a02c23}.btn-sm{padding:6px 12px;font-size:12px}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.card-head h3{font-size:15px;font-weight:700}.card-head .muted{color:var(--muted);margin-top:2px;font-family:Inter,sans-serif;font-size:12px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px 20px;position:relative;overflow:hidden}.kpi .top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.kpi .icon-wrap{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.kpi .label{color:var(--muted);font-size:12px;font-weight:600}.kpi .value{margin-top:2px;font-family:Sora,sans-serif;font-size:26px;font-weight:700}.kpi .trend{align-items:center;gap:4px;margin-top:8px;font-size:11.5px;font-weight:600;display:flex}.kpi .trend.up{color:var(--success)}.kpi .trend.down{color:var(--danger)}.kpi .trend.flat{color:var(--muted-2)}.seal{border:1px solid #0000;border-radius:4px 12px;align-items:center;gap:6px;padding:4px 11px 4px 9px;font-size:11.5px;font-weight:700;display:inline-flex;position:relative}.seal:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.seal-approved{background:var(--success-light);color:var(--success)}.seal-approved:before{background:var(--success)}.seal-pending{background:var(--warning-light);color:var(--warning)}.seal-pending:before{background:var(--warning)}.seal-review{background:var(--info-light);color:var(--info)}.seal-review:before{background:var(--info)}.seal-rejected{background:var(--danger-light);color:var(--danger)}.seal-rejected:before{background:var(--danger)}.seal-neutral{background:var(--canvas);color:var(--muted);border-color:var(--border)}.seal-neutral:before{background:var(--muted-2)}.seal-gold{background:var(--gold-light);color:var(--gold)}.seal-gold:before{background:var(--gold)}.progress-bar-wrap{align-items:center;gap:8px;min-width:120px;display:flex}.progress-bar-wrap .progress-bar{background:var(--brand);border-radius:999px;flex:1;max-width:80px;height:6px}.progress-bar-wrap span{color:var(--muted-2);font-size:11.5px;font-weight:600}.noc-summary{flex-direction:column;gap:12px;font-size:13px;display:flex}.noc-summary b{font-weight:600}.table-wrap{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);border-bottom:1px solid var(--border);white-space:nowrap;background:#fafbfc;padding:11px 16px;font-size:11px;font-weight:700}table.grid td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}table.grid tbody tr{transition:background .12s}table.grid tbody tr:hover{background:#fafbfd}table.grid tbody tr:last-child td{border-bottom:none}.cell-primary{color:var(--ink);font-weight:600}.cell-muted{color:var(--muted);font-size:12.5px}.row-checkbox,.checkbox{accent-color:var(--brand);width:15px;height:15px}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.table-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;font-size:12.5px;display:flex}.pager{gap:4px;display:flex}.pager button{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);width:30px;height:30px;color:var(--muted);font-size:12px}.pager button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.filter-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.search-mini{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--canvas);align-items:center;gap:8px;min-width:220px;padding:7px 11px;display:flex}.search-mini input{background:0 0;border:none;outline:none;width:100%;font-size:12.5px}.select-mini,select.form-input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);padding:7px 11px;font-size:12.5px}.form-grid{grid-template-columns:repeat(2,1fr);gap:18px 20px;display:grid}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.field{flex-direction:column;gap:6px;display:flex}.field.span-2{grid-column:span 2}.field.span-3{grid-column:span 3}.field label{color:var(--ink);justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;display:flex}.field label .opt{color:var(--muted-2);font-size:11.5px;font-weight:400}.field .hint{color:var(--muted-2);font-size:11.5px}.form-input,.form-select,.form-textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);width:100%;padding:9px 12px;font-family:inherit;font-size:13px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);outline:2px solid var(--brand-light)}.form-textarea{resize:vertical;min-height:80px}.form-row-inline{align-items:center;gap:8px;display:flex}fieldset.section{border:1px solid var(--border);border-radius:var(--r-md);margin:0 0 20px;padding:18px 20px}fieldset.section legend{color:var(--brand);padding:0 8px;font-family:Sora,sans-serif;font-size:13px;font-weight:700}.upload-box{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);text-align:center;color:var(--muted);background:var(--canvas);padding:22px}.upload-box i{color:var(--muted-2);margin-bottom:8px;font-size:22px;display:block}.upload-box .browse{color:var(--brand);font-weight:600}.file-chip{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);align-items:center;gap:10px;margin-top:8px;padding:8px 12px;font-size:12.5px;display:flex}.file-chip i.doc{color:var(--brand)}.file-chip .name{flex:1;font-weight:600}.file-chip .size{color:var(--muted-2);font-size:11.5px}.alert{border-radius:var(--r-md);border:1px solid;align-items:flex-start;gap:12px;padding:13px 16px;font-size:12.5px;display:flex}.alert i{margin-top:1px;font-size:15px}.alert-warning{background:var(--warning-light);color:#8f5e10;border-color:#f0dbaf}.alert-info{background:var(--info-light);color:#1d4e7e;border-color:#c9e0f4}.alert-danger{background:var(--danger-light);color:#8f241c;border-color:#f1c6c1}.alert-success{background:var(--success-light);color:#146641;border-color:#bfe6d2}.alert b{font-weight:700}.tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 22px;display:flex}.tab-btn{color:var(--muted);border-bottom:2px solid #0000;margin-right:22px;padding:13px 6px;font-size:13px;font-weight:600}.tab-btn.active{color:var(--brand);border-color:var(--brand)}.tabs-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;display:flex}.toast-banner,.app-toast{top:calc(var(--topbar-h) + 12px);z-index:1100;color:#f8fafc;border-radius:var(--r-md);background:#1e293b;border:none;max-width:min(420px,100vw - 48px);padding:14px 40px 14px 16px;font-size:13px;line-height:1.45;position:fixed;right:24px;box-shadow:0 10px 40px #0f172a47}.app-toast-success{border-left:4px solid var(--success)}.app-toast-error{border-left:4px solid var(--danger)}.app-toast-default{border-left:4px solid #64748b}.app-toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1;position:absolute;top:8px;right:10px}.app-toast-close:hover{color:#f8fafc}.tab-panel{display:none}.tab-panel.active{display:block}.stepper{align-items:flex-start;gap:0;margin-bottom:30px;display:flex}.step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step .node{border:2px solid var(--border-strong);background:var(--surface);width:38px;height:38px;color:var(--muted-2);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-family:Sora,sans-serif;font-size:13px;font-weight:700;display:flex}.step .line{background:var(--border-strong);z-index:1;width:100%;height:2px;position:absolute;top:19px;left:50%}.step:last-child .line{display:none}.step .label{color:var(--muted);text-align:center;max-width:100px;margin-top:8px;font-size:11.5px;font-weight:600}.step.done .node{background:var(--success);border-color:var(--success);color:#fff}.step.done .line{background:var(--success)}.step.active .node{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-light)}.step.active .label{color:var(--brand)}.step.done .label{color:var(--ink)}.progress{background:var(--border);border-radius:20px;height:7px;overflow:hidden}.progress>div{background:var(--brand);border-radius:20px;height:100%}.progress.gold>div{background:var(--gold)}.progress.success>div{background:var(--success)}.avatar-sq{background:var(--brand-light);width:36px;height:36px;color:var(--brand);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-family:Sora,sans-serif;font-size:12.5px;font-weight:700;display:flex}.timeline{padding-left:26px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:7px}.t-item{padding-bottom:22px;position:relative}.t-item:last-child{padding-bottom:0}.t-item:before{content:"";background:var(--surface);border:2.5px solid var(--brand);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-26px}.t-item.muted-dot:before{border-color:var(--border-strong)}.t-item .t-title{font-size:13px;font-weight:700}.t-item .t-meta{color:var(--muted-2);margin-top:2px;font-size:11.5px}.t-item .t-body{color:var(--muted);margin-top:4px;font-size:12.5px}.modal-backdrop{z-index:100;background:#14203b73;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:88vh;display:flex}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h3{font-size:15.5px;font-weight:700}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.modal-close{color:var(--muted);background:0 0;border:none;font-size:18px}.toast-stack{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--ink);color:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-lg);align-items:center;gap:10px;min-width:260px;padding:12px 16px;font-size:12.5px;font-weight:500;animation:.2s toastIn;display:flex}.toast i{color:var(--success);font-size:15px}.toast.warn i{color:var(--gold)}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.text-muted{color:var(--muted)}.text-sm{font-size:12.5px}.text-xs{font-size:11px}.fw-600{font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.hidden{display:none!important}.divider{background:var(--border);height:1px;margin:18px 0}.w-full{width:100%}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.field.span-2,.field.span-3{grid-column:span 1}.grid-2,.grid-3{grid-template-columns:1fr}.topbar-search{display:none}}@media(max-width:860px){.sidebar{width:264px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main{margin-left:0!important}.mobile-menu-btn{display:flex}.kpi-grid{grid-template-columns:1fr}.page{padding:18px 16px 50px}.stepper .label{display:none}}body.auth-page{background:var(--ink)}.auth-shell{min-height:100vh;display:flex}.auth-side{color:#fff;background:radial-gradient(1200px 600px at 20% 10%,#1d3f72,#14203b 55%,#0d1628);flex-direction:column;flex:1.1;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-side:after{content:"";border:60px solid #b8862e1a;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-140px;right:-140px}.auth-side:before{content:"";border:1px solid #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:40px;right:60px}.brand-row{z-index:2;align-items:center;gap:16px;display:flex;position:relative}.brand-row .seal{width:76px;height:76px;box-shadow:0 4px 16px #00000047}.brand-row .t small{color:#9aa8c4;margin-top:2px;font-size:12px;display:block}.brand-row .t b{font-family:Sora,sans-serif;font-size:16.5px}.auth-copy{z-index:2;max-width:460px;position:relative}.auth-copy .eyebrow{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:700}.auth-copy h1{color:#fff;font-size:34px;font-weight:700;line-height:1.2}.auth-copy p{color:#a9b6d0;margin-top:14px;font-size:14px;line-height:1.65}.stat-row{z-index:2;gap:30px;margin-top:30px;display:flex;position:relative}.stat-row .s b{color:#fff;font-family:Sora,sans-serif;font-size:24px;display:block}.stat-row .s span{color:#8c9bc0;font-size:11.5px}.auth-foot{z-index:2;color:#6c7a99;font-size:11.5px;position:relative}.auth-form-wrap{background:var(--canvas);flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-card{width:100%;max-width:400px}.auth-card h2{font-size:20px;font-weight:700}.auth-card p.lead{color:var(--muted);margin-top:6px;margin-bottom:24px;font-size:13px}.role-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.role-opt{border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;background:var(--surface);padding:13px 14px}.role-opt i{color:var(--brand);font-size:17px}.role-opt .rt{margin-top:8px;font-size:12.5px;font-weight:700;display:block}.role-opt .rs{color:var(--muted-2);margin-top:1px;font-size:10.5px;display:block}.role-opt.active{border-color:var(--brand);background:var(--brand-light)}.fy-note{color:var(--muted);align-items:center;gap:8px;margin-top:16px;font-size:11.5px;display:flex}.field-error{color:var(--danger);margin-top:4px;font-size:11.5px}.form-error-banner{background:var(--danger-light);color:#8f241c;border-radius:var(--r-sm);border:1px solid #f1c6c1;margin-bottom:16px;padding:10px 12px;font-size:12.5px}@media(max-width:860px){.auth-shell{flex-direction:column}.auth-side{padding:32px 24px}.auth-copy h1{font-size:26px}}.bar-chart{align-items:flex-end;gap:14px;height:180px;padding:10px 6px 0;display:flex}.bar-chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bar-chart .stack{border-radius:4px 4px 0 0;flex-direction:column-reverse;width:100%;max-width:40px;display:flex;overflow:hidden}.bar-chart .stack div{width:100%}.bar-chart .m{color:var(--muted-2);font-size:10.5px;font-weight:600}.legend-dot{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.donut{border-radius:50%;flex-shrink:0;width:132px;height:132px;position:relative}.donut:after{content:"";background:var(--surface);border-radius:50%;position:absolute;top:16px;right:16px;bottom:16px;left:16px}.donut-label{z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.donut-label b{font-family:Sora,sans-serif;font-size:20px}.donut-label span{color:var(--muted-2);font-size:9.5px}.dashboard-empty{text-align:center;color:var(--muted);padding:24px;font-size:13px}.dashboard-loading{text-align:center;color:var(--muted);padding:48px}.role-action-banner{margin-bottom:22px}.role-action-banner-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.role-action-banner-head h2{margin:0;font-size:18px}.role-action-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.role-action-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:10px;min-height:148px;padding:16px;display:flex}.role-action-card .icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:inline-flex}.role-action-card .count{font-family:Sora,sans-serif;font-size:28px;line-height:1}.role-action-card .title{font-size:14px;font-weight:700}.role-action-card .desc{color:var(--muted);flex:1;font-size:12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
