.toast-container{position:fixed;top:calc(env(safe-area-inset-top,0px) + 70px);right:max(env(safe-area-inset-right,0px),16px);z-index:1080;display:flex;flex-direction:column;align-items:flex-end;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:100%;padding:13px 14px;border-radius:var(--radius-lg, 12px);box-shadow:0 10px 30px -8px #00000047,0 2px 8px -2px #0000001f;background:var(--bg-elevated, #fff);border:1px solid var(--border-primary, #e5e7eb);border-left:3px solid var(--border-primary, #e5e7eb);color:var(--text-primary, #111);animation:toast-in .26s cubic-bezier(.21,1.02,.73,1);will-change:transform,opacity}.toast-success{border-left-color:var(--success, #10b981);background:var(--success-bg, #ecfdf5)}.toast-error{border-left-color:var(--danger, #ef4444);background:var(--error-bg, #fef2f2)}.toast-warning{border-left-color:var(--warning, #f59e0b);background:var(--warning-bg, #fffbeb)}.toast-info{border-left-color:var(--info, #3b82f6);background:var(--info-bg, #eff6ff)}.toast__icon{flex-shrink:0;margin-top:1px}.toast-success .toast__icon{color:var(--success, #10b981)}.toast-error .toast__icon{color:var(--danger, #ef4444)}.toast-warning .toast__icon{color:var(--warning, #f59e0b)}.toast-info .toast__icon{color:var(--info, #3b82f6)}.toast__content{flex:1;min-width:0;font-size:.875rem;font-weight:500;line-height:1.45;color:var(--text-primary, #111);overflow-wrap:anywhere;word-break:break-word}.toast__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -2px 0 0;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--text-tertiary, #9ca3af);transition:background .14s ease,color .14s ease}.toast__close:hover{background:#0000000f;color:var(--text-primary, #111)}:root.dark .toast__close:hover{background:#ffffff1f}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.toast-container{top:calc(env(safe-area-inset-top,0px) + 10px);left:max(env(safe-area-inset-left,0px),10px);right:max(env(safe-area-inset-right,0px),10px);width:auto;align-items:stretch}.toast{padding:12px 13px;border-radius:var(--radius-md, 10px)}.toast__content{font-size:.9rem}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion: reduce){.toast{animation-duration:.01ms}}:root.no-animations .toast{animation:none}.branded-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:var(--splash-bg, #ffffff);color:var(--splash-fg, #111111)}.branded-splash__logo{width:96px;height:96px;display:block}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-md, 16px);margin-bottom:var(--space-md, 16px)}@media (max-width: 480px){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm, 10px)}}.kpi-hide-wrap{position:relative;min-width:0}.kpi-hide-wrap>.stat-card{width:100%;height:100%}.kpi-hide-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;opacity:0;pointer-events:none;transform:scale(.92);transition:opacity .14s ease,transform .14s ease,border-color .14s ease,color .14s ease,background .14s ease;z-index:3}.kpi-hide-wrap:hover .kpi-hide-btn,.kpi-hide-wrap:focus-within .kpi-hide-btn{opacity:1;pointer-events:auto;transform:scale(1)}.kpi-hide-btn:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border-primary));background:color-mix(in srgb,var(--danger) 6%,var(--bg-elevated))}.kpi-restore{position:relative}.kpi-restore__tile{width:100%;min-height:100%;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:8px;padding:14px;background:transparent;border:1.5px dashed var(--border-primary);border-radius:12px;color:var(--text-tertiary);font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,border-style .14s ease}.kpi-restore__tile:hover{border-color:var(--primary);color:var(--text-primary);background:color-mix(in srgb,var(--primary) 5%,transparent);border-style:solid}.kpi-restore__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--primary);color:var(--bg-primary);border-radius:999px;font-size:11px;font-weight:700}.kpi-restore__label{font-size:12px}.kpi-restore__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:220px;max-width:280px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 14px 32px -10px #00000040,0 4px 8px #0000000a;animation:kpi-restore-pop .18s cubic-bezier(.22,1,.36,1)}@keyframes kpi-restore-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.kpi-restore__head{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 6px;border-bottom:1px solid var(--border-primary);margin-bottom:4px}.kpi-restore__head-title{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.kpi-restore__all{background:none;border:none;color:var(--primary);font-size:11px;font-weight:700;cursor:pointer;padding:2px 4px;border-radius:4px}.kpi-restore__all:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.kpi-restore__list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto}.kpi-restore__item{display:inline-flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease;text-align:left}.kpi-restore__item:hover{background:var(--bg-tertiary)}.kpi-restore__item svg{color:var(--text-tertiary);flex-shrink:0}.row-menu{position:relative;display:inline-flex}.row-menu__trigger{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .14s ease}.row-menu__trigger:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-color, var(--primary))}.row-menu__trigger[aria-expanded=true]{background:var(--accent-color, var(--primary));color:var(--bg-primary);border-color:var(--accent-color, var(--primary))}.row-menu__panel{z-index:1000;min-width:200px;max-width:min(280px,calc(100vw - 16px));display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:9px;box-shadow:0 12px 28px -8px #00000038;animation:row-menu-pop .14s cubic-bezier(.22,1,.36,1)}@keyframes row-menu-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.row-menu__item{display:inline-flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.01em;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.row-menu__item:hover:not(:disabled){background:var(--bg-secondary)}.row-menu__item:disabled{opacity:.45;cursor:not-allowed}.row-menu__item--danger{color:var(--danger, #ef4444)}.row-menu__item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger, #ef4444) 12%,transparent)}.row-menu__item svg{flex-shrink:0;opacity:.85}@media (prefers-reduced-motion: reduce){.row-menu__trigger,.row-menu__item,.row-menu__panel{transition:none!important;animation:none!important}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scrollbar-gutter:stable}button{font-family:inherit;cursor:pointer}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.18);border:2px solid transparent;border-radius:8px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.35);background-clip:padding-box}*{scrollbar-color:rgba(var(--primary-rgb),.25) transparent}img{max-width:100%;height:auto;display:block}input,textarea,select{font-family:inherit;font-size:100%}:root{--primary: #000000;--primary-hover: #1a1a1a;--primary-dark: #000000;--primary-light: rgba(0, 0, 0, .05);--primary-focus: rgba(0, 0, 0, .2);--primary-alpha: rgba(0, 0, 0, .1);--accent-color: #000000;--primary-rgb: 0, 0, 0;--bg-hover: rgba(0, 0, 0, .04);--bg-warning: var(--warning-bg);--text-warning: var(--warning-dark);--bg-danger: var(--error-bg);--text-danger: var(--error-dark);--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--success: #10b981;--success-dark: #059669;--success-bg: #ecfdf5;--success-light: rgba(16, 185, 129, .1);--error: #ef4444;--error-dark: #dc2626;--error-bg: #fef2f2;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: rgba(239, 68, 68, .1);--warning: #f59e0b;--warning-dark: #d97706;--warning-bg: #fffbeb;--warning-light: rgba(251, 191, 36, .1);--info: #3b82f6;--info-dark: #2563eb;--info-bg: #eff6ff;--info-light: rgba(59, 130, 246, .1);--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f6;--bg-elevated: #ffffff;--bg-veryless: #f3f4f669;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #a3a3a3;--text-disabled: #d4d4d4;--border-primary: #e5e5e5;--border-secondary: #d4d4d4;--border-focus: #000000;--border-color: #e5e5e5;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--sidebar-width: 240px;--sidebar-collapsed: 64px;--header-height: 64px;--max-content-width: 1400px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", "Courier New", monospace;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-sticky-table-header: 12;--z-sticky-table-corner: 14;--z-sticky-filters: 11;--z-sticky-cell: 9;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--font-scale: 1;--font-size-xs: calc(.75rem * var(--font-scale, 1));--font-size-sm: calc(.8125rem * var(--font-scale, 1));--font-size-base: calc(.875rem * var(--font-scale, 1));--font-size-md: calc(1rem * var(--font-scale, 1));--font-size-lg: calc(1.125rem * var(--font-scale, 1));--font-size-xl: calc(1.25rem * var(--font-scale, 1));--font-size-2xl: calc(1.5rem * var(--font-scale, 1));--color-primary: var(--accent-color, var(--primary));--color-success: var(--success);--color-danger: var(--danger);--color-warning: var(--warning);--color-info: var(--info)}.dark,[data-theme=dark]{--primary: #ffffff;--primary-hover: #e5e5e5;--primary-dark: #ffffff;--primary-light: rgba(255, 255, 255, .1);--primary-focus: rgba(255, 255, 255, .2);--primary-alpha: rgba(255, 255, 255, .1);--primary-rgb: 255, 255, 255;--bg-hover: rgba(255, 255, 255, .06);--accent-color: #ffffff;--gray-50: #171717;--gray-100: #262626;--gray-200: #404040;--gray-300: #525252;--gray-400: #737373;--gray-500: #a3a3a3;--gray-600: #d4d4d4;--gray-700: #e5e5e5;--gray-800: #f5f5f5;--gray-900: #fafafa;--success-bg: rgba(16, 185, 129, .15);--success-light: rgba(16, 185, 129, .15);--error-bg: #7f1d1d;--warning-bg: #78350f;--warning-light: rgba(251, 191, 36, .15);--danger-light: rgba(239, 68, 68, .15);--info-bg: #1e3a8a;--info-light: rgba(59, 130, 246, .15);--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #141414;--bg-elevated: #1a1a1a;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #737373;--text-disabled: #404040;--border-primary: #262626;--border-secondary: #404040;--border-focus: #ffffff;--border-color: #262626;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .7);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .8)}body{font-family:var(--font-sans);background:var(--bg-primary);background-image:var(--app-bg-image, none);background-size:var(--app-bg-size, cover);background-attachment:fixed;color:var(--text-primary);line-height:1.6;transition:background-color var(--transition-base),color var(--transition-base);min-height:100vh;overflow-x:hidden}body.modal-open{overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.spin{animation:spin 1s linear infinite}.loading-container,.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);gap:var(--space-md);color:var(--text-secondary)}.loading-page{min-height:400px}.loading-spinner-icon{color:var(--accent-color, var(--primary))}.loading-text{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}
