.login-root{--lp-bg-1: #0a0d14;--lp-bg-2: #161a26;--lp-glow: radial-gradient(ellipse 60% 50% at 30% 20%, rgba(124, 140, 255, .18), transparent 60%), radial-gradient(ellipse 50% 40% at 80% 80%, rgba(99, 102, 241, .14), transparent 60%);--lp-card-bg: rgba(22, 26, 38, .86);--lp-card-border: rgba(255, 255, 255, .06);--lp-text: #e7ecf3;--lp-text-2: #aeb7c4;--lp-text-3: #7e8998;--lp-input-bg: rgba(255, 255, 255, .03);--lp-input-border: rgba(255, 255, 255, .1);--lp-input-border-focus: #7c8cff;--lp-primary: #7c8cff;--lp-primary-hover: #93a1ff;--lp-primary-text: #ffffff;--lp-error: #fda4af;--lp-success: #4ade80;--lp-divider: rgba(255, 255, 255, .08);--lp-shadow: 0 20px 60px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .3);--lp-link: #93a1ff}@media(prefers-color-scheme:light){.login-root{--lp-bg-1: #f4f6fb;--lp-bg-2: #e8ecf5;--lp-glow: radial-gradient(ellipse 60% 50% at 30% 20%, rgba(90, 107, 255, .14), transparent 60%), radial-gradient(ellipse 50% 40% at 80% 80%, rgba(124, 140, 255, .1), transparent 60%);--lp-card-bg: rgba(255, 255, 255, .85);--lp-card-border: rgba(0, 0, 0, .06);--lp-text: #1e222b;--lp-text-2: #5a6270;--lp-text-3: #9098a6;--lp-input-bg: rgba(0, 0, 0, .02);--lp-input-border: rgba(0, 0, 0, .1);--lp-input-border-focus: #5a6bff;--lp-primary: #5a6bff;--lp-primary-hover: #4756e0;--lp-primary-text: #ffffff;--lp-error: #ef4444;--lp-success: #16a34a;--lp-divider: rgba(0, 0, 0, .08);--lp-shadow: 0 20px 60px rgba(60, 70, 110, .12), 0 4px 12px rgba(60, 70, 110, .06);--lp-link: #5a6bff}}.login-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--lp-bg-1) 0%,var(--lp-bg-2) 100%);color:var(--lp-text);font-family:Inter,PingFang SC,system-ui,-apple-system,sans-serif;overflow:hidden}.login-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lp-glow);pointer-events:none}.login-brand{position:relative;display:flex;align-items:center;gap:12px;padding:24px 40px}.login-brand-logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-hover));display:grid;place-items:center;color:var(--lp-primary-text);font-weight:800;font-size:16px;letter-spacing:.5px;box-shadow:0 4px 14px #7c8cff59}.login-brand-title{font-size:18px;font-weight:700;letter-spacing:.5px}.login-brand-sub{font-size:12px;color:var(--lp-text-3);margin-left:4px}.login-main{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-panel{padding:44px 40px;display:flex;flex-direction:column;min-height:460px;width:100%}.login-panel+.login-panel{display:none}.flip-container{perspective:1200px;width:min(440px,100%);display:flex;flex-direction:column;align-items:center}.flip-card{position:relative;width:100%;min-height:620px;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.4,0,.2,1)}.flip-card.is-flipped{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:24px;background:var(--lp-card-bg);border:1px solid var(--lp-card-border);box-shadow:var(--lp-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow-y:auto;display:flex}.flip-back{transform:rotateY(180deg)}.flip-face .login-panel{min-height:0;flex:1}.flip-toggle{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:var(--lp-text-2);animation:flip-toggle-in .5s ease both}.flip-toggle-btn{background:none;border:none;color:var(--lp-primary);font-size:14px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .16s ease,background .16s ease}.flip-toggle-btn:hover{color:var(--lp-primary-hover);background:#7c8cff14}@keyframes flip-toggle-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-panel-title{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--lp-text)}.login-panel-sub{font-size:13px;color:var(--lp-text-2);margin-bottom:28px}.login-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.login-field-label{font-size:12px;color:var(--lp-text-2);font-weight:500}.login-input{width:100%;padding:11px 14px;background:var(--lp-input-bg);border:1px solid var(--lp-input-border);border-radius:10px;color:var(--lp-text);font-size:14px;outline:none;transition:border-color .16s ease,background .16s ease}.login-input::placeholder{color:var(--lp-text-3)}.login-input:focus{border-color:var(--lp-input-border-focus);background:var(--lp-input-bg)}.login-error{color:var(--lp-error);font-size:12px;margin-top:4px;min-height:16px}.login-hint{color:var(--lp-success);font-size:12px;margin-top:4px}.login-button{margin-top:4px;width:100%;padding:12px 14px;background:var(--lp-primary);color:var(--lp-primary-text);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .16s ease,transform 80ms ease}.login-button:hover:not(:disabled){background:var(--lp-primary-hover)}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button-secondary{background:transparent;border:1px solid var(--lp-input-border);color:var(--lp-text)}.login-button-secondary:hover:not(:disabled){background:var(--lp-input-bg);border-color:var(--lp-primary);color:var(--lp-primary)}.login-foot{margin-top:auto;padding-top:20px;font-size:12px;color:var(--lp-text-3);line-height:1.7}.login-link{color:var(--lp-link);cursor:pointer;text-decoration:none;background:none;border:none;padding:0;font:inherit}.login-link:hover{text-decoration:underline}.login-pwd-rules{margin:0;padding-left:18px;font-size:11px;color:var(--lp-text-3);line-height:1.6}.company-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.company-stage-title{position:absolute;top:80px;left:0;right:0;text-align:center;font-size:18px;color:var(--lp-text-2);letter-spacing:1px;animation:lp-fade-in .6s ease .2s both}.company-card{position:relative;width:320px;padding:36px 24px;background:var(--lp-card-bg);border:1px solid var(--lp-card-border);border-radius:24px;box-shadow:var(--lp-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-align:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;animation:lp-rise .5s cubic-bezier(.16,1,.3,1) both}.company-card:hover{transform:translateY(-4px);box-shadow:0 30px 70px #00000080,0 6px 16px #0000004d}.company-card-logo{width:64px;height:64px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-hover));display:grid;place-items:center;color:var(--lp-primary-text);font-weight:800;font-size:24px;box-shadow:0 8px 24px #7c8cff66}.company-card-name{font-size:20px;font-weight:700;color:var(--lp-text);margin-bottom:4px}.company-card-role{font-size:12px;color:var(--lp-text-3);margin-bottom:20px}.company-card-cta{font-size:13px;color:var(--lp-primary);font-weight:600}.company-card-arrow{display:inline-block;margin-left:4px;transition:transform .2s ease}.company-card:hover .company-card-arrow{transform:translateY(2px)}.company-card.slide-down{animation:lp-slide-down .6s cubic-bezier(.7,0,.84,0) forwards}@keyframes lp-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lp-slide-down{to{transform:translateY(120vh);opacity:0}}@media(max-width:720px){.flip-container{width:min(380px,100%)}.flip-face .login-panel{padding:28px 24px}.login-brand{padding:16px 20px}}.login-link-btn{background:none;border:none;color:var(--lp-primary);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.login-link-btn:hover{color:var(--lp-primary-hover)}.portal-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;box-sizing:border-box}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--border-radius-lg, 16px);box-shadow:var(--shadow-lg);padding:32px;width:100%;max-width:520px;box-sizing:border-box}.portal-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.portal-brand-logo{width:48px;height:48px;border-radius:12px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;letter-spacing:.5px;flex-shrink:0}.portal-brand-title{font-size:18px;font-weight:600;color:var(--text)}.portal-brand-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.portal-app-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft, var(--bg));color:var(--text);cursor:pointer;transition:background .12s,border-color .12s,transform .08s;text-align:left}.portal-app-btn:hover{background:var(--hover-bg);border-color:var(--primary)}.portal-app-btn:active{transform:translateY(1px)}.portal-app-port{font-size:11px;color:var(--text-muted);letter-spacing:.04em}.portal-app-label{font-size:15px;font-weight:600;color:var(--text)}.portal-app-sub{font-size:12px;color:var(--text-muted)}.portal-entering{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:380px}.portal-entering-title{font-size:16px;font-weight:600;color:var(--text);margin-top:8px}.portal-entering-sub{font-size:13px;color:var(--text-muted)}.portal-spinner{width:28px;height:28px;margin-top:12px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}:root,[data-theme=dark]{color-scheme:dark;--bg: #0f1115;--surface: #151922;--surface-2: #1a1f29;--surface-3: #202633;--line: #2a3140;--line-2: #3a4354;--border: #2a3140;--text: #e7ecf3;--text-secondary: #aeb7c4;--text-muted: #7e8998;--muted: #aeb7c4;--muted-2: #7e8998;--primary-light: #7c8cff;--bg-soft: #1a1f29;--primary: #7c8cff;--primary-hover: #93a1ff;--primary-2: #7c8cff;--primary-soft: rgba(124, 140, 255, .14);--success: #4ade80;--warning: #fbbf24;--danger: #fb7185;--info: #60a5fa;--error: #fda4af;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 28px rgba(0, 0, 0, .22);--shadow-md: 0 4px 14px rgba(0, 0, 0, .36);--shadow-lg: 0 16px 46px rgba(0, 0, 0, .52);--avatar-bg: #243044;--avatar-color: #edf2ff;--rail-width: 64px;--panel-shadow: -4px 0 24px rgba(0, 0, 0, .42);--hover-bg: rgba(255, 255, 255, .04);--modal-backdrop: rgba(0, 0, 0, .62);--border-radius: 12px;--border-radius-lg: 16px}[data-theme=light]{color-scheme:light;--bg: #e8eaed;--surface: #f0f2f5;--surface-2: #e2e5e9;--surface-3: #d9dce1;--line: #d0d3d9;--line-2: #b7bbc3;--border: #d0d3d9;--text: #1e222b;--text-secondary: #5a6270;--text-muted: #9098a6;--muted: #5a6270;--muted-2: #9098a6;--primary-light: #5a6bff;--bg-soft: #e8ebfa;--primary: #5a6bff;--primary-hover: #4756e0;--primary-2: #5a6bff;--primary-soft: rgba(90, 107, 255, .1);--success: #22c55e;--warning: #eab308;--danger: #ef4444;--info: #3b82f6;--error: #ef4444;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .1);--avatar-bg: #dcdef0;--avatar-color: #4756e0;--panel-shadow: -4px 0 16px rgba(0, 0, 0, .08);--hover-bg: rgba(0, 0, 0, .04);--modal-backdrop: rgba(0, 0, 0, .32)}html,body,#root{height:100%;background:var(--bg)}html{scroll-behavior:smooth;accent-color:var(--primary);overflow:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,PingFang SC,system-ui,-apple-system,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased;transition:background-color .18s ease,color .18s ease}#root{transition:background-color .18s ease,color .18s ease}button,input,select,textarea{font:inherit}button{cursor:pointer}code{font-family:JetBrains Mono,Consolas,monospace;font-size:.9em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--line-2)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.app{height:100%;background:var(--bg);color:var(--text)}*{box-sizing:border-box}.brand-float{position:fixed;top:10px;left:18px;z-index:100;display:flex;align-items:center}.nav{display:flex;gap:4px}.nav a{color:var(--muted);text-decoration:none;padding:6px 16px;border-radius:8px;font-size:14px;font-weight:500;transition:all .15s}.nav a:hover{background:#3498db1a;color:var(--text)}.nav a.active{background:#3498db38;color:var(--primary);border:1px solid rgba(52,152,219,.4)}.right-rail{position:fixed;right:0;top:0;width:64px;height:100vh;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:999;pointer-events:auto;overflow-y:auto}.rail-item{width:52px;height:52px;border-radius:14px;border:1px solid transparent;background:var(--surface-2);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;position:relative;transition:all .15s;flex:0 0 auto}.rail-item-label{font-size:14px;font-weight:600;color:var(--text-secondary);line-height:1;letter-spacing:1px;transition:color .15s}.rail-item:hover .rail-item-label{color:var(--text)}.rail-item.active .rail-item-label{color:var(--primary)}.rail-item:hover{background:var(--hover-bg);color:var(--text);border-color:var(--line)}.rail-item.active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.slide-panel{position:fixed;right:var(--rail-width, 64px);top:0;width:360px;height:100vh;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--panel-shadow);transform:translate(100%);transition:transform .25s ease;z-index:80;overflow:hidden}.slide-panel.open{transform:translate(0)}.slide-panel-inner{display:flex;flex-direction:column;height:100%}.slide-panel-header{display:flex;align-items:center;justify-content:flex-end;padding:10px 12px;border-bottom:1px solid var(--line);min-height:44px}.slide-panel-title{display:flex;align-items:center}.slide-panel-body{flex:1;overflow-y:auto;background:var(--bg);min-height:0}.slide-panel-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted-2);gap:8px;text-align:center;padding:20px}.slide-panel-placeholder .material-symbols-outlined{font-size:36px;opacity:.2}.slide-panel-placeholder h3{margin:0;font-size:16px;font-weight:600;color:var(--text-secondary)}.slide-panel-placeholder p{margin:0;font-size:12px;max-width:240px}.subnav{display:flex;gap:4px;padding:10px 24px 10px 146px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto}.subnav-btn{padding:6px 16px;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap}.subnav-btn.active{background:#3498db38;color:var(--primary);border:1px solid rgba(52,152,219,.4)}.subnav-btn:hover{background:#3498db1a;color:var(--text)}.content{position:relative;margin-top:0;margin-right:var(--rail-width, 64px);height:100vh;display:flex;flex-direction:column;z-index:1;overflow:hidden}.workspace{padding:24px;display:flex;flex-direction:column;gap:20px;flex:1;min-height:0;overflow:hidden}.rail-avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--avatar-bg);padding:0;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:border-color .15s ease,box-shadow .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.rail-avatar:hover{border-color:var(--primary);transform:scale(1.06);box-shadow:0 0 0 4px var(--primary-soft)}.rail-avatar.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.rail-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.rail-avatar-fallback{font-size:13px;font-weight:700;color:var(--avatar-color);letter-spacing:.5px;-webkit-user-select:none;user-select:none}.rail-theme-btn{width:44px;height:44px;border-radius:14px;border:1px solid transparent;background:var(--surface-2);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:all .15s}.rail-theme-btn:hover{background:var(--hover-bg);color:var(--warning, #f0ad4e);border-color:var(--line)}.rail-divider{width:36px;height:1px;background:var(--line);margin:2px 0 4px;flex:0 0 auto}.ghost-btn{padding:6px 12px;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.ghost-btn:hover{background:var(--hover-bg);color:var(--text)}.ghost-btn.danger{color:var(--danger)}.action-btn{padding:8px 18px;border-radius:10px;border:none;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.action-btn.primary{background:var(--primary);color:#fff}.action-btn.primary:hover{background:var(--primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{border:1px solid var(--line);background:transparent;color:var(--text)}.btn-sm{padding:4px 10px;font-size:12px}.btn-block{width:100%}.dashed-btn{width:100%;padding:10px;border-radius:8px;border:1px dashed var(--line);background:transparent;color:var(--muted-2);cursor:pointer;font-size:12px}.dashed-btn:hover{border-color:var(--primary);color:var(--primary)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--border-radius, 12px);padding:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.badge-soft{background:var(--surface-3);color:var(--text-secondary)}.badge-info{background:#3498db26;color:#3498db}.badge-warning{background:#e67e2226;color:#e67e22}.badge-danger{background:#e74c3c26;color:#e74c3c}.badge-success{background:#1abc9c26;color:#1abc9c}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;background:var(--surface-2);color:var(--muted)}.chip-success{background:#1abc9c1f;color:#1abc9c}.chip-gray{background:var(--surface-3);color:var(--muted-2)}.hzerp-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.4}.hzerp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;min-height:200px}.hzerp-empty-state__icon{font-size:48px;margin-bottom:12px;opacity:.6}.hzerp-empty-state__title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-secondary)}.hzerp-empty-state__desc{margin:0 0 16px;font-size:13px;color:var(--text-muted);max-width:280px;line-height:1.5}.hzerp-kpi-card{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);transition:box-shadow .15s}.hzerp-kpi-card:hover{box-shadow:var(--shadow-sm)}.hzerp-kpi-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hzerp-kpi-card__label{font-size:13px;color:var(--text-secondary)}.hzerp-kpi-card__icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.hzerp-kpi-card__value{font-size:28px;font-weight:700;line-height:1.2}.hzerp-kpi-card__sub{margin-top:4px;font-size:12px;color:var(--text-secondary)}.hzerp-kpi-card__skeleton{height:32px;background:var(--surface-2);border-radius:6px;animation:pulse 1.5s infinite}.hzerp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlayIn .15s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.hzerp-dialog{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:320px;max-width:440px;box-shadow:var(--shadow-lg);animation:dialogIn .18s cubic-bezier(.16,1,.3,1)}@keyframes dialogIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.hzerp-dialog__title{margin:0 0 8px;font-size:17px;font-weight:700}.hzerp-dialog__message{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.6}.hzerp-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.hzerp-btn{padding:8px 20px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.hzerp-btn--primary{background:var(--primary);color:#fff}.hzerp-btn--primary:hover{background:var(--primary-hover)}.hzerp-btn--secondary{background:var(--surface-2);color:var(--text-secondary)}.hzerp-btn--secondary:hover{background:var(--surface-3)}.hzerp-btn--danger{background:var(--danger, #e74c3c);color:#fff}.hzerp-btn--danger:hover{opacity:.9}.data-table{width:100%;border-collapse:collapse}.data-table thead th{background:var(--surface-2);color:var(--muted-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.data-table tbody td{padding:10px 12px;font-size:13px;border-bottom:1px solid var(--line);color:var(--text)}.data-table tbody tr:hover{background:var(--hover-bg)}.sales-inline-table{border:none;border-collapse:collapse}.sales-inline-table thead th{background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 10px}.sales-inline-table tbody td{border-bottom:1px solid var(--line);padding:4px 6px}.sales-inline-table tbody tr,.sales-inline-table tbody tr:hover{background:transparent}.sales-inline-table .edit-input{background:transparent;border-color:transparent;padding:4px 0;box-shadow:none}.sales-inline-table .edit-input:focus{border-color:var(--line);background:var(--surface)}.sales-inline-table th input.edit-input{width:100%}.sales-inline-panel{border:1px solid var(--line);background:var(--surface)}.sales-inline-panel .card-header{margin-bottom:8px}.sales-inline-panel .edit-input{border-radius:6px}.mono{font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.kpi-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.kpi-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.kpi-label{font-size:12px;color:var(--muted-2);margin-bottom:2px}.kpi-value{font-size:20px;font-weight:800}.kpi-hint{font-size:11px;color:var(--muted-2);margin-top:2px}.perf-card{padding:14px;border-radius:10px;border:1px solid var(--line);background:var(--surface)}.perf-card-title{font-size:11px;color:var(--muted-2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.perf-card-value{font-size:18px;font-weight:800}.perf-card-hint{font-size:11px;color:var(--muted-2);margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);z-index:500;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--surface);border-radius:16px;width:480px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line)}.field-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.field-error{display:block;font-size:12px;color:var(--error);margin-top:2px}.edit-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:13px;outline:none}.edit-input-sm{padding:4px 8px;font-size:12px}.modal-body input:not([type=checkbox]):not([type=radio]),.modal-body select,.modal-body textarea{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:13px;outline:none;box-sizing:border-box}.search{padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:12px;outline:none;width:200px}.text-muted{color:var(--muted-2)}.text-secondary{color:var(--text-secondary)}.toolbar-right{margin-left:auto;display:flex;gap:8px;align-items:center}.actions{display:flex;gap:8px}.section-title{font-size:15px;font-weight:700;margin:0 0 12px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1;min-height:0}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-4{gap:4px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.min-h-0{min-height:0}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.px-16{padding-left:16px;padding-right:16px}.py-8{padding-top:8px;padding-bottom:8px}.py-12{padding-top:12px;padding-bottom:12px}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.m-0{margin:0}.text-center{text-align:center}.text-12{font-size:12px}.text-13{font-size:13px}.text-14{font-size:14px}.font-600{font-weight:600}.font-700{font-weight:700}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowrap{white-space:nowrap}.w-full{width:100%}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.page-section{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:auto}.page-section-row{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page-container{flex:1;min-height:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.card-body{padding:20px;display:flex;flex-direction:column;gap:16px}.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.info-row{display:flex;padding:6px 0}.info-label{font-size:12px;color:var(--muted-2);min-width:80px;flex-shrink:0}.info-value{font-size:13px;color:var(--text)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h3{margin:0;font-size:14px;font-weight:600}.engineering-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.engineering-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.engineering-alert{padding:10px 14px;border-radius:8px;font-size:12px}.engineering-safety-page{display:flex;flex-direction:column;gap:14px}.engineering-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.equipment-page{display:flex;flex-direction:column;gap:14px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.equipment-grid-two{display:grid;grid-template-columns:260px 1fr;gap:14px}.equipment-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border-radius:10px;background:var(--surface-2);font-size:12px;color:var(--muted-2)}.equipment-card-count{font-size:20px;font-weight:800;color:var(--text)}.equipment-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}.equipment-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);gap:12px;flex-wrap:wrap}.equipment-row-lead{display:flex;align-items:center;gap:10px}.equipment-row-title{font-size:13px;font-weight:600;color:var(--text)}.equipment-row-model{font-size:11px;color:var(--muted-2)}.equipment-row-meta{display:flex;align-items:center;gap:10px;font-size:12px}.member-toolbar{display:flex;align-items:center;gap:8px;padding:10px 0}.dept-list{display:flex;flex-direction:column;gap:4px}.dept-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text);transition:all .12s;border:none;background:transparent;width:100%;text-align:left}.dept-item:hover{background:var(--hover-bg)}.dept-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600;border-left:3px solid var(--primary)}.dept-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;cursor:pointer;transition:all .15s}.dept-head:hover{background:var(--hover-bg)}.dept-footer{padding:8px 14px;font-size:12px;color:var(--muted-2)}.service-archive-page{display:flex;flex-direction:column;gap:14px}.service-archive-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-archive-filter{display:flex;gap:8px;align-items:center;margin-bottom:12px}.service-archive-list{display:flex;flex-direction:column;gap:8px}.service-archive-actions{display:flex;gap:8px;justify-content:flex-end}.service-archive-hint{font-size:11px;color:var(--muted-2)}.service-archive-loading{text-align:center;padding:40px;color:var(--muted-2)}.service-archive-tags{display:flex;gap:4px;flex-wrap:wrap}.service-tag{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.service-tag.valid{background:#1abc9c1f;color:#1abc9c}.service-tag.warning{background:#e67e221f;color:#e67e22}.service-tag.danger{background:#e74c3c1f;color:#e74c3c}.profile-panel{padding:16px;height:100%;overflow-y:auto}.user-avatar-wrap{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700}.pulse-badge{position:relative}.pulse-live:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ai-conv-card{padding:10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}.section-card{margin-bottom:16px}.sales-manage-page{display:flex;flex-direction:column;gap:16px}.sales-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sales-kpi-card{padding:14px;border-radius:10px;border:1px solid var(--line);background:var(--surface)}.sales-table-shell{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.sales-virtual-shell{padding:20px;text-align:center;color:var(--muted-2)}.sales-toolbar{display:flex;align-items:center;gap:12px;padding:12px;flex-wrap:wrap}.sales-toolbar .filter-group{display:flex;gap:4px;flex-shrink:0}.sales-toolbar .search{flex:1;min-width:200px;max-width:320px}.sales-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.view-switch{display:flex;gap:2px;background:var(--surface-2);border-radius:8px;padding:2px}.view-switch-btn{padding:4px 10px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted-2);transition:all .15s}.view-switch-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.whale-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--surface-2);font-size:12px}.whale-switch{position:relative;width:32px;height:18px;border-radius:999px;background:var(--line);cursor:pointer;border:none;padding:0;transition:background .15s}.whale-switch.on{background:#e6a700}.whale-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);transition:left .15s ease}.whale-switch.on .whale-switch-thumb{left:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.panel.right-wrap{padding:0;overflow:hidden}.table-shell{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.topbar,.right-rail,.slide-panel,.subnav,.panel,.card,.table-shell,.modal-card,.member-toolbar,.data-table thead th,.data-table tbody td,.sales-kpi-card,.perf-card,.engineering-table,.engineering-alert,.engineering-grid-two>div{transition:background-color .18s ease,color .18s ease,border-color .18s ease}.avatar-img{width:40px;height:40px;border-radius:999px;object-fit:cover}.avatar{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;font-size:15px;font-weight:700;background:var(--avatar-bg);color:var(--avatar-color)}.user-avatar-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 12px 4px 4px;border-radius:999px;background:var(--surface-2);transition:background .15s}.user-avatar-wrap:hover{background:var(--line)}.user-name{font-size:14px;font-weight:600;color:var(--text)}.user-avatar-wrap .avatar{width:36px;height:36px;font-size:13px}.user-avatar-wrap .avatar-img{width:36px;height:36px}.rail-notif-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#e74c3c;border:2px solid var(--surface)}.rail-notif-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:8px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.mobile-menu-btn{display:none!important}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--modal-backdrop);display:flex;animation:mobileNavFadeIn .2s ease}.mobile-nav-panel{width:280px;max-width:80vw;height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:mobileNavSlideIn .25s ease;overflow-y:auto}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.mobile-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:background .15s}.mobile-nav-item:hover{background:var(--hover-bg)}.mobile-nav-item.active{background:var(--primary-soft);color:var(--primary)}.theme-toggle-label{display:inline}@keyframes mobileNavFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileNavSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(max-width:768px){.topbar{padding:0 12px}.topbar{height:56px}.content{margin-top:56px;height:calc(100vh - 56px)}.right-rail,.slide-panel{top:56px;height:calc(100vh - 56px)}.sales-toolbar{gap:8px}.sales-actions{margin-left:0;width:100%;justify-content:flex-start}.sales-toolbar .search{max-width:none;width:100%}.workspace{padding:14px}.subnav{overflow-x:auto;white-space:nowrap}.table-shell,.sales-table-shell,.sales-inline-panel{overflow-x:auto}.card-header{flex-wrap:wrap;gap:8px}.panel.right-wrap{overflow-x:auto}.data-table{min-width:720px}.sales-inline-table{min-width:760px}.engineering-grid-two{grid-template-columns:1fr}.engineering-kpis,.kpi-grid,.service-archive-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card{width:95vw;max-width:95vw}.nav{display:none}.mobile-menu-btn{display:inline-flex!important}.brand{gap:8px}.brand-title{font-size:20px}.right-rail{width:48px;padding:10px 4px;gap:6px}.rail-item{width:40px;height:40px;border-radius:10px}.slide-panel{width:100vw;right:0;top:56px;height:calc(100vh - 56px)}.content{margin-right:0}.theme-toggle-label,.user-name{display:none}.toolbar-right{gap:4px}.ghost-btn{padding:4px 8px}.workspace{padding:16px;gap:14px}.subnav{padding:8px 12px;gap:2px}.subnav-btn{padding:4px 10px;font-size:12px}.modal-card{width:95vw;max-width:95vw;border-radius:12px}.kpi-grid,.sales-kpis,.engineering-kpis{grid-template-columns:repeat(2,1fr)}.engineering-grid-two,.equipment-grid-two,.equipment-grid{grid-template-columns:1fr}}@media(max-width:1024px){.nav{gap:2px}.nav a{padding:6px 10px;font-size:13px}.slide-panel{width:300px}.theme-toggle-label{display:none}}@media(max-width:1366px){.topbar{padding:0 16px}.brand{gap:10px}.nav{gap:2px;flex-wrap:wrap}.nav a{padding:6px 10px;font-size:13px}.toolbar-right{gap:6px}.theme-toggle-label{display:none}.right-rail{width:56px}.slide-panel{width:320px}.content{margin-right:56px}.workspace{padding:18px;gap:16px}.subnav{padding:8px 18px 8px 146px}.sales-kpis,.engineering-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.engineering-grid-two,.equipment-grid-two{grid-template-columns:1fr}.service-archive-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.topbar{height:56px;padding:0 8px}.right-rail{top:56px;height:calc(100vh - 56px);width:44px}.slide-panel{top:56px;height:calc(100vh - 56px);width:100vw}.workspace{padding:12px}.sales-toolbar{padding:8px 0}.sales-actions{gap:6px}.data-table,.sales-inline-table{min-width:640px}.brand-title{font-size:18px}.content{margin-top:56px;height:calc(100vh - 56px)}.slide-panel{top:56px;height:calc(100vh - 56px)}.kpi-grid,.sales-kpis,.engineering-kpis,.service-archive-stats{grid-template-columns:1fr}}
