.toast-container{position:fixed;top:20px;right:20px;left:auto;transform:none;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:18px 24px;min-width:300px;max-width:450px;background:var(--surface-card);border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid;pointer-events:all;animation:slideInRight .3s ease-out;cursor:pointer;transition:transform .2s,box-shadow .2s}.toast:hover{transform:translate(-4px);box-shadow:0 6px 16px #0003}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#4caf50;background:linear-gradient(to right,#e8f5e9,#fff 10%)}.toast-error{border-left-color:#e53935;background:linear-gradient(to right,#ffebee,#fff 10%)}.toast-warning{border-left-color:#ff9800;background:linear-gradient(to right,#fff3e0,#fff 10%)}.toast-info{border-left-color:#6b2fb8;background:linear-gradient(to right,var(--color-secondary) 0%,#fff 10%)}.toast-icon{font-size:20px;flex-shrink:0}.toast-success .toast-icon{color:#4caf50}.toast-error .toast-icon{color:#e53935}.toast-warning .toast-icon{color:#ff9800}.toast-info .toast-icon{color:#6b2fb8}.toast-message{flex:1;font-size:15px;font-weight:500;color:var(--text-strong);line-height:1.4}.toast-close{background:none;border:none;color:#8a9ba8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;font-size:14px}.toast-close:hover{background:#0000000d;color:var(--text-strong)}.skeleton-loader{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-title{height:32px;width:300px;border-radius:8px;margin-bottom:20px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-header{height:20px;width:150px;border-radius:4px;margin-bottom:15px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-line{height:16px;border-radius:4px;margin-bottom:12px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-content{display:flex;flex-direction:column}.skeleton-table-header{height:16px;width:100%;border-radius:4px;margin-bottom:12px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-table-row{height:12px;border-radius:4px;margin-bottom:10px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:15px}.skeleton-input{height:44px;border-radius:4px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-textarea{height:60px;border-radius:4px;margin-bottom:15px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-buttons{display:flex;gap:10px;margin-top:2px}.skeleton-button{height:44px;width:110px;border-radius:6px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-profile-container{display:flex;gap:30px;margin-top:20px}.skeleton-profile-photo{width:150px;height:150px;border-radius:50%;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-sunken) 20%,var(--surface-sunken) 40%,var(--surface-sunken) 100%);background-size:1000px 100%;animation:shimmer 2s infinite;flex-shrink:0}.skeleton-profile-info{flex:1;display:flex;flex-direction:column;gap:15px}.skeleton-card{background:var(--surface-card);padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.skeleton-line:nth-child(1){animation-delay:0s}.skeleton-line:nth-child(2){animation-delay:.1s}.skeleton-line:nth-child(3){animation-delay:.2s}.skeleton-table-row:nth-child(1){animation-delay:.1s}.skeleton-table-row:nth-child(2){animation-delay:.2s}.skeleton-table-row:nth-child(3){animation-delay:.3s}.shell{min-height:100vh;min-height:100dvh;background:var(--surface-canvas)}.shell-sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);width:min(var(--sidebar-w),84vw);display:flex;flex-direction:column;background:var(--surface-card);border-right:1px solid var(--line);transform:translate(-100%);transition:transform var(--dur) var(--ease);will-change:transform}.shell-sidebar.is-open{transform:translate(0);box-shadow:var(--shadow-lg)}@media (min-width: 1024px){.shell-sidebar{transform:none;box-shadow:none}}.shell-sidebar__head{display:flex;align-items:center;gap:var(--s-2);min-height:var(--topbar-h);padding:0 var(--s-3) 0 var(--s-4);border-bottom:1px solid var(--line-subtle);flex:0 0 auto}.shell-sidebar__brand{display:flex;align-items:center;gap:var(--s-3);flex:1 1 auto;min-width:0;text-decoration:none}.shell-sidebar__logo{width:auto;max-width:100%;height:26px;object-fit:contain;object-position:left center;flex:0 1 auto;min-width:0}.shell-sidebar__collapse,.shell-sidebar__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer}.shell-sidebar__collapse:hover,.shell-sidebar__close:hover{background:var(--gray-100);color:var(--text-strong)}.shell-sidebar__collapse{display:none}@media (min-width: 1024px){.shell-sidebar__close{display:none}.shell-sidebar__collapse{display:inline-flex}}.shell-nav{flex:1;overflow-y:auto;padding:var(--s-3) var(--s-3) var(--s-5);scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.shell-nav::-webkit-scrollbar{width:6px}.shell-nav::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--r-full)}.shell-nav__section+.shell-nav__section{margin-top:var(--s-4)}.shell-nav__caption{padding:0 var(--s-3) var(--s-2);font-size:var(--fs-xs);font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--text-subtle)}.shell-nav__item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:9px var(--s-3);margin-bottom:2px;border:none;background:transparent;border-radius:var(--r-sm);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:500;color:var(--text-body);text-align:left;cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.shell-nav__item:hover{background:var(--gray-100);color:var(--text-strong)}.shell-nav__item.is-active{background:var(--violet-50);color:var(--violet-700);font-weight:600}.shell-nav__item.is-active .shell-nav__icon{color:var(--violet-600)}.shell-nav__icon{flex:0 0 auto;display:flex;color:var(--text-muted)}.shell-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-nav__badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--violet-600);color:var(--text-on-brand);font-size:var(--fs-xs);font-weight:650;display:inline-flex;align-items:center;justify-content:center}.shell-sidebar__user{flex:0 0 auto;margin:var(--s-3);padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--gray-25);position:relative}.shell-sidebar__user-btn{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-1);border:none;background:transparent;cursor:pointer;text-align:left;border-radius:var(--r-sm)}.shell-sidebar__user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.shell-sidebar__user-name{font-size:var(--fs-md);font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-sidebar__user-role{font-size:var(--fs-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12131a66;z-index:var(--z-overlay);animation:ui-fade var(--dur) var(--ease)}@media (min-width: 1024px){.shell-overlay{display:none}}.shell-topbar{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;gap:var(--s-2);height:var(--topbar-h);padding:0 var(--s-4);background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}@media (min-width: 900px){.shell-topbar{padding:0 var(--s-6);gap:var(--s-3)}}.shell-topbar__menu{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;border:1px solid var(--line);background:var(--surface-card);border-radius:var(--r-sm);color:var(--text-body);cursor:pointer}@media (min-width: 1024px){.shell-topbar__menu{display:none}}.shell-topbar__brand{display:flex;align-items:center;min-width:0;text-decoration:none}.shell-topbar__brand .shell-sidebar__logo{height:22px;max-width:130px}@media (max-width: 599px){.shell-topbar__brand{display:none}}@media (min-width: 1024px){.shell-topbar__brand{display:none}}.shell-topbar__search{flex:1;max-width:460px;margin:0 auto;position:relative;display:none}@media (min-width: 720px){.shell-topbar__search{display:flex}.shell-topbar__search-btn{display:none}}.shell-topbar__search .ui-input{height:36px;background:var(--gray-50);border-color:transparent}.shell-topbar__search .ui-input:focus{background:var(--surface-card);border-color:var(--violet-300)}.shell-topbar__kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:2px 6px;border:1px solid var(--line);border-radius:5px;background:var(--surface-card);font-size:var(--fs-xs);color:var(--text-subtle);pointer-events:none}.shell-topbar__right{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}.shell-topbar__icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-body);cursor:pointer}.shell-topbar__icon-btn:hover{background:var(--gray-100)}.shell-topbar__dot{position:absolute;top:5px;right:5px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);background:var(--violet-600);color:var(--text-on-brand);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--surface-card)}.shell-topbar__user{display:flex;align-items:center;gap:var(--s-2);padding:4px 6px 4px 4px;border:none;background:transparent;border-radius:var(--r-full);cursor:pointer}.shell-topbar__user:hover{background:var(--gray-100)}.shell-topbar__user-id{display:none}.shell-topbar__user-name{font-size:var(--fs-md);font-weight:600;color:var(--text-strong);line-height:1.25}.shell-topbar__user-role{font-size:var(--fs-base);color:var(--text-muted);line-height:1.25}@media (min-width: 900px){.shell-topbar__user-id{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}}.shell-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:232px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s-2);z-index:var(--z-modal);animation:ui-slide-up var(--dur-fast) var(--ease)}.shell-menu--up{top:auto;bottom:calc(100% + 8px)}.shell-menu--wide{min-width:min(360px,calc(100vw - 32px))}.shell-menu__head{padding:var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--line-subtle);margin-bottom:var(--s-2)}.shell-menu__item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:8px var(--s-3);border:none;background:transparent;border-radius:var(--r-sm);font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-body);text-align:left;cursor:pointer;text-decoration:none}.shell-menu__item:hover{background:var(--gray-100);color:var(--text-strong)}.shell-menu__item--danger{color:var(--red-600)}.shell-menu__item--danger:hover{background:var(--red-50);color:var(--red-700)}.shell-menu__sep{height:1px;background:var(--line-subtle);margin:var(--s-2) 0}.shell-main{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-width:0}@media (min-width: 1024px){.shell-main{margin-left:var(--sidebar-w)}}.shell-content{flex:1;padding:var(--s-4);padding-bottom:calc(var(--s-8) + env(safe-area-inset-bottom,0px))}@media (min-width: 900px){.shell-content{padding:var(--s-6)}}@media (min-width: 1440px){.shell-content{padding:var(--s-6) var(--s-8)}}.shell-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#12131a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--s-4) var(--s-4);animation:ui-fade var(--dur-fast) var(--ease)}.shell-search{width:100%;max-width:560px;background:var(--surface-card);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-slide-up var(--dur-fast) var(--ease)}.shell-search__input-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--line-subtle)}.shell-search__input{flex:1;border:none;outline:none;font-family:var(--font-sans);font-size:var(--fs-lg);color:var(--text-strong);background:transparent}.shell-search__results{max-height:52vh;overflow-y:auto;padding:var(--s-2)}.shell-search__item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:10px var(--s-3);border:none;background:transparent;border-radius:var(--r-sm);font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-body);text-align:left;cursor:pointer}.shell-search__item:hover,.shell-search__item.is-cursor{background:var(--violet-50);color:var(--violet-700)}.shell-search__group{padding:var(--s-3) var(--s-3) var(--s-1);font-size:var(--fs-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle)}.shell-banner{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--amber-50);border-bottom:1px solid var(--amber-100);color:var(--amber-700);font-size:var(--fs-md);flex-wrap:wrap}@media (min-width: 900px){.shell-banner{padding:var(--s-3) var(--s-6)}}.shell-banner__actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}@media (min-width: 1024px){.shell.is-collapsed{--sidebar-w: 76px}.shell.is-collapsed .shell-sidebar__head{justify-content:center;padding:var(--s-3) 0}.shell.is-collapsed .shell-sidebar__brand{display:none}.shell.is-collapsed .shell-nav__label,.shell.is-collapsed .shell-sidebar__user-info,.shell.is-collapsed .shell-sidebar__user-btn>svg{display:none}.shell.is-collapsed .shell-nav__item,.shell.is-collapsed .shell-sidebar__user-btn{justify-content:center;gap:0;padding-left:0;padding-right:0}.shell.is-collapsed .shell-nav{padding-left:var(--s-2);padding-right:var(--s-2)}.shell.is-collapsed .shell-nav__caption{height:1px;padding:0;margin:var(--s-3) var(--s-2);overflow:hidden;text-indent:-999em;background:var(--line)}.shell.is-collapsed .shell-nav__item{position:relative}.shell.is-collapsed .shell-nav__badge{position:absolute;top:5px;right:12px;min-width:8px;width:8px;height:8px;padding:0;font-size:0;line-height:0}}:root{--violet-50: #f4f1ff;--violet-100: #ebe5ff;--violet-200: #d9cfff;--violet-300: #bda9ff;--violet-400: #9b7bfb;--violet-500: #7c53f5;--violet-600: #5b34f0;--violet-700: #4b23d6;--violet-800: #3d1cab;--violet-900: #2f1685;--gray-25: #fcfcfd;--gray-50: #f8f8fb;--gray-100: #f2f2f7;--gray-200: #eaeaf0;--gray-300: #d8d8e2;--gray-400: #a9a9b8;--gray-500: #7c7c8e;--gray-600: #5c5c6e;--gray-700: #40404f;--gray-800: #292935;--gray-900: #12131a;--green-50: #e9f9ef;--green-100: #d4f4e0;--green-600: #16a34a;--green-700: #11803a;--amber-50: #fff7e8;--amber-100: #fdecc8;--amber-600: #d97706;--amber-700: #b45309;--red-50: #fef1f1;--red-100: #fee2e2;--red-600: #dc2626;--red-700: #b91c1c;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-600: #2563eb;--blue-700: #1d4ed8;--surface-canvas: var(--gray-50);--surface-card: #ffffff;--surface-raised: #ffffff;--surface-sunken: var(--gray-100);--surface-hover: var(--gray-50);--surface-glass: rgba(255, 255, 255, .86);--surface-veil: rgba(255, 255, 255, .94);--surface-veil-edge: rgba(255, 255, 255, .45);--text-strong: var(--gray-900);--text-body: var(--gray-700);--text-muted: var(--gray-500);--text-subtle: var(--gray-400);--text-on-brand: #ffffff;--text-brand: var(--violet-600);--line: var(--gray-200);--line-strong: var(--gray-300);--line-subtle: var(--gray-100);--shadow-xs: 0 1px 2px rgba(18, 19, 26, .04);--shadow-sm: 0 1px 3px rgba(18, 19, 26, .06), 0 1px 2px rgba(18, 19, 26, .04);--shadow-md: 0 4px 12px rgba(18, 19, 26, .07), 0 2px 4px rgba(18, 19, 26, .04);--shadow-lg: 0 12px 32px rgba(18, 19, 26, .1), 0 4px 8px rgba(18, 19, 26, .04);--shadow-focus: 0 0 0 3px rgba(91, 52, 240, .16);--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-full: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 26px;--sidebar-w: 248px;--topbar-h: 64px;--page-max: 1560px;--z-sidebar: 60;--z-topbar: 50;--z-overlay: 70;--z-modal: 100;--z-toast: 120;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .18s;--color-primary: var(--violet-600);--color-primary-hover: var(--violet-700);--color-primary-foreground: #ffffff;--color-primary-10: rgba(91, 52, 240, .1);--color-secondary: var(--violet-50);--color-secondary-foreground: var(--violet-700);--color-background: var(--gray-50);--color-foreground: var(--gray-900);--color-card: #ffffff;--color-muted: var(--gray-100);--color-muted-foreground: var(--gray-500);--color-accent: var(--violet-100);--color-accent-foreground: var(--violet-700);--color-border: var(--gray-200);--color-divider: var(--gray-100);--color-input: var(--gray-200);--color-ring: var(--violet-600);--color-destructive: var(--red-600);--color-success: var(--green-600);--color-success-bg: var(--green-100);--color-warning: var(--amber-600);--color-warning-bg: var(--amber-100);--radius-sm: var(--r-xs);--radius-md: var(--r-sm);--radius-lg: var(--r-md);--radius-xl: var(--r-lg)}[data-theme=dark]{--gray-25: #0b0c10;--gray-50: #101219;--gray-100: #191c25;--gray-200: #252936;--gray-300: #333848;--gray-400: #6b7186;--gray-500: #9096a9;--gray-600: #b0b5c4;--gray-700: #ccd0dc;--gray-800: #e4e7ef;--gray-900: #f3f4f8;--violet-50: #1c1838;--violet-100: #251f4b;--violet-200: #322a63;--violet-300: #493d8c;--violet-400: #8a6bfa;--violet-500: #9a7dfc;--violet-600: #7c53f5;--violet-700: #9b7bfb;--violet-800: #bda9ff;--violet-900: #d9cfff;--green-50: #0f2419;--green-100: #16341f;--green-600: #3fc16b;--green-700: #63d089;--amber-50: #2a1f0d;--amber-100: #3a2b10;--amber-600: #f0a03c;--amber-700: #f7b95f;--red-50: #2c1417;--red-100: #3d191d;--red-600: #f2545b;--red-700: #f97b80;--blue-50: #101f36;--blue-100: #152a49;--blue-600: #5b9bf8;--blue-700: #83b4fa;--surface-canvas: #0d0f14;--surface-card: #161923;--surface-raised: #1c2029;--surface-sunken: #12141b;--surface-hover: #1e2230;--surface-glass: rgba(19, 22, 30, .86);--surface-veil: rgba(22, 25, 35, .94);--surface-veil-edge: rgba(255, 255, 255, .06);--text-on-brand: #ffffff;--line: #262b38;--line-strong: #333947;--line-subtle: #1e222d;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6), 0 4px 8px rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 3px rgba(124, 83, 245, .3);--color-card: var(--surface-card);--color-background: var(--surface-canvas);--color-secondary: var(--violet-50);--color-muted: var(--surface-sunken);--color-accent: var(--violet-100);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-canvas)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600}.page-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.2;margin-bottom:var(--s-5);display:flex;align-items:center}@media (min-width: 900px){.page-title{font-size:var(--fs-3xl)}}button{font-family:var(--font-sans);cursor:pointer}input,select,textarea{font-family:var(--font-sans)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],textarea,select{background:var(--surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;color:var(--text-strong);height:42px;line-height:1.2;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}input:disabled,select:disabled,textarea:disabled,.button:disabled{background-color:var(--surface-sunken)!important;color:var(--text-subtle)!important;border:none!important;opacity:1!important;cursor:not-allowed;box-shadow:none!important;transform:none!important}input[type=date]:disabled,.date-picker-input-disabled,.date-picker-input-disabled .date-picker-input-field{border:none!important;background-color:var(--surface-sunken)!important;border-radius:4px!important}select:disabled{background-image:none!important;border:none!important;background-color:var(--surface-sunken)!important}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:32px}select:focus{background-image:linear-gradient(45deg,transparent 50%,var(--color-primary-hover) 50%),linear-gradient(135deg,var(--color-primary-hover) 50%,transparent 50%)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-10);background:var(--surface-card)}table{border-collapse:collapse;width:100%}th,td{padding:12px;text-align:center;border-bottom:1px solid var(--line)}th{background-color:var(--surface-sunken);font-weight:600;font-size:14px}tr:hover{background-color:var(--surface-sunken)}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0;vertical-align:middle}.status-badge{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-width:160px!important;text-transform:capitalize;letter-spacing:.05em;color:var(--text-on-brand)!important;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.status-badge.compact{min-width:auto;padding:4px 10px;margin-left:12px;vertical-align:middle;font-size:10px;text-transform:none;font-weight:600;line-height:1.4}.status-pending{background:linear-gradient(135deg,#ffab00,#ffc400);border:none;box-shadow:0 4px 12px #ffab0033}.status-applied{background:linear-gradient(135deg,#7c3ed1,#a76dfc);border:none;box-shadow:0 4px 12px #7c3ed133}.status-approved{background:linear-gradient(135deg,#00c853,#00e676);border:none;box-shadow:0 4px 12px #00c85333}.status-rejected{background:linear-gradient(135deg,#ff5252,#ff8080);border:none;box-shadow:0 4px 12px #ff525233}.status-partial,.status-partially-approved{background:linear-gradient(135deg,#ff8c00,#ffab00);border:none;box-shadow:0 4px 12px #ff8c0033}.status-active{background:linear-gradient(135deg,#4caf50,#81c784);border:none;box-shadow:0 4px 12px #4caf5033}.status-on-notice{background:linear-gradient(135deg,#ff9800,#ffb74d);border:none;box-shadow:0 4px 12px #ff980033}.status-on-leave{background:linear-gradient(135deg,#2196f3,#64b5f6);border:none;box-shadow:0 4px 12px #2196f333}.status-inactive,.status-resigned,.status-terminated{background:linear-gradient(135deg,#f44336,#ff8080);border:none;box-shadow:0 4px 12px #f4433633}.action-btn{width:32px;height:32px;border-radius:var(--radius-md);border:none;cursor:pointer;font-size:14px;display:flex!important;align-items:center;justify-content:center;transition:all .2s ease;color:var(--text-on-brand)!important}.action-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn.view-btn,.action-btn.edit-btn{background:linear-gradient(135deg,#7c3ed1,#a76dfc);box-shadow:0 4px 12px #7c3ed140}.action-btn.delete-btn{background:linear-gradient(135deg,#ff5252,#ff8080);box-shadow:0 4px 12px #ff525240}.action-btn.add-leaves-btn{background:linear-gradient(135deg,#00c853,#00e676);box-shadow:0 4px 12px #00c85340}.status-badge:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 4px 12px #00000026}th,td{font-family:var(--font-sans)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.status-badge{min-width:90px!important;font-size:10px;padding:4px 8px}th,td{padding:8px 10px;font-size:13px}input,select,textarea{font-size:16px!important}}button:disabled{background:var(--surface-sunken)!important;color:var(--text-subtle)!important;border:1px solid var(--line-strong)!important;opacity:1!important;cursor:not-allowed;box-shadow:none!important;transform:none!important}.ui-page{display:flex;flex-direction:column;gap:var(--s-4);width:100%;max-width:var(--page-max);margin:0 auto}@media (min-width: 900px){.ui-page{gap:var(--s-5)}}.ui-page-head{display:flex;flex-direction:column;gap:var(--s-3)}@media (min-width: 720px){.ui-page-head{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--s-4)}}.ui-page-head__main{display:flex;align-items:flex-start;gap:var(--s-3);min-width:0}.ui-page-head__icon{display:none;flex:0 0 auto;width:44px;height:44px;border-radius:var(--r-md);background:var(--violet-50);color:var(--violet-600);align-items:center;justify-content:center}@media (min-width: 640px){.ui-page-head__icon{display:flex}}.ui-page-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.2;margin:0}@media (min-width: 900px){.ui-page-title{font-size:var(--fs-3xl)}}.ui-page-sub{margin:2px 0 0;font-size:var(--fs-md);color:var(--text-muted);line-height:1.45}.ui-page-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.ui-crumbs{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-base);color:var(--text-muted);flex-wrap:wrap}.ui-crumbs a{color:var(--text-muted);text-decoration:none}.ui-crumbs a:hover{color:var(--text-brand)}.ui-crumbs__sep{color:var(--text-subtle);display:inline-flex}.ui-crumbs__current{color:var(--text-strong);font-weight:500}.ui-grid{display:grid;gap:var(--s-3);grid-template-columns:1fr}@media (min-width: 640px){.ui-grid{gap:var(--s-4)}}.ui-grid--2,.ui-grid--3{grid-template-columns:1fr}.ui-grid--4,.ui-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 640px){.ui-grid--2,.ui-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.ui-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1100px){.ui-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}}.ui-split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4);align-items:start}@media (min-width: 1200px){.ui-split{grid-template-columns:minmax(0,1fr) 380px}.ui-split--wide-rail{grid-template-columns:minmax(0,1fr) 440px}.ui-split--even{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-split--rail-left{grid-template-columns:264px minmax(0,1fr)}}.ui-card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);overflow:hidden}.ui-card--flat{box-shadow:none}.ui-card--pad{padding:var(--s-4)}@media (min-width: 640px){.ui-card--pad{padding:var(--s-5)}}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--line-subtle);flex-wrap:wrap}@media (min-width: 640px){.ui-card__head{padding:var(--s-5) var(--s-5) var(--s-4)}}.ui-card__head--plain{border-bottom:none;padding-bottom:0}.ui-card__title{font-size:var(--fs-lg);font-weight:650;color:var(--text-strong);letter-spacing:-.01em;margin:0;display:flex;align-items:center;gap:var(--s-2)}.ui-card__sub{margin:2px 0 0;font-size:var(--fs-base);color:var(--text-muted)}.ui-card__body{padding:var(--s-4)}@media (min-width: 640px){.ui-card__body{padding:var(--s-5)}}.ui-card__body--tight{padding:var(--s-3) var(--s-4)}.ui-card__body--flush{padding:0}.ui-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line-subtle);flex-wrap:wrap}.ui-stat{display:flex;flex-direction:column;padding:var(--s-4);background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);min-width:0}.ui-stat__top{display:flex;align-items:flex-start;gap:var(--s-3)}.ui-stat--link{cursor:pointer}.ui-stat--link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-stat__icon{flex:0 0 auto;align-self:flex-start;width:38px;height:38px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center}@media (min-width: 640px){.ui-stat{padding:var(--s-5)}.ui-stat__top{gap:var(--s-4)}.ui-stat__icon{width:44px;height:44px}}.ui-stat__main{min-width:0;flex:1;display:flex;flex-direction:column}.ui-stat__label{font-size:var(--fs-base);color:var(--text-muted);font-weight:500;line-height:1.3}@media (min-width: 640px){.ui-stat__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 639px){.ui-stat{padding:var(--s-3)}.ui-stat__top{gap:var(--s-3)}.ui-stat__icon{width:32px;height:32px}.ui-stat__number{font-size:21px}.ui-stat__foot{padding-top:var(--s-2)}.ui-stat__top:has(+.ui-stat__foot){margin-bottom:var(--s-2)}}.ui-stat__value{display:flex;align-items:baseline;gap:var(--s-2);margin-top:2px}.ui-stat__number{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.15}@media (min-width: 640px){.ui-stat__number{font-size:28px}}.ui-stat__unit{font-size:var(--fs-md);color:var(--text-muted);font-weight:500}.ui-stat__hint{margin-top:2px;font-size:var(--fs-sm);color:var(--text-subtle)}.ui-stat__foot{margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--line-subtle)}.ui-stat__top:has(+.ui-stat__foot){margin-bottom:var(--s-3)}.ui-chip-icon{display:flex;align-items:center;justify-content:center}.ui-tint-violet{background:var(--violet-50);color:var(--violet-600)}.ui-tint-green{background:var(--green-50);color:var(--green-600)}.ui-tint-amber{background:var(--amber-50);color:var(--amber-600)}.ui-tint-red{background:var(--red-50);color:var(--red-600)}.ui-tint-blue{background:var(--blue-50);color:var(--blue-600)}.ui-tint-gray{background:var(--gray-100);color:var(--gray-600)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:38px;padding:0 var(--s-4);border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:550;line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);text-decoration:none}.ui-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--violet-600);color:var(--text-on-brand);box-shadow:var(--shadow-xs)}.ui-btn--primary:hover:not(:disabled){background:var(--violet-700)}.ui-btn--secondary{background:var(--surface-card);color:var(--text-body);border-color:var(--line-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.ui-btn--outline{background:var(--surface-card);color:var(--violet-600);border-color:var(--violet-200)}.ui-btn--outline:hover:not(:disabled){background:var(--violet-50);border-color:var(--violet-300)}.ui-btn--ghost{background:transparent;color:var(--text-body)}.ui-btn--ghost:hover:not(:disabled){background:var(--gray-100)}.ui-btn--danger{background:var(--red-600);color:var(--text-on-brand)}.ui-btn--danger:hover:not(:disabled){background:var(--red-700)}.ui-btn--danger-soft{background:var(--surface-card);color:var(--red-600);border-color:var(--red-100)}.ui-btn--danger-soft:hover:not(:disabled){background:var(--red-50)}.ui-btn--success-soft{background:var(--surface-card);color:var(--green-600);border-color:var(--green-100)}.ui-btn--success-soft:hover:not(:disabled){background:var(--green-50)}.ui-btn--sm{height:32px;padding:0 var(--s-3);font-size:var(--fs-base)}.ui-btn--lg{height:44px;padding:0 var(--s-5);font-size:var(--fs-lg)}.ui-btn--block{width:100%}.ui-btn--icon{width:34px;height:34px;padding:0;border-radius:var(--r-sm);background:var(--surface-card);border-color:var(--line);color:var(--text-muted)}.ui-btn--icon:hover:not(:disabled){color:var(--violet-600);border-color:var(--violet-200);background:var(--violet-50)}.ui-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:550;color:var(--violet-600);cursor:pointer;text-decoration:none}.ui-link:hover{color:var(--violet-700);text-decoration:underline}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-label{font-size:var(--fs-base);font-weight:550;color:var(--text-body)}.ui-label__req{color:var(--red-600);margin-left:2px}.ui-input,.ui-select,.ui-textarea{width:100%;height:38px;padding:0 var(--s-3);font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-strong);background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-textarea{height:auto;min-height:84px;padding:var(--s-3);resize:vertical;line-height:1.5}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-subtle)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{outline:none;border-color:var(--violet-400);box-shadow:var(--shadow-focus)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--gray-100);color:var(--text-muted);cursor:not-allowed}.ui-select{padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c7c8e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;display:flex;align-items:center;text-align:left}.ui-select--btn{padding-right:var(--s-2);background-image:none;gap:var(--s-2)}.ui-select--open{border-color:var(--violet-400);box-shadow:var(--shadow-focus)}.ui-select__value{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__value--empty{color:var(--text-subtle)}.ui-select__caret{flex:0 0 15px;width:15px;color:var(--text-subtle)}.ui-select-pop{z-index:1200;background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-lg, 0 10px 30px rgba(15, 15, 30, .16));overflow:hidden}.ui-select-pop__search{display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);border-bottom:1px solid var(--line-soft, var(--line-strong));color:var(--text-subtle)}.ui-select-pop__search>svg{flex:0 0 14px;width:14px}.ui-select-pop__search input{flex:1;height:34px;border:0;outline:none;background:transparent;font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-strong)}.ui-select-pop__list{max-height:260px;overflow-y:auto;padding:4px}.ui-select-pop__opt{padding:7px var(--s-3);border-radius:var(--r-xs, 4px);font-size:var(--fs-md);color:var(--text-body);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-pop__opt.is-active{background:var(--gray-100)}.ui-select-pop__opt.is-selected{color:var(--violet-600);font-weight:600}.ui-select-pop__opt.is-selected.is-active{background:var(--violet-500);color:#fff}.ui-select-pop__opt.is-disabled{color:var(--text-subtle);cursor:not-allowed}.ui-select-pop__empty{padding:10px var(--s-3);font-size:var(--fs-md);color:var(--text-subtle)}.ui-select-pop__check{display:flex;align-items:center;gap:var(--s-2);white-space:normal}.ui-select-pop__check input{accent-color:var(--violet-500);flex:0 0 auto;margin:0}.ui-colfilter{display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.ui-colfilter:hover{color:var(--text-body)}.ui-colfilter.is-active{color:var(--violet-600)}.ui-colfilter__count{min-width:16px;padding:0 4px;border-radius:8px;background:var(--violet-500);color:#fff;font-size:10px;line-height:16px;text-align:center}.ui-input-icon{position:relative;display:flex;align-items:center;min-width:0}.ui-input-icon>svg{position:absolute;left:11px;color:var(--text-subtle);pointer-events:none}.ui-input-icon .ui-input{padding-left:34px}.ui-field__error{font-size:var(--fs-sm);color:var(--red-600)}.ui-field__hint{font-size:var(--fs-sm);color:var(--text-muted)}.ui-filters{display:grid;grid-template-columns:1fr;gap:var(--s-2);padding:var(--s-4);border-bottom:1px solid var(--line-subtle)}@media (min-width: 640px){.ui-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-3);padding:var(--s-4) var(--s-5)}.ui-filters__search{grid-column:span 2}}.ui-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-xs);font-size:var(--fs-sm);font-weight:600;line-height:1.5;white-space:nowrap}.ui-badge--green{background:var(--green-100);color:var(--green-700)}.ui-badge--amber{background:var(--amber-100);color:var(--amber-700)}.ui-badge--red{background:var(--red-100);color:var(--red-700)}.ui-badge--blue{background:var(--blue-100);color:var(--blue-700)}.ui-badge--violet{background:var(--violet-100);color:var(--violet-700)}.ui-badge--gray{background:var(--gray-200);color:var(--gray-700)}.ui-badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ui-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-full);background:var(--violet-50);color:var(--violet-700);font-size:var(--fs-base);font-weight:500}.ui-tabs{display:flex;align-items:center;gap:var(--s-1);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{display:inline-flex;align-items:center;gap:7px;padding:var(--s-3) var(--s-3);background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:550;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}@media (min-width: 640px){.ui-tab{padding:var(--s-3) var(--s-4)}}.ui-tab:hover{color:var(--text-body)}.ui-tab--active{color:var(--violet-600);border-bottom-color:var(--violet-600)}.ui-tab__count{font-size:var(--fs-sm);color:inherit;opacity:.8}.ui-segment{display:inline-flex;padding:3px;background:var(--gray-100);border-radius:var(--r-sm);gap:2px}.ui-segment__item{padding:6px var(--s-3);border:none;background:transparent;border-radius:var(--r-xs);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:550;color:var(--text-muted);cursor:pointer;white-space:nowrap}.ui-segment__item--active{background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-xs)}.ui-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ui-table{width:100%;border-collapse:collapse;font-size:var(--fs-md);min-width:540px}.ui-table thead th{padding:var(--s-3) var(--s-4);text-align:left;font-size:var(--fs-base);font-weight:600;color:var(--text-muted);background:var(--gray-50);border-bottom:1px solid var(--line);white-space:nowrap}.ui-table tbody td{padding:var(--s-4);border-bottom:1px solid var(--line-subtle);color:var(--text-body);vertical-align:middle;text-align:left}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr{transition:background var(--dur-fast) var(--ease)}.ui-table tbody tr:hover{background:var(--gray-25)}.ui-table tbody tr.is-selected{background:var(--violet-50)}.ui-table__primary{font-weight:600;color:var(--text-strong)}.ui-table__secondary{font-size:var(--fs-base);color:var(--text-muted);margin-top:2px}.ui-table__actions{display:flex;align-items:center;gap:var(--s-2);justify-content:flex-end}.ui-table th.is-right,.ui-table td.is-right{text-align:right}.ui-table th.is-center,.ui-table td.is-center{text-align:center}@media (max-width: 767px){.ui-table--stack{min-width:0}.ui-table--stack thead{display:none}.ui-table--stack tbody tr{display:block;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-subtle)}.ui-table--stack tbody tr:last-child{border-bottom:none}.ui-table--stack tbody td{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:5px 0;border:none;text-align:right}.ui-table--stack tbody td:before{content:attr(data-label);flex:0 0 auto;font-size:var(--fs-base);font-weight:550;color:var(--text-muted);text-align:left}.ui-table--stack tbody td[data-label=""]:before{content:none}.ui-table--stack tbody td{flex-wrap:wrap}.ui-table--stack tbody td .ui-table__secondary{flex:1 0 100%;text-align:right;margin-top:0}.ui-table--stack tbody td:first-child{padding-top:0;padding-bottom:var(--s-2);font-weight:600;color:var(--text-strong);text-align:left;justify-content:flex-start}.ui-table--stack tbody td:first-child:before{content:none}.ui-table--stack .ui-table__actions{justify-content:flex-end}}.ui-list{display:flex;flex-direction:column}.ui-list__row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-subtle);transition:background var(--dur-fast) var(--ease);min-width:0}@media (min-width: 640px){.ui-list__row{padding:var(--s-4) var(--s-5)}}.ui-list__row:last-child{border-bottom:none}a.ui-list__row,a.ui-list__row:hover{text-decoration:none;color:inherit}.ui-list__row--link{cursor:pointer}.ui-list__row--link:hover{background:var(--gray-25)}.ui-list__main{flex:1;min-width:0}.ui-list__title{display:block;font-size:var(--fs-md);font-weight:600;color:var(--text-strong);line-height:1.4}.ui-list__meta{display:block;font-size:var(--fs-base);color:var(--text-muted);margin-top:2px;line-height:1.45}.ui-list__side{flex:0 0 auto;display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-base);color:var(--text-muted)}.ui-defs{display:flex;flex-direction:column}.ui-def{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line-subtle);font-size:var(--fs-md)}.ui-def:last-child{border-bottom:none}.ui-def__label{display:flex;align-items:center;gap:var(--s-2);color:var(--text-muted);flex:0 0 auto}.ui-def__label svg{color:var(--text-subtle);flex:0 0 auto}.ui-def__value{color:var(--text-strong);font-weight:500;text-align:right;min-width:0;word-break:break-word}.ui-def--stack{flex-direction:column;gap:var(--s-1)}.ui-def--stack .ui-def__value{text-align:left;font-weight:400;line-height:1.55}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--violet-100);color:var(--violet-700);font-size:var(--fs-sm);font-weight:650;overflow:hidden;object-fit:cover;text-transform:uppercase;-webkit-user-select:none;user-select:none}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-avatar--sm{width:26px;height:26px;font-size:var(--fs-xs)}.ui-avatar--lg{width:44px;height:44px;font-size:var(--fs-md)}.ui-avatar--xl{width:96px;height:96px;font-size:var(--fs-2xl)}.ui-person{display:flex;align-items:center;gap:var(--s-2);min-width:0}.ui-person__name{font-weight:550;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-person__role{font-size:var(--fs-sm);color:var(--text-muted)}.ui-avatar-stack{display:flex;align-items:center}.ui-avatar-stack .ui-avatar{border:2px solid var(--surface-card);margin-left:-8px}.ui-avatar-stack .ui-avatar:first-child{margin-left:0}.ui-progress{width:100%;height:6px;border-radius:var(--r-full);background:var(--gray-200);overflow:hidden}.ui-progress__bar{height:100%;border-radius:var(--r-full);background:var(--violet-600);transition:width var(--dur) var(--ease)}.ui-progress__bar--green{background:var(--green-600)}.ui-progress__bar--amber{background:var(--amber-600)}.ui-progress__bar--blue{background:var(--blue-600)}.ui-progress__bar--red{background:var(--red-600)}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-10) var(--s-5);text-align:center}.ui-empty__icon{width:48px;height:48px;border-radius:var(--r-lg);background:var(--gray-100);color:var(--text-subtle);display:flex;align-items:center;justify-content:center}.ui-empty__title{font-size:var(--fs-lg);font-weight:600;color:var(--text-strong)}.ui-empty__text{font-size:var(--fs-md);color:var(--text-muted);max-width:380px;line-height:1.55}.ui-skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 37%,var(--gray-100) 63%);background-size:400% 100%;animation:ui-shimmer 1.3s ease-in-out infinite;border-radius:var(--r-xs)}@keyframes ui-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ui-spinner{width:18px;height:18px;border:2px solid var(--violet-200);border-top-color:var(--violet-600);border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-notice{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-md);line-height:1.5}.ui-notice svg{flex:0 0 auto;margin-top:1px}.ui-notice--info{background:var(--violet-50);color:var(--violet-800)}.ui-notice--green{background:var(--green-50);color:var(--green-700)}.ui-notice--amber{background:var(--amber-50);color:var(--amber-700)}.ui-notice--red{background:var(--red-50);color:var(--red-700)}.ui-notice--gray{background:var(--gray-100);color:var(--text-body)}.ui-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line-subtle);flex-wrap:wrap}@media (min-width: 640px){.ui-pager{padding:var(--s-3) var(--s-5)}}.ui-pager__count{font-size:var(--fs-base);color:var(--text-muted)}.ui-pager__controls{display:flex;align-items:center;gap:var(--s-1)}.ui-pager__btn{min-width:32px;height:32px;padding:0 var(--s-2);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface-card);border-radius:var(--r-xs);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:550;color:var(--text-body);cursor:pointer}.ui-pager__btn:hover:not(:disabled){border-color:var(--violet-300);color:var(--violet-600)}.ui-pager__btn:disabled{opacity:.4;cursor:not-allowed}.ui-pager__btn--active{background:var(--violet-600);border-color:var(--violet-600);color:var(--text-on-brand)}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12131a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:var(--z-modal);animation:ui-fade var(--dur) var(--ease)}@media (min-width: 640px){.ui-modal-overlay{align-items:center;padding:var(--s-5)}}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}.ui-modal{width:100%;max-height:92vh;background:var(--surface-card);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ui-slide-up var(--dur) var(--ease)}@media (min-width: 640px){.ui-modal{max-width:560px;border-radius:var(--r-xl);max-height:88vh}.ui-modal--lg{max-width:760px}.ui-modal--xl{max-width:980px}}@keyframes ui-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.ui-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-5);border-bottom:1px solid var(--line-subtle)}.ui-modal__title{font-size:var(--fs-xl);font-weight:650;color:var(--text-strong);letter-spacing:-.01em}.ui-modal__sub{margin-top:2px;font-size:var(--fs-base);color:var(--text-muted)}.ui-modal__body{padding:var(--s-5);overflow-y:auto;flex:1}.ui-modal__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-subtle);background:var(--gray-25)}.ui-modal__foot .ui-btn{flex:1}@media (min-width: 640px){.ui-modal__foot .ui-btn{flex:0 0 auto}}.ui-stack{display:flex;flex-direction:column;gap:var(--s-3)}.ui-stack--sm{gap:var(--s-2)}.ui-stack--lg{gap:var(--s-5)}.ui-row{display:flex;align-items:center;gap:var(--s-3)}.ui-row--wrap{flex-wrap:wrap}.ui-row--between{justify-content:space-between}.ui-row--end{justify-content:flex-end}.ui-spacer{flex:1}.ui-truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-muted{color:var(--text-muted)}.ui-note{margin:calc(var(--s-2) * -1) 0 0;font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.ui-subtle{color:var(--text-subtle)}.ui-strong{color:var(--text-strong);font-weight:600}.ui-text-sm{font-size:var(--fs-base)}.ui-text-xs{font-size:var(--fs-sm)}.ui-mono{font-family:var(--font-mono);font-size:var(--fs-base);white-space:nowrap}.ui-hide-sm{display:none}@media (min-width: 640px){.ui-hide-sm{display:revert}.ui-only-sm{display:none}}.ui-section-label{font-size:var(--fs-sm);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.ui-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.ui-scroll::-webkit-scrollbar{width:8px;height:8px}.ui-scroll::-webkit-scrollbar-track{background:transparent}.ui-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--r-full)}.ui-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.bug-autolog{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:5px;width:24px;height:24px;flex:0 0 auto;border-radius:var(--r-full);color:var(--violet-600);background:var(--violet-50);border:1px solid var(--violet-200)}.bug-id-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.bug-id-cell .bug-autolog{margin-left:0}.ui-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12131a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:var(--z-modal);animation:ui-fade var(--dur) var(--ease)}.ui-drawer{width:100%;max-width:var(--drawer-w, 440px);height:100%;background:var(--surface-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ui-slide-in var(--dur) var(--ease)}@keyframes ui-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.ui-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-5);border-bottom:1px solid var(--line-subtle);flex:0 0 auto}.ui-drawer__title{font-size:var(--fs-xl);font-weight:650;color:var(--text-strong);letter-spacing:-.01em}.ui-drawer__sub{margin-top:2px;font-size:var(--fs-base);color:var(--text-muted)}.ui-drawer__body{padding:var(--s-5);overflow-y:auto;flex:1}.ui-drawer__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-subtle);background:var(--gray-25);flex:0 0 auto}@media (max-width: 599px){.ui-drawer__foot .ui-btn{flex:1}}.ui-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--line-subtle);flex-wrap:wrap}@media (min-width: 640px){.ui-toolbar{padding:var(--s-4) var(--s-5)}}.ui-toolbar__fields{display:grid;grid-template-columns:1fr;gap:var(--s-3);flex:1 1 320px;min-width:0;align-items:end}.ui-toolbar__fields>*:not(.ui-field){align-self:stretch}.ui-toolbar__fields>.ui-input-icon>.ui-input{height:100%}.ui-toolbar__fields>.ui-field{gap:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-card);padding:5px var(--s-3) 4px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.ui-toolbar__fields>.ui-field:focus-within{border-color:var(--violet-400);box-shadow:0 0 0 3px var(--violet-100)}.ui-toolbar__fields>.ui-field>.ui-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-muted)}.ui-toolbar__fields>.ui-field>.ui-select,.ui-toolbar__fields>.ui-field>.ui-input{height:24px;min-height:0;padding-left:0;padding-right:20px;border:none;background-color:transparent;background-position:right center;font-weight:550}.ui-toolbar__fields>.ui-field>.ui-select:focus,.ui-toolbar__fields>.ui-field>.ui-input:focus{box-shadow:none;outline:none}@media (min-width: 640px){.ui-toolbar__fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.ui-toolbar__actions{display:flex;align-items:center;gap:var(--s-2);flex:0 0 auto}@media (max-width: 639px){.ui-toolbar__actions{width:100%}.ui-toolbar__actions .ui-btn{flex:1}}.ui-timeline{list-style:none;margin:0;padding:0}.ui-timeline__item{position:relative;display:flex;gap:var(--s-4);padding-bottom:var(--s-4)}.ui-timeline__item:last-child{padding-bottom:0}.ui-timeline__item:not(:last-child):before{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:1px;border-left:1px dashed var(--line-strong)}.ui-timeline__dot{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.ui-timeline__body{flex:1;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-card);flex-wrap:wrap}.ui-timeline__main{min-width:160px;flex:1 1 200px}.ui-timeline__title{font-size:var(--fs-md);font-weight:600;color:var(--text-strong)}.ui-timeline__meta{margin-top:2px;font-size:var(--fs-base);color:var(--text-muted)}.ui-timeline__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s-4);flex:2 1 320px}.ui-timeline__col-label{font-size:var(--fs-base);color:var(--text-muted)}.ui-timeline__col-value{margin-top:3px;font-size:var(--fs-md);font-weight:550;color:var(--text-strong)}.ui-donut{position:relative;flex:0 0 auto}.ui-donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.ui-donut__value{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.1}.ui-donut__label{margin-top:2px;font-size:var(--fs-base);color:var(--text-muted)}.ui-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.ui-legend__item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-md);min-width:0}.ui-legend__dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.ui-legend__label{color:var(--text-body);flex:1 1 auto;min-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-legend__value{font-weight:650;color:var(--text-strong);flex:0 0 auto}.ui-legend__hint{font-size:var(--fs-base);color:var(--text-muted);flex:0 0 auto}.ui-tile{display:flex;flex-direction:column;padding:var(--s-4);background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);min-width:0}.ui-tile--link{cursor:pointer}.ui-tile--link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (min-width: 640px){.ui-tile{padding:var(--s-5)}}.ui-tile__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.ui-tile__label{font-size:var(--fs-md);font-weight:550;color:var(--text-body);line-height:1.35;min-width:0}.ui-tile__icon{flex:0 0 auto;width:28px;height:28px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center}.ui-tile__value{margin-top:var(--s-3);font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.1}@media (max-width: 639px){.ui-tile__value{font-size:22px}}.ui-tile__hint{margin-top:4px;font-size:var(--fs-base);color:var(--text-muted)}.ui-page--panel{max-width:100%}.ui-panel{width:100%;max-width:760px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ui-panel--sm{max-width:520px}.ui-panel--lg{max-width:1080px}.ui-panel--danger{border-color:var(--red-100)}.ui-panel__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-subtle);background:var(--surface-sunken)}@media (max-width: 599px){.ui-panel__foot{flex-direction:column-reverse}.ui-panel__foot .ui-btn,.ui-panel__foot>a{width:100%;justify-content:center}}.confirm-page .ui-panel{margin-top:0}input[class*=search i],input[type=search]{min-height:38px;font-size:var(--fs-md)}[class*=search i]>input[type=text],[class*=search i]>input:not([type]){font-size:var(--fs-md)}
