:root{--bg-primary: #0b1120;--bg-secondary: #151e32;--bg-card: rgba(21, 30, 50, .75);--bg-hover: #26334d;--bg-th: #111827;--bg-th-day: #0f172a;--bg-sticky-td: #151e32;--text-main: #f8fafc;--text-sub: #94a3b8;--text-muted: #64748b;--border-color: #233149;--border-light: #3b4d6d;--header-bg: rgba(15, 23, 42, .85);--modal-footer-bg: rgba(15, 23, 42, .6);--brand-title-end: #94a3b8;--accent-blue: #3b82f6;--accent-cyan: #06b6d4;--accent-emerald: #10b981;--accent-rose: #f43f5e;--accent-amber: #f59e0b;--font-family: "Inter", system-ui, -apple-system, sans-serif;--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .5), 0 8px 16px -6px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .85);--bg-hover: #f1f5f9;--bg-th: #f1f5f9;--bg-th-day: #e2e8f0;--bg-sticky-td: #ffffff;--text-main: #0f172a;--text-sub: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #cbd5e1;--header-bg: rgba(255, 255, 255, .88);--modal-footer-bg: #f8fafc;--brand-title-end: #334155;--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .08), 0 8px 16px -6px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:9999px;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background:#94a3b873}body{background-color:var(--bg-primary);background-image:radial-gradient(at 0% 0%,rgba(59,130,246,.08) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(6,182,212,.06) 0px,transparent 50%);background-attachment:fixed;color:var(--text-main);font-family:var(--font-family);min-height:100vh;overflow-x:hidden;line-height:1.5;transition:background-color .3s ease,color .3s ease}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-primary);transition:background-color .3s ease}.app-layout{display:flex;flex-direction:row;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-primary);transition:background-color .3s ease}.app-body-layout{display:flex;flex-direction:row;flex:1;height:calc(100vh - 52px);min-height:0;width:100vw;overflow:hidden;position:relative}.app-main-viewport{display:flex;flex-direction:column;flex:1;height:100%;min-width:0;overflow:hidden;position:relative}.app-sidebar{width:56px;height:100%;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:0 0 .85rem;z-index:900;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:width .24s cubic-bezier(.16,1,.3,1),background-color .3s ease,border-color .3s ease;overflow-y:auto;overflow-x:hidden}.app-sidebar.expanded{width:168px;align-items:stretch;padding:0 0 .85rem}.sidebar-brand-header{height:60px;min-height:60px;max-height:60px;display:flex;align-items:center;justify-content:center;width:100%;cursor:pointer;padding:0;transition:all .2s ease;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-color);box-sizing:border-box;flex-shrink:0}.sidebar-brand-header.expanded{justify-content:space-between;padding:0 .65rem}.sidebar-brand-left{display:flex;align-items:center;gap:.5rem;min-width:0}.sidebar-brand-toggle-btn{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--text-sub);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);transition:all .15s ease;flex-shrink:0}.sidebar-brand-header:hover .sidebar-brand-toggle-btn{color:var(--text-main);background:#ffffff1f;border-color:#ffffff2e;transform:scale(1.05)}.sidebar-brand-header:hover .sidebar-brand-icon{transform:scale(1.06);box-shadow:0 0 14px #06b6d499}.sidebar-brand-wrapper{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:.85rem;position:relative;transition:all .2s ease}.sidebar-brand-wrapper.expanded{justify-content:space-between;padding:0 .2rem}.sidebar-brand{display:flex;align-items:center;gap:.65rem;cursor:pointer;transition:transform .2s ease}.sidebar-brand:hover{transform:scale(1.05)}.sidebar-brand-icon{width:30px;height:30px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 10px #06b6d459;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease}.sidebar-brand-text{font-size:1.02rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.sidebar-collapse-toggle-btn{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-sub);cursor:pointer;transition:all .15s ease}.sidebar-collapse-toggle-btn:hover{background:#ffffff1f;color:var(--text-main);border-color:#fff3}.sidebar-section{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;padding:.65rem 0 0;box-sizing:border-box}.app-sidebar.expanded .sidebar-section{align-items:stretch;padding:.65rem .5rem 0}.sidebar-divider{width:28px;height:1px;background:var(--border-color);margin:.55rem 0;opacity:.6;transition:width .2s ease}.app-sidebar.expanded .sidebar-divider{width:100%}.sidebar-spacer{flex:1}.sidebar-nav-btn,.sidebar-action-btn,.sidebar-toggle-btn{position:relative;width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1)}.sidebar-nav-btn:hover,.sidebar-action-btn:hover,.sidebar-toggle-btn:hover{background:#ffffff14;color:var(--text-main);border-color:#ffffff1f}.sidebar-nav-btn.active,.sidebar-action-btn.active{background:#6366f129;color:#818cf8;border-color:#6366f159;box-shadow:0 0 14px #6366f140}.app-sidebar .sidebar-nav-btn svg,.app-sidebar .sidebar-action-btn svg,.app-sidebar .sidebar-sub-item svg,.sidebar-fixed-flyout svg,.sidebar-brand-toggle-btn svg,.sidebar-mobile-drawer .drawer-item svg{color:#fff!important;stroke:#fff!important}.sidebar-nav-btn.expanded,.sidebar-action-btn.expanded,.sidebar-toggle-btn.expanded{width:100%;height:36px;justify-content:flex-start;padding:0 .55rem;gap:.55rem;border-radius:8px}.sidebar-btn-label{font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;animation:fadeIn .15s ease}.sidebar-accordion-group{width:100%;display:flex;flex-direction:column;gap:.2rem}.sidebar-submenu-chevron{color:var(--text-sub);transition:transform .2s ease;flex-shrink:0}.sidebar-submenu-chevron.open{transform:rotate(180deg)}.sidebar-sub-menu{display:flex;flex-direction:column;gap:.2rem;padding-left:.6rem;margin-top:.1rem;animation:fadeIn .16s ease}.sidebar-sub-item{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border-radius:6px;color:var(--text-sub);background:#ffffff05;border:1px solid transparent;font-size:.76rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:all .15s ease;white-space:nowrap}.sidebar-sub-item:hover{background:#6366f124;color:#c7d2fe;border-color:#6366f14d}.sidebar-sub-item.active{background:#6366f138;color:#818cf8;border-color:#6366f173;font-weight:600}.sidebar-fixed-flyout .popover-item.active{background:#6366f138;color:#818cf8;font-weight:600}.sidebar-fixed-flyout{background:#0f172af5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.4rem;min-width:165px;box-shadow:0 16px 36px #000000a6,0 0 1px #fff3;display:flex;flex-direction:column;gap:.2rem;animation:fadeIn .16s ease}.flyout-header{font-size:.72rem;font-weight:600;color:var(--text-sub);padding:.25rem .55rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.2rem}.app-sidebar.expanded .sidebar-tooltip{display:none!important}.sidebar-tooltip{position:absolute;left:48px;background:#0f172a;border:1px solid rgba(255,255,255,.15);color:#f8fafc;font-size:.75rem;font-weight:500;white-space:nowrap;padding:.35rem .65rem;border-radius:6px;pointer-events:none;opacity:0;transform:translate(-6px);transition:all .18s ease;z-index:1200;box-shadow:0 8px 24px #00000080}.sidebar-nav-btn:hover .sidebar-tooltip,.sidebar-action-btn:hover .sidebar-tooltip,.sidebar-toggle-btn:hover .sidebar-tooltip{opacity:1;transform:translate(0)}.sidebar-footer{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%}.app-sidebar.expanded .sidebar-footer{align-items:stretch}.sidebar-popover-container{position:relative;width:100%;display:flex;justify-content:center}.app-sidebar.expanded .sidebar-popover-container{justify-content:stretch}.sidebar-avatar-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:700;cursor:pointer;border:2px solid rgba(255,255,255,.15);transition:all .2s ease}.sidebar-avatar-btn.expanded{width:100%;height:44px;border-radius:9px;padding:0 .5rem;justify-content:flex-start;gap:.6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}.sidebar-avatar-btn:hover{transform:scale(1.04);box-shadow:0 0 12px #a855f766}.sidebar-avatar-inner{font-size:.88rem;line-height:1;flex-shrink:0}.sidebar-avatar-text{display:flex;flex-direction:column;text-align:left;overflow:hidden}.sidebar-avatar-name{font-size:.82rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-avatar-role{font-size:.68rem;color:#818cf8;white-space:nowrap}.sidebar-popover-menu{position:absolute;left:48px;bottom:0;background:#0f172af5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:.4rem;min-width:175px;box-shadow:0 12px 32px #0000008c;z-index:1200;display:flex;flex-direction:column;gap:.2rem;animation:fadeIn .18s ease}.sidebar-popover-menu.expanded-pos{left:calc(100% + 8px);bottom:0}.popover-header{font-size:.75rem;font-weight:600;color:var(--text-sub);padding:.35rem .6rem;text-transform:uppercase;letter-spacing:.04em}.popover-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;border-radius:6px;color:var(--text-main);background:transparent;border:none;font-size:.82rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .15s ease}.popover-item:hover{background:#ffffff14}.popover-item.logout-item{color:#f43f5e}.popover-item.logout-item:hover{background:#f43f5e1f}.popover-profile-header{padding:.4rem .6rem .3rem}.profile-name{font-size:.9rem;font-weight:600;color:var(--text-main)}.profile-role-badge{display:inline-block;font-size:.7rem;font-weight:600;color:#818cf8;background:#6366f126;border:1px solid rgba(99,102,241,.3);padding:.1rem .4rem;border-radius:4px;margin-top:.25rem}.popover-divider{height:1px;background:var(--border-color);margin:.25rem 0;opacity:.6}.app-topbar{height:60px;min-height:60px;max-height:60px;width:100%;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;flex-shrink:0;z-index:1000;box-sizing:border-box;transition:background-color .3s ease,border-color .3s ease}.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar-sidebar-toggle{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-sub);cursor:pointer;transition:all .15s ease;flex-shrink:0}.topbar-sidebar-toggle:hover{background:#ffffff1f;color:var(--text-main);border-color:#ffffff38;transform:scale(1.04)}.topbar-mobile-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-main);cursor:pointer;border-radius:6px}.topbar-brand{display:flex;align-items:center;gap:.55rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s ease}.topbar-brand:hover{opacity:.88}.topbar-logo-icon{width:30px;height:30px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 10px #06b6d459;flex-shrink:0}.topbar-app-name{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.topbar-divider{color:var(--border-color);opacity:.45;font-size:1.15rem;margin:0 .1rem}.topbar-page-badge{display:flex;align-items:center}.topbar-page-title{font-size:1.05rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em;-webkit-user-select:none;user-select:none}.topbar-right{display:flex;align-items:center;gap:.75rem}.topbar-filter-pill{display:flex;align-items:center;gap:.38rem;border-radius:.48rem;padding:.2rem .58rem;transition:all .2s ease;min-width:148px;width:auto;height:36px;box-sizing:border-box;flex-shrink:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-filter-pill .custom-select-container{flex:1;min-width:0}.topbar-filter-pill .custom-select-trigger{padding:.2rem .52rem;font-size:.83rem;border-radius:.38rem;gap:.35rem;height:28px;line-height:1.2;white-space:nowrap;background:#0f172ab3;border:1px solid rgba(255,255,255,.12)}.topbar-filter-pill .custom-select-label{white-space:nowrap;overflow:visible;text-overflow:clip}.topbar-filter-pill .custom-select-option{font-size:.83rem;padding:.4rem .7rem;white-space:nowrap}.topbar-filter-pill.platform-pill,.topbar-filter-pill.view-pill{background:#151e32f0;border:1px solid rgba(99,102,241,.45);box-shadow:0 2px 8px #00000040}.topbar-filter-pill.view-pill.readonly{background:#26141ef0;border:1px solid rgba(244,63,94,.45);box-shadow:0 2px 8px #00000040}[data-theme=light] .topbar-filter-pill.platform-pill,[data-theme=light] .topbar-filter-pill.view-pill{background:#f1f5f9;border:1px solid rgba(99,102,241,.35);box-shadow:0 1px 3px #0000000d}[data-theme=light] .topbar-filter-pill.view-pill.readonly{background:#fff1f2;border:1px solid rgba(244,63,94,.35)}[data-theme=light] .topbar-filter-pill .custom-select-trigger{background:#fff;border:1px solid #cbd5e1}.pill-label{font-size:.83rem;font-weight:600;white-space:nowrap}.topbar-user-container{position:relative;display:flex;align-items:center}.topbar-user-btn{display:flex;align-items:center;gap:.45rem;padding:.2rem .6rem .2rem .25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:9999px;cursor:pointer;color:var(--text-main);transition:all .18s ease}.topbar-user-btn:hover{background:#ffffff1a;border-color:#ffffff38}.topbar-user-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #a855f759}.topbar-user-name{font-size:.82rem;font-weight:600;color:var(--text-main);max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-chevron{color:var(--text-sub);transition:transform .2s ease}.topbar-user-chevron.open{transform:rotate(180deg)}.topbar-user-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#0f172af5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:.35rem;min-width:120px;width:max-content;box-shadow:0 12px 32px #0000008c;z-index:1200;display:flex;flex-direction:column;animation:fadeIn .16s ease}.topbar-user-dropdown-header{padding:.4rem .55rem .35rem}.dropdown-user-row{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.dropdown-username{font-size:.88rem;font-weight:600;color:var(--text-main)}.dropdown-role-badge{display:inline-block;font-size:.68rem;font-weight:600;color:#818cf8;background:#6366f126;border:1px solid rgba(99,102,241,.3);padding:.08rem .35rem;border-radius:4px}.topbar-dropdown-divider{height:1px;background:var(--border-color);margin:.25rem 0;opacity:.6}.topbar-dropdown-section-title{font-size:.7rem;font-weight:600;color:var(--text-sub);padding:.2rem .55rem;text-transform:uppercase;letter-spacing:.04em}.topbar-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;color:var(--text-main);background:transparent;border:none;font-size:.82rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .15s ease}.topbar-dropdown-item:hover{background:#ffffff14}.topbar-dropdown-item.logout-item{color:#f43f5e}.topbar-dropdown-item.logout-item:hover{background:#f43f5e1f}.sidebar-mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;animation:fadeIn .2s ease}.sidebar-mobile-drawer{width:250px;height:100vh;background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:0 0 30px #0009;animation:slideInLeft .25s cubic-bezier(.16,1,.3,1)}.mobile-drawer-header{padding:1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.mobile-drawer-content{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.3rem}.drawer-group-title{font-size:.7rem;font-weight:600;color:var(--text-sub);text-transform:uppercase;letter-spacing:.05em;padding:.35rem .5rem}.drawer-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:8px;background:transparent;border:none;color:var(--text-main);font-size:.85rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:all .15s ease}.drawer-item:hover{background:#ffffff0f}.drawer-item.active{background:#6366f126;color:#818cf8;font-weight:600}.mobile-drawer-footer{padding:.75rem 1rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.drawer-user-info{display:flex;align-items:center;gap:.6rem}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-header{background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1000;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.header-brand{display:flex;align-items:center;gap:.75rem}.brand-icon{width:2.25rem;height:2.25rem;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 12px #06b6d466}.brand-title{font-size:1.25rem;font-weight:700;color:var(--text-main)}.header-actions{display:flex;align-items:center;gap:.65rem}.header-actions .btn{padding:.44rem .85rem;font-size:.86rem;gap:.45rem;border-radius:.48rem}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.44rem .68rem;border-radius:.48rem;background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);font-size:.86rem;font-weight:500;cursor:pointer;transition:all .2s ease}.theme-toggle-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),#2563eb);color:#fff;box-shadow:0 4px 12px #2563eb4d}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light)}.btn-danger{background:#f43f5e1f;color:#f43f5e;border-color:#f43f5e40}.btn-danger:hover:not(:disabled){background:#f43f5e38;color:#fb7185;border-color:#f43f5e73}.btn:disabled,.btn-secondary:disabled,.btn-primary:disabled,button:disabled{opacity:.45!important;cursor:not-allowed!important;pointer-events:auto!important;filter:grayscale(80%)!important;background:var(--bg-hover)!important;color:var(--text-muted)!important;border-color:var(--border-color)!important;box-shadow:none!important;transform:none!important}button:disabled svg{opacity:.5!important}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;flex-shrink:0}@media (max-width: 1200px){.stats-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-summary{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}}@media (max-width: 380px){.stats-summary{grid-template-columns:1fr!important}}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:.85rem;padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background-color .3s ease}.stat-card:hover{transform:translateY(-3px);border-color:var(--border-light);box-shadow:0 12px 28px -6px #00000059,0 0 16px #06b6d41f}.stat-label{font-size:.8rem;color:var(--text-sub);font-weight:500}.stat-value{font-size:1.4rem;font-weight:700;color:var(--text-main)}.stat-value.positive{color:var(--accent-emerald)}.stat-value.negative{color:var(--accent-rose)}.stat-value.cyan{color:var(--accent-cyan)}.table-container{flex:1;flex-shrink:0;min-height:400px;max-height:calc(100vh - 210px);overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-lg);position:relative;transition:background-color .3s ease,border-color .3s ease}.ltv-single-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem;white-space:nowrap;table-layout:fixed}.th-resizable{position:relative;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:col-resize;z-index:60;background:transparent;transition:background-color .15s ease}.resize-handle:hover,.resize-handle:active{background-color:var(--accent-blue)}.ltv-single-table th{background:var(--bg-th);color:var(--text-sub);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.header-row-1 th{position:sticky;top:0;z-index:30;height:38px}.header-row-2 th{position:sticky;top:38px;z-index:30;height:34px}.ltv-single-table th.text-center{text-align:center}.ltv-single-table th.text-left{text-align:left}.ltv-single-table th.text-right{text-align:right}.ltv-single-table td{padding:.65rem .6rem;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-main);background:var(--bg-secondary);transition:background-color .3s ease,color .3s ease,border-color .3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ltv-single-table td.text-center{text-align:center}.ltv-single-table td.text-left{text-align:left}.ltv-single-table td.text-right{text-align:right}.ltv-single-table tbody tr:hover td{background-color:var(--bg-hover)!important}.sticky-col{position:sticky!important}th.sticky-col{top:0!important;z-index:50!important;background:var(--bg-th)!important}td.sticky-col{z-index:20!important;background:var(--bg-sticky-td)!important}.col-boundary{border-right:1px solid var(--border-color)!important;box-shadow:1px 0 4px #00000014}.remark-cell{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.remark-inner-container{display:flex;align-items:center;gap:4px;width:100%;min-width:0;overflow:hidden}.remark-text-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.instant-remark-popover{background:var(--bg-card);color:var(--text-main);border:1px solid var(--accent-blue);box-shadow:0 10px 25px -5px #00000080,0 0 16px #3b82f64d;padding:.55rem .85rem;border-radius:.6rem;font-size:.825rem;white-space:normal;word-break:break-all;max-width:340px;min-width:140px;animation:fadeInInstant .08s ease-out}.instant-remark-popover .popover-title{font-weight:700;color:var(--accent-cyan);font-size:.75rem;margin-bottom:2px}.instant-remark-popover .popover-body{color:var(--text-main);line-height:1.4}@keyframes fadeInInstant{0%{opacity:0;transform:translate(-50%,-95%)}to{opacity:1;transform:translate(-50%,-100%)}}.day-header-group{background:var(--bg-th-day)!important;color:var(--text-sub)!important;font-size:.85rem;font-weight:600}.roi-badge{display:inline-block;padding:.15rem .4rem;border-radius:.25rem;font-weight:600;font-size:.8rem}.roi-high{background:#10b98133;color:#10b981}.roi-low{background:#f43f5e33;color:#f43f5e}.editable-cell{cursor:pointer;border-bottom:1px dashed var(--accent-blue);color:var(--accent-blue)}.editable-cell:hover{color:var(--text-main);background:#3b82f626}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000}.modal-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:1rem;width:90%;max-width:550px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.1rem;font-weight:700;color:var(--text-main)}.modal-close-btn{background:transparent;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-sub);padding:.35rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-main);border-color:var(--border-light)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-sub)}.form-textarea,.form-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s,background-color .3s ease}.form-textarea:focus,.form-input:focus{border-color:var(--accent-blue)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;background:var(--modal-footer-bg)}.modal-card-lg{max-width:760px;width:92%}.modal-header-icon{color:var(--accent-blue);flex-shrink:0}.user-table-container{border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.user-mgmt-table{width:100%;border-collapse:collapse;font-size:.875rem}.user-mgmt-table th{background:var(--bg-th);padding:.7rem .85rem;text-align:left;font-weight:600;color:var(--text-sub);border-bottom:1px solid var(--border-color);white-space:nowrap}.user-mgmt-table td{padding:.7rem .85rem;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;white-space:nowrap}.user-mgmt-table tr:last-child td{border-bottom:none}.user-mgmt-table tbody tr:hover td{background:var(--bg-hover)}.role-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:1rem}.role-badge.admin{background:#6366f126;color:#6366f1;border:1px solid rgba(99,102,241,.3)}.role-badge.user{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:200}.login-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:1.25rem;width:90%;max-width:420px;padding:2.25rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.5rem;transition:background-color .3s ease,border-color .3s ease}.login-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.login-brand-icon{width:3.25rem;height:3.25rem;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));border-radius:.75rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #3b82f666;margin-bottom:.25rem}.login-title{font-size:1.35rem;font-weight:700;color:var(--text-main)}.login-subtitle{font-size:.85rem;color:var(--text-sub)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-error-alert{display:flex;align-items:center;gap:.5rem;background:#f43f5e26;border:1px solid rgba(244,63,94,.3);padding:.65rem .85rem;border-radius:.5rem;color:var(--accent-rose);font-size:.85rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.85rem;color:var(--text-muted);pointer-events:none}.input-with-icon .form-input{padding-left:2.6rem}.login-btn{width:100%;justify-content:center;padding:.75rem;font-size:.95rem;font-weight:600;margin-top:.5rem}.login-footer{text-align:center;font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.header-left-group{display:flex;align-items:center;gap:1.8rem}.header-nav-tabs{display:flex;align-items:center;gap:.35rem;background:#0f172a59;padding:.25rem;border-radius:.55rem;border:1px solid var(--border-color)}[data-theme=light] .header-nav-tabs{background:#f1f5f9;border-color:#cbd5e1}.nav-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.44rem .88rem;border-radius:.45rem;font-size:.88rem;font-weight:500;color:var(--text-sub);background:transparent;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-tab-btn:hover{color:var(--text-main);background:#ffffff0d}[data-theme=light] .nav-tab-btn:hover{background:#0000000a}.nav-tab-btn.active{background:linear-gradient(135deg,var(--accent-blue),#2563eb)!important;color:#fff!important;font-weight:600;box-shadow:0 2px 10px #2563eb66}[data-theme=light] .nav-tab-btn.active{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:0 2px 10px #2563eb4d}.segmented-tab-container{display:inline-flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);padding:3px;border-radius:.6rem;gap:3px;box-shadow:inset 0 1px 3px #0003}.segmented-tab-item{display:inline-flex;align-items:center;gap:6px;padding:.42rem .95rem;border-radius:.45rem;border:none;background:transparent;color:var(--text-sub);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.segmented-tab-item:hover:not(.active){color:var(--text-main);background:var(--bg-hover)}.segmented-tab-item.active{background:linear-gradient(135deg,var(--accent-blue),#2563eb);color:#fff;font-weight:600;box-shadow:0 3px 12px #2563eb66}.custom-select-container{display:inline-block;-webkit-user-select:none;user-select:none}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .75rem;background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000026}.custom-select-trigger:hover:not(:disabled){border-color:var(--border-light);background:var(--bg-hover)}.custom-select-trigger.open{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f640}.custom-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-sm .custom-select-trigger{padding:.34rem .65rem;font-size:.85rem;border-radius:.42rem;gap:.42rem}.custom-select-sm .custom-select-option{padding:.42rem .72rem;font-size:.85rem}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:130px;z-index:99999;background:#0f172afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:.53rem;box-shadow:0 12px 32px -4px #0009,0 0 16px #3b82f626;padding:.35rem;max-height:320px;overflow-y:auto;animation:dropdownFadeIn .15s ease-out}[data-theme=light] .custom-select-dropdown{background:#fff;border-color:#cbd5e1;box-shadow:0 12px 32px -4px #0000001f}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{display:flex;align-items:center;justify-content:space-between;padding:.45rem .65rem;font-size:.83rem;color:var(--text-sub);border-radius:.375rem;cursor:pointer;transition:all .15s ease}.custom-select-option:hover{background:var(--bg-hover);color:var(--text-main)}.custom-select-option.selected{background:#3b82f626;color:var(--accent-blue);font-weight:600}.option-check-icon{color:var(--accent-blue)}.segmented-control{display:flex;align-items:center;background:var(--bg-primary);padding:.2rem;border-radius:.5rem;border:1px solid var(--border-color);gap:.2rem}.segmented-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .6rem;border-radius:.35rem;font-size:.78rem;font-weight:500;color:var(--text-sub);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.segmented-btn:hover{color:var(--text-main)}.segmented-btn.active{background:var(--bg-card);color:var(--accent-cyan);font-weight:600;box-shadow:0 1px 4px #0003;border:1px solid var(--border-color)}.single-day-cell{transition:background-color .15s ease,color .15s ease}.single-day-cell:hover{outline:1px solid var(--accent-cyan);z-index:1}.auto-fit-table{table-layout:auto!important;width:max-content!important;min-width:100%!important}.auto-fit-table th,.auto-fit-table td{overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;padding:.65rem .95rem!important}.charts-grid-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;margin-bottom:.15rem}@media (max-width: 1200px){.charts-grid-container{grid-template-columns:1fr}}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem 1.25rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.chart-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-lg)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px dashed var(--border-color)}.chart-title-group{display:flex;align-items:center;gap:.5rem}.chart-title{font-size:.92rem;font-weight:600;color:var(--text-main)}.chart-legends{display:flex;align-items:center;gap:1rem}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-sub)}.legend-dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-block}.chart-body{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.chart-svg{width:100%;height:auto;overflow:visible}.chart-tooltip-box{position:absolute;pointer-events:none;background:#0f172aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:.5rem;padding:.6rem .8rem;box-shadow:0 8px 20px #0006;z-index:100;white-space:nowrap;transition:left .1s ease-out,top .1s ease-out}[data-theme=light] .chart-tooltip-box{background:#fffffff2;box-shadow:0 8px 20px #0000001f}.tooltip-date{font-size:.78rem;font-weight:700;color:var(--text-main);margin-bottom:.3rem;padding-bottom:.2rem;border-bottom:1px solid var(--border-color)}.tooltip-row{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-sub);margin-top:.2rem}.tooltip-dot{width:.45rem;height:.45rem;border-radius:50%;display:inline-block}.mobile-menu-btn{display:none}.mobile-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:99999;display:flex;justify-content:flex-end;animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}.mobile-drawer{width:84vw;max-width:320px;height:100vh;max-height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border-color);box-shadow:-12px 0 36px #00000073;display:flex;flex-direction:column;animation:slideDrawer .25s cubic-bezier(.16,1,.3,1);overflow:hidden;position:relative;z-index:100000}@keyframes slideDrawer{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-drawer-header{padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--header-bg);flex-shrink:0}.mobile-drawer-user{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mobile-user-name{font-weight:700;font-size:.98rem;color:var(--text-main)}.mobile-admin-badge{font-size:.7rem;padding:.12rem .45rem;border-radius:.3rem;background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3);font-weight:600}.mobile-readonly-badge{font-size:.7rem;padding:.12rem .45rem;border-radius:.3rem;background:#f43f5e26;color:#f43f5e;border:1px solid rgba(244,63,94,.3);font-weight:600}.mobile-drawer-close{background:transparent;border:none;color:var(--text-sub);cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s ease}.mobile-drawer-close:hover{background:var(--bg-hover);color:var(--text-main)}.mobile-drawer-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.15rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem;min-height:0}.mobile-drawer-section{display:flex;flex-direction:column;gap:.55rem}.mobile-section-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.4rem}.mobile-actions-list{display:flex;flex-direction:column;gap:.55rem}.mobile-action-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.72rem .88rem;border-radius:.55rem;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.mobile-action-item:hover{background:var(--bg-hover);border-color:var(--border-light)}.mobile-action-item:disabled{opacity:.45;cursor:not-allowed}.mobile-drawer-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.mobile-logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.72rem;border-radius:.5rem;background:#f43f5e1a;border:1px solid rgba(244,63,94,.3);color:#f43f5e;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mobile-logout-btn:hover{background:#f43f5e33}@media (max-width: 1024px){.app-header{padding:.6rem .85rem;gap:.6rem}.header-left-group{gap:.75rem;flex:1;min-width:0}.desktop-actions{display:none!important;pointer-events:none!important;visibility:hidden!important}.mobile-menu-btn{display:inline-flex!important;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.48rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;flex-shrink:0;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.header-nav-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;flex:1;gap:.25rem;padding:.2rem}.header-nav-tabs::-webkit-scrollbar{display:none}.nav-tab-btn{padding:.38rem .7rem;font-size:.82rem;gap:.35rem;flex-shrink:0}}@media (max-width: 768px){.app-container,.app-layout{width:100vw;max-width:100vw;overflow-x:hidden}.app-sidebar{display:none}.app-topbar{padding:0 .75rem}.topbar-mobile-toggle{display:flex!important}.topbar-page-badge,.topbar-page-title,.topbar-user-container{display:none!important}.topbar-breadcrumb .topbar-app-name,.topbar-breadcrumb .topbar-divider{display:none}.main-content{padding:.65rem .6rem;gap:.6rem;width:100%;max-width:100vw;overflow-x:hidden}.app-header{padding:.5rem .65rem}.brand-icon{width:2rem;height:2rem;flex-shrink:0}.brand-title{font-size:1rem;white-space:nowrap}.nav-tab-btn{padding:.4rem .6rem;font-size:.78rem;justify-content:center}.nav-tab-btn span{display:none!important}.nav-tab-btn svg{width:17px;height:17px;flex-shrink:0}.stat-card{padding:.65rem .8rem!important;border-radius:.65rem!important;gap:.25rem!important}.stat-label{font-size:.72rem!important}.stat-value{font-size:1.15rem!important}.table-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:320px;max-height:calc(100vh - 180px);border-radius:.55rem}}@media (max-width: 440px){.brand-title{display:none}}
