@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}}.m-2{margin:calc(var(--spacing) * 2)}.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}.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}.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:#d18a02;--jf-sidebar-active:#f0a202;--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);height:100%;min-height:100%;max-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%;min-height:0;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:max(380px, calc(100vh - 252px));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}@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-planned{color:var(--dashboard-calendar-text-muted);margin-left:3px;font-size:11px;line-height:1}.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}.lm{flex-direction:column;gap:12px;display:flex}.lm-toolbar{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.lm-toolbar-filters,.lm-toolbar-live{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lm-live-dot{background:var(--jf-text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.lm-live-dot--on{background:var(--jf-success);box-shadow:0 0 0 3px var(--jf-success)}@supports (color:color-mix(in lab, red, red)){.lm-live-dot--on{box-shadow:0 0 0 3px color-mix(in srgb, var(--jf-success) 25%, transparent)}}.lm-sim{flex-direction:column;gap:8px;width:260px;display:flex}.lm-chips{flex-wrap:wrap;gap:8px;display:flex}.lm-chip{background:var(--jf-surface);border:1px solid var(--jf-border);color:var(--jf-text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 10px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.lm-chip:hover{border-color:var(--lm-chip)}.lm-chip:focus-visible{outline:2px solid var(--jf-primary);outline-offset:2px}.lm-chip--on{background:var(--lm-chip)}@supports (color:color-mix(in lab, red, red)){.lm-chip--on{background:color-mix(in srgb, var(--lm-chip) 16%, var(--jf-surface))}}.lm-chip--on{border-color:var(--lm-chip)}.lm-chip-dot{background:var(--lm-chip);border-radius:50%;width:8px;height:8px}.lm-chip-count{color:var(--jf-text-secondary);font-variant-numeric:tabular-nums;font-weight:700}.lm-chip--on .lm-chip-count{color:var(--jf-text)}.lm-split{border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);grid-template-columns:var(--lm-list,360px) 10px minmax(0, 1fr);height:max(520px,100vh - 260px);display:grid;overflow:hidden}.lm-list{background:var(--jf-surface);flex-direction:column;min-width:0;min-height:0;display:flex}.lm-list-head{border-bottom:1px solid var(--jf-border);justify-content:space-between;align-items:baseline;padding:10px 14px;display:flex}.lm-list-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:8px;overflow-y:auto}.lm-list-foot{border-top:1px solid var(--jf-border);justify-content:center;padding:8px;display:flex}.lm-hero{border:1px solid #0000;border-left:3px solid var(--lm-state);border-radius:var(--jf-radius-md);cursor:pointer;gap:10px;margin-bottom:6px;padding:10px 10px 10px 9px;transition:background .15s,border-color .15s;display:flex}.lm-hero:hover{background:var(--jf-surface-muted)}.lm-hero:focus-visible{outline:2px solid var(--jf-primary);outline-offset:1px}.lm-hero--on{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.lm-hero--on{background:color-mix(in srgb, var(--jf-primary) 14%, var(--jf-surface))}}.lm-hero--on{border-color:var(--jf-primary);border-left-color:var(--lm-state)}.lm-avatar{background:var(--lm-state);align-items:center}@supports (color:color-mix(in lab, red, red)){.lm-avatar{background:color-mix(in srgb, var(--lm-state) 22%, var(--jf-surface))}}.lm-avatar{border:2px solid var(--lm-state);color:var(--jf-text);border-radius:50%;flex-shrink:0;justify-content:center;width:36px;height:36px;font-size:14px;font-weight:700;display:inline-flex}.lm-hero-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lm-hero-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.lm-hero-name{color:var(--jf-text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.lm-pill{background:var(--lm-state)}@supports (color:color-mix(in lab, red, red)){.lm-pill{background:color-mix(in srgb, var(--lm-state) 18%, transparent)}}.lm-pill{color:var(--lm-state);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.lm-hero-sub,.lm-hero-meta{color:var(--jf-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.lm-hero-booking{color:var(--jf-text);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11.5px;display:flex}.lm-hero-route{color:var(--jf-success);font-size:11.5px}.lm-divider{background:var(--jf-border);cursor:col-resize;touch-action:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.lm-divider:hover,.lm-divider:focus-visible,.lm-resizing .lm-divider{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.lm-divider:hover,.lm-divider:focus-visible,.lm-resizing .lm-divider{background:color-mix(in srgb, var(--jf-primary) 45%, var(--jf-border))}}.lm-divider:hover,.lm-divider:focus-visible,.lm-resizing .lm-divider{outline:none}.lm-divider-grip{background:var(--jf-text-muted);border-radius:2px;width:3px;height:36px}.lm-resizing,.lm-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.lm-map{background:var(--jf-surface-muted);min-width:0;min-height:0;position:relative}.lm-selected{box-shadow:var(--jf-shadow-raised);z-index:2;width:340px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);position:absolute;top:16px;right:16px;overflow-y:auto}@media (max-width:900px){.lm-split{grid-template-rows:360px 460px;grid-template-columns:minmax(0,1fr);height:auto}.lm-divider{display:none}}.cge{flex-direction:column;gap:16px;min-height:100%;display:flex}.cge-header{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);box-shadow:var(--jf-shadow-card);z-index:5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.cge-header-title{align-items:center;gap:8px;min-width:0;display:flex}.cge-title{color:var(--jf-text);font-size:18px;font-weight:700;line-height:1.25}.cge-subtitle{color:var(--jf-text-secondary);font-size:12.5px}.cge-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cge-summary{margin-right:4px;font-size:12.5px}.cge-body{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:960px){.cge-body{grid-template-columns:minmax(0,1fr)}}.cge-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:84px}@media (max-width:960px){.cge-side{position:static}}.cge-card{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);box-shadow:var(--jf-shadow-card);flex-direction:column;gap:10px;padding:16px;display:flex}.cge-card-title{color:var(--jf-text);font-size:14px;font-weight:700}.cge-card-title-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cge-count{font-size:12.5px}.cge-card-hint{color:var(--jf-text-secondary);font-size:12px;line-height:1.45}.cge-link{color:var(--dashboard-brand);text-underline-offset:2px;text-decoration:underline}.cge-shifts{flex-direction:column;gap:8px;display:flex}.cge-shift{background:var(--jf-surface);border:1.5px solid var(--jf-border);border-radius:var(--jf-radius-md);color:var(--jf-text);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.cge-shift:hover{border-color:var(--jf-primary)}.cge-shift:focus-visible{outline:2px solid var(--jf-primary);outline-offset:2px}.cge-shift--on{background:var(--jf-primary-soft);border-color:var(--jf-primary)}.cge-shift-check{border:1.5px solid var(--jf-border);color:var(--jf-on-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.cge-shift--on .cge-shift-check{background:var(--jf-primary);border-color:var(--jf-primary)}.cge-shift-text{flex-direction:column;flex:1;min-width:0;display:flex}.cge-shift-name{font-size:13.5px;font-weight:600}.cge-shift-time{color:var(--jf-text-secondary);font-size:12px}.cge-services{gap:0;padding:0}.cge-services-head{border-bottom:1px solid var(--jf-border);flex-direction:column;gap:10px;padding:16px;display:flex}.cge-services-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cge-search{flex:240px;max-width:360px}.cge-services-scroll{overscroll-behavior:contain;max-height:max(360px,100vh - 300px);overflow-y:auto}.cge-empty{padding:48px 0}.cge-section+.cge-section{border-top:1px solid var(--jf-border)}.cge-section-head{background:var(--jf-surface-muted);z-index:1;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.cge-section-name{color:var(--jf-text);font-weight:600}.cge-section-count{color:var(--jf-text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.cge-items{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;padding:12px 16px 14px;display:grid}.cge-item{border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.cge-item:hover{border-color:var(--jf-primary)}.cge-item--on{background:var(--jf-primary-soft);border-color:var(--jf-primary)}.cge-item-name{color:var(--jf-text);flex:1;min-width:0;font-size:13px;line-height:1.35}.cge-item-crew{color:var(--jf-text-secondary);flex-shrink:0;font-size:12px}.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-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}.ant-modal-root .ant-modal-wrap:has(.jf-fullscreen-modal){width:100vw;height:100vh;top:0;left:0}.ant-modal-root .ant-modal.jf-fullscreen-modal .ant-modal-body{padding-bottom:24px}.ant-modal-root .ant-modal.jf-fullscreen-modal .jf-hub-map{height:clamp(320px,52vh,720px)!important}.ant-modal-root .ant-modal.jf-fullscreen-modal .ant-modal-body>*{max-width:1640px}.jf-fullscreen-modal .jf-hub-editor{grid-template-columns:minmax(0,1fr) minmax(420px,44%);align-items:start;gap:24px;display:grid}.jf-fullscreen-modal .jf-hub-editor>.ant-form-vertical{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:10px 18px;display:grid}.jf-fullscreen-modal .jf-hub-editor>.ant-form-vertical>.ant-form-item{min-width:0;margin-bottom:8px}.jf-fullscreen-modal .jf-hub-editor-map{position:sticky;top:0}.jf-fullscreen-modal .jf-hub-editor-map .jf-hub-map{height:clamp(360px,68vh,900px)!important}@media (max-width:1100px){.jf-fullscreen-modal .jf-hub-editor{grid-template-columns:1fr}.jf-fullscreen-modal .jf-hub-editor-map{position:static}.jf-fullscreen-modal .jf-hub-editor-map .jf-hub-map{height:340px!important}}.jf-fullscreen-modal .ant-modal-body{overflow:hidden}.jf-fullscreen-modal .jf-hub-editor{height:100%;min-height:0}.jf-fullscreen-modal .jf-hub-editor>.ant-form-vertical{scrollbar-width:thin;scrollbar-color:var(--jf-scroll-thumb) var(--jf-scroll-track);align-content:start;min-height:0;max-height:100%;padding-right:10px;overflow-y:auto}@media (max-width:1100px){.jf-fullscreen-modal .ant-modal-body{overflow-y:auto}.jf-fullscreen-modal .jf-hub-editor,.jf-fullscreen-modal .jf-hub-editor>.ant-form-vertical{height:auto;max-height:none;padding-right:0;overflow:visible}}.cge-shift-count{color:var(--jf-text-secondary);flex-shrink:0;font-size:11.5px}.cge-shift-count--empty{color:var(--jf-warning)}.cge-services-time{color:var(--jf-text-secondary);font-size:13px;font-weight:400}.cge-services-empty{text-align:center;place-items:center;min-height:320px;padding:24px;display:grid}.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,max(380px, calc(100vh - 252px)));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,max(380px, calc(100vh - 252px)));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-kpi-top-link{color:inherit;border-radius:var(--jf-radius-md,8px);display:block}.jf-kpi-top-link:hover .jf-kpi-value,.jf-kpi-top-link:hover .jf-kpi-title{color:var(--kpi-color)}.jf-breakdown-link{color:inherit;border-radius:8px;margin:-4px -8px;padding:4px 8px;transition:background-color .15s}.jf-breakdown-link:hover{color:inherit;background:var(--kpi-color)}@supports (color:color-mix(in lab, red, red)){.jf-breakdown-link:hover{background:color-mix(in srgb, var(--kpi-color) 12%, transparent)}}.jf-kpi-top-link:focus-visible,.jf-breakdown-link:focus-visible{outline:2px solid var(--jf-primary);outline-offset:2px}.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}}.hx-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;line-height:20px;display:inline-flex}.hx-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.hx-avatar{flex-shrink:0;display:inline-flex;position:relative}.hx-online{border:2px solid var(--jf-surface);background:#22c55e;border-radius:50%;width:11px;height:11px;position:absolute;bottom:0;right:0}.hx-kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.hx-kpi{border-radius:var(--jf-radius-lg,14px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);cursor:pointer;text-align:left;font:inherit;color:inherit;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.hx-kpi:hover{box-shadow:var(--jf-shadow-card);transform:translateY(-1px)}.hx-kpi--active{border-color:var(--hx-accent);box-shadow:0 0 0 1px var(--hx-accent)}.hx-kpi-icon{width:38px;height:38px;color:var(--hx-accent);background:var(--hx-accent);border-radius:11px;place-items:center;font-size:17px;display:grid}@supports (color:color-mix(in lab, red, red)){.hx-kpi-icon{background:color-mix(in srgb, var(--hx-accent) 14%, transparent)}}.hx-kpi-icon{flex-shrink:0}.hx-kpi-label{color:var(--jf-text-secondary);font-size:12px}.hx-kpi-value{color:var(--jf-text);font-size:22px;font-weight:700;line-height:1.15}.hx-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.hx-toolbar-filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.hx-person{align-items:center;gap:12px;min-width:0;display:flex}.hx-person-name{color:var(--jf-text);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:600;overflow:hidden}.hx-person-sub{color:var(--jf-text-secondary);white-space:nowrap;font-size:12px}.hx-chips{flex-wrap:wrap;gap:4px;display:flex}.hx-chip{background:var(--jf-surface-muted);border:1px solid var(--jf-border-subtle);color:var(--jf-text-secondary);white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:11.5px;display:inline-block}.hx-drawer .ant-drawer-body{background:var(--jf-canvas,var(--jf-surface));padding:0}.hx-hero-head{background:radial-gradient(120% 140% at 0% 0%, var(--jf-primary) 0%, transparent 55%), var(--jf-surface);align-items:center;gap:18px;padding:22px 24px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.hx-hero-head{background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--jf-primary) 16%, transparent) 0%, transparent 55%), var(--jf-surface)}}.hx-hero-head{border-bottom:1px solid var(--jf-border-subtle);flex-wrap:wrap}.hx-hero-name{color:var(--jf-text);font-size:20px;font-weight:700;line-height:1.2}.hx-hero-meta{color:var(--jf-text-secondary);flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12.5px;display:flex}.hx-hero-meta span{align-items:center;gap:5px;display:inline-flex}.hx-hero-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.hx-body{padding:18px 24px 28px}.hx-readiness{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px;display:grid}.hx-ready-item{border:1px solid var(--jf-border-subtle);background:var(--jf-surface);cursor:pointer;font:inherit;color:inherit;text-align:left;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.hx-ready-item:hover{border-color:var(--jf-border)}.hx-ready-icon{border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.hx-ready-icon--ok{color:#16a34a;background:#16a34a24}.hx-ready-icon--todo{color:#d97706;background:#d9770624}.hx-ready-title{color:var(--jf-text);font-size:12.5px;font-weight:600}.hx-ready-sub{color:var(--jf-text-secondary);font-size:11.5px}.hx-tabs .ant-tabs-nav{margin-bottom:16px}.hx-section{background:var(--jf-surface);border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);margin-bottom:14px;padding:16px 18px}.hx-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.hx-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--jf-text-secondary);font-size:12px;font-weight:700}.hx-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;display:grid}.hx-field--wide{grid-column:1/-1}.hx-label{color:var(--jf-text-muted,var(--jf-text-secondary));margin-bottom:2px;font-size:11.5px}.hx-value{color:var(--jf-text);word-break:break-word;font-size:13.5px}.hx-empty{color:var(--jf-text-muted,var(--jf-text-secondary));font-style:italic}.hx-doc-summary{align-items:center;gap:14px;margin-bottom:14px;display:flex}.hx-docs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.hx-doc{background:var(--jf-surface);border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);flex-direction:column;display:flex;overflow:hidden}.hx-doc-head{border-bottom:1px solid var(--jf-border-subtle);align-items:center;gap:10px;padding:12px 14px;display:flex}.hx-doc-icon{width:32px;height:32px;color:var(--jf-primary-text,var(--jf-primary));background:var(--jf-primary-soft);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.hx-doc-title{color:var(--jf-text);font-size:13.5px;font-weight:600}.hx-doc-sub{color:var(--jf-text-secondary);font-size:11.5px}.hx-doc-photos{flex-wrap:wrap;gap:12px;padding:14px;display:flex}.hx-doc-side{flex-direction:column;gap:6px;display:flex}.hx-doc-side-label{letter-spacing:.05em;text-transform:uppercase;color:var(--jf-text-muted,var(--jf-text-secondary));font-size:11px;font-weight:600}.hx-doc-details{border-top:1px dashed var(--jf-border-subtle);grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:auto;padding:12px 14px;display:grid}.hx-skills{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (max-width:760px){.hx-skills{grid-template-columns:minmax(0,1fr)}}.hx-skill-groups{background:var(--jf-surface);border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);max-height:60vh;padding:6px;position:sticky;top:0;overflow-y:auto}.hx-skill-group{width:100%;color:var(--jf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:13px;display:flex}.hx-skill-group:hover{background:var(--jf-surface-muted)}.hx-skill-group--on{background:var(--jf-primary-soft);color:var(--jf-primary-text,var(--jf-primary));font-weight:600}.hx-skill-count{background:var(--jf-surface-muted);color:var(--jf-text-secondary);border-radius:999px;padding:0 7px;font-size:11px;line-height:18px}.hx-skill-count--full{color:#16a34a;background:#16a34a29}.hx-skill-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.hx-skill{border:1px solid var(--jf-border-subtle);background:var(--jf-surface);cursor:pointer;font:inherit;color:var(--jf-text);text-align:left;border-radius:11px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.hx-skill:hover{border-color:var(--jf-border)}.hx-skill--on{border-color:var(--jf-primary);background:var(--jf-primary-soft)}.hx-skill-check{border:1.5px solid var(--jf-border);color:#0000;background:var(--jf-surface);border-radius:6px;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.hx-skill--on .hx-skill-check{background:var(--jf-primary);border-color:var(--jf-primary);color:var(--jf-on-primary,#fff)}.hx-skill-name{flex:1;min-width:0;font-size:13px;line-height:1.3}.hx-savebar{border:1px solid var(--jf-border);background:var(--jf-surface-raised,var(--jf-surface));box-shadow:var(--jf-shadow-raised);z-index:2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex;position:sticky;bottom:0}.cp-root{flex-direction:column;gap:14px;display:flex}.cp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cp-header-left,.cp-header-right,.cp-week{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cp-kpis{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.cp-kpi{border-radius:var(--jf-radius-lg,14px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.cp-kpi-icon{width:38px;height:38px;color:var(--cp-accent);background:var(--cp-accent);border-radius:11px;place-items:center;font-size:17px;display:grid}@supports (color:color-mix(in lab, red, red)){.cp-kpi-icon{background:color-mix(in srgb, var(--cp-accent) 14%, transparent)}}.cp-kpi-icon{flex-shrink:0}.cp-kpi-label{color:var(--jf-text-secondary);font-size:12px}.cp-kpi-value{color:var(--jf-text);font-size:22px;font-weight:700;line-height:1.15}.cp-kpi-of{color:var(--jf-text-secondary);font-size:12.5px;font-weight:500}.cp-empty{border-radius:var(--jf-radius-lg,14px);border:1px dashed var(--jf-border);background:var(--jf-surface);color:var(--jf-text-secondary);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 20px;display:flex}.cp-grid-wrap{border-radius:var(--jf-radius-lg,14px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);min-height:260px;max-height:calc(100vh - 330px);overflow:auto}.cp-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:960px}.cp-th{z-index:3;background:var(--jf-surface-muted);border-bottom:1px solid var(--jf-border-subtle);text-align:center;min-width:88px;padding:10px 6px;font-weight:600;position:sticky;top:0}.cp-th--first{z-index:4;text-align:left;letter-spacing:.04em;text-transform:uppercase;min-width:250px;color:var(--jf-text-secondary);padding-left:16px;font-size:12px;left:0}.cp-th-day{text-transform:uppercase;letter-spacing:.06em;color:var(--jf-text-secondary);font-size:11.5px}.cp-th-date{color:var(--jf-text);font-size:13.5px}.cp-th--today{background:var(--jf-primary-soft)}.cp-th--today .cp-th-day,.cp-th--today .cp-th-date{color:var(--jf-primary-text,var(--jf-primary))}.cp-th--past .cp-th-date{color:var(--jf-text-muted,var(--jf-text-secondary))}.cp-th--total,.cp-td--total{min-width:72px;color:var(--jf-text);background:var(--jf-surface-muted);font-weight:700}.cp-group-row td{border-top:1px solid var(--jf-border-subtle);padding:14px 16px 8px}.cp-group-row:first-child td{border-top:0}.cp-group{justify-content:space-between;align-items:flex-start;gap:10px;max-width:calc(100vw - 420px);display:flex;position:sticky;left:16px}.cp-group-name{color:var(--jf-text);font-size:15px;font-weight:700}.cp-group-services{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.cp-chip{background:var(--jf-surface-muted);border:1px solid var(--jf-border-subtle);color:var(--jf-text-secondary);border-radius:6px;padding:1px 8px;font-size:11.5px;display:inline-block}.cp-warn{color:#d97706;font-size:12px}.cp-shift-row td{border-bottom:1px solid var(--jf-border-subtle);text-align:center;padding:4px}.cp-td-first{z-index:2;background:var(--jf-surface);position:sticky;left:0;text-align:left!important;padding:6px 8px 6px 16px!important}.cp-td--today{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.cp-td--today{background:color-mix(in srgb, var(--jf-primary) 5%, transparent)}}.cp-shift{align-items:center;gap:10px;display:flex}.cp-shift-bar{border-radius:4px;flex-shrink:0;align-self:stretch;width:4px;min-height:32px}.cp-shift-name{color:var(--jf-text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.cp-shift-time{color:var(--jf-text-secondary);font-size:11.5px}.cp-global{color:var(--jf-text-muted,var(--jf-text-secondary));font-size:12px}.cp-fill-btn{color:var(--jf-text-secondary)}.cp-cell{cursor:pointer;width:100%;min-height:46px;font:inherit;color:var(--jf-text);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:baseline;gap:3px;padding:10px 4px;transition:background .12s,border-color .12s;display:flex}.cp-cell:hover:not(:disabled){border-color:var(--jf-primary);background:var(--jf-primary-soft)}.cp-cell:disabled{cursor:default}.cp-cell-num{font-size:17px;font-weight:700}.cp-cell-of{color:var(--jf-text-secondary);font-size:11.5px}.cp-cell-dash{color:var(--jf-text-muted,var(--jf-text-secondary))}.cp-cell-add{color:var(--jf-text-muted,var(--jf-text-secondary));opacity:.55;font-size:13px}.cp-cell--plan{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.cp-cell--plan{background:color-mix(in srgb, var(--jf-primary) 7%, transparent)}}.cp-cell--gap{background:#dc26260d;border:1px dashed #dc262673}.cp-cell--gap:hover .cp-cell-add{opacity:1;color:var(--jf-primary)}.cp-cell--ok{background:#16a34a24;border-color:#16a34a73}.cp-cell--short{background:#d9770624;border-color:#d9770673}.cp-cell--none{background:#dc262624;border-color:#dc262673}.cp-cell--past{opacity:.85}.cp-cell--saving{opacity:.5}.cp-cell--editing{cursor:default;padding:6px}.cp-cell-input{width:64px!important}.cp-cell-input input{text-align:center;font-weight:700}.cp-total-row td{z-index:2;background:var(--jf-surface-muted);border-top:1px solid var(--jf-border);text-align:center;color:var(--jf-text);padding:10px 6px;font-weight:700;position:sticky;bottom:0}.cp-total-row .cp-td-first{z-index:3;background:var(--jf-surface-muted);letter-spacing:.04em;text-transform:uppercase;color:var(--jf-text-secondary);font-size:12px}.cp-legend{color:var(--jf-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.cp-legend span{align-items:center;gap:6px;display:inline-flex}.cp-swatch{border:1px solid #0000;border-radius:4px;width:14px;height:14px;display:inline-block}.cp-swatch--plan{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.cp-swatch--plan{background:color-mix(in srgb, var(--jf-primary) 18%, transparent)}}.cp-swatch--gap{border:1px dashed #dc2626}.cp-swatch--ok{background:#16a34a4d}.cp-swatch--short{background:#d977064d}.cp-swatch--none{background:#dc26264d}.cp-chip--sells{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:140px;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px;display:inline-block;overflow:hidden}.cp-zone-row .cp-td-first{padding-left:28px}.cp-zone{color:var(--jf-primary);align-items:flex-start;gap:8px;display:flex}.cp-zone-name{color:var(--jf-text);font-size:12.5px;font-weight:600}.cp-zone-row td{background:var(--jf-primary)}@supports (color:color-mix(in lab, red, red)){.cp-zone-row td{background:color-mix(in srgb, var(--jf-primary) 3%, transparent)}}.cp-zone-all{opacity:.75}.ws-root{flex-direction:column;gap:16px;display:flex}.ws-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ws-toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ws-kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.ws-kpi{border-radius:var(--jf-radius-lg,14px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);align-items:center;gap:12px;padding:12px 14px;display:flex}.ws-kpi-icon{width:36px;height:36px;color:var(--ws-accent);background:var(--ws-accent);border-radius:10px;place-items:center;font-size:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.ws-kpi-icon{background:color-mix(in srgb, var(--ws-accent) 14%, transparent)}}.ws-kpi-icon{flex-shrink:0}.ws-kpi-label{color:var(--jf-text-secondary);font-size:12px}.ws-kpi-value{color:var(--jf-text);font-size:20px;font-weight:700;line-height:1.2}.ws-section{flex-direction:column;gap:10px;display:flex}.ws-section-head{align-items:baseline;gap:8px;display:flex}.ws-section-title{color:var(--jf-text);font-size:15px;font-weight:600}.ws-section-hint{color:var(--jf-text-secondary);font-size:12px}.ws-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.ws-card{border-radius:var(--jf-radius-lg,14px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);flex-direction:column;gap:12px;padding:16px 16px 14px 20px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.ws-card:hover{border-color:var(--jf-border);box-shadow:var(--jf-shadow-card)}.ws-card:before{content:"";background:var(--ws-color);width:5px;position:absolute;inset:0 auto 0 0}.ws-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ws-card-name{color:var(--jf-text);word-break:break-word;font-size:15px;font-weight:600;line-height:1.3}.ws-card-where{color:var(--jf-text-secondary);margin-top:2px;font-size:12px}.ws-card-time{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ws-card-hours{color:var(--jf-text);letter-spacing:-.01em;font-size:22px;font-weight:700}.ws-card-duration{color:var(--jf-text-secondary);font-size:12px}.ws-chips{flex-wrap:wrap;gap:6px;display:flex}.ws-chip{color:var(--jf-text-secondary);background:var(--jf-surface-muted);border:1px solid var(--jf-border-subtle);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;line-height:20px;display:inline-flex}.ws-chip--good{color:var(--jf-success);background:var(--jf-success)}@supports (color:color-mix(in lab, red, red)){.ws-chip--good{background:color-mix(in srgb, var(--jf-success) 10%, transparent)}}.ws-chip--good{border-color:var(--jf-success)}@supports (color:color-mix(in lab, red, red)){.ws-chip--good{border-color:color-mix(in srgb, var(--jf-success) 25%, transparent)}}.ws-chip--accent{color:var(--jf-primary-text);background:var(--jf-primary-soft);border-color:#0000}.ws-card-foot{border-top:1px solid var(--jf-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.ws-people-link{cursor:pointer;color:var(--jf-text-secondary);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:12px;display:inline-flex}.ws-people-link:hover{color:var(--jf-text)}.ws-audience{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-flex}.ws-audience--HERO{color:var(--jf-purple-700);background:var(--jf-purple-50)}.ws-audience--STAFF{color:var(--jf-blue-600);background:var(--jf-blue-100)}.ws-empty{border-radius:var(--jf-radius-lg,14px);border:1px dashed var(--jf-border);background:var(--jf-surface);text-align:center;padding:40px 16px}.ws-pick{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:8px;display:grid}.ws-pick-option{text-align:left;border-radius:var(--jf-radius-lg,14px);border:1.5px solid var(--jf-border-subtle);background:var(--jf-surface);color:var(--jf-text);cursor:pointer;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.ws-pick-option:hover,.ws-pick-option:focus-visible{border-color:var(--ws-accent);box-shadow:0 0 0 3px var(--ws-accent)}@supports (color:color-mix(in lab, red, red)){.ws-pick-option:hover,.ws-pick-option:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ws-accent) 15%, transparent)}}.ws-pick-option:hover,.ws-pick-option:focus-visible{outline:none;transform:translateY(-1px)}.ws-pick-icon{width:42px;height:42px;color:var(--ws-accent);background:var(--ws-accent);border-radius:12px;place-items:center;font-size:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.ws-pick-icon{background:color-mix(in srgb, var(--ws-accent) 14%, transparent)}}.ws-pick-title{font-size:16px;font-weight:600}.ws-pick-desc{color:var(--jf-text-secondary);font-size:13px;line-height:1.5}.ws-pick-list{color:var(--jf-text-secondary);margin:0;padding-left:18px;font-size:12px;line-height:1.7}.ws-form-section{border-radius:var(--jf-radius-md,10px);border:1px solid var(--jf-border-subtle);background:var(--jf-surface);margin-bottom:14px;padding:16px}.ws-form-section-title{color:var(--jf-text);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.ws-form-section .ant-form-item:last-child{margin-bottom:0}.ws-presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ws-preset{border:1px solid var(--jf-border-subtle);background:var(--jf-surface-muted);color:var(--jf-text-secondary);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12px}.ws-preset:hover{color:var(--jf-text);border-color:var(--jf-border)}.ws-preset--active{color:var(--jf-primary-text);background:var(--jf-primary-soft);border-color:#0000}.ws-duration-note{color:var(--jf-text-secondary);font-size:12px}.ws-swatches{flex-wrap:wrap;gap:8px;display:flex}.ws-swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;box-shadow:inset 0 0 0 1px #00000014}.ws-swatch--active{border-color:var(--jf-text)}.ws-switch-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ws-switch-title{color:var(--jf-text);font-size:13px;font-weight:500}.ws-switch-desc{color:var(--jf-text-secondary);margin-top:2px;font-size:12px}.ws-editor{flex-direction:column;gap:14px;width:100%;max-width:820px;margin:0 auto;display:flex}.ws-editor-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ws-editor-title{color:var(--jf-text);word-break:break-word;font-size:17px;font-weight:600}.ws-editor .ws-form-section{background:var(--jf-surface)}.ws-editor-foot{z-index:2;border-top:1px solid var(--jf-border-subtle);background:var(--jf-surface);justify-content:flex-end;gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.st-page{flex-direction:column;gap:20px;display:flex}.st-page-head h1{color:var(--jf-text);margin:0;font-size:22px;font-weight:700}.st-page-head p{max-width:760px;color:var(--jf-text-secondary);margin:4px 0 0;font-size:13.5px}.st-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;display:grid}.st-nav{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);background:var(--jf-surface);flex-direction:column;gap:4px;padding:8px;display:flex;position:sticky;top:16px}.st-nav-item{width:100%;color:var(--jf-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.st-nav-item:hover{background:var(--jf-surface-muted)}.st-nav-item.is-active{background:var(--jf-primary-soft)}.st-nav-item:focus-visible{outline:2px solid var(--jf-primary);outline-offset:1px}.st-nav-icon{width:32px;height:32px;color:var(--jf-text-secondary);background:var(--jf-surface-muted);border-radius:9px;flex-shrink:0;place-items:center;font-size:15px;display:grid}.st-nav-item.is-active .st-nav-icon{color:var(--jf-on-primary);background:var(--jf-primary)}.st-nav-text{flex-direction:column;min-width:0;display:flex}.st-nav-title{font-size:14px;font-weight:600;line-height:1.3}.st-nav-item.is-active .st-nav-title{color:var(--jf-primary-text,var(--jf-primary))}.st-nav-desc{color:var(--jf-text-muted,var(--jf-text-secondary));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.st-panel{flex-direction:column;gap:16px;min-width:0;display:flex}.st-panel-head{align-items:flex-start;gap:14px;display:flex}.st-panel-icon{width:42px;height:42px;color:var(--jf-primary);background:var(--jf-primary-soft);border-radius:12px;flex-shrink:0;place-items:center;font-size:19px;display:grid}.st-panel-title{color:var(--jf-text);margin:0;font-size:18px;font-weight:700}.st-panel-desc{max-width:820px;color:var(--jf-text-secondary);margin:4px 0 0;font-size:13px}.st-group{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);background:var(--jf-surface);overflow:hidden}.st-group+.st-group{margin-top:16px}.st-group-head{border-bottom:1px solid var(--jf-border-subtle);background:var(--jf-surface-muted);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.st-group-title{color:var(--jf-text);font-size:14px;font-weight:700}.st-group-desc{color:var(--jf-text-secondary);margin-top:2px;font-size:12.5px}.st-group-body{padding:4px 20px}.st-group-body.is-padded{padding:16px 20px}.st-row{border-bottom:1px solid var(--jf-border-subtle);align-items:flex-start;gap:24px;padding:16px 0;display:flex}.st-row:last-child{border-bottom:0}.st-row-info{flex:280px;min-width:0}.st-row-label{color:var(--jf-text);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.st-row-label .ant-tag{margin-inline-end:0;font-size:11px;line-height:18px}.st-row-desc{max-width:620px;color:var(--jf-text-secondary);margin-top:4px;font-size:12.5px;line-height:1.5}.st-row-control{flex:0 340px;justify-content:flex-end;min-width:220px;display:flex}.st-row-control>*{width:100%}.st-row.is-switch .st-row-control>*{width:auto}.st-row.is-stacked{flex-direction:column;gap:12px}.st-row.is-stacked .st-row-control{flex:auto;justify-content:stretch;width:100%;min-width:0}.st-subnav .ant-tabs-nav{margin-bottom:16px}.st-savebar{z-index:5;border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);background:var(--jf-surface-raised,var(--jf-surface));box-shadow:var(--jf-shadow-raised,0 -4px 16px #00000014);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:12px 16px;display:flex;position:sticky;bottom:0}.st-savebar-state{color:var(--jf-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.st-savebar-dot{background:var(--jf-success,#16a34a);border-radius:999px;width:8px;height:8px}.st-savebar.is-dirty .st-savebar-dot{background:var(--jf-warning,#d97706)}.st-savebar.is-dirty .st-savebar-state{color:var(--jf-text);font-weight:600}@media (max-width:960px){.st-layout{grid-template-columns:minmax(0,1fr)}.st-nav{flex-direction:row;position:static;overflow-x:auto}.st-nav-item{flex-shrink:0;align-items:center;width:auto}.st-nav-desc{display:none}.st-row{flex-direction:column;gap:10px}.st-row-control{flex:auto;justify-content:flex-start;width:100%;min-width:0}}.st-panel .ant-card{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);box-shadow:none;overflow:hidden;background:var(--jf-surface)!important}.st-panel .ant-card+.ant-card{margin-top:16px}.st-panel .ant-card .ant-card-head{border-bottom:1px solid var(--jf-border-subtle);background:var(--jf-surface-muted);min-height:48px;padding:0 20px}.st-panel .ant-card .ant-card-head-title{font-size:14px;font-weight:700}.st-panel .ant-card .ant-card-body{padding:18px 20px}.st-panel .ant-card .ant-card-body:has(>.st-rows:only-child){padding-block:4px}.st-panel .ant-alert{border-radius:10px}.st-panel .ant-form-item-label>label{font-weight:600}.st-panel .ant-form-item-extra{font-size:12.5px;line-height:1.5}.st-panel .ant-tabs-nav:before{border-bottom-color:var(--jf-border-subtle)}.st-panel .ant-tabs-tab{font-weight:600}.nb-drawer .ant-drawer-body{background:var(--jf-canvas);padding:0}.nb-drawer .ant-drawer-footer{border-top:1px solid var(--jf-border-subtle);background:var(--jf-surface);padding:12px 24px}.nb-title{flex-direction:column;line-height:1.25;display:flex}.nb-title-main{font-size:17px;font-weight:700}.nb-title-sub{color:var(--jf-text-secondary);font-size:12.5px;font-weight:400}.nb-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;padding:20px 24px 28px;display:grid}.nb-layout.is-narrow{grid-template-columns:minmax(0,1fr);padding:16px}.nb-steps{flex-direction:column;gap:16px;min-width:0;display:flex}.nb-section{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);background:var(--jf-surface)}.nb-section-head{border-bottom:1px solid var(--jf-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.nb-section-heading{align-items:center;gap:12px;min-width:0;display:flex}.nb-step-no{width:28px;height:28px;color:var(--jf-primary);background:var(--jf-primary-soft);border-radius:999px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.nb-section.is-done .nb-step-no{color:var(--jf-on-primary);background:var(--jf-success,#16a34a)}.nb-section-title{color:var(--jf-text);font-size:15px;font-weight:700}.nb-section-hint{color:var(--jf-text-secondary);font-size:12px}.nb-section-body{padding:16px 18px 4px}.nb-section-body .ant-form-item-label>label{font-size:13px;font-weight:600}.nb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.nb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;display:grid}.nb-layout.is-narrow .nb-grid-2,.nb-layout.is-narrow .nb-grid-3{grid-template-columns:minmax(0,1fr)}.nb-customer-chip{border:1px solid var(--jf-border-subtle);background:var(--jf-primary-soft);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.nb-line{border:1px solid var(--jf-border-subtle);background:var(--jf-surface-muted);border-radius:12px;margin-bottom:10px;padding:12px}.nb-line-main{grid-template-columns:minmax(0,2.2fr) 90px minmax(0,1fr) 32px;align-items:center;gap:8px;display:grid}.nb-layout.is-narrow .nb-line-main{grid-template-columns:minmax(0,1fr) 80px 110px 32px}.nb-line-labels{text-transform:uppercase;letter-spacing:.04em;color:var(--jf-text-muted,var(--jf-text-secondary));grid-template-columns:minmax(0,2.2fr) 90px minmax(0,1fr) 32px;gap:8px;margin-bottom:6px;padding:0 12px;font-size:11.5px;font-weight:600;display:grid}.nb-layout.is-narrow .nb-line-labels{grid-template-columns:minmax(0,1fr) 80px 110px 32px}.nb-line-extra{margin-top:8px}.nb-add-line{margin-bottom:16px}.nb-time-switch{margin-top:8px;margin-bottom:12px}.nb-summary{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg,14px);background:var(--jf-surface);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.nb-layout.is-narrow .nb-summary{position:static}.nb-summary-head{border-bottom:1px solid var(--jf-border-subtle);background:var(--jf-surface-muted);padding:14px 16px;font-size:14px;font-weight:700}.nb-summary-block{border-bottom:1px solid var(--jf-border-subtle);padding:12px 16px}.nb-summary-block:last-child{border-bottom:0}.nb-summary-label{text-transform:uppercase;letter-spacing:.04em;color:var(--jf-text-muted,var(--jf-text-secondary));margin-bottom:4px;font-size:11.5px;font-weight:600}.nb-summary-value{color:var(--jf-text);word-break:break-word;font-size:13.5px}.nb-summary-empty{color:var(--jf-text-muted,var(--jf-text-secondary));font-size:13px}.nb-money-row{justify-content:space-between;gap:8px;padding:3px 0;font-size:13px;display:flex}.nb-money-row span:first-child{color:var(--jf-text-secondary)}.nb-money-total{border-top:1px dashed var(--jf-border);justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:8px;font-weight:700;display:flex}.nb-money-total strong{color:var(--jf-text);font-size:20px}.nb-checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.nb-checklist li{color:var(--jf-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.nb-checklist li.is-done{color:var(--jf-text)}.nb-checklist .anticon{color:var(--jf-border);font-size:14px}.nb-checklist li.is-done .anticon{color:var(--jf-success,#16a34a)}.nb-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.nb-footer-total{color:var(--jf-text-secondary);font-size:13px}.nb-footer-total strong{color:var(--jf-text);margin-left:6px;font-size:16px}.tc-page{flex-direction:column;gap:4px;display:flex}.tc-head h1{color:var(--jf-text);margin:0;font-size:22px;font-weight:700}.tc-head p{max-width:760px;color:var(--jf-text-secondary);margin:4px 0 8px;font-size:13.5px}.tc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tc-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.tc-stat{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);box-shadow:var(--jf-shadow-card);padding:14px 16px}.tc-stat-value{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.tc-stat-label{color:var(--jf-text-secondary);margin-top:4px;font-size:12.5px}.tc-stat-success .tc-stat-value{color:var(--jf-success)}.tc-stat-warning .tc-stat-value{color:var(--jf-warning)}.tc-piles{flex-wrap:wrap;gap:6px;display:flex}.tc-pile{cursor:pointer;border:1px solid var(--jf-border);background:var(--jf-surface);color:var(--jf-text-secondary);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:inline-flex}.tc-pile:hover{border-color:var(--jf-primary);color:var(--jf-text)}.tc-pile.is-active{border-color:var(--jf-primary);background:var(--jf-primary-soft);color:var(--jf-primary-text)}.tc-pile-count{background:var(--jf-surface-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:22px;padding:0 6px;font-size:12px;font-weight:600}.tc-pile.is-active .tc-pile-count{background:var(--jf-primary-soft-strong)}.tc-work{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.tc-list,.tc-panel{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);box-shadow:var(--jf-shadow-card)}.tc-list{min-height:320px;max-height:calc(100vh - 290px);padding:6px;overflow-y:auto}.tc-panel{padding:20px 22px;position:sticky;top:12px}.tc-list-pager{justify-content:center;padding:10px 0 4px;display:flex}.tc-lead{cursor:pointer;text-align:left;border-radius:var(--jf-radius-md);width:100%;color:var(--jf-text);background:0 0;border:1px solid #0000;margin-bottom:2px;padding:10px 12px;transition:background .12s;display:block}.tc-lead:hover{background:var(--jf-surface-muted)}.tc-lead.is-active{border-color:var(--jf-primary);background:var(--jf-primary-soft)}.tc-lead-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tc-lead-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.tc-lead-sub{color:var(--jf-text-secondary);font-variant-numeric:tabular-nums;gap:10px;margin-top:2px;font-size:12.5px;display:flex}.tc-lead-hint{color:var(--jf-text-muted);margin-top:2px;font-size:12px}.tc-lead-hint.is-due{color:var(--jf-danger);font-weight:500}.tc-call-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tc-call-name{color:var(--jf-text);overflow-wrap:anywhere;font-size:20px;font-weight:700}.tc-call-sub{color:var(--jf-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.tc-call-sub span+span:before{content:"·";color:var(--jf-text-muted);margin-right:8px}.tc-dial{border-radius:var(--jf-radius-lg);background:var(--jf-surface-muted);border:1px solid var(--jf-border-subtle);margin:16px 0 6px;padding:16px}.tc-dial-number{letter-spacing:.5px;color:var(--jf-text);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:22px;font-weight:700;display:flex}.tc-dial-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tc-dial-meta{color:var(--jf-text-secondary);margin-top:10px;font-size:12.5px}.tc-section-label{letter-spacing:.4px;text-transform:uppercase;color:var(--jf-text-muted);margin:18px 0 8px;font-size:12px;font-weight:600}.tc-outcomes{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.tc-outcome{--tone:var(--jf-text-secondary);cursor:pointer;text-align:left;border:1px solid var(--jf-border);border-left:4px solid var(--tone);border-radius:var(--jf-radius-md);background:var(--jf-surface);color:var(--jf-text);padding:11px 12px;font-size:13.5px;font-weight:600;transition:all .12s}.tc-outcome:hover{border-color:var(--tone)}.tc-outcome.is-active{border-color:var(--tone);background:var(--tone)}@supports (color:color-mix(in lab, red, red)){.tc-outcome.is-active{background:color-mix(in srgb, var(--tone) 14%, var(--jf-surface))}}.tc-outcome.is-active{box-shadow:0 0 0 1px var(--tone) inset}.tc-tone-success{--tone:var(--jf-success)}.tc-tone-info{--tone:var(--jf-info)}.tc-tone-warning{--tone:var(--jf-warning)}.tc-tone-danger{--tone:var(--jf-danger)}.tc-tone-neutral{--tone:var(--jf-text-muted)}.tc-chips{flex-wrap:wrap;gap:6px;display:flex}.tc-chip{cursor:pointer;border:1px solid var(--jf-border);background:var(--jf-surface);color:var(--jf-text);border-radius:999px;padding:6px 12px;font-size:13px;transition:all .12s}.tc-chip:hover{border-color:var(--jf-primary)}.tc-chip.is-active{border-color:var(--jf-primary);background:var(--jf-primary);color:var(--jf-on-primary)}.tc-save{border-top:1px solid var(--jf-border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.tc-history-note{color:var(--jf-text);white-space:pre-wrap;margin-top:2px;font-size:13px}.tc-history-meta{color:var(--jf-text-muted);margin-top:2px;font-size:12px}.tc-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.tc-card{cursor:pointer;text-align:left;border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);box-shadow:var(--jf-shadow-card);color:var(--jf-text);flex-direction:column;gap:10px;padding:16px 18px;transition:box-shadow .15s,border-color .15s;display:flex}.tc-card:hover{border-color:var(--jf-primary);box-shadow:var(--jf-shadow-raised)}.tc-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tc-card-name{overflow-wrap:anywhere;font-size:15.5px;font-weight:700}.tc-card-meta{color:var(--jf-text-secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.tc-card-numbers{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tc-card-numbers>div{flex-direction:column;display:flex}.tc-card-numbers b{font-variant-numeric:tabular-nums;font-size:17px}.tc-card-numbers span{color:var(--jf-text-secondary);font-size:11.5px}.tc-good{color:var(--jf-success)}.tc-card-foot{align-items:center;min-height:24px;display:flex}.tc-empty{border:1px dashed var(--jf-border);border-radius:var(--jf-radius-lg);background:var(--jf-surface);padding:48px 0}.tc-drawer{flex-direction:column;gap:16px;display:flex}.tc-drawer-title,.tc-drawer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tc-notes{border-left:3px solid var(--jf-primary);border-radius:var(--jf-radius-sm);background:var(--jf-primary-soft);color:var(--jf-text);white-space:pre-wrap;padding:10px 14px;font-size:13.5px}.tc-two{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;display:grid}.tc-box{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);padding:14px 16px}.tc-box-title{color:var(--jf-text);margin-bottom:10px;font-size:14px;font-weight:600}.tc-box-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tc-bar{cursor:pointer;border-radius:var(--jf-radius-sm);width:100%;color:var(--jf-text);background:0 0;border:0;grid-template-columns:210px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:4px 6px;display:grid}.tc-bar:hover,.tc-bar.is-active{background:var(--jf-surface-muted)}.tc-bar-label{text-align:left;overflow:hidden}.tc-bar-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tc-step{flex-direction:column;gap:4px;display:flex}.tc-label{color:var(--jf-text);margin:12px 0 6px;font-size:13px;font-weight:600}.tc-grid-2,.tc-audience{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tc-audience-card{cursor:pointer;text-align:left;border:1.5px solid var(--jf-border);border-radius:var(--jf-radius-lg);background:var(--jf-surface);color:var(--jf-text);flex-direction:column;gap:6px;padding:16px;transition:all .15s;display:flex}.tc-audience-card:hover{border-color:var(--jf-primary)}.tc-audience-card.is-active{border-color:var(--jf-primary);background:var(--jf-primary-soft)}.tc-audience-icon{color:var(--jf-primary-text);font-size:22px}.tc-audience-title{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.tc-audience-check{color:var(--jf-primary)}.tc-audience-text{color:var(--jf-text-secondary);font-size:12.5px;line-height:1.5}.tc-wizard-footer{justify-content:space-between;display:flex}.tc-share{border-radius:var(--jf-radius-md);background:var(--jf-surface-muted);margin-top:12px;padding:12px 14px}.tc-review{border-top:1px solid var(--jf-border-subtle);grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;padding-top:14px;display:grid}.tc-review>div>div{color:var(--jf-text);overflow-wrap:anywhere;font-weight:600}.tc-import-summary{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-md);background:var(--jf-surface-muted);align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.tc-import-pills{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.tc-row-error>td{background:var(--jf-danger)!important}@supports (color:color-mix(in lab, red, red)){.tc-row-error>td{background:color-mix(in srgb, var(--jf-danger) 8%, transparent)!important}}@media (max-width:900px){.tc-work,.tc-two{grid-template-columns:1fr}.tc-panel{position:static}.tc-list{max-height:360px}.tc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.tc-audience,.tc-grid-2{grid-template-columns:1fr}.tc-review{grid-template-columns:1fr 1fr}.tc-bar{grid-template-columns:130px minmax(0,1fr) 36px}.tc-panel{padding:16px}}.tc-customer-count{border-radius:var(--jf-radius-md);background:var(--jf-primary-soft);color:var(--jf-primary-text);align-items:center;gap:8px;margin:16px 0 8px;padding:10px 14px;font-size:14px;display:flex}.tc-radio-help{color:var(--jf-text-secondary);white-space:normal;margin:2px 0 6px;font-size:12.5px}.tc-facts{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cc-page{flex-direction:column;gap:4px;display:flex}.cc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.cc-head h1{color:var(--jf-text);margin:0;font-size:22px;font-weight:700}.cc-head p{color:var(--jf-text-secondary);margin:4px 0 0;font-size:13.5px}.cc-search{width:320px;max-width:100%}.cc-states{gap:10px;margin-bottom:8px;padding-bottom:4px;display:flex;overflow-x:auto}.cc-state{cursor:pointer;text-align:left;border:1.5px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);min-width:170px;box-shadow:var(--jf-shadow-card);color:var(--jf-text);flex-direction:column;gap:2px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.cc-state:hover{border-color:var(--jf-primary)}.cc-state.is-active{border-color:var(--jf-primary);background:var(--jf-primary-soft)}.cc-state-name{color:var(--jf-text-secondary);white-space:nowrap;font-size:13px;font-weight:600}.cc-state.is-active .cc-state-name{color:var(--jf-primary-text)}.cc-state-total{color:var(--jf-warning);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.cc-state-sub{color:var(--jf-text-muted);white-space:nowrap;font-size:12px}.cc-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.cc-tiles.cc-tiles-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cc-tile{border:1px solid var(--jf-border-subtle);border-radius:var(--jf-radius-lg);background:var(--jf-surface);box-shadow:var(--jf-shadow-card);padding:14px 16px}.cc-tile-value{color:var(--jf-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.15}.cc-tile-label{color:var(--jf-text-secondary);margin-top:4px;font-size:12.5px}.cc-tile-warning .cc-tile-value{color:var(--jf-warning)}.cc-tile-success .cc-tile-value{color:var(--jf-success)}.cc-tile-danger .cc-tile-value{color:var(--jf-danger)}.cc-hero{align-items:center;gap:10px;display:flex}.cc-amount{color:var(--jf-warning);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.cc-cash{color:var(--jf-warning);font-variant-numeric:tabular-nums;font-weight:700}.cc-online{color:var(--jf-success);font-variant-numeric:tabular-nums;font-weight:700}.cc-summary-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.cc-modal-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}@media (max-width:900px){.cc-tiles,.cc-tiles.cc-tiles-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.cc-search{width:100%}.cc-state{min-width:150px}}[data-theme=light]{--neo-ink:#0b0a0f;--neo-ink-soft:#2b2833;--neo-border:2px;--neo-border-strong:3px;--neo-shadow-sm:2px 2px 0 var(--neo-ink);--neo-shadow:4px 4px 0 var(--neo-ink);--neo-shadow-lg:6px 6px 0 var(--neo-ink);--neo-radius:8px;--neo-radius-control:6px;--neo-accent:var(--jf-amber-400);--neo-accent-strong:var(--jf-amber-500);--jf-border:var(--neo-ink);--jf-shadow-card:var(--neo-shadow);--jf-shadow-raised:var(--neo-shadow-lg);--jf-scroll-thumb:var(--neo-ink);--jf-scroll-thumb-hover:var(--neo-ink-soft);--jf-scroll-track:#e6e2ee;--jf-pin-shadow:var(--neo-ink);--dashboard-brand-border:var(--neo-ink);--dashboard-table-header-border:var(--neo-ink)}[data-theme=light] .dashboard-sidebar{border-inline-end:var(--neo-border-strong) solid var(--neo-ink)}[data-theme=light] .dashboard-sidebar .ant-menu-item,[data-theme=light] .dashboard-sidebar .ant-menu-submenu-title{border:var(--neo-border) solid transparent;border-radius:var(--neo-radius-control);font-weight:600;transition:background .1s,box-shadow .1s,transform .1s}[data-theme=light] .dashboard-sidebar .ant-menu-item:hover,[data-theme=light] .dashboard-sidebar .ant-menu-submenu-title:hover,[data-theme=light] .dashboard-sidebar .ant-menu-item-selected{border-color:var(--neo-ink);box-shadow:var(--neo-shadow-sm)}[data-theme=light] .dashboard-sidebar .ant-menu-item-selected:before{display:none}[data-theme=light] .ant-card{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow)}[data-theme=light] .ant-card .ant-card-head{border-bottom:var(--neo-border) solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-card .ant-card{box-shadow:none;border-width:var(--neo-border)}[data-theme=light] .jf-panel,[data-theme=light] .jf-kpi,[data-theme=light] .jf-quick,[data-theme=light] .stat-card,[data-theme=light] .dashboard-compact-stat-card,[data-theme=light] .header-calendar-panel,[data-theme=light] .hero-skills-panel,[data-theme=light] .login-form-panel,[data-theme=light] .not-found-panel{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=light] .jf-panel-head{border-bottom:var(--neo-border) solid var(--neo-ink);margin-bottom:4px;padding-bottom:12px}[data-theme=light] .jf-panel-title,[data-theme=light] .jf-kpi-title,[data-theme=light] .jf-section-label{font-weight:700}[data-theme=light] .jf-kpi:hover,[data-theme=light] .jf-quick:hover,[data-theme=light] .stat-card:hover{box-shadow:var(--neo-shadow-lg);border-color:var(--neo-ink);transform:translate(-2px,-2px)}[data-theme=light] .jf-overview-hero{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow)}[data-theme=light] .dashboard-header{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:var(--neo-border-strong) solid var(--neo-ink);background:var(--jf-surface)!important}[data-theme=light] .dashboard-header-title,[data-theme=light] .dashboard-page h1,[data-theme=light] .dashboard-page h2,[data-theme=light] .dashboard-page h3,[data-theme=light] .dashboard-page .ant-typography h1,[data-theme=light] .dashboard-page .ant-typography h2,[data-theme=light] .dashboard-page .ant-typography h3{letter-spacing:-.01em;font-weight:800}[data-theme=light] .dashboard-user-trigger{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control)}[data-theme=light] .ant-table-wrapper .ant-table{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);overflow:hidden}[data-theme=light] .ant-card .ant-table-wrapper .ant-table,[data-theme=light] .jf-panel .ant-table-wrapper .ant-table,[data-theme=light] .ant-modal .ant-table-wrapper .ant-table,[data-theme=light] .ant-drawer .ant-table-wrapper .ant-table{box-shadow:none;border-width:var(--neo-border)}[data-theme=light] .ant-table-thead>tr>th{text-transform:uppercase;letter-spacing:.04em;font-weight:800;border-bottom:var(--neo-border-strong) solid var(--neo-ink)!important;color:var(--neo-ink)!important}[data-theme=light] .ant-table-tbody>tr>td{border-bottom:1px solid #d9d4e2}[data-theme=light] .ant-table-column-sorter-up.active,[data-theme=light] .ant-table-column-sorter-down.active{color:var(--jf-primary)}[data-theme=light] .ant-table-summary>tr>td{border-top:var(--neo-border) solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-table-placeholder>td{border-bottom:0}[data-theme=light] .ant-btn{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control);box-shadow:var(--neo-shadow-sm);font-weight:700;transition:transform 60ms,box-shadow 60ms,background .15s}[data-theme=light] .ant-btn:not(:disabled):hover{box-shadow:var(--neo-shadow);border-color:var(--neo-ink);transform:translate(-1px,-1px)}[data-theme=light] .ant-btn:not(:disabled):active{box-shadow:none;transform:translate(2px,2px)}[data-theme=light] .ant-btn:disabled{box-shadow:none;border-color:var(--jf-text-muted)}[data-theme=light] .ant-btn-variant-text,[data-theme=light] .ant-btn-variant-link,[data-theme=light] .ant-btn-text,[data-theme=light] .ant-btn-link{box-shadow:none;border-color:#0000}[data-theme=light] .ant-btn-variant-text:not(:disabled):hover,[data-theme=light] .ant-btn-variant-link:not(:disabled):hover,[data-theme=light] .ant-btn-text:not(:disabled):hover,[data-theme=light] .ant-btn-link:not(:disabled):hover{box-shadow:none;border-color:#0000;transform:none}[data-theme=light] .ant-btn-group .ant-btn,[data-theme=light] .ant-space-compact .ant-btn{box-shadow:none}[data-theme=light] .ant-btn-group .ant-btn:not(:disabled):hover,[data-theme=light] .ant-space-compact .ant-btn:not(:disabled):hover{box-shadow:none;transform:none}[data-theme=light] .ant-input,[data-theme=light] .ant-input-outlined,[data-theme=light] .ant-input-number,[data-theme=light] .ant-input-number-outlined,[data-theme=light] .ant-select-outlined,[data-theme=light] .ant-select,[data-theme=light] .ant-picker,[data-theme=light] .ant-picker-outlined,[data-theme=light] .ant-mentions,[data-theme=light] .ant-input-group-addon{box-shadow:none;border:var(--neo-border) solid var(--neo-ink)!important;border-radius:var(--neo-radius-control)!important}[data-theme=light] .ant-input-group-addon .ant-select,[data-theme=light] .ant-table-filter-dropdown .ant-select{border-width:0!important}[data-theme=light] .ant-input:focus,[data-theme=light] .ant-input-focused,[data-theme=light] .ant-input-number-focused,[data-theme=light] .ant-select-focused,[data-theme=light] .ant-picker-focused{box-shadow:3px 3px 0 var(--jf-primary)!important}[data-theme=light] .ant-input-status-error,[data-theme=light] .ant-select-status-error,[data-theme=light] .ant-picker-status-error,[data-theme=light] .ant-input-number-status-error{border-color:var(--jf-danger)!important;box-shadow:3px 3px 0 var(--jf-danger)!important}[data-theme=light] .ant-input-group>.ant-input:not(:last-child),[data-theme=light] .ant-input-group-addon:not(:last-child){border-inline-end-width:1px!important}[data-theme=light] .ant-form-item-label>label{font-weight:700}[data-theme=light] .ant-select-dropdown,[data-theme=light] .ant-picker-dropdown .ant-picker-panel-container,[data-theme=light] .ant-dropdown-menu,[data-theme=light] .ant-cascader-menus,[data-theme=light] .ant-tree-select-dropdown,[data-theme=light] .ant-color-picker-inner,[data-theme=light] .ant-popover-container,[data-theme=light] .ant-mentions-dropdown{border:var(--neo-border-strong) solid var(--neo-ink)!important;border-radius:var(--neo-radius)!important;box-shadow:var(--neo-shadow)!important}[data-theme=light] .ant-select-item,[data-theme=light] .ant-dropdown-menu-item,[data-theme=light] .ant-cascader-menu-item{border-radius:var(--neo-radius-control);font-weight:500}[data-theme=light] .ant-select-item-option-selected,[data-theme=light] .ant-dropdown-menu-item-selected{border:1px solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-popover-arrow,[data-theme=light] .ant-dropdown-arrow,[data-theme=light] .ant-picker-dropdown .ant-picker-range-arrow{display:none}[data-theme=light] .ant-picker-header{border-bottom:var(--neo-border) solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-picker-content th{color:var(--jf-text-secondary);font-weight:700}[data-theme=light] .ant-picker-cell .ant-picker-cell-inner{border-radius:var(--neo-radius-control)}[data-theme=light] .ant-picker-cell-today .ant-picker-cell-inner:before{border-radius:var(--neo-radius-control);border:var(--neo-border) solid var(--neo-ink)!important}[data-theme=light] .ant-picker-cell-selected .ant-picker-cell-inner,[data-theme=light] .ant-picker-cell-range-start .ant-picker-cell-inner,[data-theme=light] .ant-picker-cell-range-end .ant-picker-cell-inner{border:var(--neo-border) solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-picker-footer{border-top:var(--neo-border) solid var(--neo-ink)}[data-theme=light] .ant-picker-ranges .ant-picker-preset>.ant-tag{border:var(--neo-border) solid var(--neo-ink);font-weight:700}[data-theme=light] .ant-tag{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control);box-shadow:var(--neo-shadow-sm);padding-inline:8px;font-weight:700}[data-theme=light] .ant-table-tbody .ant-tag,[data-theme=light] .ant-select-selection-item .ant-tag{box-shadow:none}[data-theme=light] .ant-tag-checkable{box-shadow:var(--neo-shadow-sm)}[data-theme=light] .ant-tag-checkable-checked{box-shadow:none;transform:translate(2px,2px)}[data-theme=light] .ant-badge-count,[data-theme=light] .ant-badge-dot{border:var(--neo-border) solid var(--neo-ink);box-shadow:none;font-weight:700}[data-theme=light] .ant-segmented{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control);box-shadow:var(--neo-shadow-sm);padding:3px}[data-theme=light] .ant-segmented-item-selected,[data-theme=light] .ant-segmented-thumb{border:var(--neo-border) solid var(--neo-ink);box-shadow:none;border-radius:4px;font-weight:700}[data-theme=light] .jf-slot-chip,[data-theme=light] .jf-time-chip,[data-theme=light] .verification-tag,[data-theme=light] .cap-shift-time-tag,[data-theme=light] .cap-shift-global-tag{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control);font-weight:700}[data-theme=light] .toolbar-row,[data-theme=light] .jf-home-filters,[data-theme=light] .cap-toolbar,[data-theme=light] .multi-select-toolbar,[data-theme=light] .hero-skills-toolbar,[data-theme=light] .heroes-page-header{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--jf-surface);box-shadow:var(--neo-shadow-sm);padding:12px}[data-theme=light] .multi-select-btn,[data-theme=light] .cap-week-btn,[data-theme=light] .typewriter-search-input{font-weight:600;border:var(--neo-border) solid var(--neo-ink)!important;border-radius:var(--neo-radius-control)!important}[data-theme=light] .ant-modal-container{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow-lg)!important}[data-theme=light] .ant-modal-header{border-bottom:var(--neo-border) solid var(--neo-ink);margin-bottom:16px;padding-bottom:12px}[data-theme=light] .ant-modal-title{font-weight:800}[data-theme=light] .ant-modal-footer{border-top:var(--neo-border) solid var(--neo-ink);margin-top:18px;padding-top:14px}[data-theme=light] .ant-drawer-content,[data-theme=light] .ant-drawer-section{border-inline-start:var(--neo-border-strong) solid var(--neo-ink)}[data-theme=light] .ant-drawer-header{border-bottom:var(--neo-border-strong) solid var(--neo-ink)}[data-theme=light] .ant-drawer-title{font-weight:800}[data-theme=light] .ant-tooltip-container{font-weight:600;border-radius:var(--neo-radius-control)!important;box-shadow:var(--neo-shadow-sm)!important}[data-theme=light] .ant-tooltip-arrow{display:none}[data-theme=light] .ant-notification-container,[data-theme=light] .ant-message-container,[data-theme=light] .ant-notification-notice,[data-theme=light] .ant-message-notice-content{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow)!important}[data-theme=light] .ant-alert{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control);box-shadow:var(--neo-shadow-sm)}[data-theme=light] .ant-alert-title,[data-theme=light] .ant-alert-message{font-weight:700}[data-theme=light] .dashboard-page .ant-tabs-tab{border-radius:var(--neo-radius-control) var(--neo-radius-control) 0 0;font-weight:700}[data-theme=light] .dashboard-page .ant-tabs-tab-active{border:var(--neo-border) solid var(--neo-ink);border-bottom-color:#0000}[data-theme=light] .dashboard-page .ant-tabs-top>.ant-tabs-nav:before{border-bottom:var(--neo-border) solid var(--neo-ink)}[data-theme=light] .dashboard-page .ant-tabs-ink-bar{height:3px!important}[data-theme=light] .ant-collapse{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius)}[data-theme=light] .ant-collapse>.ant-collapse-item{border-bottom:var(--neo-border) solid var(--neo-ink)}[data-theme=light] .ant-collapse-header{font-weight:700}[data-theme=light] .ant-descriptions-bordered .ant-descriptions-view{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius)}[data-theme=light] .ant-descriptions-bordered .ant-descriptions-item-label{font-weight:700}[data-theme=light] .ant-empty{font-weight:600}[data-theme=light] .ant-checkbox,[data-theme=light] .ant-radio,[data-theme=light] .ant-checkbox-checked,[data-theme=light] .ant-radio-checked{border:var(--neo-border) solid var(--neo-ink)!important}[data-theme=light] .ant-switch{border:var(--neo-border) solid var(--neo-ink)}[data-theme=light] .ant-slider-handle:after{box-shadow:0 0 0 2px var(--neo-ink)!important}[data-theme=light] .ant-pagination .ant-pagination-item,[data-theme=light] .ant-pagination .ant-pagination-prev .ant-pagination-item-link,[data-theme=light] .ant-pagination .ant-pagination-next .ant-pagination-item-link,[data-theme=light] .ant-pagination .ant-pagination-options .ant-select-selector{font-weight:700;border:var(--neo-border) solid var(--neo-ink)!important;border-radius:var(--neo-radius-control)!important}[data-theme=light] .ant-pagination .ant-pagination-item-active{box-shadow:var(--neo-shadow-sm)}[data-theme=light] .ant-upload-wrapper .ant-upload-drag,[data-theme=light] .ant-upload-list-item{border:var(--neo-border) solid var(--neo-ink)!important;border-radius:var(--neo-radius-control)!important}[data-theme=light] .ant-avatar{border:var(--neo-border) solid var(--neo-ink)}[data-theme=light] .ant-progress-inner{border:1px solid var(--neo-ink)}[data-theme=light] .ant-steps-item-icon{border:var(--neo-border) solid var(--neo-ink)!important}[data-theme=light] .cap-grid-wrapper{border:var(--neo-border-strong) solid var(--neo-ink);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);overflow:hidden}[data-theme=light] .cap-th{border-bottom:var(--neo-border) solid var(--neo-ink);font-weight:800}[data-theme=light] .cap-cell,[data-theme=light] .cap-cell-input{border-radius:var(--neo-radius-control)}[data-theme=light] .cap-shift-option{border:var(--neo-border) solid var(--neo-ink);border-radius:var(--neo-radius-control)}[data-theme=light] .dashboard-page .ant-table-content::-webkit-scrollbar-thumb{border-radius:4px}[data-theme=light] .dashboard-page .ant-table-body::-webkit-scrollbar-thumb{border-radius:4px}[data-theme=light] .dashboard-page .ant-table-content::-webkit-scrollbar-track{border-radius:4px}[data-theme=light] .dashboard-page .ant-table-body::-webkit-scrollbar-track{border-radius:4px}@media (prefers-reduced-motion:reduce){[data-theme=light] .ant-btn:not(:disabled):hover,[data-theme=light] .ant-btn:not(:disabled):active,[data-theme=light] .ant-tag-checkable-checked,[data-theme=light] .jf-kpi:hover,[data-theme=light] .jf-quick:hover,[data-theme=light] .stat-card:hover{transform:none}}.diwali-sky{pointer-events:none;z-index:950;position:fixed;inset:0}[data-festive=diwali] .dashboard-content{background-image:radial-gradient(1200px 260px at 50% -40px,#ffb74d29,#0000 70%),radial-gradient(500px 220px at 100% 0,#f472b614,#0000 70%)!important}[data-festive=diwali] .dashboard-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#ff9f1c,#ffc93c,#ff4d6d,#c026d3,#ffc93c,#ff9f1c) 0 0/200% 100%;height:3px;animation:8s linear infinite diwali-shimmer;position:absolute;bottom:-1px;left:0;right:0}.diwali-banner{background:linear-gradient(110deg,#fff6df 0%,#ffe6bd 38%,#ffd6a8 64%,#fff0d1 100%);border:1px solid #f2c27a;border-radius:16px;margin:0 0 18px;position:relative;overflow:hidden;box-shadow:0 10px 30px -14px #e8590c73}.diwali-toran{background-image:radial-gradient(circle at 10px 7px,#ff8a00 6px,#0000 6.6px),radial-gradient(circle at 30px 7px,#ffc93c 6px,#0000 6.6px),radial-gradient(5px 8px at 20px 15px,#2f9e44 90%,#0000 100%),linear-gradient(#c2410c,#c2410c);background-position:0 0,0 0,0 0,0 1px;background-repeat:repeat-x,repeat-x,repeat-x,no-repeat;background-size:40px 20px,40px 20px,40px 20px,100% 2px;height:20px;animation:4s ease-in-out infinite alternate diwali-sway}.diwali-banner-body{justify-content:center;align-items:center;gap:18px;padding:8px 16px 18px;display:flex}.diwali-banner-text{text-align:center;min-width:0}.diwali-banner-title{letter-spacing:.01em;color:#0000;background:linear-gradient(90deg,#b4410e,#e8590c,#d6336c,#9c36b5,#e8590c,#b4410e) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;font-size:24px;font-weight:800;line-height:1.2;animation:6s linear infinite diwali-shimmer;display:inline-flex}.diwali-sparkle{-webkit-text-fill-color:initial;color:initial;animation:1.6s ease-in-out infinite diwali-twinkle;display:inline-block}.diwali-sparkle-late{animation-delay:.8s}.diwali-banner-sub{color:#8a4b12;margin-top:2px;font-size:13px;font-weight:600}.diwali-lights{pointer-events:none;justify-content:space-around;display:flex;position:absolute;bottom:4px;left:0;right:0}.diwali-lights span{background:#ffc93c;border-radius:50%;width:7px;height:7px;animation:1.5s ease-in-out infinite alternate diwali-bulb;box-shadow:0 0 6px 2px #ffc93ccc}.diwali-lights span:nth-child(4n+1){background:#ff4d6d;box-shadow:0 0 6px 2px #ff4d6db3}.diwali-lights span:nth-child(4n+2){background:#38bdf8;box-shadow:0 0 6px 2px #38bdf8b3}.diwali-lights span:nth-child(4n+3){background:#22c55e;box-shadow:0 0 6px 2px #22c55eb3}.diwali-diya{flex:none;width:46px;height:44px;display:inline-block;position:relative}.diwali-diya-glow{background:radial-gradient(circle,#ffbe46bf,#ff8c0000 68%);border-radius:50%;width:40px;height:40px;margin-left:-20px;animation:2.2s ease-in-out infinite alternate diwali-glow;position:absolute;top:4px;left:50%}.diwali-diya-flame{transform-origin:50% 90%;background:radial-gradient(at 50% 72%,#fffbe6 0%,#ffe066 32%,#ff9f1c 66%,#ff780000 100%);border-radius:50%/62% 62% 38% 38%;width:12px;height:20px;margin-left:-6px;animation:.9s ease-in-out infinite alternate diwali-flicker;position:absolute;top:6px;left:50%}.diwali-diya-bowl{background:linear-gradient(#e8590c,#9a3412 70%,#7c2d12);border-radius:4px 4px 24px 24px;height:16px;position:absolute;bottom:2px;left:3px;right:3px;box-shadow:inset 0 3px #ffd28c99}.diwali-diya-bowl:before{content:"";background-image:radial-gradient(circle,#ffd43b 1.2px,#0000 1.6px);background-size:7px 3px;height:3px;position:absolute;inset:6px 8px auto}@keyframes diwali-shimmer{to{background-position:250% 0}}@keyframes diwali-twinkle{0%,to{opacity:.7;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(12deg)}}@keyframes diwali-flicker{0%{transform:scale(1)rotate(-2deg)}40%{transform:scale(.92,1.08)rotate(2deg)}to{transform:scale(1.06,.94)rotate(-1deg)}}@keyframes diwali-glow{0%{opacity:.65;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes diwali-bulb{0%{opacity:.35}to{opacity:1}}@keyframes diwali-sway{0%{background-position:0 0,0 0,0 0,0 1px}to{background-position:6px 1px,6px 1px,6px 1px,0 1px}}.diwali-banner-compact{margin-bottom:14px}.diwali-banner-compact .diwali-toran{background-size:40px 14px,40px 14px,40px 14px,100% 2px;height:14px}.diwali-banner-compact .diwali-banner-body{gap:12px;padding:2px 16px 12px}.diwali-banner-compact .diwali-banner-title{font-size:17px}.diwali-banner-compact .diwali-diya{margin:-6px -4px;transform:scale(.7)!important}.diwali-banner-compact .diwali-lights{bottom:3px}.diwali-banner-compact .diwali-lights span{width:5px;height:5px}@media (max-width:640px){.diwali-banner-body{gap:8px;padding:6px 10px 16px}.diwali-banner-title{gap:4px;font-size:17px}.diwali-banner-sub{font-size:11.5px}.diwali-diya{transform:scale(.8)!important}}@media (prefers-reduced-motion:reduce){.diwali-banner *,.diwali-toran{animation:none!important}}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--jf-canvas);color:var(--jf-text);-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}
