@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--ink: #0c142b;--ink-2: #1d2942;--muted: #64748b;--muted-2: #94a3b8;--line: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .12);--grad-a: #6366f1;--grad-b: #3b82f6;--grad-c: #8b5cf6;--blue: #4f7bff;--blue-ink: #2c5bd6;--green: #10b981;--green-ink: #0a8f63;--green-soft: rgba(16, 185, 129, .12);--amber: #f59e0b;--amber-ink: #b97608;--amber-soft: rgba(245, 158, 11, .13);--danger: #f43f5e;--danger-ink: #e11d48;--danger-soft: rgba(244, 63, 94, .12);--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .86);--glass-border: rgba(255, 255, 255, .7);--field-bg: rgba(255, 255, 255, .9);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 20px -14px rgba(15, 23, 42, .22);--shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 22px 48px -24px rgba(15, 23, 42, .34);--shadow-lift: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 34px 64px -28px rgba(15, 23, 42, .4);--btn-shadow: 0 12px 26px -10px rgba(79, 70, 229, .55);--btn-shadow-hover: 0 18px 34px -10px rgba(79, 70, 229, .62);--ring: 0 0 0 4px rgba(99, 102, 241, .16);--radius-lg: 26px;--radius: 20px;--radius-sm: 14px;--pill: 999px;--font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-family);font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#fff;background-attachment:fixed}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;caret-color:transparent;user-select:none;-webkit-user-select:none}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.55}.appShell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;min-height:100dvh;transition:grid-template-columns .22s ease}.appShell.sidebarCollapsed{grid-template-columns:88px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 18px;color:var(--ink);background:#fffffff0;border-right:1px solid rgba(15,23,42,.08);box-shadow:18px 0 42px -34px #0f172a6b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;transition:padding .22s ease}.sidebar.collapsed{padding-inline:14px;overflow:visible;z-index:70}.brand{position:relative;display:flex;align-items:center;gap:13px;min-height:52px;padding:0 6px 26px}.sidebar.collapsed .brand{justify-content:center;padding-inline:0}.brandMark{position:relative;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:15px;font-size:.96rem;font-family:inherit;font-weight:800;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));box-shadow:0 12px 24px -14px #4f46e5b3}.brandToggle{cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.brandToggle:hover{box-shadow:0 16px 30px -16px #4f46e5cc;transform:translateY(-1px)}.brandToggle:focus-visible{outline:3px solid rgba(99,102,241,.26);outline-offset:3px}.brandMark:after{content:"";position:absolute;right:-3px;top:-3px;width:12px;height:12px;border-radius:999px;background:#34d399;box-shadow:0 0 0 3px #fff}.brand strong,.brand small{display:block;line-height:1.25}.brandText,.navLabel,.navGroupLabel,.userMeta{min-width:0;transition:opacity .16s ease,transform .16s ease}.sidebar.collapsed .navLabel,.sidebar.collapsed .navGroupLabel,.sidebar.collapsed .userMeta{width:0;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-6px)}.sidebar.collapsed .brandText{display:none}.brand strong{font-weight:800;letter-spacing:-.01em;color:#111827}.brand small,.sidebarCard small{color:var(--muted)}.brand small{margin-top:2px;font-size:.8rem;font-weight:600}.navList{display:grid;gap:14px}.navGroup{display:grid;gap:7px}.navGroup+.navGroup{padding-top:12px;border-top:1px solid rgba(15,23,42,.08)}.navGroupLabel{display:inline-flex;align-items:center;min-height:18px;padding:0 12px;color:#94a3b8;font-size:.68rem;font-weight:850;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.navGroupItems{display:grid;gap:6px}.sidebar.collapsed .navList{gap:10px}.sidebar.collapsed .navGroup{justify-items:stretch}.sidebar.collapsed .navGroupLabel{display:none}.sidebar.collapsed .navGroup+.navGroup{padding-top:10px}.navItem{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#526179;font-weight:600;text-align:left;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.navItem svg{flex:0 0 auto}.sidebar.collapsed .navItem{justify-content:center;gap:0;padding-inline:0}.navItem:hover:not(:disabled){background:#f6f8fc;border-color:#0f172a12;color:#1d2942;transform:translate(2px)}.navItem.active{border-color:#3b82f629;color:var(--blue-ink);background:linear-gradient(135deg,#eef2fffa,#eff6fffa);box-shadow:0 12px 26px -20px #2563eb99,0 0 0 1px #ffffffd1 inset}.navBranch{position:relative;display:grid;gap:6px}.navItemParent .navChevron{margin-left:auto;color:var(--muted);transition:transform .18s ease,color .18s ease}.navBranch.open .navItemParent{border-color:#3b82f638;color:var(--blue-ink);background:linear-gradient(135deg,#eef2fffa,#eff6fffa);box-shadow:0 12px 26px -20px #2563eb6b,0 0 0 1px #ffffffd1 inset}.navBranch.open .navChevron{color:var(--blue-ink);transform:rotate(180deg)}.navSubList{display:grid;gap:2px;padding:3px 0 4px 20px;border-left:1px solid rgba(99,102,241,.16);margin-left:20px}.navSubItem{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:#64748b;font-size:.86rem;font-weight:700;text-align:left;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.navSubItem svg{flex:0 0 auto;color:#94a3b8}.navSubItem:hover{background:#6366f114;color:var(--ink);transform:translate(2px)}.navSubItem.active{border-color:#6366f12e;background:#6366f11c;color:var(--blue-ink)}.navSubItem.active svg{color:var(--blue-ink)}.sidebar.collapsed .navChevron,.sidebar.collapsed .navSubList,.navItemFlyout{display:none}.sidebar.collapsed .navItemFlyout{position:absolute;left:calc(100% + 14px);top:50%;z-index:90;display:grid;width:270px;gap:10px;padding:14px;border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fffffff5;box-shadow:0 26px 54px -30px #0f172a75;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);opacity:0;pointer-events:none;transform:translate(-6px,-50%) scale(.98);transition:opacity .15s ease,transform .15s ease}.sidebar.collapsed .navItemFlyout:before{content:"";position:absolute;left:-16px;top:0;width:16px;height:100%}.sidebar.collapsed .navBranch:hover .navItemFlyout,.sidebar.collapsed .navBranch:has(.navItem:focus-visible) .navItemFlyout,.sidebar.collapsed .navItemFlyout:focus-within{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.navFlyoutTitle{color:#94a3b8;font-size:.68rem;font-weight:850;line-height:1;letter-spacing:.08em;text-transform:uppercase}.navFlyoutItems{display:grid;gap:6px}.navFlyoutItem{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:#526179;font-size:.86rem;font-weight:750;text-align:left;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.navFlyoutItem svg{flex:0 0 auto;color:#94a3b8}.navFlyoutItem:hover{border-color:#6366f11a;background:#6366f114;color:var(--ink);transform:translate(2px)}.navFlyoutItem.active{border-color:#6366f12e;background:#6366f11f;color:var(--blue-ink)}.navFlyoutItem.active svg{color:var(--blue-ink)}.sidebarCard{display:flex;align-items:center;gap:11px;margin-top:auto;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);background:#f8fafc}.sidebarCardIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#34d399e6,#3b82f6e6);color:#fff}.sidebarCard strong{display:block;font-size:.9rem;font-weight:700}.sidebarCard small{display:block;margin-top:2px;font-size:.78rem}.workspace{min-width:0;padding:34px 36px 40px}.workspace>*{animation:rise .48s cubic-bezier(.22,1,.36,1) both}.workspace>section:nth-of-type(1){animation-delay:40ms}.workspace>section:nth-of-type(2){animation-delay:90ms}.workspace>section:nth-of-type(3){animation-delay:.14s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.crumbLine,.syncMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crumbLine{margin-bottom:11px;color:var(--blue-ink);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.crumbLine span+span:before{content:"/";margin-right:8px;color:var(--muted-2)}.syncMeta{margin-top:13px}.syncMeta span,.sourceBadge{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 13px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);font-size:.82rem;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-sm)}h1,h2{margin:0;color:var(--ink);line-height:1.1;letter-spacing:-.02em}h1{font-size:clamp(1.9rem,2.4vw,2.55rem);font-weight:800}h2{font-size:1.1rem;font-weight:800}.topbarActions,.modalFooter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primaryButton,.ghostButton,.dangerButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;white-space:nowrap;transition:background .18s ease,border-color .18s ease,box-shadow .22s ease,transform .16s ease}.primaryButton{position:relative;color:#fff;background:linear-gradient(135deg,var(--grad-c),var(--grad-a) 45%,var(--grad-b));background-size:160% 160%;box-shadow:var(--btn-shadow)}.primaryButton:hover{background-position:100% 0;box-shadow:var(--btn-shadow-hover);transform:translateY(-2px)}.primaryButton:active{transform:translateY(0)}.ghostButton{background:var(--glass-strong);color:var(--ink);border-color:var(--line-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.ghostButton:hover{border-color:#6366f173;color:var(--blue-ink);transform:translateY(-2px)}.ghostButton.compact{min-width:112px}.ghostButton.dangerSoft{border-color:#f43f5e3d;background:#fff1f2db;color:var(--danger-ink)}.ghostButton.dangerSoft:hover{border-color:#f43f5e6b;color:var(--danger-ink)}.ghostButton.tiny{min-height:34px;padding:0 12px;border-radius:10px;font-size:.78rem;font-weight:800}.dangerButton{color:#fff;background:linear-gradient(135deg,#ef4444,#e11d48);box-shadow:0 14px 28px -16px #e11d48b8}.dangerButton:hover{box-shadow:0 18px 34px -16px #e11d48c7;transform:translateY(-2px)}.dangerButton:active{transform:translateY(0)}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.metricCard{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:14px;min-height:116px;padding:20px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow);overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.metricCard:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--grad-c),var(--grad-b));opacity:.85}.metricCard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}.metricIcon{display:grid;place-items:center;width:50px;height:50px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#6366f129,#3b82f629);color:var(--grad-a)}.metricCard small,td small{display:block;color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.metricCard strong{display:block;margin-top:4px;overflow:hidden;color:var(--ink);font-size:clamp(1.3rem,1.7vw,1.65rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.metricCard em{display:block;margin-top:8px;color:var(--muted);font-size:.78rem;font-style:normal;font-weight:600;line-height:1.25}.metricCard.green:before{background:linear-gradient(90deg,#34d399,#10b981)}.metricCard.green .metricIcon{background:var(--green-soft);color:var(--green-ink)}.metricCard.blue:before{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.metricCard.blue .metricIcon{background:#3b82f624;color:var(--blue-ink)}.metricCard.amber:before{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.metricCard.amber .metricIcon{background:var(--amber-soft);color:var(--amber-ink)}.controlPanel{position:relative;z-index:5;display:grid;gap:14px;margin-bottom:16px;padding:16px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow)}.controlRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center;gap:10px}.searchBox,.selectBox,.filterSelectBox{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--muted);transition:border-color .18s ease,box-shadow .18s ease}.searchBox input,.selectBox select,.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.searchBox input,.selectBox select{min-height:42px;border:0;background:transparent}.searchBox:focus-within,.selectBox:focus-within,.filterSelectBox:focus-within,.field input:focus,.field textarea:focus,.field select:focus{border-color:#6366f199;box-shadow:var(--ring)}.filterSelectBox>svg{flex:0 0 auto;color:var(--muted)}.filterSelectBox .selectMenu{flex:1}.filterSelectBox .selectMenuButton{min-height:46px;padding:0;border:0;background:transparent;box-shadow:none}.filterSelectBox .selectMenuButton:hover:not(:disabled),.filterSelectBox .selectMenuButton:focus-visible,.filterSelectBox .selectMenuButton[aria-expanded=true]{border-color:transparent;box-shadow:none}.selectMenu{position:relative;min-width:0}.selectMenuButton{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--ink);font-weight:700;text-align:left;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.selectMenuButton span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectMenuButton svg{flex:0 0 auto;color:var(--muted)}.selectMenuButton:hover:not(:disabled),.selectMenuButton:focus-visible,.selectMenuButton[aria-expanded=true]{border-color:#6366f199;box-shadow:var(--ring)}.selectMenuButton:disabled{cursor:not-allowed;opacity:.55}.selectMenuPanel{position:absolute;z-index:10000;top:calc(100% + 8px);left:0;right:0;display:grid;gap:4px;box-sizing:border-box;max-height:240px;overflow-y:auto;padding:6px;border:1px solid rgba(15,23,42,.14);border-radius:14px;background:#fff;box-shadow:0 22px 52px -30px #0f172a8c}.selectMenuSearch{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid rgba(15,23,42,.09);border-radius:10px;background:#fff;color:var(--muted)}.selectMenuSearch input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font-size:.82rem;font-weight:750;outline:none}.selectMenuSearch input::placeholder{color:var(--muted-2)}.selectMenuOption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);font-weight:750;text-align:left}.selectMenuOption:hover,.selectMenuOption:focus-visible{background:#6366f114;color:var(--blue-ink);outline:none}.selectMenuOption.active{background:#6366f11f;color:var(--blue-ink)}.multiSelect{position:relative;display:grid;gap:8px;min-width:0}.multiSelectChips{display:flex;flex-wrap:wrap;gap:7px}.multiSelectChip{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:100%;padding:0 9px;border:1px solid rgba(99,102,241,.18);border-radius:var(--pill);background:#6366f117;color:var(--blue-ink);font-size:.75rem;font-weight:800}.multiSelectChip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiSelectChip:hover:not(:disabled){border-color:#6366f159;background:#6366f124}.multiSelectPanel{top:calc(100% + 8px)}.multiSelectActions{position:sticky;top:44px;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:2px 0 4px;background:#fff}.multiSelectActions button{min-height:34px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink-2);font-size:.76rem;font-weight:800}.multiSelectActions button:hover:not(:disabled),.multiSelectActions button:focus-visible{border-color:#6366f159;background:#6366f114;color:var(--blue-ink);outline:none}.multiSelectActions button:disabled{cursor:not-allowed;opacity:.5}.selectMenuEmpty{padding:10px;color:var(--muted);font-size:.82rem;font-weight:750}.datePicker{position:relative;min-width:0}.datePickerButton{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--muted);font-weight:750;text-align:left;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.datePickerButton.hasValue{color:var(--ink)}.datePickerButton svg{flex:0 0 auto;color:var(--muted)}.datePickerButton:hover:not(:disabled),.datePickerButton:focus-visible,.datePickerButton[aria-expanded=true]{border-color:#6366f199;box-shadow:var(--ring)}.datePickerButton:disabled{cursor:not-allowed;opacity:.55}.datePickerPanel{position:absolute;z-index:80;top:calc(100% + 8px);left:0;width:min(326px,calc(100vw - 48px));padding:14px;border:1px solid rgba(15,23,42,.14);border-radius:16px;background:#fff;box-shadow:0 24px 60px -34px #0f172a94}.datePickerHeader{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:12px}.datePickerHeader strong{color:var(--ink);font-size:.9rem;font-weight:850;text-align:center}.datePickerHeader button,.datePickerFooter button{display:inline-grid;place-items:center;min-height:34px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink-2);font-weight:800}.datePickerHeader button:hover,.datePickerFooter button:hover:not(:disabled){border-color:#6366f152;background:#6366f114;color:var(--blue-ink)}.datePickerWeekdays,.datePickerGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.datePickerWeekdays{margin-bottom:6px}.datePickerWeekdays span{display:grid;place-items:center;min-height:24px;color:var(--muted);font-size:.68rem;font-weight:850}.datePickerDay{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:0;border-radius:10px;background:transparent;color:var(--ink-2);font-size:.78rem;font-weight:800}.datePickerDay.outside{color:var(--muted-2);opacity:.62}.datePickerDay.today{color:var(--blue-ink);background:#3b82f617}.datePickerDay.selected{color:#fff;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));box-shadow:0 10px 18px -12px #4f46e5e6}.datePickerDay:hover{background:#6366f11a;color:var(--blue-ink)}.datePickerDay.selected:hover{color:#fff}.datePickerFooter{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.datePickerFooter button{padding:0 12px;color:var(--blue-ink);font-size:.76rem}.datePickerFooter button:disabled{cursor:not-allowed;opacity:.45}.segmentBar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.segmentGroup{display:grid;gap:8px}.segmentLabel{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.compactSegments .segmentButton{min-height:36px;padding:0 12px}.compactSegments .segmentButton strong{min-width:24px;min-height:24px;font-size:.74rem}.segmentButton{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--glass-strong);color:var(--muted);font-weight:700;white-space:nowrap;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.segmentButton:hover{transform:translateY(-1px);color:var(--ink)}.segmentButton strong{display:inline-grid;place-items:center;min-width:26px;min-height:26px;padding:0 8px;border-radius:var(--pill);background:#6366f11a;color:var(--ink);font-size:.78rem}.segmentButton.active{border-color:transparent;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;box-shadow:0 12px 24px -12px #4f46e5b3}.segmentButton.active strong{background:#ffffff38;color:#fff}.bulkActionBar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(99,102,241,.22);border-radius:var(--radius);background:#ffffffeb;box-shadow:var(--shadow-sm)}.bulkActionSummary{display:grid;gap:4px;min-width:180px}.bulkActionSummary strong{color:var(--ink);font-size:.95rem}.bulkActionSummary span{color:var(--muted);font-size:.78rem;font-weight:700}.bulkActionControls{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(210px,1fr) auto auto;gap:10px;align-items:center;flex:1;min-width:0}.bulkActionControls .selectMenu,.bulkActionControls .datePicker{min-width:0}.selectColumn{width:54px;min-width:54px;text-align:center}.checkboxControl{display:inline-grid;place-items:center;width:28px;height:28px;cursor:pointer}.checkboxControl input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.checkboxControl span{display:block;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;box-shadow:inset 0 0 0 2px #fff;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.checkboxControl input:checked+span{border-color:#6366f1e6;background:linear-gradient(135deg,var(--grad-c),var(--grad-b))}.checkboxControl input:indeterminate+span{border-color:#6366f1e6;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));box-shadow:inset 0 0 0 7px #fff}.checkboxControl input:focus-visible+span{box-shadow:var(--ring)}tbody tr.selectedRow{background:#6366f112;box-shadow:inset 3px 0 0 var(--grad-b)}.errorBanner{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 15px;margin-bottom:14px;border:1px solid rgba(244,63,94,.28);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-ink);font-weight:700}.successBanner{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 15px;margin-bottom:14px;border:1px solid rgba(16,185,129,.28);border-radius:var(--radius-sm);background:#d1fae5b8;color:#047857;font-weight:800}.warningBanner{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 15px;margin-bottom:14px;border:1px solid rgba(245,158,11,.32);border-radius:var(--radius-sm);background:#fffbebf0;color:#92400e;font-weight:650}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modalBanner{grid-column:1 / -1;margin-bottom:0}.salaryControlPanel{overflow:visible}.salaryToastStack{position:fixed;top:18px;right:24px;z-index:120;display:grid;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.salaryToast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:10px 10px 10px 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:#fffffff0;color:var(--ink);font-size:.86rem;font-weight:650;line-height:1.4;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.salaryToast.success{border-color:#10b9813d;color:#047857}.salaryToast.error{border-color:#f43f5e3d;color:var(--danger-ink)}.salaryToast .iconButton{min-width:34px;width:34px;height:34px}.salaryCategoryTools{position:relative;z-index:5;display:grid;gap:14px;margin-bottom:16px}.salaryCategoryTools .controlRow{grid-template-columns:minmax(260px,1fr) auto}.salaryMobileTabs{display:none}.salaryPanelStack{display:grid;gap:16px}.salarySplitGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.salarySplitGrid.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.salaryFormPanel{min-height:0}.salaryInlineForm{display:grid;gap:16px;padding:18px 20px 20px}.salaryRequestForm{display:grid;gap:0;padding:0}.salaryInlineForm{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.salaryInlineForm .field.wide{grid-column:1 / -1}.salaryInlineActions{display:flex;justify-content:flex-end;gap:10px}.salaryPanelActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.salaryPanelActions.kasbonBulkActions,.selectedBulkActions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.selectedBulkActions{padding:6px;border:1px solid rgba(99,102,241,.16);border-radius:var(--radius-sm);background:#f8fafce0}.bulkSelectionBadge{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:var(--pill);background:#6366f11a;color:var(--blue-ink);font-size:.78rem;font-weight:800;white-space:nowrap}.salaryCategoryForm{grid-template-columns:repeat(3,minmax(220px,1fr))}.salaryCategoryForm .field.wide,.salaryCategoryForm .salaryInlineActions{grid-column:1 / -1}.salaryPeriodQuickForm{display:grid;grid-template-columns:minmax(220px,320px) minmax(160px,190px) minmax(160px,190px) auto;align-items:end;justify-content:start;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);background:#f8fafc94}.salaryCategoryNav{padding:0}.salaryCategoryNav .segmentBar{justify-content:flex-start}.salaryPeriodModal{width:min(760px,calc(100vw - 28px))}.salaryCategoryModal{width:min(860px,calc(100vw - 28px))}.salaryTemplateModal{width:min(820px,calc(100vw - 28px));max-height:calc(100vh - 72px)}.modalBackdrop.salaryRequestBackdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:48px;background:#0f172a8f;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);overflow:hidden;overscroll-behavior:contain;z-index:1400}.modal.salaryRequestModal{width:100%;max-width:none;height:calc(100dvh - 96px);min-height:0;max-height:none;margin:0;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 34px 70px -34px #0f172aa3;animation:none}.modal.salaryRequestModal .modalHeader p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:.82rem;font-weight:700}.modal.salaryRequestModal .salaryRequestForm{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:auto}.modal.salaryRequestModal .salaryLineEditor,.modal.salaryRequestModal .selectedEmployeePreview{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}.modal.salaryRequestModal .salaryLineRows{min-height:0}.modal.salaryRequestModal .selectedEmployeeScroller{height:auto;min-height:0}.modal.salaryRunModal{height:auto;min-height:min(720px,calc(100dvh - 96px));max-height:calc(100dvh - 96px)}.modal.salaryRunModal .salaryRunForm{flex:1;overflow:auto}.modal.salaryRunModal .salaryRunLineEditor{flex:0 0 auto;min-height:0;grid-template-rows:auto auto;padding-top:16px;padding-bottom:18px}.modal.salaryRunModal .salaryLineRows{align-content:start;min-height:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafcb8}.modal.salaryRunModal .salaryLineRow{background:#fff}.modal.salaryRunModal .salaryFormFooter{margin-top:auto}.salaryRequestForm>.modalBanner{margin:16px 20px 0}.salaryPeriodModalForm,.salaryCategoryModalForm,.salaryTemplateModalForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 24px 24px}.salaryTemplateModalForm{max-height:calc(100vh - 190px);overflow-y:auto}.salaryPeriodModalForm .field.wide,.salaryPeriodModalForm .modalFooter,.salaryCategoryModalForm .field.wide,.salaryCategoryModalForm .modalFooter,.salaryTemplateModalForm .field.wide,.salaryTemplateModalForm .modalFooter{grid-column:1 / -1}.salaryPeriodModalForm .modalFooter,.salaryCategoryModalForm .modalFooter,.salaryTemplateModalForm .modalFooter{justify-content:flex-end;padding:6px 0 0}.templateLineEditor{grid-column:1 / -1;display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafca8}.templateLineRows{display:grid;gap:10px}.templateLineHeader,.templateLineRow{display:grid;grid-template-columns:34px minmax(260px,1fr) minmax(150px,220px) 40px;align-items:center;gap:10px}.templateLineHeader{padding:0 10px;color:var(--muted-2);font-size:.72rem;font-weight:800;text-transform:uppercase}.templateLineRow{padding:10px;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-sm);background:#ffffffdb}.templateLineField{display:grid;gap:6px;min-width:0}.templateLineField>span{display:none;color:var(--muted-2);font-size:.72rem;font-weight:800}.templateLineField input{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--ink);padding:0 13px;font:inherit;font-size:.92rem;font-weight:700;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.templateLineField input::placeholder{color:var(--muted-2);font-weight:650}.templateLineField input:hover,.templateLineField input:focus{border-color:#6366f19e;background:#fff;box-shadow:var(--ring)}.salaryStatementForm{grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr) minmax(180px,.6fr)}.salaryStatementForm .field.wide,.salaryStatementForm .salaryInlineActions{grid-column:1 / -1}.salaryStatementForm .salaryInlineActions{padding-top:2px}.salaryQuickAddForm{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1fr) auto;align-items:end;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);background:#f8fafcb8}.salaryRequestMeta{display:grid;grid-template-columns:minmax(170px,230px) minmax(180px,240px) minmax(180px,240px) minmax(260px,1fr) minmax(220px,300px);align-items:end;justify-content:stretch;gap:14px;padding:14px 20px;background:#f8fafc85;border-bottom:1px solid var(--line)}.salaryRequestMeta .field.wide{grid-column:auto}.selectedEmployeePreview{display:grid;gap:12px;padding:14px 20px 10px;border-bottom:1px solid var(--line);background:#ffffffb8;overflow:visible}.selectedEmployeeHeader{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.selectedEmployeeHeader h3{margin:0;color:var(--ink);font-size:.96rem;font-weight:850}.selectedEmployeeHeader p{margin:3px 0 0;color:var(--muted);font-size:.78rem;font-weight:700}.selectedEmployeeActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.selectedEmployeeScroller{height:clamp(620px,74vh,860px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overscroll-behavior:contain;scrollbar-width:thin}.selectedEmployeeScroller input,.selectedEmployeeScroller textarea{cursor:text}.selectedEmployeeScroller button,.selectedEmployeeScroller .selectMenuButton{cursor:pointer}.selectedEmployeeScroller table{min-width:1560px;table-layout:fixed}.selectedEmployeeScroller th:nth-child(1),.selectedEmployeeScroller td:nth-child(1){width:64px}.selectedEmployeeScroller th:nth-child(2),.selectedEmployeeScroller td:nth-child(2){width:300px}.selectedEmployeeScroller th:nth-child(3),.selectedEmployeeScroller td:nth-child(3){width:240px}.selectedEmployeeScroller th:nth-child(4),.selectedEmployeeScroller td:nth-child(4){width:890px}.selectedEmployeeScroller th:nth-child(5),.selectedEmployeeScroller td:nth-child(5){width:70px}.selectedEmployeeScroller th,.selectedEmployeeScroller td{padding-top:10px;padding-bottom:10px;vertical-align:top;font-size:.82rem}.selectedEmployeeRow{cursor:pointer}.selectedEmployeeRow:hover td{background:#f8fafcb8}.selectedEmployeeScroller thead th{position:sticky;top:0;z-index:2;background:#f3f6fb}.rowCollapseIndicator{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-weight:850}.rowCollapseIndicator svg{color:var(--blue-ink)}.employeeCell,.placementCell{display:grid;min-width:0;gap:4px}.employeeCell strong,.placementCell strong{overflow:hidden;color:var(--ink);font-size:.83rem;font-weight:820;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}.employeeCell small,.placementCell span{overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.placementCell{align-items:start}.placementCell .statusPill{width:max-content;margin-top:3px;font-style:normal;font-size:.7rem;line-height:1}.rowNoteInput{width:100%;min-height:38px;margin-top:7px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:650;outline:none}.rowNoteInput::placeholder,.batchComponentEmpty{color:var(--muted-2);font-weight:650}.rowNoteInput:focus{border-color:#6366f194;box-shadow:var(--ring)}.batchComponentEmpty{font-size:.78rem}.employeeComponentCell{display:grid;gap:8px;min-width:0}.employeeComponentTopline{display:flex;align-items:center;justify-content:flex-start;gap:10px}.employeeComponentTopline>span{color:var(--muted);font-size:.74rem;font-weight:760}.employeeComponentRows{display:grid;gap:7px}.employeeComponentLine{display:grid;grid-template-columns:28px minmax(190px,1.05fr) minmax(130px,.5fr) minmax(190px,.85fr) 58px 36px;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#f8fafcb8}.employeeComponentLine input{width:100%;min-width:0;min-height:38px;padding:0 11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);font-size:.81rem;font-weight:650;outline:none}.employeeComponentLine input:focus{border-color:#6366f194;box-shadow:var(--ring)}.employeeComponentLine input.needsNote{border-color:#f43f5e73;background:#fff1f2b8}.employeeComponentLine .selectMenuButton{min-height:38px;border-radius:10px;font-size:.81rem}.employeeComponentLine .rowNumber{width:26px;height:26px;font-size:.76rem}.compactToggles{gap:3px}.employeeComponentCell .ghostButton.tiny{justify-self:start}.employeeComponentSummary{display:grid;grid-template-columns:minmax(110px,.22fr) minmax(110px,.22fr) minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#f8fafcb8}.employeeComponentSummary div{display:grid;gap:1px}.employeeComponentSummary strong{color:var(--ink);font-size:.84rem;font-weight:850;line-height:1.2}.employeeComponentSummary span,.employeeComponentSummary small{overflow:hidden;color:var(--muted);font-size:.72rem;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.salarySummaryStrip{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px}.salarySummaryStrip span{display:grid;gap:4px;min-height:58px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb8}.salarySummaryStrip small{color:var(--muted);font-size:.72rem;font-weight:800}.salarySummaryStrip strong{color:var(--ink);font-size:.98rem;font-weight:850}.salaryLineEditor{display:grid;gap:12px;padding:16px 20px 14px}.salaryDraftSummary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:16px;min-width:0;padding:12px 20px;border-bottom:1px solid var(--line);background:#ffffffb8}.salaryDraftSummary span{display:grid;gap:1px;min-height:auto;padding:0;border:0;border-radius:0;background:transparent}.salaryDraftSummary span:before{content:none}.salaryDraftSummary .summaryGreen{border-color:transparent;background:transparent}.salaryDraftSummary .summaryGreen strong{color:#047857}.salaryDraftSummary .summaryBlue{border-color:transparent;background:transparent}.salaryDraftSummary .summaryBlue strong{color:#1d4ed8}.salaryDraftSummary .summaryRed{border-color:transparent;background:transparent}.salaryDraftSummary .summaryRed strong{color:#be123c}.salaryDraftSummary small{color:var(--muted);font-size:.68rem;font-weight:800}.salaryDraftSummary strong{color:var(--ink);font-size:.95rem;font-weight:850}.salarySubHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.salarySubHeader h3{margin:0;color:var(--ink);font-size:.98rem;font-weight:850}.salarySubHeader p{margin:4px 0 0;color:var(--muted);font-size:.78rem;font-weight:700}.salaryLineRows{display:grid;gap:8px}.salaryLineRow{display:grid;grid-template-columns:34px minmax(190px,1.2fr) minmax(150px,.7fr) minmax(170px,1fr) auto 40px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb3}.compactSalaryLineRow{grid-template-columns:32px minmax(190px,1.15fr) minmax(130px,.55fr) minmax(180px,1fr) auto 38px;gap:8px;padding:8px;background:#fff}.salaryLineRow input{width:100%;min-width:0;min-height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--ink);outline:none}.compactSalaryLineRow input,.compactSalaryLineRow .selectMenuButton{min-height:40px;border-radius:10px;font-size:.82rem}.compactSalaryLineRow .rowNumber{width:28px;height:28px;font-size:.78rem}.salaryLineRow input:focus{border-color:#6366f199;box-shadow:var(--ring)}.salaryLineRow input.needsNote{border-color:#f43f5e73;background:#fff1f2b8}.salaryLineRow input.needsNote:focus{border-color:#e11d4894;box-shadow:0 0 0 4px #f43f5e1f}.salaryTogglePair{display:flex;align-items:center;justify-content:center;gap:4px}.salaryFormFooter{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 20px 14px;border-top:1px solid var(--line);background:#ffffffdb}.salaryFooterActions{display:flex;justify-content:flex-end;gap:10px;white-space:nowrap}.salaryFormFooter .primaryButton,.salaryFormFooter .ghostButton{min-height:42px;padding:0 16px}.salaryTableFilters{position:relative;z-index:2;padding:12px 20px 14px}.requestFilterGrid{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.35fr);align-items:end;gap:12px;margin-bottom:12px}.requestFilterField{display:grid;gap:7px;min-width:0}.requestFilterField>span{color:var(--ink);font-size:.76rem;font-weight:850}.requestFilterField em{margin-left:3px;color:var(--danger);font-style:normal}.requestFilterField .selectMenuButton{min-height:46px}.tableSelectHeader,.tableSelectCell{display:inline-flex;align-items:center;gap:9px;min-width:62px}.tableCheckbox{flex:0 0 auto}.tableCheckboxPlaceholder{width:18px;height:18px;flex:0 0 auto}.salaryCompactScroller{max-height:360px}.salaryApprovalScroller{max-height:330px}.salaryInnerNav{margin-bottom:0}.rejectRequestForm{display:grid;gap:14px;padding:0 22px 20px}.rejectRequestForm textarea{min-height:112px;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--ink);font:inherit;line-height:1.5;outline:none;resize:vertical}.rejectRequestForm textarea:focus{border-color:#6366f199;box-shadow:var(--ring)}.cashAdvanceModalForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 24px 22px;background:#fff}.cashAdvanceModalForm .modalFooter{justify-content:flex-end;gap:12px;padding-top:6px}.salaryMiniPanel{min-height:300px}.salaryMiniList{display:grid;gap:0;padding:8px 20px 16px}.salaryMiniItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px 0;border-bottom:1px solid var(--line)}.salaryMiniItem:last-child{border-bottom:0}.salaryMiniItem strong,.salaryMiniItem span{min-width:0;color:var(--ink);font-size:.9rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salaryMiniItem span{color:var(--blue-ink);text-align:right}.salaryMiniItem small{grid-column:1 / -1;color:var(--muted);font-size:.76rem;font-weight:700}.salaryDetailLines{display:grid;gap:8px}.salaryDetailLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.salaryDetailLine:first-child{border-top:0}.salaryDetailLine strong{color:var(--ink);font-size:.88rem}.salaryDetailLine small{margin-top:3px}.salaryDetailLine span{color:var(--blue-ink);font-weight:850;white-space:nowrap}.tablePanel{position:relative;z-index:1;min-height:430px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow);overflow:hidden}.employeeRequestPanel{margin-top:18px;min-height:0}.employeeRequestPanel .tableHeader{min-height:66px;padding:15px 20px}.employeeRequestPanel .segmentBar{padding:12px 18px 10px;border-bottom:1px solid var(--line);background:#ffffffad}.employeeRequestScroller{max-height:min(430px,calc(100vh - 340px))}.employeeRequestTable{min-width:1160px;table-layout:fixed}.employeeRequestTable th:nth-child(1),.employeeRequestTable td:nth-child(1){width:72px}.employeeRequestTable th:nth-child(2),.employeeRequestTable td:nth-child(2){width:145px}.employeeRequestTable th:nth-child(3),.employeeRequestTable td:nth-child(3){width:240px}.employeeRequestTable th:nth-child(4),.employeeRequestTable td:nth-child(4){width:210px}.employeeRequestTable th:nth-child(5),.employeeRequestTable td:nth-child(5),.employeeRequestTable th:nth-child(7),.employeeRequestTable td:nth-child(7){width:210px}.employeeRequestTable th:nth-child(6),.employeeRequestTable td:nth-child(6){width:170px}.employeeRequestTable th:nth-child(8),.employeeRequestTable td:nth-child(8){width:150px}.employeeRequestTable td{padding-top:13px;padding-bottom:13px}.employeeRequestTable td.employeeCell,.employeeRequestTable td.placementCell,.employeeRequestTable td.requestTypeCell,.employeeRequestTable td.requestMetaCell,.employeeRequestTable td.requestStatusCell{display:table-cell;min-width:0}.requestTypeCell,.requestMetaCell,.requestStatusCell{min-width:0}.employeeRequestTable td strong,.employeeRequestTable td span,.employeeRequestTable td small{max-width:100%}.employeeRequestTable td small{display:block;margin-top:3px}.requestTypeCell strong,.requestMetaCell span{color:var(--ink);font-size:.84rem;font-weight:800}.requestTypeCell small,.requestMetaCell small,.requestStatusCell small{color:var(--muted);font-size:.76rem;font-weight:650}.employeeRequestEmpty{min-height:150px;padding:30px 20px 34px;border-top:0}.roleTableStack{display:grid;gap:18px}.roleTablePanel{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow);overflow:hidden}.tableHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:16px 20px;border-bottom:1px solid var(--line)}.tableHeader p{margin:5px 0 0;color:var(--muted);font-size:.83rem;font-weight:600}.roleTableHeader{min-height:78px}.roleTableTitle{display:flex;align-items:center;gap:10px;min-width:0}.roleTableTitle h2{font-size:1.04rem}.roleTableTitle .roleBadge{margin-top:0}.roleWorkspace{padding-bottom:92px}.roleManagementShell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.roleSelectorPanel,.rolePermissionArea{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow)}.roleSelectorPanel{position:sticky;top:18px;display:grid;gap:18px;padding:18px}.roleSelectorHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.74rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.roleSelectorHeader strong{min-width:24px;min-height:22px;display:inline-grid;place-items:center;padding:0 8px;border-radius:var(--pill);background:#6366f11a;color:var(--blue-ink);font-size:.72rem}.roleSelectorList{display:grid;gap:8px}.roleSelectorItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.roleSelectorItem:hover{background:#6366f112;border-color:#6366f12e}.roleSelectorItem.active{background:linear-gradient(135deg,var(--grad-c),var(--grad-b));border-color:#6366f147;color:#fff;box-shadow:0 14px 28px -20px #4f46e5e6}.roleSelectorItem .roleBadge{grid-column:1;width:max-content;margin:0}.roleSelectorItem small{grid-column:1;color:var(--muted);font-size:.75rem;font-weight:700}.roleSelectorItem.active small,.roleSelectorItem.active .roleBadge{color:#fff}.roleSelectorItem svg{grid-column:2;grid-row:1 / span 2;justify-self:end}.roleUsersPanel{display:grid;gap:12px;padding-top:2px;border-top:1px solid var(--line)}.roleUserList{display:grid;gap:10px}.roleUserItem{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.roleUserAvatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:.78rem;font-weight:900;overflow:hidden}.roleUserAvatar img{width:100%;height:100%;object-fit:cover}.roleUserItem strong,.roleUserItem span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roleUserItem strong{color:var(--ink);font-size:.83rem}.roleUserItem span{margin-top:2px;color:var(--muted);font-size:.75rem;font-weight:650}.roleMoreUsers,.roleEmptyText,.roleCustomNote{margin:0;color:var(--muted);font-size:.76rem;font-weight:700}.roleCustomNote{color:#b45309}.rolePermissionArea{display:grid;gap:14px;min-height:560px;padding:16px}.rolePermissionToolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:center}.roleCurrentSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafcad}.roleCurrentSummary div{display:grid;gap:4px}.roleCurrentSummary span{color:var(--muted);font-size:.72rem;font-weight:850}.roleCurrentSummary strong{color:var(--ink);font-size:.94rem}.roleModuleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.roleModuleCard{display:grid;gap:16px;align-content:start;min-height:176px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffbd;box-shadow:var(--shadow-sm)}.roleModuleCard.selected{border-color:#6366f13d;background:#ffffffe6}.roleModuleHeader{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:start}.roleModuleIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#3b82f61a;color:var(--blue-ink)}.roleModuleHeader h2{margin:0;font-size:1rem;letter-spacing:0}.roleModuleHeader p{margin:6px 0 0;color:var(--muted);font-size:.83rem;font-weight:600;line-height:1.4}.roleModuleToggle{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;cursor:pointer}.roleModuleToggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.roleModuleToggle span{display:block;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;box-shadow:inset 0 0 0 2px #fff}.roleModuleToggle input:checked+span{border-color:#2563ebe6;background:var(--blue-ink)}.roleModuleToggle input:indeterminate+span{border-color:#2563ebe6;background:var(--blue-ink);box-shadow:inset 0 0 0 7px #fff}.rolePermissionChips{display:flex;flex-wrap:wrap;gap:8px}.rolePermissionChip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--muted);font-size:.76rem;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.rolePermissionChip:hover:not(:disabled){transform:translateY(-1px);color:var(--blue-ink);border-color:#6366f159;box-shadow:var(--shadow-sm)}.rolePermissionChip.active{border-color:#3b82f65c;background:#dbeafeb8;color:var(--blue-ink)}.rolePermissionChip:disabled{cursor:not-allowed;opacity:.72}.roleSaveBar{position:fixed;left:308px;right:28px;bottom:20px;z-index:90;display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:64px;padding:10px 14px 10px 18px;border:1px solid var(--glass-border);border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 24px 60px -34px #0f172a80}.appShell.sidebarCollapsed .roleSaveBar{left:116px}.roleSaveBar strong{margin-right:auto;color:var(--muted);font-size:.88rem}.roleSaveDot{width:10px;height:10px;border-radius:999px;background:#64748b59}.roleSaveDot.changed{background:#3b82f69e}.sourceBadge{background:#6366f11a;border-color:#6366f138;color:var(--blue-ink)}.tableScroller{width:100%;max-height:calc(100vh - 360px);overflow:auto;cursor:grab;overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-overflow-scrolling:touch}.tableScroller[data-dragging=true],.tableScroller[data-dragging=true] *{cursor:grabbing}.roleTableScroller{max-height:none}table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0}.userRoleTable{min-width:1180px}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:#f4f7fdeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}td{color:var(--ink-2);font-size:.9rem}td strong,td span{display:block}td span,td strong,td small{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tbody tr{position:relative;transition:background .16s ease,box-shadow .16s ease}tbody tr:hover{background:#6366f10f;box-shadow:inset 3px 0 0 var(--grad-a)}tbody tr:last-child td{border-bottom:0}.numberCell{width:74px;text-align:center}.rowNumber{display:inline-grid;place-items:center;width:30px;height:30px;max-width:30px;border-radius:10px;background:#6366f11a;color:var(--blue-ink);font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.monoCell{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.periodIdHint{margin-top:4px;color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:500;letter-spacing:0;text-transform:none}.personCell{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}.accountCodeLine{display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%}.accountIdText{display:inline-flex;align-items:center;width:fit-content;max-width:min(280px,100%);min-height:18px;padding:0;border:0;border-radius:0;background:transparent;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800;letter-spacing:0;line-height:1;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;user-select:text;-webkit-user-select:text;white-space:nowrap}.personCell .accountCodeLine{margin-top:4px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:.78rem;font-weight:800;box-shadow:0 12px 22px -10px #4f46e5b3}.avatar img,.userPhotoPreview img,.profileAvatarLarge img{width:100%;height:100%;object-fit:cover}.userTableName{min-width:230px}.userTableName small{color:var(--muted);font-size:.75rem;font-weight:700}.userEmailCell{display:grid;gap:4px;min-width:270px}.userEmailCell strong{max-width:270px}.statusPill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;max-width:124px;padding:0 12px;border-radius:var(--pill);font-size:.76rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusPill:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;flex:0 0 auto}.statusPill.active,.statusPill.success{background:var(--green-soft);color:var(--green-ink)}.statusPill.inactive,.statusPill.danger{background:var(--danger-soft);color:var(--danger-ink)}.statusPill.pending,.statusPill.warning{background:var(--amber-soft);color:var(--amber-ink)}.statusPill.neutral{background:var(--surface-muted);color:var(--text-muted)}.badgeStack{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;max-width:310px}.dataBadge{display:inline-flex;align-items:center;gap:6px;min-height:26px;max-width:100%;padding:0 10px;border:1px solid transparent;border-radius:var(--pill);font-size:.78rem;font-weight:850;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataBadge:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;flex:0 0 auto}.dataBadge.small{min-height:22px;padding:0 8px;font-size:.7rem;font-weight:820}.dataBadge.toneBlue{border-color:#3b82f633;background:#3b82f617;color:#1d4ed8}.dataBadge.toneGreen{border-color:#10b98133;background:#10b9811a;color:#047857}.dataBadge.toneViolet{border-color:#8b5cf633;background:#8b5cf61a;color:#6d28d9}.dataBadge.toneAmber{border-color:#f59e0b3d;background:#f59e0b1f;color:#b45309}.dataBadge.toneCyan{border-color:#06b6d438;background:#06b6d41a;color:#0e7490}.dataBadge.toneRose{border-color:#f43f5e33;background:#f43f5e17;color:#be123c}.dataBadge.toneSlate,.dataBadge.neutral{border-color:#64748b2e;background:#64748b17;color:#475569}.rowActions{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:6px;overflow:visible}.rowActions:hover,.rowActions:focus-within{z-index:260}.rowActionButton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-size:.78rem;font-weight:850;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.rowActionButton:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.rowActionButton:disabled{cursor:not-allowed;opacity:.62;transform:none;box-shadow:none}.rowActionButton.approve{border-color:#10b98142;background:#d1fae5c7;color:#047857}.rowActionButton.reject{border-color:#f43f5e3d;background:#fff1f2d1;color:#be123c}.iconButton{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--glass-strong);color:var(--ink);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.iconButton:hover{border-color:#6366f173;background:#6366f11a;color:var(--blue-ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.iconButton.active{border-color:#6366f161;background:#6366f11f;color:var(--blue-ink)}.iconButton.danger{color:var(--danger-ink)}.iconButton.danger:hover{border-color:#f43f5e73;background:var(--danger-soft);color:var(--danger-ink)}.iconButton[aria-label]:before,.iconButton[aria-label]:after,.rowActionButton[aria-label]:before,.rowActionButton[aria-label]:after{position:absolute;z-index:240;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.iconButton[aria-label]:after,.rowActionButton[aria-label]:after{content:attr(aria-label);left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);width:max-content;max-width:min(220px,70vw);padding:7px 9px;border:1px solid rgba(99,102,241,.22);border-radius:8px;background:#fff;color:var(--blue-ink);box-shadow:0 16px 34px -22px #2563eb73;font-size:.72rem;font-weight:700;line-height:1.2;letter-spacing:0;text-align:center;white-space:nowrap}.iconButton[aria-label]:before,.rowActionButton[aria-label]:before{content:"";left:50%;bottom:calc(100% + 5px);width:9px;height:9px;border-right:1px solid rgba(99,102,241,.22);border-bottom:1px solid rgba(99,102,241,.22);background:#fff;transform:translate(-50%,4px) rotate(45deg)}.iconButton[aria-label]:hover:before,.iconButton[aria-label]:hover:after,.iconButton[aria-label]:focus-visible:before,.iconButton[aria-label]:focus-visible:after,.rowActionButton[aria-label]:hover:before,.rowActionButton[aria-label]:hover:after,.rowActionButton[aria-label]:focus-visible:before,.rowActionButton[aria-label]:focus-visible:after{opacity:1;visibility:visible}.iconButton[aria-label]:hover:after,.iconButton[aria-label]:focus-visible:after,.rowActionButton[aria-label]:hover:after,.rowActionButton[aria-label]:focus-visible:after{transform:translate(-50%)}.iconButton[aria-label]:hover:before,.iconButton[aria-label]:focus-visible:before,.rowActionButton[aria-label]:hover:before,.rowActionButton[aria-label]:focus-visible:before{transform:translate(-50%) rotate(45deg)}.rowActions .iconButton[aria-label]:after,.rowActions .rowActionButton[aria-label]:after{left:50%;right:auto;top:auto;bottom:calc(100% + 10px);transform:translate(-50%,4px);max-width:180px;background:#fff;box-shadow:0 18px 36px -20px #0f172a59}.rowActions .iconButton[aria-label]:before,.rowActions .rowActionButton[aria-label]:before{left:50%;right:auto;top:auto;bottom:calc(100% + 5px);border-right:1px solid rgba(99,102,241,.22);border-bottom:1px solid rgba(99,102,241,.22);border-left:0;border-top:0;transform:translate(-50%,4px) rotate(45deg)}.rowActions .iconButton[aria-label]:hover:after,.rowActions .iconButton[aria-label]:focus-visible:after,.rowActions .rowActionButton[aria-label]:hover:after,.rowActions .rowActionButton[aria-label]:focus-visible:after{transform:translate(-50%)}.rowActions .iconButton[aria-label]:hover:before,.rowActions .iconButton[aria-label]:focus-visible:before,.rowActions .rowActionButton[aria-label]:hover:before,.rowActions .rowActionButton[aria-label]:focus-visible:before{transform:translate(-50%) rotate(45deg)}.iconButton[aria-label]:disabled:before,.iconButton[aria-label]:disabled:after,.rowActionButton[aria-label]:disabled:before,.rowActionButton[aria-label]:disabled:after{display:none}.stateBlock{display:grid;place-items:center;align-content:center;gap:12px;min-height:360px;color:var(--muted);font-weight:700}.modalBackdrop{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#f8fafcd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;animation:fade .2s ease both}.modalBackdrop.confirmBackdrop{z-index:1800}.modalBackdrop.cashAdvanceDetailBackdrop{z-index:1900}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:hidden;border:1px solid rgba(15,23,42,.1);border-radius:var(--radius-lg);background:#fff;box-shadow:0 34px 74px -38px #0f172a6b;animation:pop .28s cubic-bezier(.22,1,.36,1) both}@keyframes pop{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modalHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line);background:#fff}.eyebrow{margin:0 0 6px;color:var(--blue-ink);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.employeeModal{width:min(960px,calc(100vw - 28px));border-radius:22px}.employeeModal .modalHeader{padding:24px 28px 18px}.employeeModal .modalHeader h2{margin:0;color:#111827;font-size:1.28rem;letter-spacing:0}.employeeForm{display:grid;grid-template-columns:minmax(0,1fr);max-height:calc(100vh - 128px);overflow-y:auto;padding:0;background:#fff}.employeeFormIntro{display:flex;justify-content:flex-end;padding:16px 28px 0;color:var(--muted);font-size:.75rem;font-weight:800}.employeeFormIntro em{color:var(--danger-ink);font-style:normal;font-weight:900}.employeeForm>.modalBanner{margin:14px 28px 0}.employeePhotoBlock{display:grid;gap:9px;padding:18px 28px 0}.employeePhotoBlock>.fieldLabel{color:var(--ink-2);font-size:.82rem;font-weight:700}.employeePhotoBlock .avatarUploadBox{border-radius:var(--radius-sm)}.employeeFormSections{display:grid;gap:18px;padding:18px 28px}.employeeFormSection{display:grid;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.employeeFormSection:last-child{border-bottom:0}.employeeFormSectionHeader h3{margin:0;color:#111827;font-size:.96rem;font-weight:850}.employeeFieldsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.employeeAssignments{gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafca8}.employeeAssignmentsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employeeAssignmentsHeader small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:700}.employeeAssignmentGrid{display:grid;gap:10px}.employeeAssignmentHeader,.employeeAssignmentRow{display:grid;grid-template-columns:34px minmax(180px,1fr) minmax(180px,1fr) 58px 40px;align-items:center;gap:10px}.employeeAssignmentHeader{padding:0 10px;color:var(--muted-2);font-size:.72rem;font-weight:800;text-transform:uppercase}.employeeAssignmentRow{padding:10px;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-sm);background:#ffffffdb}.assignmentPrimary{justify-content:center}.field{display:grid;gap:7px}.field.wide{grid-column:1 / -1}.field>span{color:var(--ink-2);font-size:.82rem;font-weight:700}.fieldLabel{display:inline-flex;align-items:center;justify-content:space-between;gap:10px}.fieldLabel span{min-width:0;display:inline-flex;align-items:center;gap:4px}.fieldLabel em{color:var(--danger-ink);font-style:normal;font-weight:900}.fieldLabel small{color:var(--muted-2);font-size:.7rem;font-weight:800}.fieldHint{color:var(--muted);font-size:.74rem;font-weight:700}.requiredMark,.optionalMark{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:var(--pill);font-size:.68rem;font-style:normal;font-weight:800;line-height:1}.requiredMark{background:var(--danger-soft);color:var(--danger-ink)}.optionalMark{background:#64748b1a;color:var(--muted)}.field input,.field select,.field .selectMenuButton{min-height:46px;padding:0 13px;background:#fff;border-radius:12px}.field textarea{min-height:100px;padding:12px 13px;resize:vertical;background:#fff;border-radius:12px}.modalFooter.employeeFormFooter{position:sticky;bottom:0;margin-top:0;padding:24px 28px 26px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -18px 28px -28px #0f172a73}.employeeFormFooter .footerError{display:flex;align-items:center;gap:8px;flex:1 1 360px;min-height:42px;margin-right:auto;padding:9px 12px;border:1px solid rgba(244,63,94,.26);border-radius:12px;background:#fff1f2e6;color:var(--danger-ink);font-size:.8rem;font-weight:750;line-height:1.35}.employeeFormFooter .footerError svg{flex:0 0 auto}.avatarUploadField{gap:10px}.avatarUploadBox{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line-strong);border-radius:16px;background:#fff}.userPhotoPreview{display:grid;place-items:center;width:78px;height:78px;border-radius:20px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:1.05rem;font-weight:900;overflow:hidden;box-shadow:0 16px 30px -18px #4f46e5bf}.avatarUploadContent{display:grid;gap:8px;min-width:0}.avatarUploadContent strong{color:var(--ink);font-size:.9rem}.avatarUploadContent>span{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.45}.userModal{width:min(940px,calc(100vw - 28px));border-radius:22px}.userModal .modalHeader{padding:24px 28px 18px}.userModal .modalHeader h2{margin:0;color:#111827;font-size:1.28rem;letter-spacing:0}.userForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px;max-height:calc(100vh - 132px);padding:18px 28px 0}.userForm>.modalBanner{margin:0}.userForm .fieldLabel{min-height:20px}.userForm .fieldLabel small{font-weight:750}.userForm .avatarUploadField{margin-bottom:2px}.modalFooter.userFormFooter{position:sticky;bottom:0;margin:3px -28px 0;padding:16px 28px 20px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -18px 28px -28px #0f172a61}.userDetailModal{width:min(780px,calc(100vw - 28px))}.cashAdvanceDetailModal{width:min(1120px,calc(100vw - 36px));max-height:calc(100vh - 52px)}.modalSubtitle{display:block;margin-top:4px;color:var(--muted);font-size:.8rem;font-weight:700}.compactDetailScroller{max-height:min(360px,calc(100vh - 430px))}.compactDetailScroller table{min-width:980px}.userDetailBody{display:grid;gap:16px;max-height:calc(100vh - 190px);overflow-y:auto;padding:24px}.userDetailHero{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.userDetailAvatar{display:grid;place-items:center;width:76px;height:76px;border-radius:18px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:1rem;font-weight:900;overflow:hidden;box-shadow:0 16px 30px -18px #4f46e5bf}.userDetailAvatar img{width:100%;height:100%;object-fit:cover}.userDetailSummary{display:grid;gap:7px;min-width:0}.userDetailSummary strong{color:var(--ink);font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userDetailSummary>span{color:var(--muted);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.userDetailMeta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.userDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detailInfoItem{display:grid;gap:6px;min-height:66px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffbd}.detailInfoItem span{color:var(--muted);font-size:.72rem;font-weight:850}.detailInfoItem strong{min-width:0;color:var(--ink);font-size:.9rem;overflow-wrap:anywhere}.historyPanel{display:grid;gap:12px;padding:16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.historyHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.historyHeader h3{margin:0;color:var(--ink);font-size:.98rem}.historyHeader p{margin:4px 0 0;color:var(--muted);font-size:.78rem;font-weight:700}.historyList{display:grid;gap:8px}.historyItem{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}.historyItem:first-child{border-top:0}.historyItem strong{color:var(--ink);font-size:.86rem}.historyItem small{display:block;margin-top:3px;color:var(--muted);font-size:.74rem;font-weight:700}.compactState{min-height:54px}.auditDetailCode{display:block;max-width:520px;color:var(--ink);font-family:inherit;font-size:.78rem;font-weight:700;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.userDetailFooter{padding:16px 24px 22px;border-top:1px solid var(--line)}.avatarUploadActions{display:flex;flex-wrap:wrap;gap:8px}.fileButton{cursor:pointer}.fileButton input{display:none}.fileButton.disabled{cursor:not-allowed;opacity:.58}.modalFooter{grid-column:1 / -1;justify-content:flex-end;padding-top:6px}.masterModal{width:min(760px,calc(100vw - 28px));border-radius:22px}.masterModal .modalHeader{padding:24px 28px 18px}.masterModal .modalHeader h2{margin:0;color:#111827;font-size:1.28rem;letter-spacing:0}.masterModal .modalHeader .iconButton{background:#fff}.masterForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-height:calc(100vh - 142px);overflow-y:auto;padding:18px 28px 0;background:#fff}.masterField{gap:8px}.masterField .fieldLabel{min-height:22px}.masterField .fieldLabel>span{color:#253047;font-size:.78rem;font-weight:800}.masterField .fieldLabel small{color:#8a96aa;font-size:.68rem;text-transform:uppercase}.masterField input,.masterField select,.masterField textarea,.masterField .selectMenuButton{border-color:#0f172a21;border-radius:12px;background:#fff;box-shadow:0 1px #0f172a08}.masterField input,.masterField select,.masterField .selectMenuButton{min-height:48px;padding:0 14px}.masterField textarea{min-height:112px;padding:13px 14px;line-height:1.55}.masterField input::placeholder,.masterField textarea::placeholder{color:#a5afc1}.masterField:hover input,.masterField:hover select,.masterField:hover textarea,.masterField:hover .selectMenuButton{border-color:#3b82f647}.masterField input:invalid:not(:placeholder-shown){border-color:#f43f5e80}.masterFormFooter{position:sticky;bottom:0;margin:2px -28px 0;padding:18px 28px 24px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -18px 28px -28px #0f172a73}.confirmDialog{width:min(520px,calc(100vw - 32px));display:grid;overflow:hidden;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff;box-shadow:0 24px 70px -42px #0f172a8c;animation:pop .24s cubic-bezier(.22,1,.36,1) both}.confirmModal{width:min(560px,calc(100vw - 32px));border-radius:18px}.confirmModal .confirmHeader{grid-template-columns:42px minmax(0,1fr)}.confirmIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.confirmIcon.danger{border:1px solid rgba(225,29,72,.18);background:var(--danger-soft);color:var(--danger-ink)}.confirmText{max-width:420px;margin:4px 0 0;color:var(--muted);font-size:.92rem;font-weight:650;line-height:1.55}.confirmText strong{color:var(--ink)}.confirmFooter{justify-content:flex-end;padding:18px 24px 22px;border-top:1px solid var(--line);background:#fff}.confirmHeader{display:grid;grid-template-columns:42px minmax(0,1fr) 38px;align-items:center;gap:14px;padding:22px 24px 16px}.confirmMark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid transparent}.confirmMark.danger{background:var(--danger-soft);color:var(--danger-ink);border-color:#e11d482e}.confirmMark.warning{background:var(--amber-soft);color:var(--amber-ink);border-color:#d977062e}.confirmTitle p{margin:0 0 4px;color:var(--blue);font-size:.72rem;font-weight:800;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}.confirmTitle h2{margin:0;color:#111827;font-size:1.2rem;line-height:1.25}.confirmClose{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink-2);box-shadow:0 8px 18px -18px #0f172aa6;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .16s ease}.confirmClose:hover{border-color:#6366f159;background:#f8fafc;color:var(--ink);transform:translateY(-1px)}.confirmClose:disabled{cursor:not-allowed;opacity:.6}.confirmBody{padding:0 24px 20px 80px}.confirmBody p{margin:0;color:var(--muted);line-height:1.55}.confirmBody strong{color:var(--ink-2);font-weight:800}.confirmWarning{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:11px 12px;border-radius:12px;border:1px solid transparent;font-size:.8rem;font-weight:600;line-height:1.5}.confirmWarning.danger{background:#fff1f2b8;border-color:#e11d4824;color:#be123c}.confirmWarning.warning{background:#fffbebb8;border-color:#d9770629;color:#92400e}.confirmActions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line);background:#f8fafc}.confirmActions .ghostButton,.confirmActions .primaryButton,.confirmActions .dangerButton{min-height:42px;padding:0 16px;border-radius:10px;box-shadow:none}.confirmActions .ghostButton{background:#fff}.confirmActions .dangerButton{background:#dc2626}.confirmActions .dangerButton:hover{background:#b91c1c;box-shadow:0 14px 28px -18px #b91c1cb8}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1100px){.appShell,.appShell.sidebarCollapsed{grid-template-columns:1fr}.modalBackdrop.salaryRequestBackdrop{inset:0;padding:18px}.modal.salaryRequestModal{height:calc(100dvh - 36px)}.sidebar,.sidebar.collapsed{position:static;height:auto;padding:16px 20px}.brand,.sidebar.collapsed .brand{justify-content:flex-start;padding:0 0 14px}.sidebar.collapsed .brandText,.sidebar.collapsed .navLabel,.sidebar.collapsed .navGroupLabel,.sidebar.collapsed .userMeta{width:auto;opacity:1;overflow:visible;pointer-events:auto;transform:none}.navGroup,.navGroupItems,.sidebar.collapsed .navGroup,.sidebar.collapsed .navGroupItems{display:contents}.navGroupLabel,.sidebar.collapsed .navGroupLabel{display:none}.navList{grid-template-columns:repeat(3,minmax(0,1fr))}.navBranch{display:block}.navChevron,.navSubList{display:none}.navItem,.sidebar.collapsed .navItem{justify-content:center;gap:9px;padding-inline:12px}.navItem:hover:not(:disabled){transform:none}.salaryMobileTabs{display:flex}.sidebar.collapsed .navItemFlyout{display:none}.salaryToastStack{top:12px;right:12px;left:12px;width:auto}.templateLineRow{grid-template-columns:34px minmax(0,1fr) 40px}.templateLineHeader{display:none}.templateLineField>span{display:block}.templateLineRow>:first-child{grid-column:1 / 2}.templateLineRow>:nth-child(2){grid-column:2 / 3}.templateLineRow>:nth-child(3){grid-column:2 / 4}.templateLineRow>:nth-child(4){grid-column:3 / 4;grid-row:1}.salaryStatementForm,.salaryQuickAddForm,.salaryRequestMeta,.salaryPeriodQuickForm,.salaryPeriodModalForm,.cashAdvanceModalForm,.userForm,.salaryCategoryModalForm,.salaryTemplateModalForm,.salaryCategoryForm{grid-template-columns:1fr}.salarySummaryStrip,.salaryDraftSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.salaryFormFooter{grid-template-columns:1fr}.salaryQuickAddForm .salaryInlineActions,.salaryPeriodQuickForm .salaryInlineActions{justify-content:stretch}.salaryPanelActions{width:100%;justify-content:flex-start}.sidebarCard,.sidebar.collapsed .sidebarUser{display:none}.workspace{padding:24px}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar{display:grid}.topbarActions,.controlRow{width:100%}.topbarActions .primaryButton,.topbarActions .ghostButton,.ghostButton.compact{flex:1}.controlRow{grid-template-columns:1fr}.bulkActionBar{align-items:stretch;flex-direction:column}.bulkActionControls,.salarySummaryStrip,.requestFilterGrid,.roleManagementShell,.rolePermissionToolbar,.roleCurrentSummary,.roleModuleGrid{grid-template-columns:1fr}.roleSelectorPanel{position:static}.roleSaveBar{left:16px;right:16px;bottom:14px;flex-wrap:wrap}.salaryDraftSummary{grid-template-columns:1fr}.salaryFooterActions{flex-direction:column}.salaryFooterActions .primaryButton,.salaryFooterActions .ghostButton{width:100%}.tableHeader{align-items:flex-start}}@media(max-width:620px){.workspace{padding:16px}.tableScroller{scrollbar-width:none}.tableScroller::-webkit-scrollbar{display:none}.metricGrid,.employeeFieldsGrid,.masterForm,.userDetailGrid{grid-template-columns:1fr}.employeeModal .modalHeader{padding:20px 18px 16px}.employeeFormIntro{justify-content:flex-start;padding:14px 18px 0}.employeeForm>.modalBanner{margin:12px 18px 0}.employeePhotoBlock{padding:16px 18px 0}.employeePhotoBlock>.fieldLabel{align-items:flex-start;flex-direction:column;gap:4px}.employeeFormSections{padding:16px 18px}.modalFooter.employeeFormFooter{padding:22px 18px 20px}.userDetailBody{padding:18px}.userDetailHero{grid-template-columns:1fr}.userDetailFooter{padding:14px 18px 18px}.masterModal .modalHeader{padding:20px 18px 16px}.masterForm{padding:16px 18px 0}.masterFormFooter{margin-right:-18px;margin-left:-18px;padding:16px 18px 18px}.confirmDialog{width:calc(100vw - 20px)}.confirmHeader{grid-template-columns:40px minmax(0,1fr) 36px;gap:12px;padding:18px 18px 14px}.confirmMark{width:40px;height:40px;border-radius:10px}.confirmTitle h2{font-size:1.05rem}.confirmBody{padding:0 18px 18px}.confirmActions{display:grid;grid-template-columns:1fr;padding:14px 18px 18px}.confirmActions .ghostButton,.confirmActions .primaryButton,.confirmActions .dangerButton{width:100%}.navList{grid-template-columns:1fr}.modalBackdrop{padding:10px}.modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}.appSplash{display:grid;place-items:center;align-content:center;gap:12px;min-height:100vh;color:var(--muted);font-weight:700}.loginShell{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 50% -12%,rgba(99,102,241,.09),transparent 32%),linear-gradient(180deg,#fff,#f8fafc)}.loginCard{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(440px,100%);padding:38px 34px 28px;text-align:center;border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fffffff0;box-shadow:0 1px #ffffffe6 inset,0 28px 58px -34px #0f172a61;animation:pop .32s cubic-bezier(.22,1,.36,1) both}.loginMark{display:grid;place-items:center;width:60px;height:60px;margin-bottom:6px;border-radius:18px;font-weight:800;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));box-shadow:0 16px 30px -12px #6366f1cc}.loginHeading{display:grid;gap:4px}.loginEyebrow{margin:0;color:var(--blue-ink);font-size:.78rem;font-weight:800}.loginCard h1{margin:0;font-size:1.55rem;line-height:1.18}.loginSub{margin:0;color:var(--muted);font-size:.92rem;font-weight:600;line-height:1.5}.loginHint{margin:10px 0 4px;color:var(--muted);font-size:.9rem}.loginButton{display:flex;justify-content:center;min-height:44px}.loginForm{display:grid;gap:15px;width:100%;margin-top:2px}.loginField{display:grid;gap:7px;text-align:left}.loginField>span{color:#475569;font-size:.76rem;font-weight:800;line-height:1}.loginForm .inputWithIcon{min-height:50px;border-color:#0f172a21;border-radius:14px;background:#fff;box-shadow:0 1px #0f172a05;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.loginForm .inputWithIcon svg{flex:0 0 auto;color:#64748b}.loginForm .inputWithIcon:focus-within{border-color:#6366f1a8;box-shadow:0 0 0 4px #6366f11f,0 10px 24px -20px #0f172a80}.loginForm .inputWithIcon input{width:100%;min-width:0;min-height:46px;padding:0;border:0;outline:0;color:var(--ink);background:transparent;font-weight:650}.loginForm .inputWithIcon input::placeholder{color:#9aa6b5;font-weight:550}.loginForm .primaryButton{width:100%;justify-content:center;min-height:52px;margin-top:3px;border-radius:14px}.loginCard .errorBanner,.loginCard .successBanner{width:100%;min-height:44px;margin:-2px 0 0;justify-content:center;border-radius:14px;text-align:left;font-size:.88rem}.loginLinkButton{justify-self:center;width:fit-content;min-height:34px;padding:4px 8px;border:0;background:transparent;color:var(--blue-ink);font-size:.82rem;font-weight:800}.loginLinkButton:hover:not(:disabled),.loginLinkButton:focus-visible{text-decoration:underline}.loginLinkButton:disabled{color:var(--muted-2);cursor:not-allowed}.loginDevLink{display:grid;gap:6px;width:100%;padding:11px 13px;border:1px dashed rgba(99,102,241,.45);border-radius:14px;background:#6366f112;text-align:left}.loginDevLink span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.loginDevLink a{max-width:100%;overflow-wrap:anywhere;color:var(--blue-ink);font-size:.78rem;font-weight:700;line-height:1.35}.loginBusy{display:inline-flex;align-items:center;gap:8px;margin:4px 0 0;color:var(--muted);font-weight:600}.loginFoot{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;color:var(--muted-2);font-size:.78rem;font-weight:650}.sidebarUser{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);background:#f8fafc;box-shadow:0 12px 24px -22px #0f172a80}.sidebar.collapsed .sidebarUser{grid-template-columns:1fr;justify-items:center;gap:8px;padding:10px 8px}.userAvatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:.78rem;font-weight:800;overflow:hidden}.userAvatar img,.profileAvatarLarge img{width:100%;height:100%;object-fit:cover}.userMeta{min-width:0}.userMeta strong{display:block;overflow:hidden;color:#111827;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.sidebarUser .iconButton{width:34px;height:34px;border-color:#0f172a14;background:#fff;color:#64748b}.sidebarUser .iconButton:hover{background:var(--danger-soft);border-color:#f43f5e38;color:var(--danger-ink);transform:none}.roleBadge{display:inline-flex;align-items:center;margin-top:3px;padding:2px 9px;border-radius:var(--pill);font-size:.72rem;font-weight:700;text-transform:capitalize;background:#6366f129;color:var(--blue-ink)}.roleBadge.owner{background:#8b5cf62e;color:#7c3aed}.roleBadge.finance{background:var(--amber-soft);color:var(--amber-ink)}.roleBadge.hr{background:var(--green-soft);color:var(--green-ink)}.roleBadge.admin,.roleBadge.superAdmin,.roleBadge.adminPic{background:#3b82f629;color:var(--blue-ink)}.roleBadge.cs{background:#0ea5e924;color:#0369a1}.roleBadge.advertiser{background:#ec489924;color:#be185d}.roleBadge.teknisi{background:#14b8a624;color:#0f766e}.sidebarUser .roleBadge{background:#6366f11a;color:var(--blue-ink)}.successBanner{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 15px;margin-bottom:14px;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);background:var(--green-soft);color:var(--green-ink);font-weight:700}.mutedDash{color:var(--muted-2)}.matrixTable th.matrixRole,.matrixTable td.matrixCell{text-align:center}.matrixTable td small{color:var(--muted-2);font-size:.72rem}.matrixGroupRow td{background:#0f172a0a;color:var(--blue-ink);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.matrixCell input[type=checkbox]{width:18px;height:18px;accent-color:var(--grad-a);cursor:pointer}.matrixCell input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.profileGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.profilePanel{min-width:0;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow);overflow:hidden}.profileForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px}.profileHeroField{grid-column:1 / -1;display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.profileAvatarLarge{display:grid;place-items:center;width:112px;height:112px;border-radius:26px;background:linear-gradient(135deg,var(--grad-c),var(--grad-b));color:#fff;font-size:1.4rem;font-weight:800;overflow:hidden;box-shadow:0 18px 34px -16px #4f46e5cc}.profileHeroMeta{display:grid;gap:9px;min-width:0}.profileHeroMeta strong{color:var(--ink);font-size:1.05rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileHeroMeta>span{color:var(--muted);font-size:.8rem;font-weight:700}.profileForm .field.wide,.profileForm .modalFooter{grid-column:1 / -1}.accountInfoList{display:grid;gap:12px;padding:18px}.accountInfoRow{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb8}.accountInfoRow span{color:var(--muted);font-size:.78rem;font-weight:800}.accountInfoRow strong{min-width:0;color:var(--ink);font-size:.9rem;overflow-wrap:anywhere}.accountInfoRow .roleBadge,.accountInfoRow .accountCodeLine{justify-self:start;margin-top:0}.accountInfoRow .accountIdText{min-height:18px;font-size:.78rem}.inputWithIcon{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--muted);transition:border-color .18s ease,box-shadow .18s ease}.inputWithIcon:focus-within{border-color:#6366f199;box-shadow:var(--ring)}.field .inputWithIcon input{width:100%;min-width:0;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none}.passwordInput{padding-right:8px}.passwordToggle{display:inline-grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background .16s ease,color .16s ease}.passwordToggle:hover:not(:disabled),.passwordToggle:focus-visible{background:#6366f11a;color:var(--blue-ink);outline:0}.passwordToggle:disabled{cursor:not-allowed;opacity:.45}.permissionGroupList{display:grid;gap:12px;max-height:calc(100vh - 360px);overflow:auto;padding:18px}.permissionGroupCard{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff9e}.permissionGroupCard>strong{color:var(--ink);font-size:.88rem}.permissionChips{display:flex;flex-wrap:wrap;gap:7px}.permissionChip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:var(--pill);background:#6366f11a;color:var(--blue-ink);font-size:.74rem;font-weight:700}.compactState{min-height:220px}@media(max-width:980px){.profileGrid,.profileForm{grid-template-columns:1fr}.profileForm .field.wide{grid-column:1 / -1}}@media(max-width:760px){html,body,#root{min-height:100dvh}body{overflow-x:hidden}.appShell,.appShell.sidebarCollapsed{display:block;min-height:100dvh}.sidebar,.sidebar.collapsed{position:fixed;inset:0 0 auto;z-index:50;display:flex;flex-direction:row;align-items:center;gap:10px;height:auto;min-height:calc(64px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 14px 8px;border-right:0;border-bottom:1px solid rgba(15,23,42,.08);background:#fffffff5;box-shadow:0 18px 36px -30px #0f172a94;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);overflow:visible}.brand,.sidebar.collapsed .brand{flex:1 1 auto;min-width:0;min-height:44px;gap:10px;justify-content:flex-start;padding:0}.brandMark{width:40px;height:40px;border-radius:13px;font-size:.78rem;box-shadow:0 12px 22px -15px #4f46e5d1}.brandMark:after{top:-2px;right:-2px;width:10px;height:10px;box-shadow:0 0 0 3px #fff}.brand strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.brand small{font-size:.7rem}.sidebar.collapsed .brandText{display:block}.sidebar.collapsed .brandText,.sidebar.collapsed .navLabel,.sidebar.collapsed .userMeta{width:auto;opacity:1;overflow:visible;pointer-events:auto;transform:none}.sidebarUser,.sidebar.collapsed .sidebarUser{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.sidebarUser .userMeta,.sidebar.collapsed .sidebarUser .userMeta{display:none}.sidebarUser .userAvatar{width:34px;height:34px;border-radius:11px;font-size:.72rem}.sidebarUser .iconButton{width:36px;height:36px;border-radius:12px}.navList,.sidebar.collapsed .navList{position:fixed;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;z-index:51;display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:4px;padding:6px;border:1px solid rgba(15,23,42,.1);border-radius:22px;background:#fffffff5;box-shadow:0 20px 42px -24px #0f172a73;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.navBranch{display:block}.navBranch.open .navItemParent{border-color:#3b82f629;background:#edf4ff}.navChevron,.navSubList{display:none}.navItem,.sidebar.collapsed .navItem{flex-direction:column;justify-content:center;gap:4px;min-height:54px;padding:5px 2px;border-radius:16px;font-size:.66rem;line-height:1.12;text-align:center}.navItem svg{width:18px;height:18px}.navLabel,.sidebar.collapsed .navLabel{width:100%;opacity:1;overflow:hidden;color:inherit;pointer-events:auto;text-overflow:ellipsis;transform:none;white-space:nowrap}.navItem.active{border-color:#3b82f629;background:#edf4ff;box-shadow:none}.workspace{padding:calc(82px + env(safe-area-inset-top)) 14px calc(94px + env(safe-area-inset-bottom))}.topbar{display:grid;gap:14px;margin-bottom:16px}.crumbLine{margin-bottom:8px;font-size:.68rem;letter-spacing:.1em}h1{font-size:1.55rem}h2{font-size:1rem}.syncMeta{gap:6px;margin-top:10px}.syncMeta span,.sourceBadge{min-height:28px;padding:0 10px;font-size:.72rem}.topbarActions{gap:8px}.primaryButton,.ghostButton,.dangerButton{min-height:42px;padding:0 14px;border-radius:12px;font-size:.86rem}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.metricCard{grid-template-columns:38px minmax(0,1fr);gap:10px;min-height:94px;padding:14px;border-radius:16px}.metricIcon{width:40px;height:40px;border-radius:12px}.metricCard strong{font-size:1.18rem}.metricCard small,.metricCard em{font-size:.7rem}.controlPanel,.tablePanel,.roleTablePanel,.profilePanel{border-radius:18px}.roleTableStack{gap:12px}.controlPanel{gap:10px;padding:12px}.tableHeader{min-height:auto;padding:14px 16px}.avatarUploadBox{grid-template-columns:1fr}.userPhotoPreview{width:72px;height:72px}.profileForm{gap:12px;padding:18px}.profileAvatarLarge{width:88px;height:88px;border-radius:22px}.permissionGroupList{max-height:none;padding:14px}.loginShell{width:100%;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));overflow:hidden}.loginCard{width:100%;max-width:min(360px,calc(100vw - 32px));padding:32px 18px 24px;border-radius:24px;overflow:hidden}.loginMark{width:54px;height:54px;border-radius:16px}.loginCard h1{font-size:1.34rem}.loginCard .errorBanner{width:100%;max-width:100%;align-items:flex-start;margin-bottom:8px;text-align:left;font-size:.8rem;line-height:1.35}.loginCard .errorBanner span{min-width:0}.loginCard code{white-space:normal;overflow-wrap:anywhere}}@media(max-width:380px){.navItem,.sidebar.collapsed .navItem{font-size:.62rem}.workspace{padding-inline:12px}}
