*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:var(--radius)}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.line-through{text-decoration-line:line-through}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--navy:#102a43;--bg:#f8f5ee;--panel:#ffffff;--panel-2:#f5f1ea;--ink:#102a43;--ink-soft:#5c6b7a;--line:#e7e1d6;--line-soft:#f0ebe2;--accent:#3478b9;--primary:#315a7d;--primary-hover:#102a43;--accent-ink:#102a43;--accent-soft:#e5f0f8;--amber:#8a5f12;--amber-soft:#f8eedb;--red:#a52a24;--red-soft:#f6e3e0;--blue:#2f6ea5;--blue-soft:#e8f2fa;--gold:#d99a16;--gold-soft:#f7eedb;--success:#2a7352;--success-soft:#e3f2ea;--warning:#8a5f12;--warning-soft:#f8eedb;--danger:#a52a24;--danger-soft:#f6e3e0;--info:#2f6ea5;--info-soft:#e5f0f8;--sidebar-bg:#315a7d;--sidebar-ink:#ffffff;--sidebar-muted:rgba(255,255,255,0.72);--sidebar-hover:rgba(255,255,255,0.1);--sidebar-active:rgba(255,255,255,0.16);--sidebar-accent:var(--gold);--mod-blue:#3478b9;--mod-blue-soft:#dceaf7;--mod-peach:#9a5226;--mod-peach-soft:#fbe5d2;--mod-mint:#2a7562;--mod-mint-soft:#ddf1e6;--mod-lavender:#5f529c;--mod-lavender-soft:#e9e4f8;--mod-slate:#3e5468;--mod-slate-soft:#e9eef3;--shadow-xs:0 1px 1px rgba(16,42,67,0.04);--shadow-sm:0 1px 2px rgba(16,42,67,0.06),0 1px 1px rgba(16,42,67,0.04);--shadow-md:0 4px 12px rgba(16,42,67,0.07),0 1px 3px rgba(16,42,67,0.05);--shadow-lg:0 16px 40px rgba(16,42,67,0.12),0 4px 12px rgba(16,42,67,0.06);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--green:var(--success);--border:var(--line);--ink-muted:var(--ink-soft);--employee-primary:var(--accent);--employee-primary-dark:var(--navy);--employee-surface:var(--panel);--employee-background:var(--bg);--employee-mist:var(--accent-soft);--employee-ice:var(--panel-2);--employee-text:var(--ink);--employee-muted:var(--ink-soft);--employee-border:var(--line);--employee-success:var(--accent);--employee-warning:var(--amber);--employee-error:var(--red);--employee-accent:var(--gold);--radius:10px;--shadow:0 1px 2px rgba(16,42,67,0.07),0 1px 1px rgba(16,42,67,0.05);--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}:root:not([data-theme=light]){@media (prefers-color-scheme:dark){--navy:#0a1c30;--bg:#0b1b2b;--panel:#102a43;--panel-2:#15324f;--ink:#e8eef5;--ink-soft:#93aac2;--line:#223f5c;--line-soft:#1a2f47;--accent:#3fa9e0;--primary:var(--accent);--primary-hover:var(--accent-ink);--accent-ink:#bfe4fb;--accent-soft:#163350;--amber:#dcb15f;--amber-soft:#3a2f19;--red:#d9776f;--red-soft:#3a201d;--blue:#6fc1ea;--blue-soft:#163350;--gold:#e6bd6f;--gold-soft:#3a2f19;--success:#6cc39a;--success-soft:#163a2c;--warning:#e6bd6f;--warning-soft:#3a2f19;--danger:#d9776f;--danger-soft:#3a201d;--info:#7fb6e3;--info-soft:#17324d;--sidebar-bg:#102a43;--sidebar-ink:#e8eef5;--sidebar-hover:#15324f;--sidebar-active:#1c3d5e;--sidebar-muted:var(--ink-soft);--sidebar-accent:var(--accent);--mod-blue:#7fb6e3;--mod-blue-soft:#17324d;--mod-peach:#eaa77f;--mod-peach-soft:#3d2a1f;--mod-mint:#7fcdb5;--mod-mint-soft:#16362e;--mod-lavender:#b3a8e6;--mod-lavender-soft:#2a2647;--mod-slate:#a9bccf;--mod-slate-soft:#22303d;--shadow-xs:0 1px 1px rgba(0,0,0,0.25);--shadow-sm:0 1px 2px rgba(0,0,0,0.3),0 1px 1px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.35),0 1px 3px rgba(0,0,0,0.25);--shadow-lg:0 16px 40px rgba(0,0,0,0.45),0 4px 12px rgba(0,0,0,0.3)}}:root[data-theme=dark]{--navy:#0a1c30;--bg:#0b1b2b;--panel:#102a43;--panel-2:#15324f;--ink:#e8eef5;--ink-soft:#93aac2;--line:#223f5c;--line-soft:#1a2f47;--accent:#3fa9e0;--primary:var(--accent);--primary-hover:var(--accent-ink);--accent-ink:#bfe4fb;--accent-soft:#163350;--amber:#dcb15f;--amber-soft:#3a2f19;--red:#d9776f;--red-soft:#3a201d;--blue:#6fc1ea;--blue-soft:#163350;--gold:#e6bd6f;--gold-soft:#3a2f19;--success:#6cc39a;--success-soft:#163a2c;--warning:#e6bd6f;--warning-soft:#3a2f19;--danger:#d9776f;--danger-soft:#3a201d;--info:#7fb6e3;--info-soft:#17324d;--sidebar-bg:#102a43;--sidebar-ink:#e8eef5;--sidebar-hover:#15324f;--sidebar-active:#1c3d5e;--sidebar-muted:var(--ink-soft);--sidebar-accent:var(--accent);--mod-blue:#7fb6e3;--mod-blue-soft:#17324d;--mod-peach:#eaa77f;--mod-peach-soft:#3d2a1f;--mod-mint:#7fcdb5;--mod-mint-soft:#16362e;--mod-lavender:#b3a8e6;--mod-lavender-soft:#2a2647;--mod-slate:#a9bccf;--mod-slate-soft:#22303d;--shadow-xs:0 1px 1px rgba(0,0,0,0.25);--shadow-sm:0 1px 2px rgba(0,0,0,0.3),0 1px 1px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.35),0 1px 3px rgba(0,0,0,0.25);--shadow-lg:0 16px 40px rgba(0,0,0,0.45),0 4px 12px rgba(0,0,0,0.3)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.5}.app{display:flex;min-height:100vh}.sidebar{width:216px;flex:none;background:var(--panel);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:22px}.brand{gap:9px;padding:0 6px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--navy);justify-content:center;color:white;font-weight:600;font-size:13px;flex:none}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-sub{font-size:11px;margin-top:-2px}.brand-sub,.nav-item{color:var(--ink-soft)}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;font-size:13.5px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit}.nav-item:hover{background:var(--panel-2);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-item svg{width:16px;height:16px;flex:none}.nav-section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:10px 10px 2px;opacity:.7}.sidebar-foot{margin-top:auto;padding:10px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--ink-soft)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:var(--panel)}.topbar h1{font-size:16px;font-weight:600;margin:0;letter-spacing:-.01em}.avatar{width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.content{flex:1;padding:24px;overflow-y:auto;max-width:1180px;width:100%;margin:0 auto}.app-shell{background:var(--bg)}.app-shell .sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);padding:22px 12px 16px;gap:20px}.app-shell .brand{gap:10px;padding:2px 10px 16px;border-bottom:1px solid var(--sidebar-active)}.app-shell .brand-mark{font-size:14px;box-shadow:var(--shadow-sm)}.app-shell .brand img,.app-shell .brand-mark{width:30px;height:30px;border-radius:var(--radius-sm)}.app-shell .brand img{-o-object-fit:cover;object-fit:cover;flex:none}.app-shell .brand-name{color:var(--sidebar-ink);font-weight:600;min-width:0;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.app-shell .sidebar-powered-by{margin-top:10px;font-size:10.5px;color:var(--sidebar-muted);text-align:center;letter-spacing:.01em}.app-shell .brand-sub{margin-top:0;color:var(--sidebar-muted)}.app-shell .sidebar .nav-item{gap:11px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--sidebar-ink);font-weight:500;transition:background-color .15s ease,color .15s ease}.app-shell .sidebar .nav-item svg{color:var(--sidebar-muted);transition:color .15s ease}.app-shell .sidebar .nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-ink)}.app-shell .sidebar .nav-item:hover svg{color:var(--sidebar-ink)}.app-shell .sidebar .nav-item.active{background:var(--sidebar-active);color:var(--sidebar-ink);font-weight:600;box-shadow:inset 3px 0 0 var(--sidebar-accent)}.app-shell .sidebar .nav-item.active svg{color:var(--sidebar-ink)}.app-shell .sidebar .nav-item:focus-visible{outline:2px solid var(--sidebar-ink);outline-offset:1px}.app-shell .sidebar-foot{padding:14px 10px 4px;border-top:1px solid var(--sidebar-active);color:var(--sidebar-muted);line-height:1.45}.app-shell .topbar{height:60px;padding:0 28px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow-xs)}.app-shell .topbar h1{font-size:17px;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .topbar .icon-btn{padding:6px;border-radius:var(--radius-sm)}.app-shell .topbar .avatar{width:32px;height:32px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line)}.app-shell .content{padding:28px 28px 40px}@media (max-width:860px){.app-shell .sidebar{overflow-y:auto}.app-shell .topbar{padding:0 16px}.app-shell .content{padding:20px 16px 32px}}.app-shell .page-header{gap:16px 20px;margin-bottom:24px}.app-shell .page-header-title{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.app-shell .page-header-meta{font-size:13.5px;margin-top:6px}.app-shell .breadcrumb{margin-bottom:4px}.app-shell .tab-bar{gap:2px;margin-bottom:24px}.app-shell .tab-item{padding:10px 14px;border-bottom-width:2px}.app-shell .tab-item.active{color:var(--ink)}.app-shell .panel,.app-shell .stat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}:where(.app-shell) .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.app-shell .panel-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft)}.app-shell .panel-head h2,:where(.app-shell) .panel-head h3{font-size:15px;font-weight:600;margin:0;color:var(--ink)}.app-shell .panel-body{padding:var(--space-4) var(--space-5)}.app-shell .cards-row{gap:var(--space-3);margin-bottom:var(--space-6)}.app-shell .stat-card{padding:var(--space-4) var(--space-5)}.app-shell .stat-card .label{font-size:12.5px;margin-bottom:8px}.app-shell .stat-card .value{font-size:24px;color:var(--ink)}:where(.app-shell) .sub{font-size:12.5px;color:var(--ink-soft)}.app-shell .btn{padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:13.5px;font-weight:500;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.app-shell .btn:hover{background:var(--panel-2)}.app-shell .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell .btn:disabled{opacity:.55;cursor:not-allowed}.app-shell .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--panel);box-shadow:var(--shadow-xs)}.app-shell .btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.app-shell .btn-danger{color:var(--danger);border-color:var(--danger-soft)}.app-shell .btn-danger:hover{background:var(--danger-soft)}.app-shell .btn-sm{padding:5px 10px;font-size:12.5px;border-radius:var(--radius-sm)}.app-shell .mod-blue,.app-shell [data-module=blue]{--mod-soft:var(--mod-blue-soft);--mod-ink:var(--ink)}.app-shell .mod-peach,.app-shell [data-module=peach]{--mod-soft:var(--mod-peach-soft);--mod-ink:var(--mod-peach)}.app-shell .mod-mint,.app-shell [data-module=mint]{--mod-soft:var(--mod-mint-soft);--mod-ink:var(--mod-mint)}.app-shell .mod-lavender,.app-shell [data-module=lavender]{--mod-soft:var(--mod-lavender-soft);--mod-ink:var(--mod-lavender)}.app-shell .mod-slate,.app-shell [data-module=slate]{--mod-soft:var(--mod-slate-soft);--mod-ink:var(--mod-slate)}.app-shell .btn-context{background:transparent;border-color:transparent;box-shadow:none;color:var(--primary);font-weight:600;padding-left:2px;padding-right:2px}.app-shell .btn-context:hover{background:transparent;text-decoration:underline;text-underline-offset:3px}.app-shell .content[data-module] .page-header-title:before,.app-shell .module-tile,.app-shell .panel.mod-cue>.panel-head h2:before,.app-shell .panel.mod-cue>.panel-head h3:before{content:"";display:inline-block;flex:none;width:18px;height:18px;margin-right:10px;vertical-align:-2px;border-radius:5px;background:radial-gradient(circle,var(--mod-ink) 0 3px,var(--mod-soft) 3.5px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mod-ink) 22%,transparent)}.app-shell .panel.mod-cue>.panel-head h2:before,.app-shell .panel.mod-cue>.panel-head h3:before{width:14px;height:14px;margin-right:8px;border-radius:4px;background:radial-gradient(circle,var(--mod-ink) 0 2.5px,var(--mod-soft) 3px)}.app-shell .kanban-col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-xs)}.app-shell .kanban-col h4{margin:2px 4px 12px;align-items:center;font-size:12.5px;letter-spacing:.02em;color:var(--ink)}.app-shell .kanban-stage{display:inline-flex;align-items:center;gap:8px}.app-shell .kanban-stage-dot{width:8px;height:8px;border-radius:50%;flex:none}.app-shell .kanban-count{min-width:22px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--panel-2);color:var(--ink-soft);font-size:11.5px;font-weight:600;text-align:center}.app-shell .kanban-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--space-6) var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-soft);font-size:12px;text-align:center}.app-shell .kanban-empty .module-tile{margin-right:0}.app-shell .icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-shell input:not([type=checkbox]):not([type=radio]),.app-shell select,.app-shell textarea{padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);transition:border-color .15s ease}.app-shell input:not([type=checkbox]):not([type=radio]):hover,.app-shell select:hover,.app-shell textarea:hover{border-color:var(--ink-soft)}.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-1px}.app-shell input:disabled,.app-shell select:disabled,.app-shell textarea:disabled{background:var(--panel-2);color:var(--ink-soft);cursor:not-allowed}.app-shell input::-moz-placeholder,.app-shell textarea::-moz-placeholder{color:var(--ink-soft);opacity:.8}.app-shell input::placeholder,.app-shell textarea::placeholder{color:var(--ink-soft);opacity:.8}.app-shell label{font-size:12.5px;color:var(--ink);margin-bottom:6px}.app-shell .field{margin-bottom:var(--space-4)}.app-shell th{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:10px 12px;border-bottom:1px solid var(--line)}.app-shell td{padding:11px 12px;border-bottom:1px solid var(--line-soft)}.app-shell tbody tr:hover td{background:var(--bg)}.app-shell .panel td:first-child,.app-shell .panel th:first-child{padding-left:var(--space-5)}.app-shell .panel td:last-child,.app-shell .panel th:last-child{padding-right:var(--space-5)}.app-shell .pill{padding:3px 10px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;line-height:1.5}.app-shell .pill-green{background:var(--success-soft);color:var(--success)}.app-shell .pill-amber{background:var(--warning-soft);color:var(--warning)}.app-shell .pill-red{background:var(--danger-soft);color:var(--danger)}.app-shell .pill-blue{background:var(--info-soft);color:var(--blue)}.app-shell .pill-grey{background:var(--panel-2);color:var(--ink-soft)}.app-shell .empty{padding:var(--space-10) var(--space-6);color:var(--ink-soft)}.app-shell .empty .big{font-size:28px;margin-bottom:var(--space-2)}.app-shell .modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.app-shell .modal-foot,.app-shell .modal-head{padding:var(--space-4) var(--space-5)}.app-shell .modal-body{padding:var(--space-5)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-header-title{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:2px 0 0;color:var(--ink)}.page-header-meta{font-size:13px;color:var(--ink-soft);margin-top:4px}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumb{font-size:12.5px;color:var(--ink-soft);display:flex;gap:6px;margin-bottom:2px}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb-sep{margin-left:6px;opacity:.6}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tab-item{padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--ink-soft);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.tab-item:hover{color:var(--ink)}.tab-item.active{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat-card .label{font-size:12px;color:var(--ink-soft);margin-bottom:6px}.stat-card .value{font-family:var(--mono);font-size:22px;font-weight:600}.stat-card .sub{font-size:11.5px;color:var(--ink-soft);margin-top:3px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:10px}.panel-head h2{font-size:14px;font-weight:600;margin:0}.panel-body{padding:14px 16px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-weight:500;color:var(--ink-soft);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto}.mono{font-family:var(--mono)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:100px;font-size:11.5px;font-weight:600}.pill-green{background:var(--success-soft);color:var(--success)}.pill-amber{background:var(--warning-soft);color:var(--warning)}.pill-red{background:var(--danger-soft);color:var(--danger)}.pill-blue{background:var(--info-soft);color:var(--info)}.pill-grey{background:var(--panel-2);color:var(--ink)}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:13px;font-weight:500}.btn:hover{background:var(--panel-2)}.btn-primary{background:var(--primary);border-color:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--red);border-color:var(--red-soft)}.btn-danger:hover{background:var(--red-soft)}.btn-sm{padding:4px 9px;font-size:12px;border-radius:6px}.icon-btn{border:none;background:none;color:var(--ink-soft);padding:4px;border-radius:6px;display:inline-flex}.icon-btn:hover{background:var(--panel-2);color:var(--ink)}input,select,textarea{font-family:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}label{font-size:12px;color:var(--ink-soft);display:block;margin-bottom:4px;font-weight:500}.field{margin-bottom:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.empty{padding:36px 20px;text-align:center;color:var(--ink-soft)}.empty .big{font-size:26px;margin-bottom:6px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,20,17,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--panel);border-radius:12px;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;box-shadow:0 20px 50px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.modal-head h3{margin:0;font-size:15px;font-weight:600}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line-soft)}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}.kanban-col{background:var(--panel-2);border-radius:10px;padding:10px;min-height:160px}.kanban-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:2px 6px 10px;display:flex;justify-content:space-between}.kcard{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;box-shadow:var(--shadow)}.kcard .name{font-weight:600;font-size:13px}.kcard .role{font-size:12px;color:var(--ink-soft);margin:2px 0 8px}.kcard select{font-size:11.5px;padding:4px 6px}.detail-list{margin:0;display:flex;flex-direction:column;gap:12px}.detail-list>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.detail-list dt{font-size:12px;color:var(--ink-soft);flex:none}.detail-list dd{margin:0;font-size:13.5px;text-align:right}.avatar-sm{width:26px;height:26px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}.name-cell{display:flex;align-items:center;gap:9px}.name-cell .sub{font-size:11.5px;color:var(--ink-soft)}.bar-track{background:var(--line-soft);border-radius:100px;height:6px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:100px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:8px;font-size:13px;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.3)}@media (max-width:860px){.sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:40;transition:left .2s}.sidebar.open{left:0;box-shadow:0 0 0 100vh rgba(0,0,0,.3)}.field-row,.kanban{grid-template-columns:1fr}.cards-row{grid-template-columns:repeat(2,1fr)}.menu-btn{display:flex!important}.profile-grid{grid-template-columns:1fr!important}.page-header{flex-direction:column}}.menu-btn{display:none;border:none;background:none;color:var(--ink)}.home-greeting{margin-bottom:18px}.home-greeting h1{font-size:21px;font-weight:700;margin:0 0 3px;color:var(--navy)}.home-greeting p{margin:0;color:var(--ink-soft);font-size:13.5px}.home-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-areas:"snapshot upcoming" "calendar attention" "calendar quick";gap:16px;align-items:start}@media (max-width:980px){.home-grid{grid-template-columns:1fr;grid-template-areas:"snapshot" "upcoming" "calendar" "attention" "quick"}}.area-snapshot{grid-area:snapshot}.area-calendar{grid-area:calendar}.area-upcoming{grid-area:upcoming}.area-attention{grid-area:attention}.area-quick{grid-area:quick}.action-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.action-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.action-panel-head h2{margin:0;font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:8px}.action-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:100px;background:var(--gold-soft);color:var(--gold);font-size:12px;font-weight:700}.hr-home-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-areas:"snapshot upcoming" "quick activity";gap:16px;align-items:start}@media (max-width:980px){.hr-home-grid{grid-template-columns:1fr;grid-template-areas:"snapshot" "upcoming" "quick" "activity"}}.hr-area-snapshot{grid-area:snapshot}.hr-area-upcoming{grid-area:upcoming}.hr-area-quick{grid-area:quick}.hr-area-activity{grid-area:activity}.action-tabs{display:flex;gap:4px;padding:10px 12px 0;flex-wrap:wrap}.action-tab{border:none;background:none;color:var(--ink-soft);font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:7px}.action-tab:hover{background:var(--panel-2)}.action-tab.active{background:var(--accent-soft);color:var(--accent-ink)}.action-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.action-item:last-child{border-bottom:none}.action-item-type{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);display:inline-block;padding:2px 7px;border-radius:5px;margin-bottom:4px}.action-item-name{font-weight:600;font-size:13.5px}.action-item-summary{font-size:12.5px;color:var(--ink-soft);margin-top:2px}.action-item-meta{font-size:11.5px;color:var(--ink-soft);margin-top:2px}.home-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px 16px}.home-card h2{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--navy)}.snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.snapshot-tile{background:var(--panel-2);border-radius:8px;padding:10px 12px;text-align:center}.snapshot-tile .value{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--navy)}.snapshot-tile .label{font-size:11px;color:var(--ink-soft);margin-top:2px}.attention-list,.upcoming-list{display:flex;flex-direction:column;gap:10px}.attention-row,.upcoming-row{display:flex;align-items:flex-start;gap:10px;font-size:13px}.upcoming-dot{background:var(--gold)}.attention-dot,.upcoming-dot{width:7px;height:7px;border-radius:50%;margin-top:5px;flex:none}.attention-dot{background:var(--red)}.attention-row a,.upcoming-row a{color:var(--ink);text-decoration:none}.attention-row a:hover,.upcoming-row a:hover{color:var(--accent-ink)}.upcoming-date{display:block;font-size:11px;color:var(--ink-soft)}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-title{font-size:13.5px;font-weight:700;color:var(--navy)}.calendar-nav{display:flex;gap:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-dow{font-size:10.5px;font-weight:700;color:var(--ink-soft);text-align:center;padding-bottom:4px;text-transform:uppercase}.calendar-cell{min-height:54px;border-radius:7px;background:var(--panel-2);padding:5px 5px 0;font-size:11.5px;position:relative}.calendar-cell.outside{opacity:.35}.calendar-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.calendar-daynum{font-weight:600;color:var(--ink-soft)}.calendar-dots{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}.calendar-dot{width:6px;height:6px;border-radius:50%}.calendar-dot.Leave{background:var(--accent)}.calendar-dot.OnDuty{background:var(--blue)}.calendar-dot.Confirmation{background:var(--gold)}.calendar-dot.Attendance{background:var(--red)}.calendar-dot.HolidayFixed{background:var(--navy)}.calendar-dot.HolidayRestricted{background:var(--ink-soft)}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11.5px;color:var(--ink-soft)}.calendar-legend-item{display:flex;align-items:center;gap:5px}.request-tabs{display:flex;gap:4px;margin-bottom:14px}.request-tab{border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font-size:13px;font-weight:600;padding:7px 14px;border-radius:8px}.request-tab.active{background:var(--navy);border-color:var(--navy);color:white}[data-role=employee]{--employee-primary:#2f80b7;--employee-primary-dark:#163b5c;--employee-surface:#ffffff;--employee-background:#f7fafc;--employee-mist:#eaf4fa;--employee-ice:#f0f6fa;--employee-text:#183247;--employee-muted:#647b8c;--employee-border:#dce7ef;--employee-success:#3a9d8f;--employee-warning:#d6a64f;--employee-error:#c96b6b;--employee-accent:#d9a441;--bg:var(--employee-background);--panel:var(--employee-surface);--panel-2:var(--employee-ice);--ink:var(--employee-text);--ink-soft:var(--employee-muted);--line:var(--employee-border);--line-soft:var(--employee-border);--navy:var(--employee-primary-dark);--accent:var(--employee-primary);--accent-ink:var(--employee-primary-dark);--accent-soft:var(--employee-mist);--amber:var(--employee-warning);--amber-soft:#fbf0dd;--red:var(--employee-error);--red-soft:#f7e4e2;--blue:var(--employee-primary);--blue-soft:var(--employee-ice);--gold:var(--employee-accent);--gold-soft:#faf1de}html:not([data-theme=light]) [data-role=employee]{@media (prefers-color-scheme:dark){--employee-primary:#5aa9da;--employee-primary-dark:#2f80b7;--employee-surface:#16273a;--employee-background:#0e1e2e;--employee-mist:#1c3348;--employee-ice:#17293c;--employee-text:#e7f1f8;--employee-muted:#9fb6c7;--employee-border:#274257;--employee-success:#59bbac;--employee-warning:#e6bd6f;--employee-error:#d9847c;--employee-accent:#e6bd6f;--bg:var(--employee-background);--panel:var(--employee-surface);--panel-2:var(--employee-ice);--ink:var(--employee-text);--ink-soft:var(--employee-muted);--line:var(--employee-border);--line-soft:var(--employee-border);--navy:var(--employee-primary-dark);--accent:var(--employee-primary);--accent-ink:var(--employee-text);--accent-soft:var(--employee-mist);--amber:var(--employee-warning);--amber-soft:#3a2f19;--red:var(--employee-error);--red-soft:#3a201d;--blue:var(--employee-primary);--blue-soft:var(--employee-ice);--gold:var(--employee-accent);--gold-soft:#3a2f19}}html[data-theme=dark] [data-role=employee]{--employee-primary:#5aa9da;--employee-primary-dark:#2f80b7;--employee-surface:#16273a;--employee-background:#0e1e2e;--employee-mist:#1c3348;--employee-ice:#17293c;--employee-text:#e7f1f8;--employee-muted:#9fb6c7;--employee-border:#274257;--employee-success:#59bbac;--employee-warning:#e6bd6f;--employee-error:#d9847c;--employee-accent:#e6bd6f;--bg:var(--employee-background);--panel:var(--employee-surface);--panel-2:var(--employee-ice);--ink:var(--employee-text);--ink-soft:var(--employee-muted);--line:var(--employee-border);--line-soft:var(--employee-border);--navy:var(--employee-primary-dark);--accent:var(--employee-primary);--accent-ink:var(--employee-text);--accent-soft:var(--employee-mist);--amber:var(--employee-warning);--amber-soft:#3a2f19;--red:var(--employee-error);--red-soft:#3a201d;--blue:var(--employee-primary);--blue-soft:var(--employee-ice);--gold:var(--employee-accent);--gold-soft:#3a2f19}.employee-shell{min-height:100vh;background:var(--employee-background);color:var(--employee-text)}.employee-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:var(--employee-surface);border-bottom:1px solid var(--employee-border)}.employee-topbar-start{min-width:0;flex:1 1 auto}.employee-topbar-end{flex:none}.employee-brand{display:flex;align-items:center;gap:10px;min-width:0}.employee-brand img{-o-object-fit:cover;object-fit:cover}.employee-brand img,.employee-brand-mark{height:30px;width:30px;border-radius:7px;flex:none}.employee-brand-mark{background:var(--employee-primary);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.employee-brand-name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-nav{display:flex;align-items:center;gap:4px}.employee-nav-item{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--employee-muted);text-decoration:none;border:none;background:none;cursor:pointer}.employee-nav-item.active,.employee-nav-item:hover{background:var(--employee-mist);color:var(--employee-primary-dark)}.employee-nav-badge{display:inline-flex;min-width:17px;height:17px;padding:0 5px;border-radius:100px;background:var(--employee-accent);color:#1a1204;font-size:10.5px}.employee-avatar,.employee-nav-badge{align-items:center;justify-content:center;font-weight:700}.employee-avatar{width:32px;height:32px;border-radius:50%;background:var(--employee-mist);color:var(--employee-primary-dark);display:flex;font-size:12.5px;border:none;cursor:pointer;flex:none}.employee-content{max-width:1080px;margin:0 auto;padding:22px 20px 60px}.employee-footer-attribution{text-align:center;font-size:11.5px;color:var(--employee-muted);padding:18px 20px 28px}.mega-menu-backdrop{position:fixed;inset:0;z-index:40;background:rgba(22,39,58,.28)}.mega-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:41;background:var(--employee-surface);border:1px solid var(--employee-border);border-radius:16px;box-shadow:0 24px 60px rgba(22,39,58,.18);padding:22px 26px}.mega-menu-head{margin-bottom:16px}.mega-menu-head h2{margin:0 0 3px;font-size:17px;font-weight:700;color:var(--employee-primary-dark)}.mega-menu-head p{margin:0;font-size:13px;color:var(--employee-muted)}.mega-menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.mega-menu-col h3{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--employee-accent)}.mega-menu-col a{display:block;padding:6px 0;font-size:13.5px;font-weight:500;color:var(--employee-text);text-decoration:none}.mega-menu-col a:hover{color:var(--employee-primary)}.home-greeting-emp h1{font-size:22px;font-weight:700;margin:0 0 4px;color:var(--employee-primary-dark)}.home-greeting-emp p{margin:0;color:var(--employee-muted);font-size:13.5px}.emp-card{background:var(--employee-surface);border:1px solid var(--employee-border);border-radius:16px;padding:18px 20px}.emp-card h2{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--employee-primary-dark)}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.overview-tile{background:var(--employee-surface);border:1px solid var(--employee-border);border-radius:14px;padding:14px 16px}.overview-tile .label{font-size:11.5px;color:var(--employee-muted);margin-bottom:6px}.overview-tile .value{font-size:17px;font-weight:700;color:var(--employee-text)}.attendance-hero{background:linear-gradient(135deg,var(--employee-primary) 0,var(--employee-primary-dark) 100%);border-radius:16px;padding:20px 22px;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.attendance-hero .label{font-size:12px;opacity:.85;margin-bottom:4px}.attendance-hero .state{font-size:20px;font-weight:700}.attendance-hero .time{font-size:13px;opacity:.9;margin-top:2px}.attendance-hero .btn{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:white}.attendance-hero .btn:hover{background:rgba(255,255,255,.26)}.quick-actions-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.quick-action-card{background:var(--employee-surface);border:1px solid var(--employee-border);border-radius:14px;padding:14px 12px;text-align:left;text-decoration:none;color:var(--employee-text);display:flex;flex-direction:column;gap:8px;transition:border-color .15s,transform .15s}.quick-action-card:hover{border-color:var(--employee-primary);transform:translateY(-1px)}.quick-action-card .icon{width:34px;height:34px;border-radius:9px;background:var(--employee-mist);color:var(--employee-primary);display:flex;align-items:center;justify-content:center}.quick-action-card .title{font-size:13px;font-weight:600}.quick-action-card .status{font-size:11px;color:var(--employee-muted)}.quick-action-card.pending .status{color:var(--employee-warning);font-weight:600}.request-row-emp{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--employee-border);font-size:13px}.request-row-emp:last-child{border-bottom:none}.request-row-emp .type{font-weight:600}.request-row-emp .meta{color:var(--employee-muted);font-size:11.5px}.upcoming-row-emp{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px}.upcoming-row-emp .dot{width:6px;height:6px;border-radius:50%;background:var(--employee-accent);margin-top:6px;flex:none}.upcoming-row-emp .date{display:block;font-size:11px;color:var(--employee-muted)}.journey-track{gap:0;overflow-x:auto;padding:6px 2px 14px}.journey-step,.journey-track{display:flex;align-items:center}.journey-step{flex-direction:column;gap:8px;min-width:96px;flex:none}.journey-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--employee-mist);color:var(--employee-muted);border:2px solid var(--employee-border)}.journey-step.done .journey-dot{background:var(--employee-primary);color:white;border-color:var(--employee-primary)}.journey-step.current .journey-dot{border-color:var(--employee-accent);color:var(--employee-primary-dark)}.journey-label{font-size:12px;font-weight:600;text-align:center}.journey-connector{height:2px;flex:1 1 32px;min-width:24px;background:var(--employee-border)}.journey-connector.done{background:var(--employee-primary)}.journey-caption{margin:4px 0 0;font-size:12.5px;color:var(--employee-muted);text-align:center}.notif-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--employee-border)}.notif-row:last-child{border-bottom:none}.notif-row.unread{margin:0 -14px;padding:12px 14px;border-radius:10px;border-bottom-color:transparent}.notif-icon,.notif-row.unread{background:var(--employee-mist)}.notif-icon{width:32px;height:32px;border-radius:9px;color:var(--employee-primary);display:flex;align-items:center;justify-content:center;flex:none}.notif-icon svg{width:16px;height:16px}.notif-new-badge{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:white;background:var(--employee-primary);border-radius:4px;padding:1px 5px;margin-right:6px;vertical-align:middle}.notif-title{font-size:13.5px;font-weight:600}.notif-body{font-size:12.5px;margin-top:2px}.notif-body,.notif-time{color:var(--employee-muted)}.notif-time{font-size:11px;margin-top:3px}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--employee-border)}.pref-row:last-child{border-bottom:none}.pref-row .name{font-size:13.5px;font-weight:600}.pref-row .desc{font-size:12px;color:var(--employee-muted);margin-top:2px}.switch{position:relative;display:inline-flex;width:40px;height:22px;flex:none}.switch input{opacity:0;width:0;height:0}.switch-track{position:absolute;inset:0;background:var(--employee-border);border-radius:100px;transition:background .15s;cursor:pointer}.switch-track:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .15s}.switch input:checked+.switch-track{background:var(--employee-primary)}.switch input:checked+.switch-track:before{transform:translateX(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--employee-primary);outline-offset:2px}.appearance-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.appearance-option{border:1.5px solid var(--employee-border);border-radius:12px;padding:12px;text-align:center;font-size:12.5px;font-weight:600;background:var(--employee-surface);cursor:pointer;color:var(--employee-text)}.appearance-option.active{border-color:var(--employee-primary);color:var(--employee-primary-dark);background:var(--employee-mist)}.profile-menu-list a,.profile-menu-list button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 4px;font-size:13.5px;font-weight:600;color:var(--employee-text);text-decoration:none;background:none;border:none;border-bottom:1px solid var(--employee-border);text-align:left;cursor:pointer}.profile-menu-list svg{width:16px;height:16px;flex:none}.profile-menu-list a:last-child,.profile-menu-list button:last-child{border-bottom:none}.profile-menu-list a:hover,.profile-menu-list button:hover{color:var(--employee-primary)}.emp-empty{padding:28px 16px;text-align:center;color:var(--employee-muted);font-size:13px}.emp-two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.emp-col{display:flex;flex-direction:column;gap:16px}@media (max-width:860px){.emp-two-col{grid-template-columns:minmax(0,1fr)}.emp-col{min-width:0}}.employee-bottom-nav{display:none}@media (max-width:860px){.employee-nav{display:none}.mega-menu{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:16px 16px 0 0;max-height:80vh;overflow-y:auto}.mega-menu-grid{grid-template-columns:1fr 1fr}.overview-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.appearance-options{grid-template-columns:1fr}.employee-content{padding-bottom:84px}.employee-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--employee-surface);border-top:1px solid var(--employee-border);padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));justify-content:space-around}.employee-bottom-nav a,.employee-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:var(--employee-muted);text-decoration:none;background:none;border:none;padding:4px 8px}.employee-bottom-nav a.active,.employee-bottom-nav button.active{color:var(--employee-primary)}.employee-bottom-nav svg{width:22px;height:22px;flex:none}}@media (max-width:640px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:861px){.app-shell,.app-shell .sidebar,.app.platform-shell,.app.platform-shell .sidebar{height:100vh;overflow:hidden}.app-shell .sidebar>nav,.app.platform-shell .sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0 -6px;padding:0 6px}.app-shell .sidebar>nav{scrollbar-color:var(--sidebar-active) transparent}.app-shell .sidebar .brand,.app-shell .sidebar .sidebar-foot,.app.platform-shell .sidebar .brand,.app.platform-shell .sidebar .sidebar-foot{flex:none}.app-shell .main,.app.platform-shell .main{height:100vh;overflow-y:auto}.app-shell .topbar,.app.platform-shell .topbar{position:sticky;top:0;z-index:5}.app-shell .content,.app.platform-shell .content{flex:none;overflow-y:visible}}:root{--viz-primary:#315a7d;--viz-1:#3478b9;--viz-2:#d99a16;--viz-3:#2f9a75;--viz-4:#7a63c4;--viz-5:#c2703d;--viz-6:#5aa0d8;--viz-other:#a8b3bd;--viz-grid:#ece7de}:root:not([data-theme=light]){@media (prefers-color-scheme:dark){--viz-primary:#6ea3cf;--viz-1:#3a84c9;--viz-2:#bf8611;--viz-3:#23916b;--viz-4:#8b70d8;--viz-5:#c06a37;--viz-6:#2f9ed6;--viz-other:#6b7f92;--viz-grid:#22405c}}:root[data-theme=dark]{--viz-primary:#6ea3cf;--viz-1:#3a84c9;--viz-2:#bf8611;--viz-3:#23916b;--viz-4:#8b70d8;--viz-5:#c06a37;--viz-6:#2f9ed6;--viz-other:#6b7f92;--viz-grid:#22405c}.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.dash-head h1{font-size:22px;margin:0;letter-spacing:-.01em}.dash-head p{margin:4px 0 0;color:var(--ink-soft);font-size:13.5px}.dash-date{color:var(--ink-soft);font-size:12.5px;white-space:nowrap;padding-top:6px}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.dash-kpi{display:flex;align-items:center;gap:12px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);text-decoration:none;color:inherit;min-width:0}a.dash-kpi:hover{border-color:var(--accent)}.dash-kpi-icon{width:40px;height:40px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--primary)}:root[data-theme=dark] .dash-kpi-icon{color:var(--accent)}:root:not([data-theme=light]){@media (prefers-color-scheme:dark){.dash-kpi-icon{color:var(--accent)}}}.dash-kpi-icon.state-success{background:var(--success-soft);color:var(--success)}.dash-kpi-icon.state-warning{background:var(--warning-soft);color:var(--warning)}.dash-kpi-icon.state-danger{background:var(--danger-soft);color:var(--danger)}.dash-kpi-icon.state-info{background:var(--info-soft);color:var(--info)}.app-shell .sidebar .nav-section-label{color:var(--sidebar-muted);opacity:1}.dash-kpi-icon svg{width:20px;height:20px}.dash-kpi-label{font-size:12px;color:var(--ink-soft)}.dash-kpi-value{font-size:20px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.dash-kpi-sub{font-size:11.5px;color:var(--ink-soft)}.tone-blue{background:var(--mod-blue-soft);color:var(--mod-blue)}.tone-mint{background:var(--mod-mint-soft);color:var(--mod-mint)}.tone-lavender{background:var(--mod-lavender-soft);color:var(--mod-lavender)}.tone-peach{background:var(--mod-peach-soft);color:var(--mod-peach)}.tone-gold{background:var(--gold-soft);color:var(--amber)}.tone-slate{background:var(--mod-slate-soft);color:var(--mod-slate)}.tone-red{background:var(--danger-soft);color:var(--danger)}.dash-grid{display:grid;gap:16px;margin-bottom:16px}.dash-grid>*{min-width:0}.dash-grid.cols-3{grid-template-columns:1.3fr 1fr 1.1fr}.dash-grid.cols-3-even{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid.cols-2-wide{grid-template-columns:1.6fr 1fr}@media (max-width:1100px){.dash-grid.cols-3,.dash-grid.cols-3-even{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dash-grid.cols-2,.dash-grid.cols-2-wide,.dash-grid.cols-3,.dash-grid.cols-3-even{grid-template-columns:minmax(0,1fr)}.dash-head{flex-direction:column;gap:4px}.dash-date{padding-top:0}}.dash-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:16px;min-width:0}.dash-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.dash-panel-head h2{font-size:14px;margin:0;font-weight:650}.dash-panel-head .dash-count{color:var(--ink-soft);font-weight:500;margin-left:4px}.dash-panel-head a{font-size:12px;white-space:nowrap;color:var(--accent);text-decoration:none}.dash-panel-head a:hover{text-decoration:underline}.dash-sub{font-size:12px;color:var(--ink-soft);margin:-6px 0 10px}.dash-empty{color:var(--ink-soft);font-size:13px;padding:12px 0}.viz-svg{width:100%;height:auto;display:block;overflow:visible}.viz-axis{fill:var(--ink-soft);font-size:10px}.viz-gridline{stroke:var(--viz-grid);stroke-width:1}.viz-mark:hover{opacity:.82}.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut-wrap svg{width:132px;height:132px;flex:none}.donut-center-value{font-size:22px;font-weight:700;fill:var(--ink)}.donut-center-label{font-size:10px;fill:var(--ink-soft)}.viz-legend{list-style:none;margin:0;padding:0;flex:1 1 140px;min-width:0;display:grid;gap:6px;font-size:12.5px}.viz-legend li{display:flex;align-items:center;gap:8px;min-width:0}.viz-legend .swatch{width:9px;height:9px;border-radius:50%;flex:none}.viz-legend .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.viz-legend .val{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.hbar-list,.hbar-row{display:grid;gap:10px}.hbar-row{grid-template-columns:minmax(0,110px) 1fr 32px;align-items:center;font-size:12.5px}.hbar-row .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.hbar-track{height:8px;background:var(--panel-2);border-radius:4px;overflow:hidden}.hbar-fill{height:100%;border-radius:0 4px 4px 0}.hbar-row .val{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.dash-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.dash-list-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line-soft);min-width:0}.dash-list-item:last-child{border-bottom:none}.dash-list-main{flex:1;min-width:0}.dash-list-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-list-title a{color:inherit;text-decoration:none}.dash-list-title a:hover{text-decoration:underline}.dash-list-sub{overflow:hidden;text-overflow:ellipsis}.dash-list-meta,.dash-list-sub{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}.dash-list-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.dash-avatar{border-radius:50%;font-size:11px;font-weight:700;background:var(--blue-soft);color:var(--blue)}.dash-avatar,.dash-icon-chip{width:30px;height:30px;flex:none;display:flex;align-items:center;justify-content:center}.dash-icon-chip{border-radius:8px}.dash-icon-chip svg{width:16px;height:16px}.date-badge{width:40px;flex:none;text-align:center;border-radius:8px;background:var(--panel-2);padding:4px 0;line-height:1.1}.date-badge .m{font-size:9.5px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.04em;display:block}.date-badge .d{font-size:16px;font-weight:700;display:block}.quick-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.quick-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border:1px solid var(--line-soft);border-radius:var(--radius-md);text-decoration:none;color:var(--ink);font-size:12px;text-align:center;line-height:1.25}.quick-tile:hover{border-color:var(--accent);background:var(--accent-soft)}.quick-tile .dash-icon-chip{width:36px;height:36px}.mini-cal{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.mini-cal th{font-weight:500;color:var(--ink-soft);padding:4px 0;font-size:11px}.mini-cal td{text-align:center;padding:3px 0}.mini-cal .day{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;position:relative}.mini-cal .day.out{color:var(--ink-soft);opacity:.5}.mini-cal .day.today{background:var(--primary);color:#fff;font-weight:700}.mini-cal .day.event:after,.mini-cal .day.holiday:after{content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%}.mini-cal .day.holiday:after{background:var(--danger)}.mini-cal .day.event:after{background:var(--gold)}.mini-cal .day.today:after{background:#fff}.cal-legend{display:flex;gap:14px;font-size:11.5px;color:var(--ink-soft);margin-top:8px;flex-wrap:wrap}.cal-legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.cal-legend .k-holiday:before{background:var(--danger)}.cal-legend .k-event:before{background:var(--gold)}.dash-hero{border-radius:var(--radius-lg);padding:22px;min-height:160px;color:#fff;background:linear-gradient(135deg,#102a43,#315a7d 55%,#3478b9);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.dash-hero blockquote{margin:0;font-size:20px;font-weight:650;line-height:1.3;max-width:26ch}.dash-hero .dash-hero-sub{font-size:13px;opacity:.85}.dash-birthday{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.dash-birthday .dash-avatar{width:52px;height:52px;font-size:16px;background:var(--gold-soft);color:var(--amber)}.dash-note-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.modal.modal-wide{max-width:760px}.payslip-doc{color:var(--ink);font-size:13px;line-height:1.45}.payslip-doc .payslip-head{display:flex;align-items:flex-start;gap:14px;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--ink);text-align:left}.payslip-doc .payslip-logo{display:block;max-height:48px;max-width:160px;-o-object-fit:contain;object-fit:contain}.payslip-doc .payslip-company{font-size:12px;color:var(--ink-soft)}.payslip-doc .payslip-company-name{font-size:16px;font-weight:700;color:var(--ink)}.payslip-doc .payslip-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}.payslip-doc .payslip-title{margin:0;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.payslip-doc .payslip-period{font-weight:600}.payslip-doc .payslip-status{display:inline-block;margin:0 0 10px;padding:3px 8px;border:1px solid var(--ink);font-weight:700}.payslip-doc .payslip-scroll{overflow-x:auto;margin-bottom:14px}.payslip-doc .payslip-table{width:100%;border-collapse:collapse}.payslip-doc .payslip-table td,.payslip-doc .payslip-table th{padding:6px 8px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12.5px;text-align:left;text-transform:none;letter-spacing:0}.payslip-doc .payslip-table thead th{font-weight:700;border-bottom:2px solid var(--ink)}.payslip-doc .payslip-table tbody tr:hover td{background:transparent}.payslip-doc .payslip-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payslip-doc .payslip-table tfoot td,.payslip-doc .payslip-table tfoot th{font-weight:700;border-top:2px solid var(--ink)}.payslip-doc .payslip-net{margin-bottom:14px}.payslip-doc .payslip-net td,.payslip-doc .payslip-net th{border:2px solid var(--ink);font-size:14px;font-weight:700}.payslip-doc .payslip-note{margin:0;font-size:11.5px;color:var(--ink-soft)}.payslip-print{display:none}@media print{@page{size:A4;margin:14mm}body.payslip-printing{background:#fff}body.payslip-printing>:not(.payslip-print){display:none!important}body.payslip-printing>.payslip-print{display:block}.payslip-print .payslip-doc,.payslip-print .payslip-doc *{color:#000!important;background:transparent!important;box-shadow:none!important}.payslip-print .payslip-doc .payslip-table td,.payslip-print .payslip-doc .payslip-table th{border-color:#777}.payslip-print .payslip-doc .payslip-head,.payslip-print .payslip-doc .payslip-net td,.payslip-print .payslip-doc .payslip-net th,.payslip-print .payslip-doc .payslip-status,.payslip-print .payslip-doc .payslip-table tfoot td,.payslip-print .payslip-doc .payslip-table tfoot th,.payslip-print .payslip-doc .payslip-table thead th{border-color:#000}.payslip-print .payslip-doc .payslip-scroll{overflow:visible}.payslip-print .payslip-doc tr{-moz-column-break-inside:avoid;break-inside:avoid}}