html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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]){appearance:button}::file-selector-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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline\!{display:inline!important}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table\!{display:table!important}.h-6{height:calc(var(--spacing) * 6)}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-0{padding:calc(var(--spacing) * 0)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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,)}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--jf-purple-50:#faf5fd;--jf-purple-100:#f3e8fa;--jf-purple-200:#e4ccf3;--jf-purple-300:#cfa6e8;--jf-purple-400:#b478d6;--jf-purple-500:#803ba3;--jf-purple-600:#6b2e8b;--jf-purple-700:#592274;--jf-purple-800:#470066;--jf-purple-900:#33004a;--jf-blue-100:#dbecff;--jf-blue-400:#66adff;--jf-blue-600:#2472d6;--jf-amber-100:#fdefc4;--jf-amber-400:#f0a202;--jf-amber-500:#d18a02;--jf-primary:var(--jf-purple-800);--jf-primary-hover:var(--jf-purple-700);--jf-primary-text:var(--jf-purple-700);--jf-primary-soft:var(--jf-purple-50);--jf-primary-soft-strong:var(--jf-purple-100);--jf-on-primary:#fff;--jf-info:#2472d6;--jf-success:#059669;--jf-warning:#d18a02;--jf-danger:#dc2626;--jf-canvas:#f8fafc;--jf-surface:#fff;--jf-surface-raised:#fff;--jf-surface-muted:#f1f5f9;--jf-text:#0f172a;--jf-text-secondary:#64748b;--jf-text-muted:#94a3b8;--jf-border:#e2e8f0;--jf-border-subtle:#f1f5f9;--jf-sidebar:#470066;--jf-sidebar-text:#ffffffc7;--jf-sidebar-text-muted:#ffffff80;--jf-sidebar-group-label:#ffffff6b;--jf-sidebar-hover:#ffffff1a;--jf-sidebar-active:#ffffff29;--jf-sidebar-border:#ffffff1a;--jf-shadow-card:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--jf-shadow-raised:0 10px 28px #0f172a1a;--jf-radius-sm:6px;--jf-radius-md:10px;--jf-radius-lg:14px;--jf-scroll-thumb:#4700666b;--jf-scroll-thumb-hover:#4700669e;--jf-scroll-track:#47006612;--jf-pin-shadow:#0f172a1f;--dashboard-brand:var(--jf-primary);--dashboard-brand-strong:var(--jf-purple-900);--dashboard-brand-soft:var(--jf-primary-soft);--dashboard-brand-soft-strong:var(--jf-primary-soft-strong);--dashboard-brand-border:#47006629;--dashboard-table-header:var(--jf-surface-muted);--dashboard-table-header-border:var(--jf-border);--dashboard-table-hover:#4700660a;--dashboard-table-hover-strong:#4700661a;--dashboard-calendar-hover:var(--jf-purple-700);--dashboard-calendar-today:var(--jf-purple-500);--dashboard-calendar-selected:var(--jf-purple-800);--dashboard-surface:var(--jf-surface);--dashboard-surface-muted:var(--jf-surface-muted);--dashboard-calendar-text:var(--jf-text);--dashboard-calendar-text-muted:var(--jf-text-muted);--dashboard-calendar-border:var(--jf-border);--dashboard-calendar-weekdays-color:var(--jf-text-secondary);--dashboard-calendar-divider:var(--jf-border-subtle)}[data-theme=dark]{--jf-primary:#9150b5;--jf-primary-hover:#a366c5;--jf-primary-text:var(--jf-purple-300);--jf-primary-soft:#b478d624;--jf-primary-soft-strong:#b478d63d;--jf-on-primary:#fff;--jf-info:#66adff;--jf-success:#34d399;--jf-warning:#f7c846;--jf-danger:#f87171;--jf-canvas:#0b0a0f;--jf-surface:#141119;--jf-surface-raised:#1b1722;--jf-surface-muted:#1b1722;--jf-text:#e5e1ea;--jf-text-secondary:#9a93a6;--jf-text-muted:#6e667c;--jf-border:#2c2635;--jf-border-subtle:#221d2b;--jf-sidebar:#12091a;--jf-sidebar-text:#ffffffb8;--jf-sidebar-text-muted:#ffffff73;--jf-sidebar-group-label:#ffffff5c;--jf-sidebar-hover:#ffffff12;--jf-sidebar-active:#b478d638;--jf-sidebar-border:#ffffff12;--jf-shadow-card:0 1px 2px #0000004d, 0 1px 3px #0000003d;--jf-shadow-raised:0 10px 28px #00000073;--jf-scroll-thumb:#b478d680;--jf-scroll-thumb-hover:#b478d6bf;--jf-scroll-track:#ffffff0f;--jf-pin-shadow:#00000080;--dashboard-brand:var(--jf-primary);--dashboard-brand-strong:var(--jf-purple-500);--dashboard-brand-soft:var(--jf-primary-soft);--dashboard-brand-soft-strong:var(--jf-primary-soft-strong);--dashboard-brand-border:#b478d647;--dashboard-table-header:var(--jf-surface-muted);--dashboard-table-header-border:var(--jf-border);--dashboard-table-hover:#b478d614;--dashboard-table-hover-strong:#b478d629;--dashboard-calendar-hover:var(--jf-purple-400);--dashboard-calendar-today:var(--jf-blue-400);--dashboard-calendar-selected:var(--jf-purple-500);--dashboard-surface:var(--jf-surface);--dashboard-surface-muted:var(--jf-canvas);--dashboard-calendar-text:var(--jf-text);--dashboard-calendar-text-muted:var(--jf-text-muted);--dashboard-calendar-border:var(--jf-border);--dashboard-calendar-weekdays-color:var(--jf-text-secondary);--dashboard-calendar-divider:var(--jf-border-subtle)}[data-theme=jiffit]{--jf-primary:#470066;--jf-primary-hover:#803ba3;--jf-primary-text:#470066;--jf-primary-soft:#faf5fd;--jf-primary-soft-strong:#f3e8fa;--jf-on-primary:#fff;--jf-info:#2472d6;--jf-success:#047857;--jf-warning:#825304;--jf-danger:#dc2626;--jf-canvas:#f4f7ff;--jf-surface:#fff;--jf-surface-raised:#fff;--jf-surface-muted:#eef4ff;--jf-text:#241033;--jf-text-secondary:#5b4a69;--jf-text-muted:#6f5f7d;--jf-border:#9b7eaa;--jf-border-subtle:#e7dcef;--jf-sidebar:#470066;--jf-sidebar-text:#ede4f2;--jf-sidebar-text-muted:#c3aecd;--jf-sidebar-group-label:#a98fb6;--jf-sidebar-hover:#ffffff1a;--jf-sidebar-active:#66adff33;--jf-sidebar-border:#ffffff1f;--jf-shadow-card:0 1px 2px #4700661a, 0 1px 3px #47006614;--jf-shadow-raised:0 12px 32px #4700662e;--jf-scroll-thumb:#803ba373;--jf-scroll-thumb-hover:#470066b3;--jf-scroll-track:#4700660f;--jf-pin-shadow:#47006647;--dashboard-brand:var(--jf-primary);--dashboard-brand-strong:var(--jf-purple-500);--dashboard-brand-soft:var(--jf-primary-soft);--dashboard-brand-soft-strong:var(--jf-primary-soft-strong);--dashboard-brand-border:#47006638;--dashboard-table-header:var(--jf-surface-muted);--dashboard-table-header-border:var(--jf-border-subtle);--dashboard-table-hover:#f7f2fb;--dashboard-table-hover-strong:#efe6f6;--dashboard-calendar-hover:var(--jf-purple-500);--dashboard-calendar-today:var(--jf-blue-400);--dashboard-calendar-selected:var(--jf-purple-800);--dashboard-surface:var(--jf-surface);--dashboard-surface-muted:var(--jf-canvas);--dashboard-calendar-text:var(--jf-text);--dashboard-calendar-text-muted:var(--jf-text-muted);--dashboard-calendar-border:var(--jf-border-subtle);--dashboard-calendar-weekdays-color:var(--jf-text-secondary);--dashboard-calendar-divider:var(--jf-border-subtle)}[data-theme=jiffit] h1,[data-theme=jiffit] h2,[data-theme=jiffit] h3,[data-theme=jiffit] h4,[data-theme=jiffit] .ant-typography h1,[data-theme=jiffit] .ant-typography h2,[data-theme=jiffit] .ant-typography h3,[data-theme=jiffit] .ant-typography h4,[data-theme=jiffit] .ant-page-header-heading-title,[data-theme=jiffit] .ant-card-head-title,[data-theme=jiffit] .ant-drawer-title,[data-theme=jiffit] .ant-modal-title{letter-spacing:-.01em;font-style:italic;font-weight:900}[data-theme=jiffit] .verification-tag{font-style:italic}.dashboard-shell{min-height:100vh}.modal-footer-right{text-align:right}.modal-scroll-body{max-height:70vh;padding-right:8px;overflow-y:auto}.heroes-page-header{margin-bottom:24px}.heroes-page-header .ant-typography{margin:0}.verification-tag{margin-left:4px}.dashboard-sidebar{border-inline-end:1px solid var(--jf-sidebar-border);z-index:100;height:100vh;top:0;overflow:hidden;background:var(--jf-sidebar)!important;position:sticky!important}.dashboard-sidebar .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.dashboard-sidebar.dashboard-sidebar-mobile{z-index:1001;box-shadow:var(--jf-shadow-raised);inset-block:0;inset-inline-start:0;position:fixed!important}.dashboard-sidebar-backdrop{z-index:1000;background:#0a041073;position:fixed;inset:0}.dashboard-brand{all:unset;box-sizing:border-box;border-bottom:1px solid var(--jf-sidebar-border);cursor:pointer;flex-shrink:0;align-items:center;gap:10px;height:64px;padding:0 18px;display:flex}.dashboard-brand:focus-visible{outline:2px solid var(--jf-blue-400);outline-offset:-2px}.dashboard-brand-collapsed{justify-content:center;padding:0}.dashboard-brand-wordmark{object-fit:cover;width:104px;height:44px}.dashboard-brand-icon{border-radius:9px;width:36px;height:36px}.dashboard-brand-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--jf-sidebar-text-muted);border:1px solid var(--jf-sidebar-border);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.dashboard-sidebar .ant-menu{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:auto;padding:6px 0 20px;overflow:hidden auto;background:0 0!important;border:none!important}.dashboard-sidebar .ant-menu::-webkit-scrollbar{width:6px}.dashboard-sidebar .ant-menu::-webkit-scrollbar-track{background:0 0}.dashboard-sidebar .ant-menu::-webkit-scrollbar-thumb{background-color:#ffffff2e;border-radius:3px}.dashboard-sidebar .ant-menu-item-group-title{letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;font-weight:600;line-height:1.4;color:var(--jf-sidebar-group-label)!important;padding:16px 22px 6px!important}.dashboard-sidebar .ant-menu-item-group:first-child .ant-menu-item-group-title{padding-top:8px!important}.dashboard-sidebar .ant-menu-item-divider{border-color:var(--jf-sidebar-border)!important;margin:8px 18px!important}.dashboard-sidebar .ant-menu-item{position:relative}.dashboard-sidebar .ant-menu-item-selected{font-weight:600}.dashboard-sidebar .ant-menu-item-selected:before{content:"";background:var(--jf-amber-400);inset-inline-start:0;border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px}.dashboard-menu-label-with-badge{align-items:center;gap:8px;display:inline-flex}.dashboard-header{z-index:90;justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex;position:sticky;top:0;background:var(--jf-surface)!important;padding:0 20px 0 12px!important;line-height:normal!important}@supports (color:color-mix(in lab, red, red)){.dashboard-header{background:color-mix(in srgb, var(--jf-surface) 90%, transparent)!important}}.dashboard-header{-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--jf-border)}.dashboard-header-left{align-items:center;gap:10px;min-width:0;display:flex}.dashboard-header-toggle,.dashboard-header-icon-btn{font-size:16px;color:var(--jf-text-secondary)!important}.dashboard-header-titles{flex-direction:column;min-width:0;line-height:1.25;display:flex}.dashboard-header-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--jf-text-muted);font-size:11px;font-weight:600}.dashboard-header-title{color:var(--jf-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:650;overflow:hidden}.dashboard-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.dashboard-user-trigger{all:unset;box-sizing:border-box;cursor:pointer;border-radius:999px;align-items:center;gap:10px;margin-inline-start:6px;padding:4px 10px 4px 4px;transition:background .15s;display:flex}.dashboard-user-trigger:hover,.dashboard-user-trigger:focus-visible{background:var(--jf-surface-muted)}.dashboard-user-meta{flex-direction:column;max-width:160px;line-height:1.2;display:flex}.dashboard-user-name{color:var(--jf-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.dashboard-user-role{color:var(--jf-text-secondary);font-size:11.5px}.dashboard-user-menu-identity{cursor:default!important}.dashboard-user-menu-name{color:var(--jf-text);font-weight:600}.dashboard-user-menu-sub{color:var(--jf-text-secondary);font-size:12px}@media (max-width:991px){.dashboard-user-meta,.dashboard-header-eyebrow{display:none}}.ant-drawer{top:64px!important;bottom:0!important;right:0!important;left:var(--dashboard-sidebar-current-width,240px)!important;width:calc(100vw - var(--dashboard-sidebar-current-width,240px))!important;height:calc(100vh - 64px)!important}.ant-drawer .ant-drawer-content-wrapper{box-shadow:none;width:100%!important;max-width:100%!important;height:100%!important}.ant-drawer .ant-drawer-content{background:var(--dashboard-surface-muted)}.ant-drawer .ant-drawer-wrapper-body{min-height:calc(100vh - 64px)}.ant-drawer .ant-drawer-header{z-index:3;background:var(--dashboard-surface);border-bottom:1px solid var(--dashboard-brand-border);min-height:64px;padding:16px 32px;position:sticky;top:0}.ant-drawer .ant-drawer-close{border:1px solid var(--dashboard-brand-border);width:36px;height:36px;color:var(--dashboard-brand);border-radius:999px;margin-inline-end:12px}.ant-drawer .ant-drawer-close:hover{color:var(--dashboard-brand-strong);background:var(--dashboard-brand-soft)}.ant-drawer .ant-drawer-body{scrollbar-width:thin;scrollbar-color:var(--jf-scroll-thumb) var(--jf-scroll-track);width:100%;margin:0;padding:24px 32px 40px;overflow-y:auto}.ant-drawer .ant-drawer-body>*{max-width:1180px;margin-left:auto;margin-right:auto}.ant-drawer .ant-drawer-body::-webkit-scrollbar{width:10px;height:10px}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body::-webkit-scrollbar{width:10px;height:10px}.ant-table-body::-webkit-scrollbar{width:10px;height:10px}.wallet-rail-scroll::-webkit-scrollbar{width:10px;height:10px}.ant-drawer .ant-drawer-body::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.ant-table-body::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.wallet-rail-scroll::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.ant-drawer .ant-drawer-body::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.ant-table-body::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.wallet-rail-scroll::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.ant-drawer .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover);background-clip:padding-box}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover);background-clip:padding-box}.ant-table-body::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover);background-clip:padding-box}.wallet-rail-scroll::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover);background-clip:padding-box}.ant-drawer .ant-drawer-footer{z-index:3;background:var(--dashboard-surface);border-top:1px solid var(--dashboard-brand-border);padding:14px 32px;position:sticky;bottom:0}@media (max-width:768px){.ant-drawer .ant-drawer-header,.ant-drawer .ant-drawer-footer{padding-inline:16px}.ant-drawer .ant-drawer-body{padding:16px 12px 32px}}.ant-modal-root .ant-modal-wrap:has(.ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal)){top:64px;bottom:0;right:0;left:var(--dashboard-sidebar-current-width,240px);width:calc(100vw - var(--dashboard-sidebar-current-width,240px));height:calc(100vh - 64px);overflow:hidden}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal){max-width:100%;height:100%;margin:0;padding:0;top:0;width:100%!important}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-content{background:var(--dashboard-surface-muted);min-height:100%;box-shadow:none;border-radius:0;flex-direction:column;padding:0;display:flex}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-header{z-index:3;background:var(--dashboard-surface);border-bottom:1px solid var(--dashboard-brand-border);border-radius:0;margin:0;padding:16px 32px;position:sticky;top:0}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-close{border:1px solid var(--dashboard-brand-border);width:36px;height:36px;color:var(--dashboard-brand);border-radius:999px;top:14px;right:28px}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-close:hover{color:var(--dashboard-brand-strong);background:var(--dashboard-brand-soft)}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-body{scrollbar-width:thin;scrollbar-color:var(--jf-scroll-thumb) var(--jf-scroll-track);flex:auto;width:100%;margin:0;padding:24px 32px 40px;overflow-y:auto}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-body>*{max-width:1180px;margin-left:auto;margin-right:auto}.ant-modal-root .ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal) .ant-modal-footer{z-index:3;background:var(--dashboard-surface);border-top:1px solid var(--dashboard-brand-border);margin:0;padding:14px 32px;position:sticky;bottom:0}.ant-drawer .ant-drawer-body>.ant-form-vertical,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:10px 18px;display:grid}.ant-drawer .ant-drawer-body>.ant-form-vertical>.ant-form-item,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical>.ant-form-item{min-width:0;margin-bottom:8px}.ant-drawer .ant-drawer-body>.ant-form-vertical>:not(.ant-form-item),.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical>:not(.ant-form-item){grid-column:1/-1}.ant-drawer .ant-drawer-body>.ant-form-vertical>.ant-form-item:has(textarea){grid-column:span 2}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical>.ant-form-item:has(textarea){grid-column:span 2}.ant-drawer .ant-form-vertical .ant-form-item-extra,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-form-vertical .ant-form-item-extra{margin-top:4px;font-size:12px;line-height:1.35}.ant-drawer .ant-form-vertical .ant-input,.ant-drawer .ant-form-vertical .ant-input-number,.ant-drawer .ant-form-vertical .ant-picker,.ant-drawer .ant-form-vertical .ant-select-selector,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-form-vertical .ant-input,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-form-vertical .ant-input-number,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-form-vertical .ant-picker,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-form-vertical .ant-select-selector{min-height:36px}.ant-drawer .ant-drawer-body>.service-core-form,.ant-drawer .ant-drawer-body>.hero-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:1040px}.ant-drawer .hero-form-grid>.ant-typography{grid-column:1/-1;padding-top:4px;font-size:14px;font-weight:600;margin:8px 0 2px!important}.ant-drawer .hero-form-grid>.ant-row,.ant-drawer .ant-drawer-body>.dashboard-compact-form>.ant-row{display:contents}.ant-drawer .hero-form-grid>.ant-row>.ant-col,.ant-drawer .ant-drawer-body>.dashboard-compact-form>.ant-row>.ant-col{min-width:0;flex:initial!important;width:auto!important;max-width:none!important}.ant-drawer .hero-form-grid .ant-form-item{margin-bottom:8px}.ant-drawer .hero-form-grid .ant-radio-group{flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:36px;display:flex}@media (max-width:768px){.ant-modal-root .ant-modal-wrap:has(.ant-modal:not(.ant-modal-confirm):not(.attendance-capture-modal)){width:100vw;left:0}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-header,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-footer{padding-inline:16px}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-close{right:12px}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body{padding:16px 12px 32px}.ant-drawer .ant-drawer-body>.ant-form-vertical,.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical{grid-template-columns:1fr}.ant-drawer .ant-drawer-body>.ant-form-vertical>.ant-form-item:has(textarea){grid-column:1}.ant-modal-root .ant-modal:not(.ant-modal-confirm) .ant-modal-body>.ant-form-vertical>.ant-form-item:has(textarea){grid-column:1}}.header-calendar-trigger{font-variant-numeric:tabular-nums;color:var(--jf-text-secondary)!important;border:1px solid var(--jf-border)!important;background:var(--jf-surface)!important}.header-calendar-trigger:hover{color:var(--jf-text)!important;border-color:var(--dashboard-brand-border)!important;background:var(--jf-surface-muted)!important}.header-calendar-panel{width:360px;max-width:calc(100vw - 32px);padding:4px}.header-calendar-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.header-calendar-weekdays,.header-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.header-calendar-weekdays{color:var(--dashboard-calendar-weekdays-color);text-align:center;margin-bottom:6px;font-size:11px;font-weight:700}.header-calendar-grid{gap:6px}.header-calendar-day{aspect-ratio:1;border:1px solid var(--dashboard-calendar-border);background:var(--dashboard-surface);min-width:0;color:var(--dashboard-calendar-text);cursor:pointer;font:inherit;border-radius:8px;transition:border-color .18s,background .18s,transform .18s;position:relative}.header-calendar-day:hover{border-color:var(--dashboard-calendar-hover);transform:translateY(-1px)}.header-calendar-day.is-muted{color:var(--dashboard-calendar-text-muted);background:var(--dashboard-surface-muted)}.header-calendar-day.is-today{border-color:var(--dashboard-calendar-today)}.header-calendar-day.is-selected{background:var(--dashboard-calendar-selected);border-color:var(--dashboard-calendar-selected);color:#fff}.header-calendar-dots{gap:3px;display:flex;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.header-calendar-dots i{border-radius:50%;width:5px;height:5px}.header-calendar-events{border-top:1px solid var(--dashboard-calendar-divider);margin-top:14px;padding-top:12px}.header-calendar-event{align-items:center;gap:8px;display:flex}.dashboard-content{min-height:calc(100vh - 64px);padding:24px;overflow-x:hidden;background:var(--jf-canvas)!important}@media (max-width:575px){.dashboard-content{padding:16px 12px}}.dashboard-page{--dashboard-table-max-height:calc(100vh - 310px);width:100%;max-width:1680px;margin:0 auto}.dashboard-page .ant-tabs-nav{margin-bottom:16px}.dashboard-page .ant-tabs-tab{padding-block:10px}.dashboard-loading,.auth-loading{place-items:center;min-height:100vh;display:grid}.ant-card,.ant-modal-content,.ant-drawer-content{border-color:var(--jf-border)}.dashboard-page .ant-card{box-shadow:var(--jf-shadow-card)}.ant-card .ant-card-head{min-height:52px;padding-inline:20px}.ant-card .ant-card-body{padding:16px 20px}.ant-card-small>.ant-card-body{padding:12px 16px}.dashboard-page>.ant-card,.dashboard-page .ant-card+.ant-card{margin-top:2px}h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{letter-spacing:0;font-weight:600}.dashboard-page h3.ant-typography{font-size:22px;line-height:1.25}.dashboard-page h4.ant-typography{font-size:20px;line-height:1.25}.dashboard-page h5.ant-typography{font-size:16px}.ant-form-item{margin-bottom:18px}.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions-bordered .ant-descriptions-item-content{padding-block:12px}.ant-empty{padding-block:20px}.ant-tabs-top>.ant-tabs-nav:before,.ant-tabs-bottom>.ant-tabs-nav:before{border-color:var(--jf-border)}.toolbar-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.typewriter-search-input::placeholder,.typewriter-search-input .ant-input::placeholder,.typewriter-search-input input::placeholder{color:var(--jf-text-secondary);opacity:1}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;flex-direction:column;justify-content:center;min-height:108px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.dashboard-page .ant-statistic-title{color:var(--ant-color-text-secondary);margin-bottom:6px;font-size:13px}.dashboard-page .ant-statistic-content{font-size:22px;line-height:1.15}.dashboard-page .ant-statistic-content-prefix{margin-inline-end:6px}.dashboard-compact-stat-card{min-height:76px}.dashboard-compact-stat-card .ant-card-body{align-items:center;min-height:76px;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #47006614}.login-page{--lg-ink:#1d1f20;--lg-muted:#6b6a70;--lg-label:#3d3b43;--lg-line:#e5e0ea;--lg-plum:#803ba3;--lg-plum-deep:#470066;--lg-surface:#fff;--lg-card:#ffffff9e;--lg-card-line:#ffffffe6;--lg-card-icon:#fff;--lg-field:#fff;--lg-hover:#faf7fc;--lg-wash:radial-gradient(115% 85% at 22% 18%, #f7ebfe 0%, #efddfb 42%, #e6f0ff 100%);--lg-err-bg:#fdf1f3;--lg-err-line:#f2d2d8;--lg-err-ink:#8f2f45;background:var(--lg-surface);height:100vh;color:var(--lg-ink);grid-template-columns:57fr 43fr;display:grid;overflow:hidden}[data-theme=dark] .login-page{--lg-ink:#f2f0f5;--lg-muted:#9a97a3;--lg-label:#c9c5d1;--lg-line:#33303a;--lg-surface:#171519;--lg-card:#ffffff0f;--lg-card-line:#ffffff1a;--lg-card-icon:#ffffff1a;--lg-field:#1e1c22;--lg-hover:#232028;--lg-wash:radial-gradient(115% 85% at 22% 18%, #2a1338 0%, #221033 42%, #131a2e 100%);--lg-err-bg:#2c161c;--lg-err-line:#4d2630;--lg-err-ink:#f0a8b8}.login-theme-toggle{z-index:100;position:fixed;top:16px;right:16px}@keyframes lg-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes lg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-13px)}}@keyframes lg-pulse{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.4)}}@keyframes lg-sheen{0%{transform:translate(-130%)}to{transform:translate(230%)}}.login-brand{background:var(--lg-wash);flex-direction:column;padding:44px 52px 0;display:flex;position:relative;overflow:hidden}.login-brand-logo{align-self:flex-start;width:auto;height:42px;animation:.6s ease-out both lg-rise}.login-brand-headline{letter-spacing:-.03em;max-width:13ch;margin-top:28px;font-size:50px;font-weight:700;line-height:1.03;animation:.7s ease-out 80ms both lg-rise}.login-brand-points{z-index:1;flex-direction:column;gap:12px;max-width:340px;margin-top:30px;display:flex;position:relative}.login-point{border:1px solid var(--lg-card-line);background:var(--lg-card);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;animation:.6s ease-out both lg-rise;display:flex}.login-point:first-child{animation-delay:.26s}.login-point:nth-child(2){animation-delay:.34s}.login-point-icon{background:var(--lg-card-icon);width:34px;height:34px;color:var(--lg-plum);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}[data-theme=dark] .login-point-icon{color:#cfa8e6}.login-point-title{font-size:14px;font-weight:600}.login-point-sub{color:var(--lg-muted);margin-top:1px;font-size:12.5px}.login-brand-footer{z-index:1;color:var(--lg-muted);align-items:center;gap:9px;margin-top:auto;padding:18px 0 20px;font-size:12.5px;display:flex;position:relative}.login-live-dot{flex:none;width:8px;height:8px;position:relative}.login-live-dot span{background:currentColor;border-radius:50%;position:absolute;inset:0}.login-live-dot--up{color:#2fa36b}.login-live-dot--up span:last-child{animation:2.2s ease-out infinite lg-pulse}.login-live-dot--down{color:#d08a1f}.login-live-dot--checking{color:var(--lg-muted)}.login-mascot{pointer-events:none;width:auto;height:352px;animation:5.5s ease-in-out infinite lg-float;position:absolute;bottom:-4px;right:38px}.login-form-panel{background:var(--lg-surface);flex-direction:column;justify-content:center;padding:32px 92px;display:flex;overflow-y:auto}.login-form{flex-direction:column;width:100%;max-width:360px;margin:0 auto;display:flex}.login-form-title{letter-spacing:-.02em;font-size:28px;font-weight:700}.login-form-sub{color:var(--lg-muted);margin-top:7px;font-size:14.5px}.login-fields{flex-direction:column;gap:16px;margin-top:26px;display:flex}.login-field label{color:var(--lg-label);margin-bottom:7px;font-size:13px;font-weight:500;display:block}.login-field input{width:100%;height:48px;font:inherit;color:var(--lg-ink);background:var(--lg-field);border:1px solid var(--lg-line);border-radius:10px;outline:none;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:var(--lg-muted);opacity:.75}.login-field input:focus{border-color:var(--lg-plum);box-shadow:0 0 0 3px #803ba324}.login-password{position:relative}.login-password input{padding-right:46px}.login-password-toggle{cursor:pointer;width:36px;height:36px;color:var(--lg-muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.login-password-toggle:hover{background:var(--lg-hover);color:var(--lg-plum)}.login-remember{cursor:pointer;color:var(--lg-label);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-top:14px;font-size:13.5px;display:inline-flex}.login-remember input{opacity:0;pointer-events:none;position:absolute}.login-checkbox{border:1px solid var(--lg-line);background:var(--lg-field);color:#0000;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.login-remember input:checked+.login-checkbox{background:var(--lg-plum);border-color:var(--lg-plum);color:#fff}.login-remember input:focus-visible+.login-checkbox{box-shadow:0 0 0 3px #803ba33d}.login-error{border:1px solid var(--lg-err-line);background:var(--lg-err-bg);color:var(--lg-err-ink);border-radius:10px;align-items:flex-start;gap:9px;margin-top:16px;padding:11px 12px;font-size:13px;line-height:1.4;display:flex}.login-error svg{flex:none;margin-top:1px}.login-submit{background:var(--lg-plum);color:#fff;width:100%;height:50px;font:inherit;letter-spacing:.01em;cursor:pointer;border:0;border-radius:10px;margin-top:24px;font-size:15.5px;font-weight:600;transition:background .18s,transform .12s;position:relative;overflow:hidden}.login-submit:before{content:"";background:linear-gradient(100deg,#0000,#ffffff57,#0000);width:38%;height:100%;animation:3.6s ease-in-out infinite lg-sheen;position:absolute;top:0;left:0}.login-submit:hover:not(:disabled){background:#6d2f8f}.login-submit:active:not(:disabled){background:var(--lg-plum-deep);transform:translateY(1px)}.login-submit:disabled{cursor:default;opacity:.72}.login-submit:disabled:before{animation:none}@media (max-width:900px){.login-page{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.login-brand{height:262px;padding:34px 24px 0}.login-brand-logo{height:32px}.login-brand-headline{letter-spacing:-.02em;margin-top:12px;font-size:27px;line-height:1.06}.login-brand-points{display:none}.login-brand-footer{max-width:55%;margin-top:12px;padding:0}.login-mascot{height:146px;bottom:0;right:10px}.login-form-panel{padding:26px 24px 32px}.login-form-title{font-size:23px}.login-form-sub{font-size:14px}.login-field input{height:50px;font-size:15.5px}.login-password input{padding-right:48px}.login-submit{border-radius:12px;height:54px;font-size:16px}}@media (prefers-reduced-motion:reduce){.login-brand-logo,.login-brand-headline,.login-point,.login-mascot,.login-live-dot span:last-child,.login-submit:before{animation:none}}.not-found-page{background:#f7f8fc;place-items:center;min-height:100vh;padding:24px;display:grid}.not-found-panel{border:1px solid var(--jf-border);background:var(--jf-surface);width:min(100%,440px);box-shadow:var(--jf-shadow-raised);text-align:center;border-radius:8px;padding:40px}.not-found-code{background:var(--jf-primary);min-width:74px;height:34px;color:var(--jf-on-primary);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;margin-bottom:18px;font-weight:700;display:inline-flex}.not-found-panel h1{color:var(--jf-text);margin:0;font-size:28px;line-height:1.2}.not-found-panel p{color:var(--jf-text-secondary);margin:12px 0 24px;line-height:1.6}.not-found-link{background:var(--dashboard-brand);min-height:40px;color:var(--jf-on-primary);border-radius:6px;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.not-found-link:hover{background:var(--dashboard-brand-strong);color:var(--jf-on-primary);transform:translateY(-1px)}.hero-modal-title{align-items:center;gap:12px;display:flex}.hero-modal-footer{justify-content:flex-end;gap:8px;display:flex}.hero-doc-item{border-bottom:1px solid var(--jf-border-subtle);padding-bottom:20px}.hero-doc-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.hero-doc-images{flex-wrap:wrap;gap:12px;display:flex}.hero-skills-tags{flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:16px;display:flex}.hero-modal-body{max-height:65vh;overflow-y:auto}.hero-tab-loading{text-align:center;padding:40px}@media (max-width:991px){.dashboard-header{padding:0 16px}.dashboard-content{padding:18px}.dashboard-user-name,.header-calendar-date{display:none}}@media (max-width:720px){.toolbar-row{flex-direction:column;align-items:stretch}.toolbar-row .ant-btn{width:100%}.toolbar-filters .ant-select,.toolbar-filters .ant-input-affix-wrapper,.toolbar-filters .ant-input{width:100%!important}.login-image-panel{display:none}.login-form-panel{flex:1;padding:40px 24px}}@media (max-width:520px){.dashboard-header-actions{gap:8px}.header-calendar-trigger{padding-inline:8px}.dashboard-role-tag{display:none}.dashboard-content{padding:12px}}.cap-root{flex-direction:column;gap:16px;display:flex}.cap-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cap-toolbar-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cap-week-nav{align-items:center;gap:8px;display:flex}.cap-week-label{text-align:center;min-width:160px;color:var(--dashboard-calendar-text);font-size:13px;font-weight:500}.cap-week-btn{border:1px solid var(--dashboard-calendar-border);color:var(--dashboard-calendar-text);cursor:pointer;background:0 0;border-radius:6px;height:30px;padding:0 10px;font-size:16px;line-height:1;transition:background .15s,border-color .15s}.cap-week-btn:hover{background:var(--jf-primary-soft);border-color:var(--jf-primary);color:var(--jf-primary-text)}.cap-week-btn--today{padding:0 10px;font-size:12px}.cap-hint{font-size:12px;display:block}.cap-empty{color:var(--dashboard-calendar-text-muted);text-align:center;padding:40px 0;font-size:14px}.cap-grid-wrapper{border:1px solid var(--dashboard-calendar-border);border-radius:10px;overflow-x:auto}.cap-grid{border-collapse:collapse;width:100%;min-width:640px}.cap-th{background:var(--dashboard-surface-muted);border-bottom:1px solid var(--dashboard-calendar-border);border-right:1px solid var(--dashboard-calendar-border);color:var(--dashboard-calendar-weekdays-color);letter-spacing:.04em;text-align:center;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.cap-th--group{text-align:left;min-width:160px}.cap-th--date{min-width:96px}.cap-th--today{background:var(--jf-primary-soft-strong);color:var(--jf-primary-text)}.cap-th-day{display:block}.cap-th-date{color:inherit;margin-top:2px;font-size:13px;font-weight:700;display:block}.cap-tr:hover .cap-td{background:var(--dashboard-table-hover)}.cap-td{border-bottom:1px solid var(--dashboard-calendar-border);border-right:1px solid var(--dashboard-calendar-border);vertical-align:middle;padding:6px 8px}.cap-td--group{background:var(--dashboard-surface-muted);padding:10px 14px}.cap-group-name{color:var(--dashboard-calendar-text);font-size:13px;font-weight:500}.cap-cell{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:4px 6px;transition:background .12s;display:flex}.cap-cell:hover:not(.cap-cell--past),.cap-cell--today{background:var(--jf-primary-soft)}.cap-cell--past{cursor:default;opacity:.5}.cap-cell--saving{opacity:.6;pointer-events:none}.cap-cell-value{flex-direction:column;align-items:center;gap:2px;display:flex}.cap-cell-icon{color:var(--jf-primary-text);font-size:16px}.cap-cell-icon--empty{color:var(--dashboard-calendar-text-muted);font-size:14px}.cap-cell-num{color:var(--dashboard-calendar-text);font-size:15px;font-weight:700;line-height:1}.cap-cell-num--empty{color:var(--dashboard-calendar-text-muted);font-size:14px}.cap-cell-input{width:64px}.cap-group-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cap-group-services{color:var(--dashboard-calendar-text-muted);max-width:280px;margin-top:3px;font-size:11px;line-height:1.4}.cap-group-no-services{opacity:.6;font-style:italic}.cap-group-actions{flex-shrink:0;gap:2px;display:flex}.cap-empty-link{color:var(--dashboard-brand);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cap-form-modal-body{padding-top:8px!important}.cap-form-field{flex-direction:column;gap:6px;display:flex}.cap-form-field--mt{margin-top:16px}.cap-form-footer{justify-content:flex-end;gap:8px;display:flex}.cap-form-input{background:var(--dashboard-surface-muted);border:1px solid var(--dashboard-calendar-border);color:var(--dashboard-calendar-text);border-radius:6px;outline:none;width:100%;padding:7px 11px;font-size:14px;transition:border-color .2s}.cap-form-input:focus{border-color:var(--dashboard-brand);box-shadow:0 0 0 2px var(--dashboard-brand)}@supports (color:color-mix(in lab, red, red)){.cap-form-input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--dashboard-brand) 20%, transparent)}}.cap-form-label-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cap-form-count{font-size:12px}.cap-service-list{border:1px solid var(--dashboard-calendar-border);border-radius:8px;flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.cap-service-group{border-bottom:1px solid var(--dashboard-calendar-border)}.cap-service-group:last-child{border-bottom:none}.cap-service-group-header{background:var(--dashboard-surface-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 12px;display:flex}.cap-service-group-header:hover{background:var(--dashboard-brand)}@supports (color:color-mix(in lab, red, red)){.cap-service-group-header:hover{background:color-mix(in srgb, var(--dashboard-brand) 6%, var(--dashboard-surface-muted))}}.cap-service-group-label{flex:1}.cap-service-group-items{flex-direction:column;gap:6px;padding:8px 12px 10px 36px;display:flex}.cap-svc-count{opacity:.65;margin-left:6px;font-size:11px}.cap-tr--group-header .cap-td--group{border-bottom:none;padding:10px 14px 8px}.cap-tr--shift .cap-td--shift{background:var(--dashboard-surface);border-bottom:1px solid var(--dashboard-calendar-border);border-right:1px solid var(--dashboard-calendar-border);padding:4px 14px 4px 24px}.cap-tr--shift .cap-td--shift-cell{border-bottom:1px solid var(--dashboard-calendar-border);border-right:1px solid var(--dashboard-calendar-border);padding:4px 6px}.cap-tr--shift:last-child .cap-td{border-bottom:1px solid var(--dashboard-calendar-border)}.cap-td--today{background:var(--jf-primary-soft)}.cap-shift-label{align-items:center;gap:6px;display:flex}.cap-shift-icon{color:var(--dashboard-calendar-text-muted);flex-shrink:0;font-size:11px}.cap-shift-name{color:var(--dashboard-calendar-text);font-size:12px;font-weight:500}.cap-shift-time-tag{padding:0 5px!important;font-size:11px!important;line-height:1.4!important}.cap-shift-no-config{color:var(--dashboard-calendar-text-muted);font-size:11px;font-style:italic}.multi-select-toolbar{align-items:center;gap:4px;padding:4px 8px 0;display:flex}.multi-select-btn{height:auto!important;padding:0 4px!important;font-size:12px!important}.cap-shift-picker{flex-direction:column;gap:6px;margin-top:8px;display:flex}.cap-shift-option{border:1px solid var(--jf-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.cap-shift-option:hover{border-color:var(--jf-primary);background:var(--jf-primary-soft)}.cap-shift-option--checked{border-color:var(--jf-primary);background:var(--jf-primary-soft-strong)}.cap-shift-option-info{flex:1;align-items:center;gap:8px;display:flex}.cap-shift-option-name{font-size:13px;font-weight:500}.cap-shift-option-time{color:var(--dashboard-calendar-text-muted);font-size:12px}.cap-form-no-shifts{color:var(--dashboard-calendar-text-muted);padding:8px 0;font-size:12px}.cap-form-link{color:var(--dashboard-brand);text-underline-offset:2px;text-decoration:underline}.cap-shift-global-tag{border-color:var(--jf-border)!important;color:var(--jf-text-muted)!important;background:0 0!important;margin-left:2px!important;padding:0 4px!important;font-size:10px!important;line-height:1.2!important}.hero-skills-panel{flex-direction:column;gap:12px;display:flex}.hero-skills-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero-skills-search{flex:1;min-width:200px}.hero-skills-summary{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.hero-skills-group-label{align-items:center;gap:10px;display:flex}.hero-skills-services{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px;display:grid}.hero-skills-service{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;transition:background .15s;display:flex}.hero-skills-service:hover{background:var(--jf-surface-muted)}.hero-skills-service--on{background:var(--jf-primary-soft)}.hero-skills-service-name{flex:1;font-size:13px;line-height:1.3}.hero-skills-footer{background:var(--jf-surface);border-top:1px solid var(--jf-border-subtle);align-items:center;gap:8px;margin-top:4px;padding-top:12px;display:flex;position:sticky;bottom:0}.wallet-rail-scroll{overflow-y:auto}.jf-slot-chip{border:1px solid var(--jf-border);background:var(--jf-surface);color:var(--jf-text);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.jf-slot-chip:hover:not(:disabled){border-color:var(--jf-primary)}.jf-slot-chip:focus-visible{outline:2px solid var(--jf-primary);outline-offset:2px}.jf-slot-chip.is-picked{border-color:var(--jf-primary);background:var(--jf-primary-soft);font-weight:600}.jf-slot-chip.is-blocked{cursor:not-allowed;opacity:.55;text-decoration:line-through;text-decoration-thickness:1px}.jf-slot-chip-time{white-space:nowrap}.dashboard-page .ant-table-wrapper{min-width:0}.dashboard-page .ant-table-container,.dashboard-page .ant-table-content,.dashboard-page .ant-table-body{scrollbar-width:thin;scrollbar-color:var(--jf-scroll-thumb) var(--jf-scroll-track)}.dashboard-page .ant-table-content{max-height:var(--dashboard-table-max-height,calc(100vh - 340px));overflow:auto!important}.dashboard-page .ant-table-thead>tr>th{z-index:4;position:sticky;top:0}.dashboard-page .ant-table-body{max-height:var(--dashboard-table-max-height,calc(100vh - 340px));overflow-y:auto}.dashboard-page .hero-details-table .ant-table-content{max-height:none;overflow:visible!important}.dashboard-page .ant-table-content::-webkit-scrollbar{width:10px;height:10px}.dashboard-page .ant-table-body::-webkit-scrollbar{width:10px;height:10px}.dashboard-page .ant-table-content::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.dashboard-page .ant-table-body::-webkit-scrollbar-track{background:var(--jf-scroll-track);border-radius:999px}.dashboard-page .ant-table-content::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);border-radius:999px}.dashboard-page .ant-table-body::-webkit-scrollbar-thumb{background:var(--jf-scroll-thumb);border-radius:999px}.dashboard-page .ant-table-content::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover)}.dashboard-page .ant-table-body::-webkit-scrollbar-thumb:hover{background:var(--jf-scroll-thumb-hover)}.dashboard-page .ant-table-content::-webkit-scrollbar-corner{background:0 0}.dashboard-page .ant-table-body::-webkit-scrollbar-corner{background:0 0}.ant-table-thead>tr>th{letter-spacing:.02em;font-size:12.5px;font-weight:600}.ant-table-cell-fix-start-shadow:after,.ant-table-cell-fix-end-shadow:after,.ant-table-cell-fix-left-last:after,.ant-table-cell-fix-right-first:after{box-shadow:inset 10px 0 8px -8px var(--jf-pin-shadow)}.jf-overview{flex-direction:column;gap:20px;display:flex}.jf-overview-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.jf-overview-greeting{letter-spacing:-.01em;color:var(--jf-text);margin:0;font-size:24px;font-weight:700}.jf-overview-date{color:var(--jf-text-secondary);margin:4px 0 0;font-size:13.5px}.jf-overview-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jf-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--jf-text-muted);margin:4px 0 -6px;font-size:11px;font-weight:600}.jf-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.jf-kpi-link{color:inherit;border-radius:var(--jf-radius-lg);display:block}.jf-kpi-link:focus-visible{outline:2px solid var(--jf-primary);outline-offset:2px}.jf-kpi{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);min-height:152px;box-shadow:var(--jf-shadow-card);flex-direction:column;padding:16px 18px 0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.jf-kpi-link:hover .jf-kpi{border-color:var(--dashboard-brand-border);box-shadow:var(--jf-shadow-raised);transform:translateY(-1px)}.jf-kpi-head{align-items:center;gap:10px;display:flex}.jf-kpi-icon{width:32px;height:32px;color:var(--kpi-color);background:var(--kpi-color);border-radius:9px;flex-shrink:0;place-items:center;font-size:15px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.jf-kpi-icon{background:color-mix(in srgb, var(--kpi-color) 13%, transparent)}}.jf-kpi-title{min-width:0;color:var(--jf-text-secondary);flex:1;font-size:13px;font-weight:500}.jf-kpi-chevron{color:var(--jf-text-muted);font-size:11px}.jf-kpi-value{letter-spacing:-.02em;color:var(--jf-text);font-variant-numeric:tabular-nums;margin-top:12px;font-size:28px;font-weight:700;line-height:1.1}.jf-kpi-exact{color:var(--jf-text-secondary);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px;font-weight:500}.jf-pipeline-exact{color:var(--jf-text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400;line-height:1.3;display:block}.jf-kpi-foot{flex-wrap:wrap;align-items:center;gap:8px;min-height:22px;margin-top:6px;display:flex}.jf-kpi-hint{color:var(--jf-text-secondary);font-size:12.5px}.jf-kpi-spark{height:44px;margin:auto -18px 0}.jf-kpi-spark-empty{height:14px}.jf-delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-flex}.jf-delta-good{color:var(--jf-success);background:var(--jf-success)}@supports (color:color-mix(in lab, red, red)){.jf-delta-good{background:color-mix(in srgb, var(--jf-success) 13%, transparent)}}.jf-delta-bad{color:var(--jf-danger);background:var(--jf-danger)}@supports (color:color-mix(in lab, red, red)){.jf-delta-bad{background:color-mix(in srgb, var(--jf-danger) 13%, transparent)}}.jf-delta-flat{color:var(--jf-text-secondary);background:var(--jf-surface-muted)}.jf-grid-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;display:grid}.jf-grid-1-1{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1199px){.jf-grid-2-1{grid-template-columns:minmax(0,1fr)}}@media (max-width:991px){.jf-grid-1-1{grid-template-columns:minmax(0,1fr)}}.jf-panel{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);min-width:0;box-shadow:var(--jf-shadow-card);flex-direction:column;display:flex}.jf-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 0;display:flex}.jf-panel-title{color:var(--jf-text);margin:0;font-size:15px;font-weight:650}.jf-panel-sub{color:var(--jf-text-secondary);margin:2px 0 0;font-size:12.5px}.jf-panel-extra{flex-shrink:0}.jf-panel-body{flex:1;min-width:0;padding:16px 20px 20px}.jf-panel-body-flush{padding:10px 0 6px}.jf-panel-state{text-align:center;min-height:200px;color:var(--jf-text-secondary);place-items:center;gap:8px;padding:16px;font-size:13px;display:grid}.jf-legend{color:var(--jf-text-secondary);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.jf-legend-swatch{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-inline-end:6px;display:inline-block}.jf-legend-value{color:var(--jf-text);font-variant-numeric:tabular-nums;margin-inline-start:6px;font-weight:600}.jf-pipeline{flex-direction:column;gap:14px;display:flex}.jf-pipeline-row{grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.jf-pipeline-label{color:var(--jf-text);align-items:center;gap:8px;font-size:13px;display:flex}.jf-pipeline-value{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.jf-pipeline-track{background:var(--jf-surface-muted);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.jf-pipeline-fill{border-radius:inherit;background:var(--bar-color);min-width:2px;height:100%;transition:width .4s}.jf-dot{background:var(--dot-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.jf-list{flex-direction:column;display:flex}.jf-list-row{border-top:1px solid var(--jf-border-subtle);color:inherit;align-items:center;gap:12px;padding:10px 20px;display:flex}.jf-list-row:first-child{border-top:none}a.jf-list-row:hover{background:var(--jf-surface-muted);color:inherit}.jf-list-main{flex:1;min-width:0}.jf-list-title{white-space:nowrap;text-overflow:ellipsis;color:var(--jf-text);font-size:13.5px;font-weight:600;overflow:hidden}.jf-list-sub{white-space:nowrap;text-overflow:ellipsis;color:var(--jf-text-secondary);font-size:12px;overflow:hidden}.jf-list-amount{color:var(--jf-text);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13.5px;font-weight:650}.jf-time-chip{text-align:center;width:68px;color:var(--jf-primary-text);background:var(--jf-primary-soft);font-variant-numeric:tabular-nums;border-radius:8px;flex-shrink:0;padding:4px 0;font-size:12px;font-weight:600}.jf-list-footer{border-top:1px solid var(--jf-border-subtle);padding:10px 20px 6px;font-size:12.5px}.jf-donut{position:relative}.jf-donut-center{text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.jf-donut-total{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.jf-donut-caption{color:var(--jf-text-secondary);margin-top:4px;font-size:11.5px}.jf-quick-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.jf-quick{color:var(--jf-text);background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);align-items:center;gap:12px;padding:14px 16px;font-weight:550;transition:border-color .15s,background .15s;display:flex}.jf-quick:hover{color:var(--jf-text);background:var(--jf-primary-soft);border-color:var(--dashboard-brand-border)}.jf-quick-icon{color:var(--jf-primary-text);font-size:16px}.jf-quick-body{flex-direction:column;min-width:0;display:flex}.jf-quick-sub{color:var(--jf-text-secondary);font-size:12px;font-weight:400}.jf-panel-link{white-space:nowrap;color:var(--jf-primary-text);align-items:center;gap:6px;font-size:12.5px;font-weight:550;display:inline-flex}.jf-panel-link:hover{color:var(--jf-primary-hover)}.jf-big-number{letter-spacing:-.02em;color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.jf-big-caption{color:var(--jf-text-secondary);margin-top:2px;font-size:12.5px}.jf-mini-stats{border-top:1px solid var(--jf-border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:14px;display:grid}.jf-mini-stat-label{color:var(--jf-text-secondary);font-size:12px}.jf-mini-stat-value{color:var(--jf-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:17px;font-weight:650}.jf-home-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jf-kpi-breakdown{min-height:0;padding-bottom:16px}.jf-kpi-caption{color:var(--jf-text-secondary);margin-top:2px;font-size:12.5px}.jf-breakdown{border-top:1px solid var(--jf-border-subtle);flex-direction:column;gap:10px;margin-top:14px;padding-top:12px;display:flex}.jf-breakdown-row{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.jf-breakdown-row .jf-pipeline-track{height:6px}.jf-breakdown-sub{color:var(--jf-text-secondary);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:12px}.jf-list-muted{color:var(--jf-text-secondary);font-weight:400}.jf-list-warn{color:var(--jf-warning);font-weight:500}.jf-footnote{color:var(--jf-text-muted);margin:0;font-size:12px}.jf-donut-wrap{position:relative}.jf-donut-centre{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.jf-donut-centre-value{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;line-height:1.1}.jf-donut-centre-label{color:var(--jf-text-secondary);font-size:12px}.jf-donut-legend{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.jf-donut-legend-item{border-left:3px solid var(--jf-border);flex:140px;min-width:0;padding-left:10px}.jf-donut-legend-label{color:var(--jf-text-secondary);font-size:12px}.jf-donut-legend-value{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:650;line-height:1.25}.jf-donut-legend-count{color:var(--jf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.access-page{flex-direction:column;gap:16px;display:flex}.access-muted{color:var(--jf-text-secondary);font-size:12px}.access-center{justify-content:center;padding:64px 0;display:flex}.access-alert{margin-bottom:12px}.access-intro{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.access-intro-step{border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);background:var(--jf-surface);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.access-intro-step>span:last-child{color:var(--jf-text);flex-direction:column;gap:2px;display:flex}.access-intro-num,.access-section-num{background:var(--jf-primary-soft-strong);width:24px;height:24px;color:var(--jf-primary-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.access-tab-label{align-items:center;gap:6px;display:inline-flex}.access-roles{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.access-role-list,.access-role-editor{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);box-shadow:var(--jf-shadow-card)}.access-role-list{flex-direction:column;max-height:calc(100vh - 180px);display:flex;position:sticky;top:16px;overflow:hidden}.access-role-list-head{border-bottom:1px solid var(--jf-border);flex-direction:column;gap:8px;padding:12px;display:flex}.access-role-items{padding:6px;overflow-y:auto}.access-role-item{border-radius:var(--jf-radius-md);width:100%;color:var(--jf-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;padding:10px 12px;transition:background .12s,border-color .12s;display:flex}.access-role-item:hover{background:var(--jf-surface-muted)}.access-role-item:focus-visible{outline:2px solid var(--jf-primary);outline-offset:1px}.access-role-item.is-active{background:var(--jf-primary-soft);border-color:var(--dashboard-brand-border)}.access-role-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.access-role-item-top .ant-tag{margin-inline-end:0}.access-role-name{text-transform:capitalize;font-weight:600}.access-role-meta{color:var(--jf-text-secondary);font-size:12px}.access-role-editor{min-width:0;padding:16px 18px}.access-editor-head{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.access-editor-heading{flex:1;min-width:0}.access-editor-title{color:var(--jf-text);text-transform:capitalize;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.access-editor-key{text-transform:none;font-size:11px}.access-editor-desc.ant-typography{margin:4px 0 10px}.access-editor-actions{align-items:flex-start;gap:8px;display:flex}.access-stats{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.access-stat{background:var(--jf-surface-muted);color:var(--jf-text-secondary);border-radius:999px;padding:3px 10px;font-size:12px}.access-stat strong{color:var(--jf-text);font-weight:700}.access-tree{border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);background:var(--jf-surface);overflow:hidden}.access-tree-toolbar{border-bottom:1px solid var(--jf-border);background:var(--jf-surface-muted);flex-wrap:wrap;gap:8px;padding:10px;display:flex}.access-tree-search{flex:240px;min-width:200px}.access-tree-subbar{border-bottom:1px solid var(--jf-border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.access-tree-actions{flex-wrap:wrap;gap:4px;display:flex}.access-tree-body.ant-tree{background:0 0;padding:6px 4px}.access-tree-body .ant-tree-treenode{padding-block:2px}.access-tree-body .ant-tree-node-content-wrapper{cursor:default}.access-node{flex-direction:column;min-width:0;padding:2px 0;display:flex}.access-node-main{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.access-node-label{color:var(--jf-text)}.access-node-label.is-container{font-weight:600}.access-node.is-module>.access-node-main .access-node-label{text-transform:uppercase;letter-spacing:.04em;color:var(--jf-primary-text);font-size:12px}.access-node-desc{color:var(--jf-text-secondary);font-size:12px;line-height:1.35}.access-kind{letter-spacing:.02em;border:1px solid var(--jf-border);color:var(--jf-text-secondary);border-radius:4px;padding:0 6px;font-size:10.5px;font-weight:600;line-height:18px}.access-kind-page{color:var(--jf-primary-text);border-color:var(--dashboard-brand-border);background:var(--jf-primary-soft)}.access-kind-action{color:var(--jf-warning)}.access-kind-widget{color:var(--jf-info)}.access-node-sensitive{color:var(--jf-warning);font-size:12px}.access-node-locked{color:var(--jf-text-muted);font-size:12px}.access-diff.ant-tag{margin-inline-end:0;font-size:11px;line-height:18px}.access-count{font-variant-numeric:tabular-nums;background:var(--jf-surface-muted);color:var(--jf-text-muted);border-radius:999px;margin-left:auto;padding:0 8px;font-size:11px;line-height:18px}.access-count.is-part{color:var(--jf-warning)}.access-count.is-full{background:var(--jf-primary-soft);color:var(--jf-primary-text)}.access-savebar{z-index:3;border-top:1px solid var(--jf-border);background:var(--jf-surface-raised);border-radius:0 0 var(--jf-radius-lg) var(--jf-radius-lg);color:var(--jf-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px -18px -16px;padding:12px 18px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 16px #0f172a0f}.access-savebar.is-drawer{border-radius:0;margin:16px -24px -24px;padding:12px 24px}.access-savebar-actions{gap:8px;display:flex}.access-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.access-toolbar-search{flex:260px;max-width:380px}.access-toolbar-select{min-width:200px}.access-person-cell{align-items:center;gap:10px;display:flex}.access-person-text{flex-direction:column;min-width:0;display:flex}.access-person-name{color:var(--jf-text);font-weight:600}.access-avatar.ant-avatar{background:var(--jf-primary-soft-strong);color:var(--jf-primary-text);flex:none;font-weight:600}.access-scope-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.access-scope-chips .ant-tag{margin-inline-end:0}.access-row{cursor:pointer}.access-drawer{flex-direction:column;gap:16px;display:flex}.access-person{border-bottom:1px solid var(--jf-border);align-items:center;gap:14px;padding-bottom:14px;display:flex}.access-person-title{color:var(--jf-text);font-size:17px;font-weight:700}.access-person-tags{align-items:center;gap:6px;margin-top:4px;display:flex}.access-section{flex-direction:column;gap:10px;display:flex}.access-section-head{align-items:flex-start;gap:10px;display:flex}.access-section-text{flex-direction:column;flex:1;min-width:0;display:flex}.access-section-title{color:var(--jf-text);font-weight:700}.access-section-hint{color:var(--jf-text-secondary);font-size:12px}.access-section-extra{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.access-section-extra .ant-tag{margin-inline-end:0}.access-scope-picker{flex-direction:column;gap:6px;display:flex}.access-hint{font-size:12px}.access-audit-summary{color:var(--jf-text)}.access-audit-detail{flex-direction:column;gap:8px;padding:4px 0;display:flex}.access-audit-keys{align-items:flex-start;gap:10px;display:flex}.access-audit-keys-title{width:70px;color:var(--jf-text-secondary);flex:none;font-size:12px;font-weight:600}@media (max-width:991px){.access-intro,.access-roles{grid-template-columns:1fr}.access-role-list{max-height:320px;position:static}}*{box-sizing:border-box}html,body{min-height:100%}body{-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=jiffit] body,[data-theme=jiffit] button,[data-theme=jiffit] input,[data-theme=jiffit] textarea,[data-theme=jiffit] select{font-family:Sofia Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-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}@property --tw-ease{syntax:"*";inherits:false}
