.skeleton-page{animation:skeleton-fade-in .2s ease}@keyframes skeleton-fade-in{0%{opacity:.6}to{opacity:1}}.skeleton-table{padding:4px 0}.skeleton-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.skeleton-master-data{padding:4px 0}.skeleton-detail-hero{display:grid;gap:20px;margin-bottom:24px}.skeleton-detail-main{display:flex;gap:20px;align-items:flex-start}.skeleton-detail-identity{flex:1;display:grid;gap:10px}.skeleton-tag-row{display:flex;flex-wrap:wrap;gap:8px}.skeleton-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.skeleton-tab-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 16px}.skeleton-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px}.skeleton-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skeleton-dash-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.skeleton-dash-actions{display:flex;gap:8px}.skeleton-dash-grid{display:grid;gap:16px;margin-bottom:16px}.skeleton-dash-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-dash-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-picklist-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;min-height:420px}.skeleton-picklist-sidebar{display:grid;align-content:start}.skeleton-picklist-content{min-width:0}.skeleton-change-requests{display:grid;gap:20px}.skeleton-cr-split{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px}.skeleton-cr-list{display:grid;gap:12px}.skeleton-admin{display:grid;gap:20px}.skeleton-app-layout{padding:24px}@media (max-width: 960px){.skeleton-dash-grid.three-col,.skeleton-dash-grid.two-col,.skeleton-cr-split,.skeleton-picklist-layout,.skeleton-form-grid{grid-template-columns:1fr}.skeleton-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,40px);overflow:hidden;background:#0c1a33}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 15% 10%,rgba(45,98,216,.45),transparent 55%),radial-gradient(ellipse 70% 55% at 85% 15%,rgba(6,182,212,.32),transparent 50%),radial-gradient(ellipse 60% 50% at 50% 100%,rgba(16,185,129,.22),transparent 55%),linear-gradient(165deg,#0b1a36,#12356b 38%,#0f4c5c)}.login-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,black 20%,transparent 75%)}.login-orb{position:absolute;border-radius:999px;filter:blur(60px);opacity:.55}.login-orb--one{width:320px;height:320px;top:-80px;left:-60px;background:#2d62d8}.login-orb--two{width:280px;height:280px;top:12%;right:-40px;background:#06b6d4}.login-orb--three{width:360px;height:360px;bottom:-120px;left:35%;background:#10b981}.login-layout{position:relative;z-index:1;width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(32px,6vw,72px);align-items:center}.login-intro{color:#fff;padding:8px 0}.login-intro-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;padding:6px 12px 6px 8px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffd1}.login-intro-eyebrow .brand-mark{width:28px;height:28px;border-radius:8px}.login-intro h1{margin:0 0 16px;font-size:clamp(2rem,4.5vw,3rem);line-height:1.08;font-weight:700;letter-spacing:-.03em}.login-intro-lead{margin:0;max-width:520px;font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.65;color:#ffffffc7}.login-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:36px}.login-feature-card{padding:18px 16px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-feature-card strong{display:block;margin-bottom:6px;font-size:.92rem;font-weight:600;color:#fff}.login-feature-card span{display:block;font-size:.82rem;line-height:1.45;color:#ffffffad}.login-intro-footer{margin-top:40px;font-size:.8rem;color:#ffffff73}.login-panel{width:100%}.login-card{background:#fffffff7;border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:clamp(28px,4vw,36px);box-shadow:0 1px #fffc inset,0 24px 64px #050f2359,0 8px 24px #050f232e;animation:login-card-rise .55s ease both}@keyframes login-card-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-card-brand{display:flex;justify-content:center;margin-bottom:22px}.login-card-brand .sidebar-brand{flex-direction:column;align-items:center;text-align:center;gap:10px}.login-card-brand .brand-mark{width:52px;height:52px;border-radius:14px}.login-card-brand .sidebar-brand h2{font-size:1.35rem;color:#132238}.login-card-brand .sidebar-brand p{font-size:.82rem;color:#64748b}.login-card-divider{height:1px;margin:0 0 24px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.login-card-header{text-align:center;margin-bottom:24px}.login-card-title{margin:0 0 8px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#132238}.login-card-subtitle{margin:0;font-size:.94rem;line-height:1.55;color:#64748b}.login-card-body{display:grid;gap:16px}.login-loading{display:grid;justify-items:center;gap:14px;padding:16px 0;color:#64748b}.microsoft-signin-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-height:52px!important;border-radius:12px!important;background:#fff!important;color:#132238!important;border:1px solid #d5dde8!important;box-shadow:0 1px 2px #1322380f;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.microsoft-signin-btn span{font-weight:600;font-size:.95rem}.microsoft-signin-btn:hover{background:#f8fafc!important;border-color:#94a3b8!important;box-shadow:0 10px 24px #1322381a;transform:translateY(-1px)}.microsoft-signin-btn:active{transform:translateY(0)}.login-secure-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 0;font-size:.78rem;color:#94a3b8}.login-secure-note svg{flex-shrink:0;color:#10b981}.login-primary-btn{min-height:48px!important;border-radius:12px!important}.login-card-help{margin:4px 0 0;text-align:center;font-size:.8rem;color:#94a3b8}.login-card-help a{color:#2d62d8;text-decoration:none;font-weight:600}.login-card-help a:hover{text-decoration:underline}.login-or-divider{text-align:center;font-size:.82rem;text-transform:lowercase}@media (max-width: 900px){.login-layout{grid-template-columns:1fr;max-width:440px}.login-intro{display:none}}@media (max-width: 520px){.login-feature-grid{grid-template-columns:1fr}.login-card{border-radius:18px;padding:24px 20px}}.icon-action-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.icon-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.icon-action-btn svg{flex-shrink:0}.icon-action-secondary{background:#fff;border-color:#dbeafe;color:#1e40af}.icon-action-secondary:hover{background:#eff6ff;border-color:#93c5fd}.icon-action-primary{background:#2563eb;border-color:#2563eb;color:#fff}.icon-action-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.icon-action-ghost{background:transparent;border-color:#e2e8f0;color:#475569}.icon-action-ghost:hover{background:#f8fafc;border-color:#cbd5e1}.icon-action-danger{background:#fff;border-color:#fecaca;color:#b91c1c}.icon-action-danger:hover{background:#fef2f2;border-color:#f87171}.icon-action-btn:disabled{opacity:.55;cursor:not-allowed}.icon-action-btn.icon-only{justify-content:center;padding:8px;min-width:36px}.master-data-header .icon-action-btn,.master-data-search-view-toolbar .icon-action-btn,.master-data-actions .icon-action-btn,.cr-toolbar .icon-action-btn{box-sizing:border-box;height:36px;min-height:36px;padding:0 12px}.master-data-header .icon-action-btn.icon-only,.master-data-search-view-toolbar .icon-action-btn.icon-only,.master-data-actions .icon-action-btn.icon-only,.cr-toolbar .icon-action-btn.icon-only{width:36px;min-width:36px;max-width:36px;padding:0}.master-data-search-view-toolbar .master-data-view-dropdown-trigger.icon-only{width:auto;min-width:36px;max-width:none;padding:0 8px}.master-data-actions .toolbar-label-toggle.icon-only{min-width:36px}.bulk-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bulk-toolbar .icon-action-group{margin-left:auto}.sidebar .icon-action-btn,.topbar-right .icon-action-btn{font-size:12px}.topbar-right .toolbar-label-toggle-compact{width:36px;height:36px;min-width:36px;max-width:36px;padding:0;border-radius:10px;justify-content:center}.modal-actions,.filter-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.modal-actions .icon-action-group,.filter-modal-actions.icon-action-group{margin-left:auto}.employee-page-top .icon-action-btn{padding:6px 10px}.master-data-actions.icon-action-group{justify-content:flex-end;align-items:center}.master-data-actions .MuiBadge-root{display:inline-flex;align-items:center}.employee-section-head .icon-action-group{margin-left:auto}.employee-page-actions.icon-action-group{justify-content:flex-end}:root{font-family:Segoe UI,Arial,sans-serif;color-scheme:light;--app-bg: #f4f7fb;--surface: #ffffff;--surface-muted: #f8fafc;--surface-subtle: #f1f5f9;--text-primary: #132238;--text-heading: #0f172a;--text-muted: #64748b;--border-subtle: #e8edf5;--border-default: #dbe3ef;--input-bg: #ffffff;--hover-bg: #f8fafc;--shadow-color: rgba(15, 23, 42, .04);--color-primary: #2d62d8;--color-danger-bg: #ffe8e8;--color-danger-text: #9f2f38;--color-danger-border: #ffcaca;--radius-sm: 8px;--radius-card: 14px;--radius-pill: 999px;--space-page: 20px;--shadow-card: 0 2px 8px rgba(15, 23, 42, .04);color:var(--text-primary);background:var(--app-bg)}[data-theme=dark]{color-scheme:dark;--app-bg: #0b1220;--surface: #151f32;--surface-muted: #1a2740;--surface-subtle: #243049;--text-primary: #e2e8f0;--text-heading: #f1f5f9;--text-muted: #94a3b8;--border-subtle: #243049;--border-default: #334155;--input-bg: #1e293b;--hover-bg: #1e293b;--shadow-color: rgba(0, 0, 0, .25);color:var(--text-primary);background:var(--app-bg)}*{box-sizing:border-box}body{margin:0}.layout{max-width:1200px;margin:0 auto;padding:24px}.app-shell{--sidebar-width: 260px;display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--app-bg)}.app-shell.sidebar-collapsed{--sidebar-width: 76px}.sidebar{background:linear-gradient(180deg,#0b1f3a,#0f2744);color:#e8edf5;padding:16px 10px;display:flex;flex-direction:column;gap:0;border-right:1px solid rgba(255,255,255,.06);height:100vh;position:sticky;top:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:12px}.sidebar.collapsed .sidebar-header{flex-direction:column;align-items:center;gap:10px}.sidebar-collapse-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a;color:#b8c7da;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.sidebar-collapse-btn:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.sidebar-collapse-icon{width:18px;height:18px}.sidebar-brand{display:flex;gap:10px;align-items:center;padding:0;min-width:0;flex:1}.sidebar.collapsed .sidebar-brand{justify-content:center;flex:0}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2d62d8,#06b6d4);display:grid;place-items:center;flex-shrink:0}.sidebar-brand h2{margin:0;font-size:16px}.sidebar-brand p{margin:2px 0 0;font-size:11px;color:#8fa3bf}.login-brand{flex-direction:column;align-items:center;text-align:center;padding:0;gap:12px}.login-brand h2{font-size:24px;color:#132238}.login-brand p{color:#5b6b85;font-size:13px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2px 8px;margin-right:-2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#b8c7da;text-decoration:none;font-size:13px;transition:background .15s,color .15s;flex-shrink:0}.nav-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-link{justify-content:center;padding:10px 8px}.sidebar.collapsed .nav-link-label{display:none}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.9}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:#2d62d8;color:#fff;box-shadow:0 4px 14px #2d62d859}.main-panel{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border-subtle);gap:16px}.topbar-left .page-title{margin:0;font-size:20px;color:var(--text-heading)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-user-menu{display:flex;align-items:center;gap:4px;margin-left:6px;padding:4px 4px 4px 6px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-muted);box-shadow:0 1px 2px #0f172a0a}.topbar-user-menu__identity{display:flex;align-items:center;gap:10px;min-width:0;padding:2px 4px 2px 2px}.topbar-user-menu__avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#3b6de8,#2553c7);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em;flex-shrink:0}.topbar-user-menu__meta{display:flex;flex-direction:column;gap:1px;min-width:0}.topbar-user-menu__name{font-size:13px;font-weight:600;line-height:1.25;color:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.topbar-user-menu__role,.topbar-user-menu__role-picker{font-size:12px;line-height:1.2;color:var(--text-muted)}.topbar-user-menu__role-picker{position:relative;display:inline-flex;align-items:center;max-width:180px}.topbar-user-menu__role-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-weight:500;padding:0 18px 0 0;margin:0;cursor:pointer;max-width:100%;outline:none}.topbar-user-menu__role-select:hover:not(:disabled){color:var(--text-heading)}.topbar-user-menu__role-select:disabled{opacity:.6;cursor:wait}.topbar-user-menu__role-chevron{position:absolute;right:0;top:50%;transform:translateY(-50%);width:16px!important;height:16px!important;color:var(--text-muted);pointer-events:none}.topbar-user-menu__divider{width:1px;align-self:stretch;margin:6px 2px;background:var(--border-default)}.topbar-user-menu__signout{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.topbar-user-menu__signout:hover{background:var(--hover-bg);color:#b91c1c}.topbar-user-menu__signout svg{flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 900px){.topbar-user-menu__signout span{display:none}.topbar-user-menu__signout{padding:8px;min-width:36px;justify-content:center}.topbar-user-menu__name{max-width:140px}}.icon-btn,.theme-toggle-btn{width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface);display:grid;place-items:center;cursor:pointer;position:relative;color:var(--text-muted);transition:background .15s,border-color .15s,color .15s}.theme-toggle-btn:hover{background:var(--hover-bg);color:var(--text-heading)}.icon-btn svg,.theme-toggle-btn svg{width:18px;height:18px;color:currentColor}.notify-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;padding:0 4px}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface)}.user-chip .avatar{width:32px;height:32px;border-radius:50%;background:#2d62d8;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.user-chip strong{display:block;font-size:12px;line-height:1.2;color:var(--text-heading)}.user-chip span{font-size:11px;color:var(--text-muted)}.page-content{padding:20px 24px 28px;overflow-y:auto;flex:1}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hero h1{margin:0}.hero p{margin:6px 0 0;color:#556273}.refresh-btn{border:1px solid #2d62d8;color:#2d62d8;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.card{background:#fff;border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 4px 12px #19386014}.card-header h2{margin:0}.card-header p{margin:8px 0 14px;color:#5d6877}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.kpi{background:#f0f4ff;border:1px solid #d7e2ff;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.kpi strong{font-size:22px}.split{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.filters{display:flex;gap:10px;margin-bottom:12px}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #ced4dd;border-radius:8px;padding:8px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #edf1f5;text-align:left;padding:8px 6px;font-size:14px}.request-form{display:grid;gap:10px;align-content:start}.request-form button,.request-actions button{border:0;background:#2d62d8;color:#fff;padding:8px 10px;border-radius:8px;cursor:pointer}.request-list{display:grid;gap:10px}.request-item{border:1px solid #dce4f3;border-radius:10px;padding:10px}.request-item p{margin:0 0 8px}.request-actions{display:flex;gap:8px}.request-actions button:last-child,.request-actions .reject-btn{background:#9f2f38}.cr-dashboard{margin-bottom:20px}.cr-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.cr-kpi-card{background:#f8fafc;border:1px solid #e8edf5;border-radius:12px;padding:12px 14px}.cr-kpi-card span{display:block;font-size:12px;color:#64748b}.cr-kpi-card strong{display:block;font-size:24px;margin-top:4px;color:#0f172a}.cr-kpi-card em{display:block;font-size:11px;color:#64748b;margin-top:4px;font-style:normal}.cr-kpi-card.at-risk strong{color:#d97706}.cr-kpi-card.overdue strong{color:#dc2626}.cr-tabs,.cr-period-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cr-tabs button,.cr-period-filter button{border:1px solid #dbe3ef;background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;color:#334155}.cr-tabs button.active,.cr-period-filter button.active{background:#eef4ff;border-color:#2d62d8;color:#2d62d8;font-weight:600}.cr-toolbar{display:flex;gap:8px;flex-wrap:wrap}.request-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.link-btn{border:0;background:none;color:#2d62d8;cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.current-value-preview{background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:13px;margin:0}.rejection-reason{background:#fef2f2;border-radius:8px;padding:8px 10px;font-size:13px;color:#991b1b}.audit-table{width:100%;margin:12px 0}.modal-wide{max-width:720px;width:95%}.request-form label{display:grid;gap:6px;font-size:13px;color:#334155}.error{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);padding:10px;border-radius:var(--radius-sm)}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:320px;padding:24px}.error-boundary-card{max-width:520px;width:100%;text-align:center;background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;padding:32px 28px;box-shadow:0 8px 24px #0f172a0f}.error-boundary-icon{font-size:40px!important;color:#d97706;margin-bottom:12px}.error-boundary-title{margin:0 0 8px;font-size:22px!important;font-weight:700!important;color:var(--text-heading)}.error-boundary-message{margin:0 0 20px;color:var(--text-muted);line-height:1.5}.error-boundary-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.loading{color:#334a63}.hero-actions{display:flex;gap:8px}.logout-btn{border:1px solid #9f2f38;color:#9f2f38;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.export-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.export-bar button,.inline-export{border:1px solid #2d62d8;color:#2d62d8;background:#fff;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.muted{color:#5d6877;font-size:14px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:14px}.pagination button{border:1px solid #2d62d8;color:#2d62d8;background:#fff;padding:6px 12px;border-radius:8px;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:not-allowed}.history-section{margin-top:24px}.history-item{opacity:.95}.status-badge{margin-left:8px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.status-approved{background:#e6f4ea;color:#1e7e34}.status-rejected{background:#ffe8e8;color:#9f2f38}.status-more_info_needed{background:#fff4e5;color:#9a6700}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#13223873;display:grid;place-items:center;z-index:1000;padding:20px}.modal-panel{background:#fff;border-radius:12px;width:min(920px,100%);max-height:90vh;overflow:auto;box-shadow:0 12px 40px #13223833}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #edf1f5;position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{margin:0;font-size:18px}.modal-close{border:0;background:transparent;font-size:24px;cursor:pointer;color:#556273}.record-form{padding:16px 20px 20px}.form-section{margin-bottom:18px}.form-section h3{margin:0 0 10px;font-size:15px;color:#2d62d8}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px}.field span{color:#5d6877}.checkbox-field{flex-direction:row;align-items:center;gap:8px;margin-top:24px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;position:sticky;bottom:0;background:#fff;padding-top:12px}.modal-actions button[type=submit]{border:0;background:#2d62d8;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions button{border:1px solid #2d62d8;color:#2d62d8;background:#fff;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:12px}.table-actions button.danger{border-color:#9f2f38;color:#9f2f38}.page-toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.page-toolbar button{border:0;background:#2d62d8;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.inactive-row{opacity:.65;background:#fafbfc}[data-theme=dark] .inactive-row{background:var(--surface-muted)}[data-theme=dark] .master-data-card,[data-theme=dark] .employee-section-card,[data-theme=dark] .employee-profile-hero,[data-theme=dark] .employee-glance-panel,[data-theme=dark] .dash-card,[data-theme=dark] .login-card,[data-theme=dark] .modal-panel{background:var(--surface);border-color:var(--border-subtle);color:var(--text-primary)}[data-theme=dark] .master-data-header h1,[data-theme=dark] .employee-section-card h2,[data-theme=dark] .employee-profile-identity h1,[data-theme=dark] .employee-glance-panel h3,[data-theme=dark] .employee-stat-card strong{color:var(--text-heading)}[data-theme=dark] .employee-stat-card,[data-theme=dark] .employee-meta-tag{background:var(--surface-muted);border-color:var(--border-subtle)}[data-theme=dark] .employee-tabs-underline{border-bottom-color:var(--border-subtle)}[data-theme=dark] .employee-profile-tip{background:#2563eb1f;border-color:#60a5fa40;color:#bfdbfe}[data-theme=dark] .icon-action-secondary{background:var(--surface-muted);border-color:var(--border-default);color:#93c5fd}[data-theme=dark] .icon-action-secondary:hover{background:var(--hover-bg);border-color:#60a5fa}[data-theme=dark] .icon-action-ghost{background:transparent;border-color:var(--border-default);color:var(--text-muted)}[data-theme=dark] .icon-action-ghost:hover{background:var(--hover-bg);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .master-data-table th{background:var(--surface-muted);color:var(--text-muted)}[data-theme=dark] .master-data-table td{border-color:var(--border-subtle);color:var(--text-primary)}[data-theme=dark] .master-data-table tbody tr:hover{background:var(--hover-bg)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--input-bg);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .md-kpi-card,[data-theme=dark] .project-kpi-card,[data-theme=dark] .md-card-meta,[data-theme=dark] .employee-card-body{background:var(--surface-muted);border-color:var(--border-subtle)}[data-theme=dark] .md-card-action-hint{color:#93c5fd}.error,.alert-error,.app-modal-error{background:var(--color-danger-bg, #ffe8e8);color:var(--color-danger-text, #9f2f38);border:1px solid var(--color-danger-border, #ffcaca);padding:10px;border-radius:var(--radius-sm, 8px);margin:0}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:app-modal-fade-in .18s ease-out}.app-modal{display:flex;flex-direction:column;width:100%;max-height:min(90vh,860px);background:var(--surface-elevated, #fff);border:1px solid var(--border-subtle, #e2e8f0);border-radius:16px;box-shadow:0 24px 48px #0f172a29,0 8px 16px #0f172a14;overflow:hidden;animation:app-modal-rise-in .22s ease-out}.app-modal--sm{max-width:440px}.app-modal--md{max-width:560px}.app-modal--lg{max-width:720px}.app-modal--xl{max-width:920px}.app-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--border-subtle, #e8edf5);background:var(--surface-elevated, #fff);flex-shrink:0}.app-modal__titles h2{margin:0;font-size:18px;font-weight:700;line-height:1.3;color:var(--text-primary, #0f172a)}.app-modal__titles p{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--text-muted, #64748b)}.app-modal__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-subtle, #dbe3ef);border-radius:10px;background:var(--surface-elevated, #fff);color:var(--text-muted, #64748b);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.app-modal__close:hover{background:var(--surface-muted, #f8fafc);border-color:#c7d4e8;color:var(--text-primary, #334155)}.app-modal__body{flex:1;overflow:auto;padding:20px 24px}.app-modal__body--compact{padding-top:8px}.app-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:16px 24px 20px;border-top:1px solid var(--border-subtle, #e8edf5);background:var(--surface-muted, #fafbfc);flex-shrink:0}.app-modal-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.app-modal-field:last-child{margin-bottom:0}.app-modal-field__label{font-size:13px;font-weight:600;color:var(--text-secondary, #475569)}.app-modal-field__hint{font-size:12px;font-style:normal;color:var(--text-muted, #64748b);line-height:1.4}.app-modal-field__error{font-size:12px;color:#dc2626}.app-modal-field input,.app-modal-field select,.app-modal-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-default, #dbe3ef);border-radius:10px;padding:11px 14px;font-size:14px;line-height:1.4;color:var(--text-primary, #0f172a);background:var(--surface-elevated, #fff);transition:border-color .15s,box-shadow .15s}.app-modal-field input:focus,.app-modal-field select:focus,.app-modal-field textarea:focus{outline:none;border-color:#93b4f5;box-shadow:0 0 0 3px #2d62d824}.app-modal-field textarea{min-height:96px;resize:vertical}.app-modal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.app-modal-form-grid .app-modal-field{margin-bottom:0}.app-modal-note{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:var(--surface-muted, #f8fafc);border:1px solid var(--border-subtle, #e2e8f0);font-size:13px;line-height:1.45;color:var(--text-secondary, #475569)}.app-modal-note strong{color:var(--text-primary, #0f172a)}.app-modal-pill{display:inline-flex;margin:0 0 18px;padding:6px 12px;border-radius:999px;background:#eef4ff;color:#2d62d8;font-size:13px;font-weight:600}.app-modal-error{margin:0 0 16px;padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px}@keyframes app-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-modal-rise-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .app-modal,[data-theme=dark] .app-modal__header,[data-theme=dark] .app-modal__footer{background:var(--surface);border-color:var(--border-subtle)}[data-theme=dark] .app-modal__titles h2{color:var(--text-heading)}[data-theme=dark] .app-modal__close{background:var(--surface-muted);border-color:var(--border-default)}[data-theme=dark] .app-modal-field input,[data-theme=dark] .app-modal-field select,[data-theme=dark] .app-modal-field textarea{background:var(--surface-muted);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .app-modal-note{background:var(--surface-muted);border-color:var(--border-subtle)}.app-modal__body .record-form{padding:0}.app-modal__body .form-section:last-child{margin-bottom:0}@media (max-width: 520px){.app-modal-backdrop{padding:12px;align-items:flex-end}.app-modal{max-height:92vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.app-modal__header,.app-modal__body,.app-modal__footer{padding-left:16px;padding-right:16px}}
