.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(160deg,#0b1e46,#123368 55%,#1e4fb8 130%);background-size:34px 34px,34px 34px,auto;color:#fff;overscroll-behavior:none}.login-main{width:100%;max-width:400px;margin:auto;padding:44px 20px 28px;display:flex;flex-direction:column}.login-brand{text-align:center;margin-bottom:30px}.login-brand-logo{width:140px;height:140px;margin:0 auto 16px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #0000004d}.login-brand-img{display:block;width:86%;height:auto}.login-title{font-size:34px;font-weight:700;letter-spacing:1px}.login-sub{color:#ffffff9e;font-size:16px;font-weight:600;margin-top:5px}.login-form{width:min(320px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.login-field{position:relative}.login-field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.75;pointer-events:none}.login-field input{width:100%;min-height:50px;padding:0 16px 0 44px;border-radius:0;border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff;font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:#ffffff8c}.login-field input:focus{border-color:#60a5fad9;box-shadow:0 0 0 3px #3b82f659}.login-submit{min-height:50px;border-radius:0;border:0;background:#2563eb;color:#fff;font-size:16px;font-weight:600;letter-spacing:2px;cursor:pointer}.login-submit:disabled{opacity:.7}.login-error{background:#dc262647;border:1px solid rgba(248,113,113,.5);color:#fecaca;padding:10px 14px;border-radius:0;font-size:12px}.login-notice{background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#ffffffe0;padding:10px 14px;border-radius:0;font-size:12px}.login-enterprise{width:min(320px,100%);margin:28px auto 0}.login-divider{display:flex;align-items:center;gap:12px;color:#ffffff80;font-size:12px;margin-bottom:14px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff2e}.login-alt{width:100%;min-height:44px;border-radius:0;border:1px solid rgba(255,255,255,.22);background:#ffffff0d;color:#ffffff6b;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;cursor:not-allowed;font-size:12px}.login-status{flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 16px calc(22px + env(safe-area-inset-bottom));color:#ffffff8c;font-size:12px}.login-status .dot-ok{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:5px}@media (max-width: 768px){.login-main{padding:30px 16px 20px}.login-brand{margin-bottom:24px}.login-title{font-size:30px}.login-brand-logo{width:120px;height:120px}.login-form,.login-enterprise{width:min(300px,100%)}.login-field input{min-height:48px;font-size:16px}.login-submit{min-height:48px}.login-status{gap:14px}}.qs-sub{font-size:12px;color:var(--gray-400);margin:-4px 0 6px}.qs-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;background:none;border:none;border-radius:var(--radius);cursor:pointer;text-align:left;transition:background .15s}.qs-row+.qs-row{border-top:1px solid var(--gray-100);border-radius:0}.qs-row:hover{background:var(--hover-bg)}.qs-icon{width:40px;height:40px;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.qs-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.qs-name{font-size:12px;font-weight:600;color:var(--gray-900)}.qs-desc{font-size:12px;color:var(--gray-500)}.qs-arrow{width:16px;height:16px;color:var(--gray-300);flex-shrink:0}.qs-row:hover .qs-arrow{color:var(--primary)}.portal-main{width:100%;display:flex;flex-direction:column;gap:12px}.portal-hint{background:var(--surface-alt);border:1px solid var(--border-light);color:var(--gray-600);border-radius:var(--radius);padding:10px 14px;font-size:12px}.portal-search{position:relative;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;background:#f2f4f8;border:1px solid transparent;border-radius:0}.portal-search:focus-within{background:#fff;border-color:var(--primary)}.portal-search>svg{width:18px;height:18px;color:var(--gray-400);flex:none}.portal-search input{flex:1;min-width:0;border:0;background:transparent;font-size:12px;color:var(--gray-900);outline:none}.portal-search input::placeholder{color:var(--gray-400)}.portal-search input::-webkit-search-cancel-button{-webkit-appearance:none}.portal-search-clear{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--gray-200);color:var(--gray-600);font-size:12px;line-height:1;cursor:pointer}.portal-search-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#fff;border:1px solid var(--border-light);border-radius:0;box-shadow:0 8px 24px #0b1e461f;padding:6px 0;max-height:56vh;overflow-y:auto}.psp-group+.psp-group{border-top:1px solid var(--border-light)}.psp-group-head{padding:8px 14px 4px;font-size:11px;color:var(--gray-400)}.psp-row{display:flex;flex-direction:column;gap:2px;padding:7px 14px;cursor:pointer}.psp-row:active{background:var(--hover-bg)}.psp-title{font-size:12px;font-weight:600;color:var(--gray-800)}.psp-sub{font-size:12px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psp-more{padding:7px 14px;font-size:12px;color:var(--primary);cursor:pointer}.psp-more:active{background:var(--hover-bg)}.psp-empty{padding:24px 14px;text-align:center;font-size:12px;color:var(--gray-400)}.psp-foot{border-top:1px solid var(--border-light);padding:7px 14px 2px;font-size:11px;color:var(--gray-400);text-align:center}.portal-quick{background:#fff;border:1px solid var(--border-light);border-radius:0;padding:14px 4px}.portal-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0}.pa-btn{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:2px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.pa-btn.closed{cursor:not-allowed;opacity:.58}.pa-icon{width:44px;height:44px;border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--gray-500)}.pa-icon svg{width:22px;height:22px}.pa-label{font-size:12px;color:var(--gray-600)}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{position:relative;display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid #e6ebf3;border-radius:0;padding:12px;box-shadow:0 1px 2px #0b1e460a,0 4px 12px #0b1e460d;cursor:default;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s,border-color .15s,transform .1s}.module-card.closed{opacity:.55;cursor:not-allowed}.module-card.open{cursor:pointer;border-color:#2563eb59}.module-card.open:hover{border-color:var(--primary);box-shadow:0 6px 16px #2563eb1f}.module-card.open:active{transform:scale(.98)}.module-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;border-radius:0}.module-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.module-label{font-size:12px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-dept{font-size:11px;color:var(--gray-400)}.module-badge{flex-shrink:0;font-size:11px;background:var(--primary);color:#fff;font-weight:700;border-radius:0;padding:1px 7px}.module-arrow{flex-shrink:0;width:16px;height:16px;color:#2563eb80}@media (min-width: 769px){.portal-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}}.me-page{max-width:560px;display:flex;flex-direction:column;min-height:calc(100vh - 200px)}.me-version{margin-top:auto;padding:24px 2px 4px;text-align:right;font-size:12px;color:var(--gray-400)}.me-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.me-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:0;padding:0;border:0;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.me-avatar img{width:100%;height:100%;object-fit:cover;display:block}.me-avatar:hover{box-shadow:0 0 0 4px #2563eb26}.me-avatar:active{transform:scale(.96)}.me-avatar:disabled{cursor:default;opacity:.7}.me-avatar-hint{font-size:12px;color:var(--gray-400);min-height:16px}.me-avatar-hint-error{color:var(--danger)}.me-name{font-size:18px;font-weight:600;color:var(--gray-900)}.me-role{font-size:12px;color:var(--gray-500);background:var(--surface-alt);border:1px solid var(--border-light);border-radius:0;padding:2px 10px}.me-meta{margin-top:14px;width:100%;max-width:300px;display:flex;flex-direction:column;gap:8px;text-align:left}.me-meta-row{display:flex;justify-content:space-between;font-size:12px;color:var(--gray-800)}.me-meta-label{color:var(--gray-500)}.me-links{margin-top:12px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);display:flex;flex-direction:column}.me-link{display:flex;align-items:center;padding:13px 16px;font-size:12px;color:var(--gray-800);text-decoration:none;background:none;border:0;border-bottom:1px solid var(--border-light);text-align:left;cursor:pointer;width:100%}.me-link:last-child{border-bottom:0}.me-link:hover{background:var(--surface-alt)}.me-link-danger{color:var(--danger)}.server-status{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 16px 12px;margin-bottom:12px}.ss-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ss-title{font-size:12px;font-weight:600;color:var(--gray-900)}.ss-badge{font-size:12px;font-weight:600;border-radius:0;padding:2px 10px}.ss-ok{background:#f0fdf4;color:#16a34a}.ss-warning{background:#fff7ed;color:#ea580c}.ss-danger{background:#fef2f2;color:#dc2626}.ss-checking{background:#f1f5f9;color:var(--gray-500)}.ss-refresh{margin-left:auto;font-size:12px;color:var(--gray-600);border:1px solid var(--border-light);background:#fff;border-radius:0;padding:3px 10px;cursor:pointer}.ss-refresh:hover{background:var(--surface-alt)}.ss-alerts{margin-bottom:8px}.ss-alert{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:0;font-size:12px;margin-bottom:6px;line-height:1.4}.ss-alert:last-child{margin-bottom:0}.ss-alert-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.ss-alert-warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.ss-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray-800)}.ss-item .ss-label{color:var(--gray-500)}.ss-events{margin-top:10px;border-top:1px dashed var(--border-light);padding-top:8px}.ss-events-title{font-size:12px;color:var(--gray-400);margin-bottom:4px}.ss-event{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-700);padding:3px 0}.ss-event-kind{flex-shrink:0;border-radius:0;padding:1px 6px;font-size:11px;font-weight:600}.ss-kind-fail{background:#fef2f2;color:#dc2626}.ss-kind-unauth{background:#fff7ed;color:#ea580c}.ss-event-detail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-event-time{flex-shrink:0;color:var(--gray-400);font-family:monospace;font-size:11px}.ss-empty{font-size:12px;color:var(--gray-400);padding:2px 0}.ss-checked{margin-top:8px;text-align:right;font-size:11px;color:var(--gray-400)}.me-page.me-mobile{max-width:none;margin:0 -14px;min-height:calc(100vh - 76px);background:#f5f7fa}.me-hero{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 20px;background:linear-gradient(160deg,#0b1e46,#123368 55%,#1e4fb8 130%);color:#fff}.me-hero-avatar{flex-shrink:0;width:56px;height:56px;padding:0;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.me-hero-avatar img{width:100%;height:100%;object-fit:cover;display:block}.me-hero-avatar svg{width:26px;height:26px}.me-hero-avatar:disabled{cursor:default;opacity:.8}.me-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.me-hero-name{font-size:16px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-hero-pills{display:flex;flex-wrap:wrap;gap:6px}.me-hero-pill{background:#ffffff29;border-radius:0;padding:2px 10px;font-size:11px;color:#ffffffeb;white-space:nowrap}.me-hero-gear{flex-shrink:0;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#ffffff29;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.me-hero-gear svg{width:19px;height:19px}.me-body{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.me-group{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.me-row{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:0;border-bottom:1px solid var(--border-light);font-size:12px;color:var(--gray-800);text-align:left;cursor:pointer}.me-row:last-child{border-bottom:0}.me-row:active{background:#f8fafc}.me-row:disabled{cursor:default}.me-row:disabled .me-row-label{color:var(--gray-400)}.me-row-ic{flex-shrink:0;width:20px;height:20px;color:var(--gray-400);display:flex;align-items:center;justify-content:center}.me-row-ic svg{width:20px;height:20px}.me-row-label{flex:1;min-width:0}.me-row-value{flex-shrink:0;max-width:55%;font-size:12px;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-row-arrow{flex-shrink:0;color:var(--gray-300);font-size:16px;line-height:1}.me-logout{width:100%;padding:13px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;font-weight:600;color:var(--danger);cursor:pointer}.me-logout:active{background:#fef2f2}.me-status{display:flex;flex-direction:column;gap:12px}.me-sec-head{display:flex;align-items:center;gap:8px;padding:13px 14px 10px}.me-sec-title{font-size:12px;font-weight:600;color:var(--gray-900)}.me-sec-sub{margin-left:auto;font-size:11px;color:var(--gray-400)}.me-status-badge{font-size:11px;font-weight:600;border-radius:0;padding:2px 8px;white-space:nowrap}.me-status-badge.ok{background:#f0fdf4;color:#16a34a}.me-status-badge.warning{background:#fff7ed;color:#ea580c}.me-status-badge.danger{background:#fef2f2;color:#dc2626}.me-status-badge.checking{background:#f1f5f9;color:var(--gray-500)}.me-sec-refresh{margin-left:auto;flex-shrink:0;font-size:12px;color:var(--gray-600);border:1px solid var(--border-light);background:#fff;border-radius:0;padding:3px 10px;cursor:pointer}.me-sec-refresh:active{background:var(--surface-alt)}.me-alert-row{margin:0 14px 8px;padding:8px 10px;border-radius:0;font-size:12px;line-height:1.4}.me-alert-row.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.me-alert-row.warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.me-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:2px 14px 10px}.me-status-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray-800)}.me-status-label{color:var(--gray-500)}.me-status-val{font-variant-numeric:tabular-nums}.me-sec-foot{padding:8px 14px 10px;border-top:1px dashed var(--border-light);text-align:right;font-size:11px;color:var(--gray-400)}.me-event{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12px;color:var(--gray-700)}.me-event+.me-event{border-top:1px solid var(--border-light)}.me-event-kind{flex-shrink:0;border-radius:0;padding:1px 6px;font-size:11px;font-weight:600}.me-event-kind.fail{background:#fef2f2;color:#dc2626}.me-event-kind.ok{background:#f0fdf4;color:#16a34a}.me-event-kind.unauth{background:#fff7ed;color:#ea580c}.me-device-badge{flex-shrink:0;border-radius:0;padding:1px 6px;font-size:10px;font-weight:500}.me-device-badge.phone{background:#eff6ff;color:#2563eb}.me-device-badge.pc{background:var(--gray-100);color:var(--gray-600)}.me-device-badge.old{background:none;color:var(--gray-400)}html[data-theme=dark] .me-device-badge.phone{background:#60a5fa2e;color:#60a5fa}html[data-theme=dark] .me-device-badge.pc{background:#94a3b82e;color:#94a3b8}html[data-theme=dark] .me-device-badge.old{color:#64748b}.me-event-detail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-event-time{flex-shrink:0;color:var(--gray-400);font-family:monospace;font-size:11px}.me-empty{font-size:12px;color:var(--gray-400);padding:2px 14px 12px}.me-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:2000;max-width:80vw;background:#111827eb;color:#fff;font-size:12px;padding:9px 16px;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.me-theme-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172a80;display:flex;align-items:flex-end}.me-theme-panel{width:100%;background:#fff;border-radius:0;padding:6px 16px calc(env(safe-area-inset-bottom) + 14px)}.me-theme-title{text-align:center;font-size:12px;font-weight:600;color:var(--gray-800);padding:12px 0 8px}.me-theme-opt{display:flex;align-items:center;width:100%;background:none;border:none;padding:12px 2px;text-align:left;cursor:pointer}.me-theme-opt+.me-theme-opt{border-top:1px solid var(--gray-100)}.me-theme-opt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.me-theme-opt-name{font-size:12px;color:var(--gray-800)}.me-theme-opt-sub{font-size:12px;color:var(--gray-400)}.me-theme-opt-check{flex:none;color:var(--primary);font-size:16px;font-weight:700;margin-left:10px}.me-theme-cancel{display:block;width:100%;margin-top:10px;padding:12px 0;background:var(--gray-100);border:none;border-radius:0;color:var(--gray-700);font-size:12px;cursor:pointer}@media (min-width: 769px){.me-theme-title{font-size:18px;font-weight:600}}.wb-page{max-width:560px;margin:0 auto;padding:12px 0 8px}.wb-card{margin-bottom:12px}.wb-todo-group+.wb-todo-group{margin-top:8px}.wb-todo-group-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 0}.wb-todo-group-name{font-size:12px;color:var(--gray-500)}.wb-todo-group-count{font-size:11px;font-weight:600;color:var(--primary);background:#e8effc;border-radius:0;padding:1px 8px}.wb-alert{display:flex;align-items:center;gap:8px;width:100%;padding:10px;margin-bottom:8px;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:0}.wb-alert:last-child{margin-bottom:0}.wb-alert.warn{background:#fffbeb;border-color:#fde68a}.wb-alert .wb-dot{flex:none}.wb-alert-main{flex:1;min-width:0}.wb-alert-line1{display:flex;align-items:baseline;gap:8px}.wb-alert-name{flex:1;min-width:0;font-size:12px;font-weight:600;color:var(--gray-800)}.wb-alert-val{font-size:12px;color:var(--gray-500);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.wb-alert-line2{font-size:11px;color:var(--gray-500);margin-top:3px}.wb-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wb-kpi{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow);min-width:0;text-align:left;font-family:inherit}button.wb-kpi{cursor:pointer}.wb-kpi-label{font-size:12px;color:var(--gray-500);margin-bottom:4px}.wb-kpi-val{font-size:17px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-kpi-sub{font-size:11px;color:var(--gray-400);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-row{display:flex;align-items:center;gap:8px;width:100%;padding:10px 2px;background:none;border:none;border-bottom:1px dashed var(--border-light);font-size:12px;color:var(--gray-700);text-align:left}.wb-row:last-child{border-bottom:none}.wb-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-badge{background:var(--primary);color:#fff;font-size:11px;font-weight:600;border-radius:0;padding:1px 8px;min-width:20px;text-align:center}.wb-row-arrow{width:16px;height:16px;color:var(--gray-400);flex:none}.wb-dot{width:8px;height:8px;border-radius:50%;flex:none}.wb-empty{padding:10px 2px;margin:0;font-size:12px;color:var(--gray-400)}.wb-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 4px;padding-top:4px}.wb-app{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none}.wb-app-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px}.wb-app-label{font-size:12px;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wb-state{padding:48px 20px;text-align:center;color:var(--gray-500);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:12px}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-light: #eff6ff;--primary-dark: #1d4ed8;--content-bg: #ffffff;--surface-alt: #f5f7fa;--hover-bg: #eaf2fe;--hover-border: #c7d9f7;--border-light: #e3e8f1;--success: #16a34a;--success-light: #f0fdf4;--warning: #ea580c;--warning-light: #fff7ed;--danger: #dc2626;--danger-light: #fef2f2;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--sidebar-bg: #ffffff;--sidebar-border: #e3e8f1;--sidebar-text: #4b5563;--radius: 0;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--ok: #18a058;--ok-bg: #e6f4ea;--warn: #b45309;--warn-bar: #f59e0b;--warn-bg: #fef4e6;--dan: #e5484d;--dan-bg: #fdecec;--mut: #8a94a6;--mut2: #b6bfcc;--line: #eceef2}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:12px;background:var(--content-bg);color:var(--gray-800);line-height:1.6}.layout{display:flex;flex-direction:column;min-height:100vh}.sidebar{width:220px;background:#fff;border-right:1px solid #e6ebf3;color:#334155;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100}.sidebar-header{padding:24px 20px;border-bottom:1px solid #eef1f5}.sidebar-user-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-avatar-top{width:36px;height:36px;font-size:18px;flex-shrink:0}.sidebar-brand-name{margin-top:10px;font-size:18px;font-weight:600;line-height:1.4;white-space:normal;color:#1f2937}.nav-group-title{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px 6px;font-size:18px;font-weight:600;letter-spacing:.4px;color:#475569;background:none;border:0;font-family:inherit;text-align:left;cursor:pointer;border-radius:var(--radius)}.nav-group-title:hover{background:#0f172a0f;color:#0f172a}.nav-group-title.g-active{color:#2563eb}.nav-group-chevron{margin-left:auto;font-size:16px;color:#94a3b8;transition:transform .15s ease}.nav-group-title:hover .nav-group-chevron,.nav-group-title.g-active .nav-group-chevron{color:#334155}.nav-group.g-closed .nav-group-chevron{transform:rotate(-90deg)}.nav-group .nav-item{padding-left:26px;background:transparent;border-radius:0;position:relative}.nav-group .nav-item:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#ffffff80;margin-right:8px;flex-shrink:0;transition:background .12s ease}.nav-group .nav-item:hover{background:transparent}.nav-group .nav-item:hover:before{background:#ffffffe6}.nav-group .nav-item.active{background:transparent;box-shadow:none}.nav-group .nav-item.active:before{background:#fff}.nav-item.nav-item-disabled{color:#b3bcc9;cursor:not-allowed}.nav-item.nav-item-disabled:hover{background:none;color:#b3bcc9}.nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{padding:12px 8px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:0}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#0f172a52}.sidebar-footer{padding:14px 12px 16px;border-top:1px solid #eef1f5;display:flex;flex-direction:column;gap:10px}.user-info{display:flex;align-items:center;gap:8px;min-width:0}.user-avatar{width:30px;height:30px;border-radius:50%;background:#eaf2fe;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-details{min-width:0}.user-name{font-size:18px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sidebar-ghost-btn{font-size:18px!important;padding:6px 10px!important;width:100%;justify-content:center;color:#475569!important;background:#f1f5f9!important;border-color:#d8dfe8!important}.sidebar-ghost-btn:hover{color:#0f172a!important;background:#e2e8f0!important;border-color:#c4ccd8!important}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);color:#334155;text-decoration:none;font-size:18px;font-weight:400;transition:all .15s}.nav-item:hover{background:#0f172a0f;color:#0f172a}.nav-item.active{background:#2e6cc4;color:#fff;font-weight:600}.nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.nav-ico{width:16px;height:16px;display:block}.sidebar .nav-item .nav-icon{display:none}.main-content{margin-left:220px;flex:1;padding:0 32px;min-height:100vh;min-width:0}.page-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border-light);margin:0 -32px 8px;padding:28px 32px 16px}.page-header h2{font-size:22px;font-weight:600;color:var(--gray-900)}.page-header p{color:var(--gray-500);font-size:12px;margin-top:4px}.ws-tabs{display:none}@media (min-width: 769px){.ws-tabs{display:flex;align-items:flex-start;gap:2px;position:sticky;top:0;z-index:40;height:40px;flex:none;margin-left:220px;padding:0 12px;background:#eef2f7;border-bottom:1px solid var(--border-light)}.main-content{min-height:calc(100vh - 40px)}.pt-strip{flex:1;min-width:0;display:flex;align-items:flex-start;gap:6px;overflow-x:auto;scrollbar-width:none}.pt-strip::-webkit-scrollbar{display:none}.pt-tab{flex:none;display:inline-flex;align-items:center;gap:6px;max-width:180px;height:40px;padding:0 14px;font-size:12px;color:var(--gray-600);background:#fff;border:1px solid var(--border-light);border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,color .12s ease}.pt-tab:hover{background:#f8fafc;color:var(--gray-800)}.pt-tab.active{background:#fff;color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.pt-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-close{flex:none;border:none;background:none;padding:0;width:16px;height:16px;line-height:16px;border-radius:0;color:var(--gray-500);font-size:12px;cursor:pointer}.pt-close:hover{background:#e2e8f0;color:var(--danger, #dc2626)}.pt-arrow{flex:none;align-self:center;border:none;background:none;cursor:pointer;width:22px;height:26px;color:var(--gray-500);font-size:16px;border-radius:0}.pt-arrow:hover{background:#0000000f;color:var(--gray-800)}.page-header{top:40px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stats-grid.cols-4{grid-template-columns:repeat(4,1fr)}.stat-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat-card .stat-label{font-size:12px;color:var(--gray-500);margin-bottom:6px}.stat-card .stat-value{font-size:24px;font-weight:700;color:var(--gray-900)}.stat-card .stat-value.success{color:var(--success)}.stat-card .stat-value.danger{color:var(--danger)}.stat-card .stat-value.warning{color:var(--warning)}.card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{font-size:16px;font-weight:600}table{width:100%;border-collapse:collapse}table th,table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--gray-100);font-size:12px}table th{font-weight:600;color:var(--gray-600);font-size:12px;text-transform:uppercase;letter-spacing:.5px;background:var(--surface-alt);border-bottom-color:var(--gray-200)}table th:not(:last-child){border-right:1px solid var(--gray-300)}table td:not(:last-child){border-right:1px solid var(--gray-200)}table tbody tr:hover{background:var(--hover-bg)}table tbody tr.row-selected,table tbody tr.row-selected:hover{background:var(--content-bg);color:var(--primary)}table tbody tr.row-selected td{border-bottom-color:var(--border-light)}table tbody tr.row-selected td div{color:var(--gray-500)}.badge{display:inline-block;padding:2px 10px;border-radius:0;font-size:12px;font-weight:500}.badge-pending{background:var(--warning-light);color:var(--warning)}.badge-received{background:var(--success-light);color:var(--success)}.badge-partial{background:#fef3c7;color:#b45309}.badge-pending_approval{background:#dbeafe;color:#1e40af}.badge-rejected{background:var(--danger-light);color:var(--danger)}.badge-void,.status-void{background:#e5e7eb;color:#4b5563}.badge-reversed,.status-reversed{background:#fdecec;color:#9f1239;text-decoration:line-through}.badge-reversal,.status-reversal{background:#dbeafe;color:var(--primary)}.sc-level-a{background:#dbeafe;color:#2563eb}.sc-level-b{background:var(--success-light);color:var(--success)}.sc-level-c{background:#fef3c7;color:#b45309}.sc-type{background:var(--danger-light);color:var(--danger)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:#fff;color:var(--gray-700);border:1px solid var(--border-light)}.btn-outline:hover{background:var(--hover-bg);color:var(--primary);border-color:var(--hover-border)}.btn-outline.active,.btn-outline.active:hover{background:var(--content-bg);color:var(--primary);border-color:var(--primary)}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-outline:disabled,.btn-outline:disabled:hover{background:#fff;color:var(--gray-400);border-color:var(--border-light)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:10px;font-size:12px;color:var(--gray-600)}.pager-info{margin-right:auto}.pager-size{display:inline-flex;align-items:center;gap:6px}.pager-size select{padding:5px 8px;background:#fff;color:var(--gray-700);border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px}.pager-size select:hover{border-color:var(--hover-border)}.pager-size select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.form-group{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:16px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;font-size:12px}.detail-grid label{display:block;font-size:12px;color:var(--gray-500);margin-bottom:2px}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{border-left:2px solid var(--border-light);padding-left:12px}.timeline-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:3px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--gray-700);margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;color:var(--gray-800);transition:border-color .15s,box-shadow .15s}.form-group input:hover:not(:disabled),.form-group select:hover:not(:disabled),.form-group textarea:hover:not(:disabled){border-color:var(--hover-border)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-section-title{font-size:12px;font-weight:600;color:var(--gray-800);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}@media (max-width: 768px){.form-row-3{grid-template-columns:1fr}}.quick-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:16px;align-items:end}.quick-add-grid .btn{white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}@media (min-width: 769px){.modal-overlay{pointer-events:none}.modal-overlay>*{pointer-events:auto}}.modal{background:#fff;border-radius:var(--radius);padding:24px;width:90%;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray-400);padding:4px}.modal-close:hover{color:var(--primary)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200)}.filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-bar input,.filter-bar select{padding:7px 12px;background:#fff;color:var(--gray-700);border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px}.pg-sel{padding:4px 8px;background:#fff}.filter-bar input:hover,.filter-bar select:hover{border-color:var(--hover-border)}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.approval-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.approval-tab{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 8px;border:1px solid transparent;border-radius:var(--radius);font-size:12px;font-weight:500;cursor:pointer;transition:filter .15s}.approval-tab:hover{filter:brightness(.95)}.approval-tab{background:#eaf2fe;color:var(--primary)}.approval-tab.active{background:var(--primary);color:#fff}.approval-dingtop{display:none}.recent-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 6px;font-size:12px;font-weight:600}.recent-group:before{content:"";width:10px;height:10px;border-radius:0;background:currentColor;flex:none}.recent-group.at-order{color:var(--primary)}.recent-group.at-receipt{color:var(--success)}.recent-group.at-payment{color:var(--warning)}.recent-group.at-expense{color:#0d9488}.recent-group.at-adjust{color:#7c3aed}.recent-group.at-stocktake{color:#0ea5e9}.recent-group.at-inbound{color:#f59e0b}.recent-group.at-supply{color:#059669}.recent-group.at-vehicle{color:#6366f1}.recent-group.at-seal{color:#db2777}.todo-group-amt{margin-left:auto;font-size:12px;font-weight:500;color:var(--gray-500);white-space:nowrap}.exp-cat+.exp-cat{border-top:1px dashed var(--gray-200);padding-top:14px;margin-top:14px}.exp-cat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.exp-cat-name{font-size:12px;font-weight:600}.exp-cat-head .btn{margin-left:auto}.exp-cat-head .btn+.btn{margin-left:0}.recent-divider{display:flex;align-items:center;gap:10px;color:var(--gray-500);font-size:12px;white-space:nowrap}.recent-divider .line{flex:1;height:1px;background:var(--gray-200)}.numbered-list tr.recent-no-row td{padding:12px 0 2px;border-bottom:none}.numbered-list tr.recent-no-row:hover{background:transparent}.numbered-list tbody tr:not(.recent-no-row) td{border-bottom:none}.seq-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--gray-200);border-radius:0;background:transparent;color:var(--gray-600);font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.material-list th.seq-col,.material-list td.seq-col{width:40px;padding:10px 6px}.material-list .seq-num{display:inline;width:auto;min-width:0;height:auto;padding:0;border:none;border-radius:0;background:none}.sr-prod-line{font-size:12px;color:var(--gray-600);line-height:1.5;white-space:nowrap}.rd-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:90;animation:rdFade .18s ease-out}.rd-mask.closing{animation:rdFadeOut .16s ease-in forwards}.rd-drawer{position:fixed;top:0;right:0;bottom:0;width:720px;max-width:94vw;background:#fff;z-index:91;display:flex;flex-direction:column;box-shadow:-10px 0 28px #0f172a24;animation:rdIn .22s cubic-bezier(.22,.61,.36,1)}.rd-drawer.closing{animation:rdOut .16s ease-in forwards}@keyframes rdFade{0%{opacity:0}to{opacity:1}}@keyframes rdFadeOut{to{opacity:0}}@keyframes rdIn{0%{transform:translate(64px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes rdOut{to{transform:translate(64px);opacity:0}}.rd-head{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--line);background:#f5f7fa}.rd-head-main{flex:1;min-width:0}.rd-title{font-size:17px;font-weight:800;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-sub{font-size:12px;color:var(--mut);margin-top:2px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-close{width:32px;height:32px;border:1px solid var(--line);background:#fff;color:#5b6472;font-size:18px;line-height:1;cursor:pointer;flex:none}.rd-close:hover{color:var(--brand);border-color:#bfd0fb;background:#f2f6ff}.rd-body{flex:1;overflow-y:auto;padding:20px 22px 32px;font-size:13px}.rd-foot{flex:none;display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--line);background:#fff}.rd-body .cd-basic-2col{grid-template-columns:1fr}.rd-body .stats-grid.cols-4{grid-template-columns:repeat(2,1fr)}.rd-body .cd-topbar{margin-bottom:12px;padding:10px 12px}.rd-body .cd-tabs{margin-bottom:12px}.rd-body .cd-info-grid{grid-template-columns:repeat(2,1fr)}.rd-body .cd-mini-stats{border-radius:0}.rd-body.rd-wide .cd-basic-2col{grid-template-columns:minmax(0,1fr) 420px}.rd-body.rd-wide .stats-grid.cols-4{grid-template-columns:repeat(4,1fr)}.cd-follow-add{margin-top:12px}.follow-form-inline{border:1px solid var(--line);border-radius:8px;background:#fafbfc;padding:14px 16px;margin-bottom:14px}.follow-form-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.follow-form-title{font-size:12px;font-weight:700;color:var(--gray-800)}.follow-form-body{display:flex;flex-direction:column;gap:10px}.follow-form-textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:13px;resize:vertical;min-height:120px;font-family:inherit;line-height:1.6}.follow-form-textarea:focus{outline:none;border-color:var(--primary)}.follow-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.follow-form-field{display:flex;flex-direction:column;gap:4px}.follow-form-field label{font-size:11px;font-weight:600;color:var(--mut)}.follow-form-field select,.follow-form-field input{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:12px;background:#fff}.follow-form-field select:focus,.follow-form-field input:focus{outline:2px solid var(--primary)}.follow-form-actions{display:flex;justify-content:flex-end;gap:8px}.customer-picker{position:relative;width:100%}.customer-picker-display{display:flex;border:1px solid var(--line);border-radius:6px;background:#fff}.customer-picker-value{flex:1;border:none;padding:6px 8px;font-size:12px;background:transparent}.customer-picker-value:focus{outline:none}.customer-picker-toggle{border:none;background:none;padding:6px 8px;cursor:pointer;color:var(--mut);font-size:12px}.customer-picker-toggle:hover{color:var(--primary)}.customer-picker-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:100}.customer-picker-search{width:100%;border:none;border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px}.customer-picker-search:focus{outline:none}.customer-picker-options{max-height:200px;overflow-y:auto}.customer-picker-option{padding:8px 10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px}.customer-picker-option:hover{background:var(--hover-bg)}.customer-picker-option.selected{background:var(--primary-bg);color:var(--primary)}.customer-picker-name{font-size:12px;font-weight:500}.customer-picker-meta{font-size:11px;color:var(--mut)}.customer-picker-loading,.customer-picker-empty{padding:12px 10px;text-align:center;color:var(--mut);font-size:12px}.follow-form-customer{display:flex;flex-direction:column;gap:4px}.follow-form-customer label{font-size:11px;font-weight:600;color:var(--mut)}.sr-sum{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}.sr-sum-tile{border:1px solid var(--line);background:#f8fafc;padding:10px 12px;min-width:0}.sr-sum-label{font-size:10px;color:var(--mut);font-weight:700}.sr-sum-val{font-size:16px;font-weight:800;color:var(--gray-800);font-variant-numeric:tabular-nums;margin-top:2px;white-space:nowrap}.sr-sum-val.dan{color:var(--danger)}.sr-sec{margin-bottom:20px}.sr-sec:last-child{margin-bottom:0}.sr-sec-title{display:flex;align-items:baseline;gap:8px;font-size:12px;font-weight:800;color:var(--gray-800);margin-bottom:10px}.sr-sec-note{font-size:10px;font-weight:400;color:var(--mut)}.sr-kv{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.sr-kv-row{display:flex;gap:8px;font-size:12px;min-width:0;padding:3px 0}.sr-kv-row .k{flex:none;width:52px;color:var(--mut)}.sr-kv-row .v{flex:1;color:var(--gray-700);word-break:break-all}.sr-kv-row.full{grid-column:1 / -1}.sr-tbl{width:100%;border-collapse:collapse;font-size:12px}.sr-tbl th{background:#f5f7fa;color:#5b6472;font-weight:700;padding:8px 10px;text-align:left;border:1px solid var(--line);white-space:nowrap}.sr-tbl td{padding:8px 10px;border:1px solid var(--line);color:var(--gray-700);vertical-align:top}.sr-tbl td.num,.sr-tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sr-tbl tfoot td{background:#f8fafc;font-weight:700;color:var(--gray-800)}.sr-tbl .mono{font-family:var(--mono, ui-monospace, monospace)}.sr-tbl .dan{color:var(--danger);font-weight:600}.sr-tbl .mut{color:var(--mut)}.sr-alloc-line{font-size:11px;white-space:nowrap}.sr-load{padding:24px 8px;color:var(--mut);font-size:12px}.sr-empty{padding:12px 0;color:var(--mut);font-size:12px}.material-list th{font-size:12px;padding:8px 14px}.material-list td{padding:8px 14px}.material-list .mat-th-box{display:flex;align-items:center;gap:8px}.material-list .mat-th-title{flex:none;white-space:nowrap}.material-list .mat-th-box input,.material-list .mat-th-box select{flex:1 1 0%;min-width:0;height:32px;font-size:12px;border:1px solid var(--gray-300);border-radius:0;padding:0 8px;background:#fff;color:var(--gray-800)}.material-list .mat-th-box input{width:96px}.material-list .mat-th-box select{width:128px}.material-list .mat-th-box input:focus,.material-list .mat-th-box select:focus{border-color:var(--primary);outline:none}.material-list .mat-th-box .mat-range{display:flex;gap:4px;flex:1 1 0%;min-width:0}.material-list .mat-th-box .mat-range input{flex:1 1 0;width:52px;min-width:0}.material-list .mat-th-box .mat-range input::placeholder{color:var(--gray-400);font-size:11px}.material-list .mat-empty-row td{border-right:none;padding:8px}.material-list .mat-empty-row .empty-state{padding:24px 12px}.material-list .mat-check-col{width:36px;padding:10px 6px 10px 14px}.material-list .mat-check-col input{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.mat-batch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:0;font-size:12px;color:var(--gray-700)}.mat-batch-count b{color:var(--primary);font-size:12px}@media (min-width: 769px){.material-list{border-collapse:separate;border-spacing:0}.material-list thead th{position:sticky;top:var(--mat-sticky-top, 0px);z-index:5}.mat-mcards{display:none}}.mat-fields-wrap{position:relative}.mat-fields-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:300px;max-height:72vh;overflow-y:auto;background:#fff;border:1px solid var(--gray-200);border-radius:0;box-shadow:0 10px 30px #0f172a24;padding:14px;font-size:12px;text-align:left}.mat-fields-sec+.mat-fields-sec{margin-top:14px}.mat-fields-sec-title{font-weight:600;color:var(--gray-800);margin-bottom:8px}.mat-fields-row{display:flex;gap:8px}.mat-fields-row select,.mat-fields-panel select{height:32px;border:1px solid var(--gray-300);border-radius:0;padding:0 8px;background:#fff;font-size:12px;color:var(--gray-800)}.mat-fields-row select{flex:1;min-width:0}.mat-fields-row select:focus,.mat-fields-panel select:focus{border-color:var(--primary);outline:none}.mat-fields-all{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--gray-700);padding:2px 0 8px;border-bottom:1px solid var(--gray-100);margin-bottom:6px;cursor:pointer}.mat-fields-all input,.mat-fields-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.mat-fields-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0}.mat-fields-item label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--gray-700);flex:1;min-width:0}.mat-fields-move{display:flex;gap:4px;flex-shrink:0}.mat-fields-move button{width:24px;height:24px;border:1px solid var(--gray-300);background:#fff;border-radius:0;color:var(--gray-600);cursor:pointer;font-size:12px;line-height:1;padding:0}.mat-fields-move button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.mat-fields-move button:disabled{opacity:.35;cursor:default}.mat-fields-reset{margin-top:12px;width:100%}@media (min-width: 769px){.material-list thead th.mat-frozen{z-index:8}.material-list tbody td.mat-frozen{position:sticky;z-index:4;background:#fff}.material-list tbody tr:hover td.mat-frozen{background:var(--hover-bg)}}.mat-name-link{background:none;border:none;padding:0;margin:0;font-weight:600;font-size:inherit;font-family:inherit;line-height:inherit;color:var(--primary);cursor:pointer;text-align:left}.mat-name-link:hover{text-decoration:underline}.mat-mcard-name .mat-name-link{font-size:12px;word-break:break-word}.pd-sec-title{font-size:12px;font-weight:600;color:var(--gray-800);padding-bottom:8px;margin-bottom:12px;border-bottom:1px dashed var(--border-light)}.pd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 24px}.pd-kv label{display:block;font-size:12px;color:var(--gray-500);margin-bottom:3px}.pd-kv-v{font-size:12px;font-weight:500;color:var(--gray-900);word-break:break-all}.pd-tbl{width:100%;border-collapse:collapse;font-size:12px}.pd-tbl th{background:var(--surface-alt);color:var(--gray-600);font-weight:600;text-align:left;padding:9px 10px;border-bottom:1px solid var(--border-light);white-space:nowrap}.pd-tbl td{padding:9px 10px;border-bottom:1px solid var(--border-light);vertical-align:middle}.pd-tbl tbody tr:hover{background:var(--hover-bg)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.pd-mcards{display:none}.pd-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.pd-photo{border:1px solid var(--border-light);border-radius:0;overflow:hidden;background:#fff}.pd-photo img{width:100%;height:130px;object-fit:cover;display:block}.pd-photo-cap{padding:8px 10px}.pd-photo-name{font-size:12px;font-weight:500;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-photo-meta{display:flex;align-items:center;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--gray-500)}.pd-files{display:flex;flex-direction:column}.pd-file-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 4px;border-bottom:1px dashed var(--border-light);font-size:12px}.pd-file-row:last-child{border-bottom:none}.pd-file-type{flex:none}.pd-file-name{color:var(--primary);flex:1;min-width:160px;word-break:break-all}.pd-file-name:hover{text-decoration:underline}.pd-file-meta{color:var(--gray-500);font-size:12px}.pd-mini-del{background:none;border:none;padding:0;font-size:12px;color:var(--danger);cursor:pointer;flex:none}.pd-mini-del:hover{text-decoration:underline}@media (max-width: 768px){.pd-grid{grid-template-columns:1fr;gap:10px}.pd-tbl{display:none}.pd-mcards{display:flex;flex-direction:column;gap:10px}.pd-mcard{border:1px solid var(--border-light);border-radius:0;padding:12px;background:#fff}.pd-mcard-title{font-weight:600;font-size:12px;margin-bottom:6px;word-break:break-all}.pd-mcard-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:4px 0}.pd-mcard-k{color:var(--gray-500);flex:none}.pd-mcard-v{text-align:right;word-break:break-all}.pd-photos{grid-template-columns:repeat(2,1fr);gap:10px}.pd-tabbar{overflow-x:auto;scrollbar-width:none}.pd-tabbar::-webkit-scrollbar{display:none}.pd-tabbar .page-tab{flex:none;padding:10px 12px;white-space:nowrap}}.tree-picker{position:relative}.tree-picker-input{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--gray-300);border-radius:0;background:#fff;cursor:pointer;font-size:12px}.tree-picker-input:hover{border-color:var(--primary)}.tree-picker-input .tree-placeholder{color:var(--gray-400)}.tree-picker-input .tree-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-picker-input .tree-arrow{color:var(--gray-500);font-size:12px}.tree-picker-panel{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#fff;border:1px solid var(--gray-200);border-radius:0;box-shadow:0 8px 24px #0f172a1f}.tree-search{width:100%;border:none;border-bottom:1px solid var(--gray-100);padding:10px 12px;font-size:12px;outline:none;border-radius:0}.tree-scroll{max-height:260px;overflow-y:auto;padding:4px 0}.tree-item{display:flex;align-items:center;gap:4px;padding:7px 12px;font-size:12px;cursor:pointer}.tree-item:hover{background:var(--hover-bg)}.tree-item.selected{background:var(--content-bg);color:var(--primary);font-weight:600}.tree-caret{width:16px;flex:none;text-align:center;color:var(--gray-400);font-size:11px}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-off{flex:none;font-size:11px;color:var(--gray-400);border:1px solid var(--gray-200);border-radius:0;padding:0 4px}.tree-empty{padding:14px 12px;font-size:12px;color:var(--gray-400);text-align:center}.tree-item-disabled{opacity:.55;cursor:default}.tree-item-disabled:hover{background:transparent}.tree-clear{border-top:1px solid var(--gray-100);padding:9px 12px;font-size:12px;color:var(--danger);cursor:pointer;text-align:center}.cat-split{display:grid;grid-template-columns:320px 1fr;gap:14px;align-items:start}.cat-pane{background:#fff;border:1px solid var(--gray-200);border-radius:0;padding:12px}.cat-pane-title{font-size:12px;font-weight:700;color:var(--gray-600);margin-bottom:10px}.cat-tree-scroll{max-height:62vh;overflow-y:auto}.cat-node{display:flex;align-items:center;gap:4px;padding:7px 10px;font-size:12px;cursor:pointer;border-radius:0}.cat-node:hover{background:var(--hover-bg)}.cat-node.selected{background:var(--primary-light);color:var(--primary);font-weight:600}.cat-node.disabled{opacity:.6}.cat-node .cat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-node .cat-count{flex:none;font-size:11px;color:var(--gray-400);font-variant-numeric:tabular-nums}.cat-caret{width:16px;flex:none;text-align:center;color:var(--gray-400);font-size:11px}.pcat-split{display:grid;grid-template-columns:232px minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}.pcat-tree-sticky{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto}.pcat-tree{padding:0;overflow:hidden}.pcat-tree .cat-tree-scroll{max-height:calc(100vh - 260px);overflow:auto;padding:6px}.pcat-main{min-width:0}.pcat-main .stats-grid,.pcat-main .page-tabs,.pcat-main .filter-bar{margin-top:0}@media (max-width: 768px){.pcat-split{display:block}.pcat-tree{display:none}}.mat-code{flex:none;font-size:11px;color:var(--gray-500);font-variant-numeric:tabular-nums;margin-right:6px}.cat-empty{padding:18px 8px;font-size:12px;color:var(--gray-400);text-align:center}.cat-detail-name{font-size:16px;font-weight:700;margin-bottom:10px}.cat-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin-bottom:12px}.cat-detail-grid>div{font-size:12px}.cat-detail-grid label{display:block;font-size:11px;color:var(--gray-500);margin-bottom:2px}.cat-ops{display:flex;flex-wrap:wrap;gap:6px}@media (max-width: 768px){.cat-split,.cat-detail-grid{grid-template-columns:1fr}.cat-tree-scroll{max-height:42vh}}@media (min-width: 769px){.numbered-list tr.recent-no-row{display:none}.numbered-list tbody tr:not(.recent-no-row) td{border-bottom:1px solid var(--border-light)}.numbered-list .seq-col{width:52px;text-align:center}}@media (max-width: 768px){.numbered-list .seq-col{display:none}.seq-num{display:inline;min-width:0;height:auto;padding:0;border:none;background:none;color:inherit;font-size:inherit;font-weight:inherit}}.approval-type-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.type-chip{padding:4px 12px;border:1px solid #e3e8f1;border-radius:0;background:#fff;color:var(--gray-600);font-size:12px;cursor:pointer;transition:filter .15s}.type-chip:hover{filter:brightness(.95)}.type-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.approval-progress{display:flex;align-items:flex-start;gap:8px}.ap-node{display:flex;flex-direction:column;gap:2px;align-items:flex-start;flex:none}.ap-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--gray-300);background:#fff;flex:none}.ap-dot.done{border-color:var(--success);background:var(--success)}.ap-dot.reject{border-color:var(--danger);background:var(--danger)}.ap-line{flex:1;height:2px;background:var(--gray-200);min-width:16px;margin-top:4px}.ap-text{display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.35}.ap-step{color:var(--gray-500);font-size:11px}.ap-time{color:var(--gray-700)}.ap-time.pending{color:var(--warning)}.ap-time.reject{color:var(--danger)}.date-range{display:flex;align-items:center;gap:12px}.filter-label{font-size:12px;color:var(--gray-600)}.range-sep{color:var(--gray-400)}.filter-presets,.filter-actions{display:flex;align-items:center;gap:8px}.filter-spacer{flex:1}.filter-actions{min-width:0}.filter-status{font-size:12px;color:var(--gray-500);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 769px) and (max-width: 1439px){.filter-status{display:none}}.items-table input,.items-table select{padding:6px 8px;border:1px solid var(--gray-200);border-radius:0;font-size:12px;width:100%}.photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.photo-preview img{width:80px;height:80px;object-fit:cover;border-radius:0;border:1px solid var(--gray-200)}.photo-preview--evidence img{width:148px;height:148px;border:1px solid var(--gray-300)}.photo-preview--evidence img:hover{border-color:var(--primary)}.photo-preview .remove-photo{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-item{position:relative}.contract-doc-chip{display:inline-flex;align-items:center;gap:6px;max-width:260px;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--gray-50, #fafafa);font-size:12px;color:var(--gray-700);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-doc-chip:hover{border-color:var(--primary);color:var(--primary)}.empty-state{text-align:center;padding:48px 20px;color:var(--gray-400)}.empty-state .empty-icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:12px}.summary-box{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.summary-item{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 12px}.summary-item-link{cursor:pointer;transition:all .15s}.summary-item-link:hover,.summary-item-link:focus-visible{background:var(--hover-bg);border-color:var(--hover-border);color:var(--primary)}.summary-item-link:hover .summary-label,.summary-item-link:focus-visible .summary-label,.summary-item-link:hover .summary-value,.summary-item-link:focus-visible .summary-value{color:var(--primary)}.summary-item-link.is-active,.summary-item-link.is-active:hover{background:var(--content-bg);border-color:var(--primary);color:var(--primary)}.summary-item-link .summary-hint{font-size:11px;color:var(--gray-400);margin-top:2px}.summary-item .summary-label{font-size:12px;color:var(--gray-500)}.summary-item .summary-value{font-size:18px;font-weight:700;margin-top:2px}.text-right{text-align:right}.text-center{text-align:center}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--gray-400)}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.m-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.m-card:last-child{margin-bottom:0}.m-card-selected{border-color:var(--hover-border);background:var(--primary-light)}.m-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.m-card-title{font-size:12px;font-weight:600;color:var(--gray-900);min-width:0}.m-card-index{display:inline-block;min-width:18px;font-size:12px;font-weight:500;color:var(--gray-400);font-variant-numeric:tabular-nums}.m-card-price{font-size:12px;font-weight:600;color:var(--gray-900);font-variant-numeric:tabular-nums;white-space:nowrap}.m-card-sub{font-size:12px;color:var(--gray-600);margin-top:4px}.m-card-meta{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:12px;color:var(--gray-500);margin-top:6px}.m-card-meta b{font-weight:600;color:var(--gray-800)}.m-card-code{font-family:var(--mono, ui-monospace, monospace);white-space:nowrap}.m-card-actions{display:flex;gap:8px;margin-top:10px}.m-card-actions .btn{flex:1;min-width:0;justify-content:center}.portal-page{padding-bottom:40px}.portal-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border-light);margin:-28px -32px 12px;padding:28px 32px 16px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--gray-800)}.portal-greeting h1{font-size:22px;font-weight:600;margin-bottom:4px;color:var(--gray-900)}.portal-greeting p{font-size:12px;color:var(--gray-500)}.greet-dot{margin:0 6px;color:var(--gray-300)}.greet-sync{color:var(--gray-400);font-variant-numeric:tabular-nums;white-space:nowrap}.greet-sync-ico{display:inline-block;margin-right:3px}.greet-sync.syncing .greet-sync-ico{animation:sync-spin .9s linear infinite}@keyframes sync-spin{to{transform:rotate(360deg)}}.portal-quick-stats{display:flex;gap:28px}@media (min-width: 769px){.portal-header{justify-content:flex-start}.portal-header .portal-greeting{margin-right:auto}.portal-head-btn{flex:none;align-self:center;padding:9px 18px;font-size:12px;font-weight:600}.portal-head-btn-ico{font-size:17px;line-height:1;font-weight:600}.portal-new-wrap{position:relative;flex:none;align-self:center}.portal-new-caret{margin-left:6px;font-size:11px;line-height:1}.portal-new-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:132px;background:#fff;border:1px solid var(--gray-200);box-shadow:0 6px 18px #0f172a1f;padding:4px;z-index:60}.portal-new-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:12px;color:var(--gray-700);background:none;border:0;border-radius:0;cursor:pointer}.portal-new-item:hover{background:var(--primary-light);color:var(--primary)}}.pr-stats{display:flex;gap:28px;margin-bottom:16px}.quick-stat{text-align:center}.quick-stat-value{display:block;font-size:26px;font-weight:700;line-height:1.2;color:var(--gray-900)}.quick-stat-value.warning{color:var(--warning)}.quick-stat-value.success{color:var(--success)}.quick-stat-value.alert{color:var(--danger)}.quick-stat-label{font-size:12px;color:var(--gray-500)}.portal-section{margin-bottom:28px}.section-title{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:16px;padding-left:10px;border-left:3px solid var(--primary);line-height:1.3;display:flex;align-items:center;gap:8px}.section-divider{border:none;border-top:1px solid var(--border-light);margin:20px 0}.supplier-search{position:relative}.supplier-search .search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);max-height:220px;overflow-y:auto;z-index:30;box-shadow:0 4px 12px #00000014}.supplier-search .search-item{padding:10px 12px;font-size:12px;cursor:pointer}.supplier-search .search-item:hover,.supplier-search .search-item:active{background:var(--hover-bg)}.supplier-search .search-empty{padding:10px 12px;font-size:12px;color:var(--gray-400)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-header .section-title{margin-bottom:0}.section-desc{font-size:12px;color:var(--gray-500);padding-left:13px;margin-top:3px}.section-meta{font-size:12px;color:var(--gray-400);white-space:nowrap}.quick-actions{display:none}.dashboard-summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fin-remind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dash-two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.dash-two-col .card{margin-bottom:0}.card-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}.card-title{font-size:12px;font-weight:600;color:var(--gray-800)}.card-sub{font-size:12px;color:var(--gray-500)}.stat-group+.stat-group{margin-top:18px}.stat-group-title{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:1px;color:var(--gray-500);margin-bottom:10px}.stat-group-title:after{content:"";flex:1;height:1px;background:var(--border-light)}.group-caliber{display:none}.summary-card{background:#fff;border-radius:var(--radius);padding:16px 18px;border:1px solid var(--gray-200);transition:border-color .15s,box-shadow .15s}.summary-card:hover{border-color:var(--hover-border);box-shadow:0 2px 8px #0000000f}.summary-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.summary-card-label{font-size:12px;font-weight:600;color:var(--gray-700)}.summary-card-tag{font-size:11px;color:var(--gray-500);background:var(--gray-100);border-radius:0;padding:1px 8px;white-space:nowrap}.summary-card-value{font-size:26px;font-weight:700;color:var(--gray-900);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.summary-card-value .cur{font-size:12px;font-weight:600;color:var(--gray-500);margin-right:2px}.summary-card-value .unit{font-size:12px;font-weight:500;color:var(--gray-500);margin-left:4px}.summary-card-value.success{color:var(--success)}.summary-card-value.warning{color:var(--warning)}.summary-card-value.danger{color:var(--danger)}.summary-card-foot{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--gray-200);font-size:12px;color:var(--gray-500)}.pay-progress{flex:1;min-width:40px;height:4px;border-radius:0;background:var(--gray-100);overflow:hidden}.pay-progress>i{display:block;height:100%;border-radius:0;background:var(--success)}.aging-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.aging-card:hover{border-color:var(--hover-border);box-shadow:0 2px 8px #0000000f}.aging-empty{font-size:12px;color:var(--gray-400);padding:6px 0}.aging-total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.aging-total-label{font-size:12px;font-weight:600;color:var(--gray-700)}.aging-total-value{font-size:24px;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums}.aging-total-value .cur{font-size:12px;font-weight:600;color:var(--gray-500);margin-right:2px}.aging-total-sub{font-size:12px;color:var(--gray-400)}.aging-bar{display:flex;gap:2px;height:10px;border-radius:0;overflow:hidden;background:var(--gray-100)}.aging-bar>i{display:block;height:100%;border-radius:0}.aging-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 14px;margin-top:12px}.aging-legend.two{grid-template-columns:repeat(2,1fr)}.aging-legend-item{display:flex;align-items:baseline;gap:6px;min-width:0}.aging-dot{width:8px;height:8px;border-radius:50%;flex:none;align-self:center}.aging-legend-label{font-size:12px;color:var(--gray-500);white-space:nowrap}.aging-legend-value{font-size:12px;font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap}.aging-legend-value.zero{color:var(--gray-300);font-weight:500}.overdue-strip{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s}.overdue-strip:hover{border-color:var(--danger);box-shadow:0 2px 8px #0000000d}.overdue-tag{font-size:12px;font-weight:700;color:#fff;background:var(--danger);border-radius:0;padding:2px 8px;flex:none}.overdue-text{flex:1;font-size:12px;font-weight:600;color:#7f1d1d;font-variant-numeric:tabular-nums}.overdue-arrow{color:#7f1d1d;font-size:16px;flex:none}.top-list{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:6px 12px}.top-row{display:grid;grid-template-columns:24px 1fr auto;grid-template-areas:"rank name amount" "rank bar bar";align-items:center;gap:3px 10px;padding:8px;border-bottom:1px dashed var(--border-light);border-radius:0;cursor:pointer;transition:background .15s}.top-row:last-child{border-bottom:none}.top-row:hover{background:var(--hover-bg)}.top-rank{grid-area:rank;width:20px;height:20px;border-radius:50%;background:var(--gray-100);color:var(--gray-500);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.top-rank.first{background:var(--primary);color:#fff}.top-name{grid-area:name;font-size:12px;font-weight:500;color:var(--gray-700);line-height:1.4}.top-amount{grid-area:amount;font-size:12px;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums;white-space:nowrap}.top-amount.first{color:var(--primary)}.top-bar{grid-area:bar;height:4px;border-radius:0;background:var(--gray-100);overflow:hidden}.top-bar>i{display:block;height:100%;border-radius:0;background:#93c5fd}.top-row:first-of-type .top-bar>i{background:var(--primary)}.feed-list{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:4px 12px}.feed-row{display:flex;align-items:flex-start;gap:10px;padding:9px 4px;border-bottom:1px dashed var(--border-light)}.feed-row:last-child{border-bottom:none}.feed-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--gray-400)}.feed-dot.tone-create{background:var(--success)}.feed-dot.tone-update{background:#3b82f6}.feed-dot.tone-approve{background:#ea580c}.feed-dot.tone-danger{background:var(--danger)}.mat-name{font-weight:600}.mat-remark-cell{display:none}.mat-multi-tag{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:0;padding:1px 7px}.multi-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600);white-space:nowrap;cursor:pointer}.multi-toggle input{width:auto;flex:none;accent-color:#2563eb}.mat-detail-sub{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--gray-500);padding:0 2px 10px}.mat-share-list{max-height:60vh;overflow-y:auto}.mat-share-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px dashed var(--border-light)}.mat-share-row:last-child{border-bottom:none}.mat-share-rank{width:20px;height:20px;border-radius:50%;background:var(--gray-200);color:var(--gray-600);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.mat-share-rank.first{background:var(--primary);color:#fff}.mat-share-main{flex:1;min-width:0}.mat-share-name{font-size:12px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-share-sku{font-size:11px;color:var(--gray-500);margin-top:2px}.mat-share-bar{height:6px;background:var(--gray-100);border-radius:0;margin-top:6px;overflow:hidden}.mat-share-bar i{display:block;height:100%;border-radius:0;background:#ea580c}.mat-share-nums{text-align:right;flex:none}.mat-share-amt{font-size:12px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap}.mat-share-qty{font-size:11px;color:var(--gray-500);margin-top:2px;white-space:nowrap}.mat-detail-note{font-size:12px;color:var(--gray-500);padding:10px 2px 0;line-height:1.6}.feed-main{min-width:0}.feed-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.feed-action{font-size:12px;font-weight:600;color:var(--gray-800)}.feed-no{font-family:var(--mono, ui-monospace, monospace);font-size:12px;color:var(--gray-500)}.feed-meta{font-size:12px;color:var(--gray-400);margin-top:2px;font-variant-numeric:tabular-nums}.feed-empty{padding:14px 4px;text-align:center;font-size:12px;color:var(--gray-400)}.todo-list{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:4px 12px}.todo-row{display:grid;grid-template-columns:56px 1fr auto 96px 14px;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px dashed var(--border-light);border-radius:0;cursor:pointer;transition:background .15s}.todo-row:last-of-type{border-bottom:none}.todo-row:hover{background:var(--hover-bg)}.todo-type{font-size:11px;font-weight:600;color:#fff;border-radius:0;padding:2px 0;text-align:center}.todo-supplier{font-size:12px;font-weight:500;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-value{font-size:12px;font-weight:600;color:var(--gray-900);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-time{font-size:12px;color:var(--gray-500);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.todo-arrow{color:var(--gray-400);font-size:12px;text-align:right}.todo-more{padding:8px 4px 10px;text-align:center;font-size:12px;color:var(--danger);cursor:pointer}.todo-more:hover{text-decoration:underline}.todo-empty{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:22px;text-align:center;font-size:12px;color:var(--gray-500)}.cal-mobile,.todo-empty .cal-mobile,.todo-receive-row,.todo-more-receive,.todo-list-receive-only{display:none}.module-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.module-row-header .section-title{display:flex;align-items:center;gap:6px}.module-row-icon{font-size:18px}.more-btn{background:none;border:1px solid var(--gray-200);color:var(--primary);font-size:12px;padding:4px 14px;border-radius:0;cursor:pointer;transition:all .2s}.more-btn:hover{background:var(--hover-bg);color:var(--primary);border-color:var(--hover-border)}.module-data-card{background:#fff;border-radius:0;border:1px solid var(--gray-200);overflow:hidden}.module-data-table{width:100%;border-collapse:collapse;font-size:12px}.module-data-table thead{background:var(--surface-alt)}.module-data-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--gray-600);font-size:12px;border-bottom:1px solid var(--gray-200);white-space:nowrap}.module-data-table td{padding:6px 10px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.module-data-table tbody tr:last-child td{border-bottom:none}.module-data-table tbody tr:hover{background:var(--hover-bg)}.follow-table th,.follow-table td{white-space:nowrap;padding:6px 10px}.follow-table td{max-width:0}.follow-table td .cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.follow-table input[type=checkbox]{cursor:pointer}.follow-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0;margin-bottom:8px}.follow-total{font-size:12px;color:var(--gray-600)}.follow-toolbar-right{display:flex;align-items:center;gap:12px}.follow-selected{font-size:12px;color:var(--primary)}.follow-view-link{color:var(--primary);text-decoration:none;font-size:12px}.follow-view-link:hover{text-decoration:underline}.follow-customer-link{color:var(--primary);text-decoration:none;font-size:12px}.follow-customer-link:hover{text-decoration:underline}.mat-home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;background:var(--gray-200);border-bottom:1px solid var(--gray-200)}.mat-home-stat{background:#fff;padding:10px 14px}.mhs-label{font-size:12px;color:var(--gray-600);margin-bottom:4px;white-space:nowrap}.mhs-value{font-size:16px;font-weight:700;color:var(--gray-800)}.mhs-value.warn{color:var(--warning)}.empty-data{padding:32px;text-align:center;color:var(--gray-400);font-size:12px}.status-tag{display:inline-block;padding:2px 10px;border-radius:0;font-size:12px;font-weight:500}.status-pending{background:var(--warning-light);color:var(--warning)}.status-received{background:var(--success-light);color:var(--success)}.status-partial{background:#fef3c7;color:#b45309}.status-pending-approval{background:#dbeafe;color:#1e40af}.status-rejected{background:var(--danger-light);color:var(--danger)}.quick-stat-link,.summary-card-link,.module-data-table tbody tr.module-row-link{cursor:pointer}@media (min-width: 769px){.dash-mobile-stack{display:none}.dash-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.dash-kpi .summary-card{padding:14px 16px}.dash-kpi .summary-card-head{margin-bottom:6px}.dash-kpi .summary-card-value{font-size:22px}.dash-kpi .summary-card-foot{margin-top:10px;padding-top:8px}.dash-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-col .stat-group+.stat-group{margin-top:0}.dash-col .module-list-section{margin-bottom:0}.trend-card{background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 16px 10px}.trend-legend{display:flex;align-items:center;font-size:12px;color:var(--gray-500);margin-bottom:10px}.trend-leg{display:flex;align-items:center;gap:6px}.trend-leg+.trend-leg{margin-left:16px}.trend-dot{width:8px;height:8px;border-radius:50%;flex:none}.trend-dot.purchase{background:var(--primary)}.trend-dot.paid{background:var(--success)}.trend-chart{display:flex;align-items:flex-end;gap:10px;padding-top:4px}.trend-month{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:150px;width:100%}.trend-bar{display:block;width:22px;border-radius:0;background:var(--success)}.trend-bar.purchase{background:var(--primary)}.trend-bar:hover{filter:brightness(.92)}.trend-month-label{font-size:12px;color:var(--gray-500);white-space:nowrap}.trend-empty{padding:24px;text-align:center;font-size:12px;color:var(--gray-400);border:1px dashed var(--border-light);border-radius:var(--radius)}}.product-table{width:100%;border-collapse:collapse}.product-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--gray-600);font-size:12px;background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.product-table td{padding:16px;border-bottom:1px solid var(--gray-200);color:var(--gray-700);font-size:12px}.product-table tbody tr:last-child td{border-bottom:none}.product-table tbody tr:hover{background:var(--hover-bg)}.orders-table{width:100%;border-collapse:collapse}.orders-table th{padding:12px 14px;text-align:left;font-weight:600;color:var(--gray-600);font-size:12px;background:var(--gray-50);border-bottom:2px solid var(--gray-200);white-space:nowrap}.orders-table td{padding:14px;border-bottom:1px solid var(--gray-200);color:var(--gray-700);font-size:12px}.orders-table tbody tr:last-child td{border-bottom:none}.orders-table tbody tr:hover{background:var(--hover-bg)}.recon-table{width:100%;border-collapse:collapse}.recon-table th{padding:12px 14px;text-align:left;font-weight:600;color:var(--gray-600);font-size:12px;background:var(--gray-50);border-bottom:2px solid var(--gray-200);white-space:nowrap}.recon-table td{padding:14px;border-bottom:1px solid var(--gray-200);color:var(--gray-700);font-size:12px}.recon-table tbody tr:last-child td{border-bottom:none}.recon-table tbody tr:hover{background:var(--hover-bg)}.app-name-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);font-size:17px;font-weight:600;color:var(--gray-900);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.app-name-chip:hover{background:var(--hover-bg);border-color:var(--hover-border);color:var(--primary)}.app-name-chip:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.app-name-version{font-size:12px;font-weight:500;color:var(--gray-500);border:1px solid var(--border-light);border-radius:0;padding:1px 8px}.app-name-build{font-size:12px;font-weight:500;color:var(--gray-400)}.upgrade-tip{font-size:12px;color:var(--gray-600);line-height:1.8;background:var(--content-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px 14px;margin-bottom:16px}.upgrade-tip code{background:#fff;border:1px solid var(--border-light);border-radius:0;padding:1px 5px;font-size:12px}.upgrade-phase{margin-top:12px;font-size:12px;color:var(--primary)}.upgrade-msg{margin-top:12px;padding:10px 12px;border-radius:var(--radius);font-size:12px;border:1px solid var(--border-light)}.upgrade-msg.ok{background:var(--success-light);border-color:#bbf7d0;color:var(--success)}.upgrade-msg.err{background:var(--danger-light);border-color:#fecaca;color:var(--danger)}.upgrade-msg.warn{background:#fff7ed;border-color:#fed7aa;color:var(--warning)}.alloc-list{border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.alloc-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border-light)}.alloc-row:last-child{border-bottom:none}.alloc-info{flex:1;min-width:0}.alloc-no{display:block;font-family:monospace;font-size:12px;color:var(--gray-800)}.alloc-meta{display:block;margin-top:2px;font-size:12px;color:var(--gray-500)}.alloc-input{width:130px;padding:7px 10px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;color:var(--gray-800)}.alloc-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.alloc-input.over{border-color:var(--danger);color:var(--danger)}.period-table .mono{font-family:monospace}.period-cur{margin-left:6px;font-size:11px;color:var(--gray-500)}.period-sub{margin-left:8px;font-size:12px;color:var(--gray-500)}.period-warn{margin-left:8px;font-size:12px;color:var(--warning)}.ib-form-card{margin-bottom:16px}.ib-form-title{margin:0 0 12px;font-size:12px;font-weight:600}.ib-flash{margin:0 0 12px;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius);color:#15803d;font-size:12px}.ib-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ib-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ib-list-head h3{margin:0;font-size:12px;font-weight:600}.ib-list-count{font-size:12px;color:var(--gray-600)}.mobile-only{display:none}.sc-tabs{display:flex;gap:24px;padding:14px 20px;margin-bottom:12px}.sc-tab{border:none;background:none;font-size:12px;font-weight:600;color:var(--gray-600);cursor:pointer;padding:6px 2px;border-bottom:2px solid transparent}.sc-tab:hover{color:var(--gray-800)}.sc-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.sc-tab-num{font-size:12px;font-weight:500;color:var(--gray-400);margin-left:4px}.sc-tab.active .sc-tab-num{color:var(--primary)}.sc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sc-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:0;border:1px solid var(--border-light);background:#fff;font-size:12px;color:var(--gray-600);cursor:pointer}.sc-chip:hover{border-color:var(--primary);color:var(--primary)}.sc-chip.active{background:#eff6ff;border-color:var(--primary);color:var(--primary);font-weight:600}.sc-chip-num{font-variant-numeric:tabular-nums}.sc-chip.active .sc-chip-num{color:var(--primary)}.sc-toolbar .sc-search{flex:1;min-width:180px}.sc-cust-table th,.sc-cust-table td{white-space:nowrap}.sc-cust-table td[data-label=备注]{max-width:180px;overflow:hidden;text-overflow:ellipsis}.sc-sort-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sc-sort-th:hover{color:var(--primary)}.sc-sort-arrow{color:var(--primary);font-size:10px;margin-left:3px}.sc-th-content{display:inline-flex;align-items:center;gap:2px}.sc-th-filter{position:relative;display:inline-flex;margin-left:2px}.sc-th-filter-btn{background:none;border:none;cursor:pointer;padding:0 2px;font-size:10px;color:var(--gray-400);line-height:1;transition:color .12s}.sc-th-filter-btn:hover,.sc-th-filter-btn.active{color:var(--primary)}.sc-th-filter-drop{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:120px;max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--border-light);border-radius:0;box-shadow:0 4px 12px #0000001a;z-index:100;padding:4px 0}.sc-th-filter-item{padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gray-700)}.sc-th-filter-item:hover{background:var(--hover-bg)}.sc-th-filter-item.selected{color:var(--primary);font-weight:600}.sc-th-filter-item.disabled{color:var(--gray-400);cursor:default}.sc-th-filter-drop-wide{min-width:180px;padding:8px}.sc-th-filter-search{width:100%;border:1px solid var(--border-light);border-radius:4px;padding:6px 8px;font-size:12px;margin-bottom:8px}.sc-th-filter-search:focus{outline:none;border-color:var(--primary)}.sc-th-filter-actions{display:flex;justify-content:flex-end;gap:6px}.sc-cust-table th,.sc-cust-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-cell-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%;vertical-align:middle}.sc-col-resize{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:2}.sc-col-resize:hover{background:var(--primary)}.sc-cust-table th{position:relative}table th,table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}table th{position:relative}.sc-th-filter-item.disabled:hover{background:none}.sc-cust-table thead th.mat-frozen{z-index:8}.sc-cust-table tbody td.mat-frozen{position:sticky;z-index:4;background:#fff}.sc-cust-table tbody tr:hover td.mat-frozen{background:var(--hover-bg)}.sc-ops-col{white-space:nowrap}.sc-ops-col .btn+.btn{margin-left:6px}.sc-tabs-note{margin-left:auto;align-self:center;font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.sc-view-link{color:var(--primary);cursor:pointer;white-space:nowrap}.sc-view-link:hover{text-decoration:underline}.sc-cust-table{font-size:12px}.sc-cust-table th.seq-col,.sc-cust-table td.seq-col{width:50px;min-width:50px;max-width:50px;padding:6px 4px;text-align:center}.sc-cust-table th{padding:7px 10px;color:var(--gray-700);font-weight:600}.sc-cust-table td{padding:6px 10px}.sc-cust-table tbody tr:nth-child(2n) td{background:#fafbfc}.sc-cust-table tbody tr:nth-child(2n) td.mat-frozen{background:#fafbfc}.sc-cust-table tbody tr:hover td{background:#eff6ff}.xbb-pager{display:flex;align-items:center;gap:10px;padding:10px 4px;font-size:12px;color:var(--gray-600)}.xbb-pager-total{flex:none}.xbb-pager-size{padding:4px 8px;border:1px solid var(--border-light);border-radius:0;font-size:12px;color:var(--gray-700);background:#fff}.xbb-pager-pages{display:flex;align-items:center;gap:4px}.xbb-pg-btn{min-width:28px;height:28px;padding:0 6px;border:1px solid var(--border-light);background:#fff;border-radius:0;font-size:12px;color:var(--gray-700);cursor:pointer}.xbb-pg-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.xbb-pg-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.xbb-pg-btn:disabled{color:var(--gray-300);cursor:default}.xbb-pg-ellipsis{color:var(--gray-400);padding:0 2px}.xbb-pager-go{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.xbb-pager-go input{width:48px;padding:3px 6px;border:1px solid var(--border-light);border-radius:0;text-align:center;font-size:12px}.sq-left{display:inline-flex;align-items:center;gap:8px}.sq-seq{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--gray-200);border-radius:0;background:var(--gray-50);color:var(--gray-600);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 768px){.sq-seq{display:none}}.cd-topbar{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:12px}.cd-top-info{flex:1;min-width:0}.cd-top-name{display:flex;align-items:center;gap:8px}.cd-top-title{font-size:18px;font-weight:700;color:var(--gray-900)}.cd-top-meta{margin-top:4px;font-size:12px;color:var(--gray-500)}.cd-top-actions{display:flex;gap:8px;flex:none}.cd-tabs{display:flex;gap:4px;padding:8px 12px;margin-bottom:12px;overflow-x:auto}.cd-tab{border:none;background:none;font-size:12px;font-weight:600;color:var(--gray-600);cursor:pointer;padding:7px 14px;border-radius:0;white-space:nowrap}.cd-tab:hover{background:#f5f7fa;color:var(--gray-800)}.cd-tab.active{background:#eff6ff;color:var(--primary)}.cd-basic-2col{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;align-items:start}.cd-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}.cd-kv{display:flex;align-items:baseline;gap:10px;min-width:0}.cd-kv-k{flex:0 0 100px;font-size:12px;color:var(--gray-500)}.cd-kv-v{font-size:12px;color:var(--gray-800);word-break:break-all;min-width:0}.cd-group{margin-bottom:14px}.cd-group:last-child{margin-bottom:0}.cd-group-title{font-size:12px;font-weight:700;color:var(--gray-800);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.cd-journey .sp-section{margin-bottom:12px}.cd-tl{position:relative;padding-left:18px}.cd-tl:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--gray-100)}.cd-tl-item{position:relative;display:flex;gap:12px;padding-bottom:18px}.cd-tl-item:last-child{padding-bottom:0}.cd-tl-item.cd-tl-click{cursor:pointer;border-radius:0}.cd-tl-item.cd-tl-click:hover{background:var(--primary-light)}.cd-tl-avatar{flex:none;width:28px;height:28px;border-radius:50%;background:#eff6ff;color:var(--primary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:-18px;border:2px solid #fff}.cd-tl-body{flex:1;min-width:0}.cd-tl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cd-tl-name{font-size:12px;font-weight:600;color:var(--gray-800)}.cd-tl-time{font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.cd-tl-content{margin-top:6px;font-size:13px;color:var(--gray-700);white-space:pre-wrap;line-height:1.6}.cd-tl-next{margin-top:6px;font-size:13px;color:var(--primary)}.cd-mini-stats{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;color:var(--gray-500);padding:10px 12px;background:#f8fafc;border:1px dashed var(--border-light);border-radius:0;margin-bottom:10px}.cd-mini-stats b{color:var(--gray-800);font-variant-numeric:tabular-nums}.cd-mini-stats .cd-ok{color:var(--ok)}.cd-mini-stats .cd-danger{color:var(--danger)}@media (min-width: 769px) and (max-width: 1100px){.cd-basic-2col{grid-template-columns:minmax(0,1fr) 320px}}.sc-dup-body{max-height:70vh;overflow:auto}.sc-dup-sec-title{font-size:12px;font-weight:700;color:var(--gray-800);margin:12px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.sc-dup-group{border:1px solid var(--border-light);border-radius:0;margin-bottom:10px;overflow:hidden}.sc-dup-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border-bottom:1px solid var(--border-light)}.sc-dup-key{font-weight:600;color:var(--gray-800)}.sc-dup-count{font-size:12px;color:var(--danger)}.sc-dup-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--gray-100)}.sc-dup-row:last-child{border-bottom:none}.sc-dup-name{font-weight:600;color:var(--gray-800);flex:none}.sc-dup-owner,.sc-dup-phone{font-size:12px;color:var(--gray-500);flex:none}.sc-dup-row .btn{margin-left:auto}.sc-cf-sec{margin-top:4px;padding-top:10px;border-top:1px dashed var(--border-light)}.sc-cf-sec-title{font-size:12px;font-weight:700;color:var(--gray-800);margin-bottom:8px}.sc-cf-hint{font-size:12px;color:var(--gray-500);background:#f8fafc;border:1px dashed var(--border-light);border-radius:0;padding:10px 12px;margin-bottom:12px}.sc-cf-table{margin-bottom:12px}.sc-cf-table th,.sc-cf-table td{white-space:nowrap}.sc-cf-form{border:1px solid var(--border-light);border-radius:0;padding:14px;background:#f8fafc}.mobile-bar,.mobile-tabbar,.nav-backdrop{display:none}@media (max-width: 768px){.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(60px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom));gap:4px;background:#fff;border-top:1px solid var(--border-light);border-radius:0;box-shadow:0 -2px 12px #0b1e460f;z-index:300}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;padding:2px 0;cursor:pointer;color:var(--gray-500);font-size:11px;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.tab-item.active{color:var(--primary);font-weight:600;background:none}.tab-icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:28px;border-radius:0;color:var(--gray-400);transition:background .18s ease,color .18s ease}.tab-icon svg{width:22px;height:22px}.tab-item.active .tab-icon{background:var(--primary);color:#fff}.tab-badge{position:absolute;top:-4px;right:-10px;min-width:16px;height:16px;padding:0 4px;background:var(--danger);color:#fff;border-radius:0;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #fff}.mobile-bar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;height:52px;padding:0 12px;background:#fff;border-bottom:1px solid var(--sidebar-border);color:var(--gray-800);z-index:300}.menu-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--gray-600);background:#fff;border:1px solid var(--sidebar-border);border-radius:var(--radius);cursor:pointer}.mobile-title{flex:0 1 auto;min-width:0;font-size:12px;font-weight:600;color:var(--gray-800);background:transparent;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-refresh{flex-shrink:0;margin-left:auto;height:32px;min-width:68px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--gray-600);background:#fff;border:1px solid var(--sidebar-border);border-radius:0;cursor:pointer}.mobile-refresh-icon{display:inline-block;font-size:12px;line-height:1}.mobile-refresh.syncing .mobile-refresh-icon{animation:refresh-spin .9s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.mobile-user{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#eaf2fe;border:1px solid rgba(37,99,235,.25);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.sidebar{width:200px;max-width:62vw;transform:translate(-100%);transition:transform .22s ease;z-index:400}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0f172a33}.sidebar-nav{padding:10px 8px}.nav-group-title{cursor:default;font-size:18px;font-weight:400;letter-spacing:0}.nav-group-title .nav-icon{display:none}.nav-item{padding:9px 14px;gap:8px;font-size:18px}.nav-group .nav-item{padding-left:14px}.sidebar-footer{padding:12px 10px;flex-direction:row;align-items:center;gap:8px}.sidebar-footer .user-info,.sidebar-footer .user-details{flex:1;min-width:0}.sidebar-footer .sidebar-actions{display:flex;flex:none;gap:0}.sidebar-footer .sidebar-ghost-btn{width:auto;padding:6px 12px!important}.nav-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:350}.sidebar-header{padding:16px 12px}.sidebar-fold,.sidebar-user-top{display:none}.main-content{margin-left:0;padding:52px 14px calc(76px + env(safe-area-inset-bottom));min-width:0}.page-header,.portal-header{position:static;margin:0 -14px 10px;padding:14px;background:transparent;border-bottom:0}.page-header h2{font-size:18px}.page-header p{font-size:12px}.page-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.page-header>div{flex:1 1 100%}.page-header>div:has(.btn){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.page-header .btn{width:100%;min-height:34px;justify-content:center}.portal-header{flex-direction:column;align-items:stretch;gap:10px;padding:10px 14px 12px}.portal-greeting h1{display:none}.portal-greeting p{font-size:12px}.greet-role{display:none}.portal-quick-stats{width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius)}.dash-head{display:none}.group-caliber{display:inline;font-size:11px;font-weight:400;letter-spacing:0;color:var(--gray-400)}.quick-stat{text-align:center}.quick-stat-value{font-size:18px;line-height:1.3}.quick-stat-label{font-size:11px;white-space:nowrap}.pr-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 0;margin-bottom:12px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.stats-grid.cols-4{grid-template-columns:repeat(2,1fr)}.stats-grid.cols-3{grid-template-columns:1fr}.stat-card{padding:12px 14px}.stat-card .stat-value{font-size:19px}.dashboard-summary-row{grid-template-columns:repeat(2,1fr);gap:10px}.fin-remind-grid{grid-template-columns:1fr;gap:10px}.dash-two-col{grid-template-columns:1fr;gap:10px;margin-bottom:10px}.summary-money,.summary-count{grid-template-columns:1fr}.summary-count .summary-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.summary-count .summary-card-head{margin-bottom:0;flex:1}.summary-count .summary-card-value{font-size:20px}.summary-count .summary-card-foot{margin-top:0;padding-top:0;border-top:none;text-align:right}.summary-card{padding:12px 14px}.summary-card-head{margin-bottom:8px}.summary-card-value{font-size:22px}.summary-card-foot{margin-top:10px;padding-top:8px}.summary-card-tag{display:none}.section-header{align-items:flex-start;flex-direction:column;gap:2px}.section-meta{white-space:normal}.card{padding:14px;margin-bottom:14px}.card-header{flex-wrap:wrap;gap:8px;margin-bottom:12px}.card-header h3{font-size:12px}table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.desktop-only{display:none}.mobile-only{display:block}.items-table th,.items-table td{min-width:88px}.items-table td:first-child,.items-table th:first-child{min-width:150px}table th,table td{padding:9px 10px;font-size:12px}table th{white-space:nowrap}.orders-table th,.orders-table td,.recon-table th,.recon-table td,.product-table th,.product-table td,.module-data-table th,.module-data-table td{padding:7px 10px;font-size:12px}.summary-box{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.summary-item{padding:8px 10px}.summary-item .summary-value{font-size:16px}.aging-card{padding:12px 14px}.aging-total-value{font-size:20px}.aging-legend{grid-template-columns:1fr 1fr;gap:8px 12px}.aging-legend-item{flex-wrap:nowrap}.aging-legend-value{margin-left:auto}.aging-legend.two{grid-template-columns:1fr}.overdue-strip{padding:10px 12px}.top-amount{font-size:12px}.filter-bar{gap:8px}.ib-status-row{width:100%;display:flex;gap:8px}.ib-status-btn{flex:1;padding:8px 0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px;color:var(--gray-600)}.ib-status-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.ib-form-row{grid-template-columns:1fr}.approval-page .page-header,.approval-page .approval-tabs{display:none}.approval-dingtop{display:block;margin:12px 0}.ad-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;background:#f2f4f8;border:1px solid transparent;border-radius:0}.ad-search:focus-within{background:#fff;border-color:var(--primary)}.ad-search svg{width:18px;height:18px;color:var(--gray-400);flex:none}.ad-search input{flex:1;min-width:0;border:0;background:transparent;font-size:12px;color:var(--gray-900);outline:none}.ad-search input::placeholder{color:var(--gray-400)}.ad-search input::-webkit-search-cancel-button{-webkit-appearance:none}.ad-clear{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--gray-200);color:var(--gray-600);font-size:12px;line-height:1;cursor:pointer}.ad-tabs{display:flex;margin-top:10px;background:#fff;border:1px solid var(--border-light);border-radius:0;padding:10px 4px}.ad-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:2px 0;font-size:11px;color:var(--gray-500);cursor:pointer;-webkit-tap-highlight-color:transparent}.ad-tab.active{color:var(--primary);font-weight:600}.ad-ico{display:flex;align-items:center;justify-content:center;width:26px;height:26px}.ad-ico svg{width:22px;height:22px}.ad-count{position:absolute;top:0;right:calc(50% - 30px);min-width:16px;height:16px;padding:0 4px;background:var(--primary);color:#fff;border-radius:0;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.filter-bar input,.filter-bar select{flex:1 1 130px;min-width:0}.filter-bar.ct-list-fbar input,.filter-bar.ct-list-fbar select,.filter-bar.ct-list-fbar .btn,.filter-bar.ct-stack-fbar input,.filter-bar.ct-stack-fbar select{flex:1 1 100%}.salary-toolbar input[type=month]{flex:0 0 130px!important;width:130px!important}.date-range,.filter-presets,.filter-actions{flex:1 1 100%}.filter-spacer{display:none}.date-range{flex-wrap:wrap;gap:8px}.date-range .filter-label{flex:1 1 100%}.date-range input{flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px}.range-sep{flex-shrink:0}.filter-presets{flex-wrap:nowrap}.filter-actions{flex-wrap:wrap}.filter-presets .btn,.filter-actions .btn{flex:1 1 0;min-width:0;min-height:34px;padding:6px 2px;justify-content:center}.filter-status{flex:1 1 100%}.form-row{grid-template-columns:1fr}.form-group{margin-bottom:12px}.form-group label{font-size:12px}.form-group input,.form-group select,.form-group textarea,.filter-bar input,.filter-bar select,.ct-fbar-sels select,.ct-fbar-kw input,.items-table input,.items-table select,.pager-size select{font-size:16px}.form-group input,.form-group select{height:46px}.form-group textarea{min-height:46px}.form-group input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.form-group input[type=date]::-webkit-date-and-time-value{text-align:left}.btn{min-height:38px;padding:8px 14px}.btn-sm{min-height:32px;padding:5px 10px;font-size:12px}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:none;max-height:90vh;border-radius:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.modal-header{margin-bottom:14px}.modal-header h3{font-size:16px}.quick-add-grid{grid-template-columns:1fr 1fr;gap:10px}.alloc-row{flex-wrap:wrap;gap:6px 10px}.alloc-input{width:100%}.period-table thead{display:none}.period-table,.period-table tbody,.period-table tr{display:block;width:100%}.period-table tr{padding:8px 2px;border-bottom:1px solid var(--border-light)}.period-table tbody tr:last-child{border-bottom:none}.period-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:2px 0;border:none;font-size:12px}.period-table td:before{content:attr(data-label);flex:none;color:var(--gray-500)}.period-table td>span{text-align:right}.period-sub,.period-warn{display:block;margin-left:0}.quick-add-grid .btn{grid-column:1 / -1}.modal-close{font-size:24px;padding:6px 10px;margin:-6px -10px}.modal-footer{flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px}.modal-footer .btn{flex:1 1 auto;min-width:96px;justify-content:center}.photo-preview img{width:64px;height:64px}.photo-preview--evidence img{width:44vw;height:44vw;max-width:168px;max-height:168px}.pager{justify-content:center;gap:8px}.pager-info{margin-right:0;width:100%;text-align:center}.empty-state{padding:32px 12px}.empty-state .empty-icon{font-size:38px}.section-title{font-size:12px;margin-bottom:12px}.app-name-chip{width:100%;justify-content:space-between;font-size:12px}.upgrade-tip{font-size:12px;line-height:1.7}.orders-table thead{display:none}.orders-table,.orders-table tbody,.orders-table tr{display:block;width:100%}.orders-table tr{padding:10px 8px;border-bottom:1px solid var(--border-light)}.orders-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:3px 0;border:none;font-size:12px;word-break:break-word}.orders-table td:before{content:attr(data-label);flex:none;color:var(--gray-500);min-width:64px}.orders-table td>span,.orders-table td>div{text-align:right}.orders-table td:not(:last-child),.period-table td:not(:last-child){border-right:none}.mobile-cards thead{display:none}.mobile-cards,.mobile-cards tbody,.mobile-cards tr{display:block;width:100%}.mobile-cards tr{padding:10px 8px;border-bottom:1px solid var(--border-light)}.mobile-cards tbody tr:last-child{border-bottom:none}.mobile-cards td{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:3px 0;border:none;font-size:12px;word-break:break-word}.mobile-cards td.desktop-only{display:none}.mobile-cards td:before{content:attr(data-label);flex:none;color:var(--gray-500);min-width:64px}.mobile-cards td>span,.mobile-cards td>div{text-align:right}.mobile-cards td:not(:last-child){border-right:none}.mobile-cards td .mat-name-remark{display:none}.mobile-cards td.mat-remark-cell{display:flex}.mobile-cards td:empty{display:none}.material-list,.mat-batch-bar{display:none}.mat-mcards{display:flex;flex-direction:column;gap:8px;padding:2px 0}.mat-mcard{background:#f5f7fa;border:1px solid var(--border-light);border-radius:0;padding:10px 12px}.mat-mcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mat-mcard-main{flex:1;min-width:0}.mat-mcard-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mat-mcard-title{font-size:12px;font-weight:600;color:var(--gray-800);word-break:break-word}.mat-mcard-sub{font-size:12px;color:var(--gray-500);margin-top:2px}.mat-mcard-ops{display:flex;gap:10px;flex-shrink:0;padding-top:2px}.mat-mcard-op{background:none;border:none;padding:0;font-size:12px;color:var(--primary);cursor:pointer}.mat-mcard-op.danger{color:var(--danger)}.mat-mcard-body{margin-top:8px;display:flex;flex-direction:column;gap:5px}.mat-mcard-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.mat-mcard-k{flex-shrink:0;color:var(--gray-500);font-size:12px}.mat-mcard-v{flex:1;min-width:0;text-align:right;color:var(--gray-700);word-break:break-word}.mat-mcard-v .mat-mcard-sub{color:var(--gray-500)}.mat-mcard-stock,.mat-mcard-price{font-weight:600;color:var(--gray-800)}.mat-mcard-v .badge{margin-left:6px}.mat-mcards-empty{margin-top:12px}html[data-theme=dark] .mat-mcard{background:#1e293b;border-color:#94a3b826}html[data-theme=dark] .mat-mcard-title{color:#e2e8f0}html[data-theme=dark] .mat-mcard-v{color:#cbd5e1}html[data-theme=dark] .mat-mcard-k,html[data-theme=dark] .mat-mcard-sub,html[data-theme=dark] .mat-mcard-v .mat-mcard-sub{color:#94a3b8}html[data-theme=dark] .mat-mcard-stock,html[data-theme=dark] .mat-mcard-price{color:#e2e8f0}.recent-group{margin:14px 0 4px}.numbered-list tbody tr{border-bottom:none}.numbered-list tr.recent-no-row{padding:10px 8px 2px}.numbered-list tr.recent-no-row td{display:block;padding:0}.numbered-list tr.recent-no-row td:before{display:none}.module-list-section{display:none}.todo-list{padding:6px 10px}.todo-row{grid-template-columns:auto 1fr auto 14px;grid-template-areas:"type supplier value arrow" "type time value arrow";row-gap:3px;column-gap:8px;padding:8px 4px}.todo-type{grid-area:type;min-width:48px}.todo-supplier{grid-area:supplier;font-size:12px;font-weight:400;color:var(--gray-600)}.todo-value{grid-area:value;align-self:center}.todo-row:not(.todo-receive-row) .todo-time{text-align:left}.todo-time{grid-area:time}.todo-arrow{grid-area:arrow;justify-self:end}.todo-row:active{background:var(--hover-bg)}.cal-desktop,.todo-empty .cal-desktop{display:none}.cal-mobile,.todo-empty .cal-mobile{display:inline}.todo-receive-row{display:grid}.todo-receive-row{display:flex;align-items:center}.todo-receive-row .todo-type{flex:none}.todo-receive-row .todo-supplier{flex:1 1 auto;min-width:0}.todo-receive-row .todo-value{flex:1 1 auto;text-align:left;min-width:0;max-width:45vw}.todo-receive-row .todo-time,.todo-receive-row .todo-arrow{flex:none}.todo-more-receive,.todo-list-receive-only{display:block}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.qa-zone{margin-bottom:12px}.qa-zone-title{font-size:12px;font-weight:600;color:var(--gray-500);margin:0 0 6px}.qa-zone .quick-actions{grid-template-columns:repeat(3,1fr);margin:0}.qa-zone-tools .quick-actions{grid-template-columns:repeat(4,1fr)}.qa-zone:last-of-type{margin-bottom:14px}.qa-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 2px 10px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer}.qa-btn:active{background:var(--hover-bg)}.qa-icon{width:44px;height:44px;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;position:relative}.qa-label{font-size:12px;color:var(--gray-700)}.qa-badge{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:0;background:var(--primary);color:#fff;font-size:10px;line-height:17px;display:flex;align-items:center;justify-content:center;border:1.5px solid #fff}}.order-items{border:1px solid var(--border-light);border-radius:var(--radius)}.order-item-head,.order-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 96px 128px 168px;gap:8px;align-items:center;padding:8px 12px}.order-item-head{background:var(--surface-alt);border-radius:var(--radius) var(--radius) 0;font-size:12px;color:var(--gray-500)}.order-item-row{border-top:1px solid var(--border-light)}.order-item-head-platform,.order-item-row-platform{grid-template-columns:minmax(180px,1fr) 110px 60px 84px 110px 150px}.oi-product{position:relative}.oi-product .search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:280px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);max-height:220px;overflow-y:auto;z-index:30;box-shadow:0 4px 12px #00000014}.oi-product .search-item{padding:8px 12px;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:baseline}.oi-product .search-item:hover,.oi-product .search-item:active{background:var(--hover-bg)}.oi-product .ac-source{font-size:11px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.platform-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:0;background:var(--primary);color:#fff;font-size:11px;line-height:16px}.customer-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:0;background:var(--success);color:#fff;font-size:11px;line-height:16px}.oi-subtotal{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-weight:600;font-size:12px}.confirm-rows{border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.confirm-row{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:12px;border-top:1px solid var(--border-light)}.confirm-row:first-child{border-top:none}.confirm-label{color:var(--gray-500);flex:none}.confirm-value{font-weight:600;color:var(--gray-800);text-align:right;word-break:break-all}.confirm-value.danger{color:var(--danger)}.confirm-price-warning{margin-top:12px;padding:8px 12px;border:1px solid var(--danger);border-radius:var(--radius);background:#fef2f2;color:var(--danger);font-size:12px}.confirm-price-ack{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:var(--gray-800);cursor:pointer}.confirm-price-ack input{width:16px;height:16px;flex-shrink:0}.items-table tbody tr.danger td{color:var(--danger);font-weight:600}@media (max-width: 768px){.order-items{border:none}.order-item-head{display:none}.order-item-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px 0;border-bottom:1px dashed var(--border-light)}.order-item-row:last-child{border-bottom:none;padding-bottom:0}.order-items input,.order-items select{height:46px;font-size:16px}.oi-name:before,.oi-spec:before,.oi-unit:before,.oi-qty:before,.oi-price:before{content:attr(data-label);display:block;font-size:12px;color:var(--gray-500);margin-bottom:4px}.oi-subtotal{justify-content:space-between;font-size:12px}.oi-subtotal:before{content:attr(data-label);font-size:12px;color:var(--gray-500);font-weight:500}.oi-subtotal-value{flex:1;text-align:right}}.nav-global{border-bottom:1px solid #eef1f5;margin-bottom:10px;padding-bottom:10px}.nav-badge{margin-left:auto;font-size:16px;background:var(--primary);color:#fff;font-weight:700;border-radius:0;padding:1px 7px}.nav-item.active .nav-badge{background:#fff;color:var(--primary);box-shadow:none}.nav-item-org{margin-top:8px;border-top:1px solid #eef1f5;padding-top:10px}@media (min-width: 769px){.sidebar{transition:width .2s ease}.main-content,.ws-tabs{transition:margin-left .2s ease}.sidebar-fold{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:0;background:#ffffff14;color:#dbe7f5;font-size:18px;line-height:1;cursor:pointer}.sidebar-fold:hover{background:#fff3;color:#fff}.sidebar.collapsed{width:64px}.sidebar.collapsed~.main-content{margin-left:64px}.sidebar.collapsed~.ws-tabs{margin-left:64px}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:12px;padding:16px 0 12px}.sidebar.collapsed .sidebar-user-top{flex-direction:column;align-items:center;gap:12px}.sidebar.collapsed .sidebar-brand-name{display:none}.sidebar.collapsed .sidebar-nav{padding:10px 6px}.sidebar.collapsed .nav-group-title{display:none}.sidebar .nav-item .nav-icon{display:block}.sidebar:not(.collapsed) .nav-group .nav-item>.nav-icon{display:none}.sidebar:not(.collapsed) .nav-group .nav-item{padding-left:44px}.sidebar{background:#1a2035;color:#fff;border-right-color:#ffffff1a}.sidebar-header{border-bottom-color:#ffffff1a}.sidebar-footer{border-top-color:#ffffff1a}.sidebar-brand-name{color:#fff}.nav-global{border-bottom-color:#ffffff1a}.nav-item-org{border-top-color:#ffffff1a}.nav-item{font-size:18px;color:#fff;font-weight:400}.nav-group-title{font-size:18px;color:#fff;font-weight:400;letter-spacing:0}.nav-group-title.g-active{color:#fff}.nav-group-chevron{font-size:16px;color:#a3c0e2}.nav-group-title:hover .nav-group-chevron,.nav-group-title.g-active .nav-group-chevron{color:#fff}.nav-item.nav-item-disabled,.nav-item.nav-item-disabled:hover{color:#ffffff80}.sidebar-nav{scrollbar-color:rgba(255,255,255,.25) transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff40}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff6}.user-avatar{background:#ffffff2e;color:#fff}.user-name{color:#f2f6fc}.sidebar-ghost-btn{color:#dbe7f5!important;background:#ffffff14!important;border-color:#ffffff40!important}.sidebar-ghost-btn:hover{color:#fff!important;background:#ffffff2e!important;border-color:#fff6!important}.nav-item:hover{background:#ffffff61;color:#fff}.nav-group-title{transition:background-color .12s ease,color .12s ease}.nav-group-title:hover{background:#ffffff4d;color:#fff}.nav-item.active:hover{background:#ffffff61}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0;position:relative}.sidebar.collapsed .nav-item>span:not(.nav-icon):not(.nav-badge){display:none}.sidebar.collapsed .nav-ico{width:18px;height:18px}.sidebar.collapsed .nav-badge{position:absolute;top:4px;right:4px;margin-left:0;font-size:14px;line-height:12px;padding:0 3px;min-width:14px;height:14px;text-align:center}.sidebar.collapsed .sidebar-footer{padding:12px 0;align-items:center}.sidebar.collapsed .user-info{justify-content:center}.sidebar.collapsed .user-details,.sidebar.collapsed .sidebar-actions{display:none}}.dept-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.dept-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e6ebf3;border-radius:0;background:#fff}.dept-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dept-icon{flex-shrink:0}.dept-count{flex-shrink:0;font-size:12px;color:var(--gray-500);background:var(--surface-alt);border-radius:0;padding:2px 8px}.dept-actions{flex-shrink:0;display:flex;gap:4px}.row-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.mod-chip-list{display:flex;flex-wrap:wrap;gap:4px}.mod-chip{display:inline-block;font-size:11px;color:var(--primary);background:var(--primary-light);border:1px solid rgba(37,99,235,.25);border-radius:0;padding:1px 7px;white-space:nowrap}.mod-chip-picker{display:flex;flex-wrap:wrap;gap:6px}.mod-chip-picker .mod-chip{cursor:pointer;background:#fff;color:var(--gray-600);border-color:var(--border-light);transition:background .12s,border-color .12s,color .12s}.mod-chip-picker .mod-chip.on{background:var(--primary-light);border-color:#2563eb80;color:var(--primary);font-weight:600}.mod-chip-picker .mod-chip.dev-off{opacity:.6}@media (max-width: 768px){.dept-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dept-row{flex-wrap:wrap;padding:8px 10px}.dept-name{flex-basis:100%;font-size:12px}.dept-actions{margin-left:auto}}.page-tabs{display:flex;border-bottom:2px solid var(--gray-200);margin-bottom:16px}.page-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:12px;color:var(--gray-500);cursor:pointer}.page-tab:hover{color:var(--primary)}.page-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;background:#eff6ff;border-radius:0}.sp-badge-on{background:var(--success-light);color:var(--success)}.sp-badge-off{background:var(--danger-light);color:var(--danger)}.sp-badge-pre{background:#dbeafe;color:var(--primary)}.sp-badge-stop{background:#e5e7eb;color:#4b5563}.sp-badge-custom{background:#fef3c7;color:#b45309}.sp-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600)}.sp-add-btn{margin-left:auto}.sp-toolbar-right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sp-ops{display:flex;gap:6px;flex-wrap:wrap}.sp-ops .btn-sm{padding:4px 10px;font-size:12px}.sp-toast{position:fixed;top:70px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:8px 18px;border-radius:0;font-size:12px;z-index:2000;box-shadow:var(--shadow-md)}.sp-load-err{color:var(--danger);font-size:12px}.modal-wide{max-width:980px}.modal-body{padding:0 2px}.sp-section{font-size:12px;font-weight:700;color:var(--primary);border-left:3px solid var(--primary);padding-left:8px;margin:16px 0 10px}.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sp-grid label,.sp-vstack label,.sp-cost-box label{display:block;font-size:11px;color:var(--gray-500);margin-bottom:4px}.sp-grid input,.sp-grid select,.sp-vstack input,.sp-vstack select,.sp-vstack textarea{width:100%;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px;box-sizing:border-box;background:#fff}.sp-grid input:focus,.sp-grid select:focus,.sp-vstack input:focus,.sp-vstack select:focus,.sp-vstack textarea:focus{border-color:var(--primary);outline:none}.sp-vstack textarea{resize:vertical;min-height:120px;line-height:1.6}.sp-cost-strip{display:flex;gap:10px;margin-bottom:10px}.sp-cost-box{flex:1}.sp-cost-box input{width:100%;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px;box-sizing:border-box}.sp-readonly{background:#f8fafc!important;color:var(--gray-600)}.sp-bold{font-weight:700;color:var(--gray-800)}.sp-hint{font-size:12px;color:var(--gray-500);margin:8px 0;line-height:1.6}.sp-vstack{display:flex;flex-direction:column;gap:12px}.sp-fee-input{width:120px;padding:5px 8px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px}.sp-mini-del{border:none;background:none;color:var(--danger);cursor:pointer;font-size:12px;padding:0 4px}.sp-add-extra{display:flex;gap:8px;margin-top:12px;align-items:center}.sp-add-extra input{flex:1;padding:7px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px}.sp-slot{border:1px solid var(--gray-200);border-radius:var(--radius);padding:12px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-slot-title{background:var(--primary);color:#fff;height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:0;font-size:12px;font-weight:600;flex:none}.sp-slot-file{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.sp-slot-fname{font-size:12px;font-weight:600;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-slot-fsize{font-size:12px;color:var(--gray-500)}.sp-slot-empty{font-size:12px;color:var(--gray-400)}.sp-slot.ready{border-color:#bfdbfe;background:#f8fafc}.sp-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;width:100%}.sp-media-card{border:1px solid var(--gray-200);border-radius:var(--radius);padding:8px;background:#fff}.sp-media-img{width:100%;height:110px;object-fit:cover;border-radius:0;display:block;background:#f1f5f9}.sp-media-video{width:100%;height:110px;border-radius:0;background:#000;display:block}.sp-media-name{font-size:12px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-media-meta{font-size:11px;color:var(--gray-500);margin:2px 0 6px}.sp-media-ops{display:flex;gap:6px}.sp-cat-name{display:flex;align-items:center;gap:6px}.sp-cat-toggle{border:none;background:none;cursor:pointer;color:var(--gray-500);font-size:11px;padding:2px}.sp-cat-indent{padding-left:8px;color:var(--gray-600)}.sp-cat-child td{background:#fafbfd}.sp-block-link{color:var(--primary);font-weight:600;text-decoration:none}.sp-block-link:hover{text-decoration:underline}.sq-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.sq-card{border:1px solid var(--gray-200);border-radius:var(--radius);padding:14px 16px;background:#fff}.sq-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.sq-no{font-weight:700;color:var(--primary)}.sq-time{font-size:12px;color:var(--gray-400)}.sq-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:12px;line-height:1.7;color:var(--gray-700);margin-top:10px}.sq-grid b{color:var(--gray-500);font-weight:600}.sq-full{grid-column:1 / -1}.sq-ops{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}@media (max-width: 768px){.sq-grid{grid-template-columns:1fr}.sq-ops{justify-content:stretch}.sq-ops .btn{flex:1}}.comm-note{margin-top:12px;padding:10px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-left:3px solid var(--primary);border-radius:0;font-size:12px;color:var(--gray-600);line-height:1.8}.comm-rule-line{display:block;color:var(--ok);margin-top:4px}.comm-calc-err{margin-top:10px;padding:9px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:0;color:#b91c1c;font-size:12px}.comm-result{margin-top:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:0;padding:14px 16px}.comm-result-title{font-weight:700;text-align:center;padding:8px 0 10px;margin-bottom:10px;background:#e8f0fe;border-radius:0}.comm-loss{margin-bottom:10px;padding:10px 14px;background:#fee2e2;border:1px solid #fecaca;border-radius:0;color:#b91c1c;font-weight:700;text-align:center;font-size:12px}.comm-row{display:flex;justify-content:space-between;gap:10px;padding:6px 2px;border-bottom:1px solid var(--gray-200);font-size:12px;color:var(--gray-700)}.comm-row span{color:var(--gray-600)}.comm-row b{font-weight:600;color:var(--gray-800);white-space:nowrap}.comm-row b.comm-pay{color:var(--ok)}.comm-segs{margin-top:10px;font-size:12px;color:var(--gray-600);line-height:1.8;word-break:break-word}.comm-detail-head{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--gray-700);margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid var(--gray-200)}.comm-detail-table{width:100%;border-collapse:collapse}.comm-detail-table td{padding:8px 10px;border-bottom:1px solid var(--gray-200);font-size:12px}.comm-detail-table td:first-child{width:190px;color:var(--gray-500);white-space:nowrap}.comm-detail-table td:last-child{color:var(--gray-800)}.comm-tier-row{display:flex;align-items:center;gap:8px;padding:6px 0}.comm-tier-no{width:26px;color:var(--gray-500);font-weight:600;flex:none}.comm-tier-row input{width:90px;flex:none}@media (max-width: 768px){.comm-tier-row{flex-wrap:wrap}.comm-tier-row input{width:70px}.comm-detail-table td:first-child{width:44%;white-space:normal}}.kb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.kb-tabs{display:flex;gap:6px;flex-wrap:wrap}.kb-tab{border:1px solid var(--border);background:#fff;color:var(--gray-600);padding:6px 14px;border-radius:0;font-size:12px;cursor:pointer}.kb-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.kb-bar-right{display:flex;gap:8px;align-items:center}.kb-bar-right input{width:200px}.kb-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kb-card{background:#fff;border:1px solid var(--border);border-radius:0;padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.kb-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #2563eb14}.kb-card-top{display:flex;align-items:center;gap:8px}.kb-title{font-size:12px;font-weight:600;color:var(--gray-800)}.kb-badge{flex:none;font-size:12px;padding:2px 8px;border-radius:0;background:var(--gray-100);color:var(--gray-600)}.kb-badge.kb-file{background:#eef2ff;color:#4f46e5}.kb-badge.kb-tech{background:#ecfdf5;color:#059669}.kb-badge.kb-video{background:#fff7ed;color:#ea580c}.kb-badge.kb-article{background:#eff6ff;color:#2563eb}.kb-meta{font-size:12px;color:var(--gray-400);margin-top:6px}.kb-excerpt{font-size:12px;color:var(--gray-600);margin-top:6px;line-height:1.6}.kb-ops{display:flex;gap:8px;margin-top:10px}.kb-content{font-size:12px;line-height:1.8;color:var(--gray-800);white-space:pre-line;margin-top:10px;background:var(--gray-50);border-radius:0;padding:14px}@media (max-width: 768px){.kb-list{grid-template-columns:1fr}.kb-bar,.kb-bar-right{flex-direction:column;align-items:stretch}.kb-bar-right input{width:100%;box-sizing:border-box}.kb-bar-right .btn{width:100%}}.dash-section-title{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:12px}.dash-empty{color:var(--gray-500);font-size:12px;padding:8px 0 2px}.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.dash-bars{display:flex;flex-direction:column;gap:12px}.dash-bar-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin-bottom:4px}.dash-bar-label{color:var(--gray-700)}.dash-bar-num{color:var(--gray-500);font-variant-numeric:tabular-nums}.dash-bar-track{height:8px;border-radius:0;background:#eef2f7;overflow:hidden}.dash-bar-fill{height:100%;border-radius:0;background:linear-gradient(90deg,#3b82f6,#2563eb)}@media (max-width: 768px){.dash-2col{grid-template-columns:1fr;margin-bottom:10px}}@media (max-width: 768px){.sp-grid{grid-template-columns:1fr 1fr}.sp-cost-strip{flex-direction:column;gap:8px}.sp-add-btn,.sp-toolbar-right{margin-left:0}.page-tab{flex:1;text-align:center;padding:10px 4px}.sp-slot{flex-direction:column;align-items:stretch}.sp-slot-title{align-self:flex-start}.sp-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sp-media-img,.sp-media-video{height:90px}.form-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}}.rp-header-actions{margin-top:8px}.rp-mobile-hint{margin-left:auto;align-self:center;font-size:12px;color:var(--gray-500)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.role-card{background:var(--card-bg, #fff);border:1px solid var(--gray-200);border-radius:0;overflow:hidden;display:flex;flex-direction:column;text-align:left;padding:0}.role-card-head{height:64px;position:relative;display:flex;align-items:center;padding:0 16px}.role-card-icon{font-size:28px;line-height:1}.role-card-locked{position:absolute;right:10px;top:10px;background:#ffffffeb;color:#1d4ed8;font-size:11px;font-weight:600;padding:2px 8px;border-radius:0}.role-card-body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.role-card-title{font-size:12px;font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:8px}.role-card-preset{font-size:11px;font-weight:400;color:var(--gray-500);border:1px solid var(--gray-200);padding:1px 6px;border-radius:0}.role-card-desc{font-size:12px;color:var(--gray-500);min-height:32px}.role-card-users{display:flex;align-items:center;gap:8px}.role-user-avatars{display:inline-flex}.role-user-avatars>*{margin-right:-6px;border:2px solid #fff}.role-card-count{font-size:12px;color:var(--gray-500)}.role-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.role-card-add{align-items:center;justify-content:center;gap:8px;border-style:dashed;color:var(--primary);font-size:12px;cursor:pointer;min-height:180px;background:#f8fafc}.role-card-add:hover{background:#eef4ff}.role-card-add-plus{font-size:28px;line-height:1}.rp-avatar{border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex:none}.rp-avatar-text{background:var(--primary);color:#fff;font-weight:600}.rp-avatar-more{background:var(--gray-200);color:var(--gray-600);font-size:10px}.rp-matrix{display:flex;gap:16px;align-items:flex-start}.rp-role-list{width:190px;flex:none;background:var(--card-bg, #fff);border:1px solid var(--gray-200);border-radius:0;padding:8px}.rp-role-list-title{font-size:12px;color:var(--gray-500);padding:4px 10px 8px}.rp-role-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;background:none;border-radius:0;cursor:pointer;font-size:12px;color:var(--gray-700)}.rp-role-item:hover{background:#f1f5f9}.rp-role-item.active{background:#eaf2fe;color:var(--primary);font-weight:600}.rp-role-dot{width:10px;height:10px;border-radius:50%;flex:none}.rp-role-name{flex:1;text-align:left}.rp-role-count{font-size:11px;color:var(--gray-400)}.rp-matrix-main{flex:1;min-width:0}.perm-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.perm-search{width:200px;padding:7px 12px;border:1px solid var(--gray-300);border-radius:0;font-size:12px}.rp-boss-note{font-size:12px;color:#b45309;background:#fef3c7;padding:4px 10px;border-radius:0;margin-left:auto}.rp-checked-note{font-size:12px;color:var(--gray-600);margin-left:auto}.perm-matrix-wrap{overflow-x:auto;background:var(--card-bg, #fff);border:1px solid var(--gray-200);border-radius:0}.perm-matrix{border-collapse:collapse;width:100%;font-size:12px}.perm-matrix th,.perm-matrix td{padding:6px 8px;border-bottom:1px solid var(--gray-100);text-align:center;white-space:nowrap}.perm-matrix thead th{background:#f5f7fa;color:var(--gray-600);font-weight:600;position:sticky;top:0}.perm-matrix .perm-page-col{text-align:left;min-width:130px}.perm-matrix .perm-col-head{cursor:pointer}.perm-matrix .perm-col-head:hover{color:var(--primary)}.perm-matrix .perm-module-row td{background:#eef2f7;font-weight:600;color:var(--gray-700);text-align:left}.perm-matrix .perm-page-cell{text-align:left;cursor:pointer;color:var(--gray-700)}.perm-matrix .perm-page-cell:hover{color:var(--primary)}.perm-cell input{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.perm-cell input:disabled{cursor:not-allowed;opacity:.45}.rp-query-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.rp-query-total{font-size:12px;color:var(--gray-500)}.rp-query-table td{vertical-align:middle}.rp-sub{display:block;font-size:12px;color:var(--gray-400)}.rp-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.rp-chip{font-size:11px;padding:2px 8px;border:1px solid var(--gray-200);border-radius:0;color:var(--gray-600);background:#fff}.rp-chip-gray{background:#f5f7fa}.rp-chip-blue{background:#eaf2fe;border-color:#bfdbfe;color:var(--primary)}.rp-chip-more{background:var(--gray-100)}.rp-role-name-tag{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--gray-800)}.rp-view-body{padding:4px 0;max-height:60vh;overflow-y:auto}.rp-view-group{margin-bottom:12px}.rp-view-label{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:6px}.rp-view-count{font-size:12px;color:var(--gray-500);border-top:1px dashed var(--gray-200);padding-top:10px}.rp-color-row,.rp-icon-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rp-color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.rp-color-dot.on{border-color:var(--gray-800);box-shadow:0 0 0 2px #fff inset}.rp-color-input{width:30px;height:26px;border:none;padding:0;background:none;cursor:pointer}.rp-icon-dot{width:32px;height:32px;font-size:17px;border:1px solid var(--gray-200);border-radius:0;background:#fff;cursor:pointer}.rp-icon-dot.on{border-color:var(--primary);background:#eaf2fe}.rp-attach-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.rp-attach-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:0;cursor:pointer}.rp-attach-row:hover{background:#f8fafc}.rp-attach-row input{width:15px;height:15px;accent-color:var(--primary)}.rp-attach-name{flex:1;min-width:0}@media (max-width: 768px){.role-grid{grid-template-columns:1fr}.rp-mobile-hint{margin-left:0}.rp-header-actions{margin-top:0}}.role-badge-list{display:flex;flex-wrap:wrap;gap:4px}.salary-guide{margin-bottom:16px}.salary-guide-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.salary-guide-title{font-size:12px;font-weight:600;color:var(--gray-800)}.salary-guide-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.salary-guide-step{display:flex;gap:10px;padding:10px;border:1px solid var(--gray-100);border-radius:var(--radius);background:var(--gray-50)}.salary-guide-step-n{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.salary-guide-step-body{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.salary-guide-step-title{font-size:12px;font-weight:600;color:var(--gray-800)}.salary-guide-step-desc{font-size:12px;color:var(--gray-500);line-height:1.5;margin-bottom:2px}.salary-social-info{display:flex;align-items:center;gap:16px;padding:8px 12px;background:var(--gray-50);border-radius:var(--radius);font-size:12px;color:var(--gray-700);margin-bottom:12px;flex-wrap:wrap}.salary-social-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius)}.salary-social-table{width:100%;border-collapse:collapse;font-size:12px;min-width:560px}.salary-social-table th{background:#f5f7fa;color:var(--gray-600);font-weight:600;text-align:left;padding:9px 12px;border-bottom:1px solid var(--border-light);white-space:nowrap}.salary-social-table td{padding:8px 12px;border-bottom:1px solid var(--gray-100)}.salary-social-table input{padding:6px 8px;border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;text-align:right}.salary-social-table input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.salary-check{display:inline-flex;align-items:center;cursor:pointer}.salary-check input{display:none}.salary-check-box{width:18px;height:18px;border:1px solid var(--gray-300);border-radius:0;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:transparent;transition:all .15s;flex-shrink:0}.salary-check input:checked+.salary-check-box{background:var(--primary);border-color:var(--primary);color:#fff}.salary-add-list{max-height:46vh;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius);display:flex;flex-direction:column}.salary-add-row{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--gray-100)}.salary-add-row:last-child{border-bottom:none}.salary-add-row:hover{background:#f8fafc}.salary-add-row input{width:15px;height:15px;accent-color:var(--primary)}.salary-add-name{font-size:12px;color:var(--gray-800)}.salary-add-sub{margin-left:auto;font-size:12px;color:var(--gray-400)}.salary-toolbar{gap:8px}.salary-act-wrap{position:relative}.salary-act-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:80;min-width:148px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:0 8px 24px #0f172a24;padding:4px}.salary-act-item{display:block;width:100%;text-align:left;padding:9px 12px;font-size:12px;color:var(--gray-700);background:none;border:none;border-radius:0;cursor:pointer}.salary-act-item:hover{background:#f0f5ff;color:var(--primary)}.salary-table-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius)}.salary-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1180px}.salary-table th{background:#f5f7fa;color:var(--gray-600);font-weight:600;padding:8px;border-bottom:1px solid var(--border-light);white-space:nowrap;text-align:center}.salary-table td{padding:7px 8px;border-bottom:1px solid var(--gray-100);white-space:nowrap;text-align:center}.salary-table tbody tr:hover{background:#f8fafc}.salary-table .salary-th-group{background:#eef3fb;color:var(--gray-700)}.salary-num{text-align:right!important;font-variant-numeric:tabular-nums}.salary-num-sub{font-weight:600;background:#fafbfd}.salary-net{color:var(--primary);font-weight:700}.salary-table tfoot td{background:#f8fafc;border-top:2px solid var(--gray-200);font-weight:600;border-bottom:none}.salary-cell-input{width:76px;padding:5px 6px;border:1px solid transparent;border-radius:0;font-size:12.5px;text-align:right;background:transparent;font-variant-numeric:tabular-nums}.salary-cell-input:hover{border-color:var(--gray-300);background:#fff}.salary-cell-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1f}.salary-cards{display:flex;flex-direction:column;gap:10px}.salary-card{border:1px solid var(--border-light);border-radius:0;padding:12px;background:#fff}.salary-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.salary-card-name{font-weight:600;font-size:12px;color:var(--gray-800)}.salary-card-sub{font-size:12px;color:var(--gray-400);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salary-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.salary-card-cell{background:var(--gray-50);border-radius:0;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.salary-card-cell span{font-size:11px;color:var(--gray-500)}.salary-card-cell b{font-size:12px;color:var(--gray-800);font-variant-numeric:tabular-nums}.salary-card-net{background:#eaf2fe}.salary-card-net b{color:var(--primary)}@media (max-width: 768px){.salary-guide-steps{grid-template-columns:1fr;gap:8px}.salary-guide-step{padding:8px 10px}.salary-toolbar{gap:6px}.salary-toolbar input[type=month]{flex:1;min-width:0}.salary-social-info{gap:8px}}.fin-report-tabs{display:flex;align-items:center;gap:4px;border-bottom:2px solid var(--gray-200);margin-bottom:16px}.fin-report-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:12px;color:var(--gray-500);cursor:pointer}.fin-report-tab:hover{color:var(--primary)}.fin-report-tab.on{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.fin-report-year{display:flex;gap:4px}.fin-report-year-btn{padding:5px 12px;border:1px solid var(--border-light);border-radius:0;background:#fff;font-size:12px;color:var(--gray-600);cursor:pointer}.fin-report-year-btn:hover{border-color:var(--primary);color:var(--primary)}.fin-report-year-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.fin-report-wrap{overflow-x:auto}.fin-report-table{width:100%;border-collapse:collapse;font-size:12px}.fin-report-table th{background:#f5f7fa;color:var(--gray-600);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--border-light);text-align:left;white-space:nowrap}.fin-report-table td{padding:10px 12px;border-bottom:1px solid var(--gray-100);white-space:nowrap;font-variant-numeric:tabular-nums}.fin-report-table tbody tr:hover{background:#f8fafc}.fin-report-table tfoot td{background:#f8fafc;border-top:2px solid var(--gray-200);border-bottom:none}@media (max-width: 768px){.fin-report-tabs{flex-wrap:wrap;margin-bottom:10px}.fin-report-tab{padding:8px 12px;font-size:12px}}.fin-report-rows{display:flex;flex-direction:column}.fin-report-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px dashed var(--border-light)}.fin-report-row:last-child{border-bottom:none}.fin-report-row-name{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:500;color:var(--gray-700);min-width:0;flex:1}.fin-report-row-sub{font-size:11px;color:var(--gray-400)}.fin-report-row-amount{font-size:12px;font-weight:700;color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums}.fin-report-row-total .fin-report-row-name{font-weight:600;color:var(--gray-800)}.org-avatar{width:30px;height:30px;border-radius:50%;background:#eaf2fe;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;overflow:hidden;flex-shrink:0}.org-avatar img{width:100%;height:100%;object-fit:cover;display:block}.org-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--gray-100)}.org-toolbar input,.org-toolbar select{padding:7px 12px;background:#fff;color:var(--gray-700);border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px}.org-toolbar input:focus,.org-toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.org-toolbar .org-toolbar-right{margin-left:auto;display:flex;gap:8px;align-items:center}.sc-phone{display:flex;align-items:center;justify-content:space-between;gap:8px}.sc-call{flex-shrink:0;font-size:12px;color:var(--primary, #2563eb);border:1px solid rgba(37,99,235,.4);border-radius:0;padding:3px 10px;text-decoration:none;background:#eff5ff}.ap-decision{background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.ap-decision-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.ap-amount-label{font-size:12px;color:var(--gray-500);margin-bottom:2px}.ap-amount{font-size:26px;font-weight:700;line-height:1.15}.ap-decision-meta{font-size:12px;color:var(--gray-600);display:flex;flex-direction:column;gap:4px}.ap-decision-meta span{display:inline-block;min-width:64px;color:var(--gray-400);font-size:12px}.ap-risk{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);border-radius:var(--radius);padding:10px 14px;font-size:12px;margin-bottom:14px}.ap-risk div+div{margin-top:4px}.ap-fold{border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.ap-fold-head{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;background:#f8fafc;border:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--gray-800);font-family:inherit;text-align:left}.ap-fold-head:hover{background:#eef2f7}.ap-fold-arrow{display:flex;color:var(--gray-400);transition:transform .15s}.ap-fold-arrow.open{transform:rotate(90deg)}.ap-fold-arrow svg{width:14px;height:14px}.ap-fold-body{padding:12px 14px;border-top:1px solid var(--border-light)}.ap-kv-row{display:flex;gap:12px;padding:5px 0;font-size:12px}.ap-kv-k{flex:none;width:84px;color:var(--gray-500)}.ap-kv-v{color:var(--gray-800);word-break:break-all}.ap-kv-v.mono{font-family:monospace;font-size:12px}.ap-kv-v.warn{color:var(--danger)}.ap-timeline{padding:2px 0}.ap-tl-item{display:flex;gap:10px;padding-bottom:12px;position:relative}.ap-tl-item:last-child{padding-bottom:0}.ap-tl-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--gray-300);margin-top:3px}.ap-tl-dot.done{background:var(--success)}.ap-tl-dot.reject{background:var(--danger)}.ap-tl-item:not(:last-child):before{content:"";position:absolute;left:4px;top:16px;bottom:0;width:2px;background:var(--gray-200)}.ap-tl-title{font-size:12px;font-weight:600;color:var(--gray-800)}.ap-tl-sub{font-size:12px;color:var(--gray-500);margin-top:1px}.ap-tl-sub.pending{color:var(--gray-400)}.ap-tl-sub.reject{color:var(--danger)}.ap-actionbar{position:sticky;bottom:-24px;margin:16px -24px -24px;padding:12px 24px;background:#fff;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:10px}@media (max-width: 768px){.ap-decision-row{flex-direction:column;gap:10px}.ap-amount{font-size:24px}.ap-actionbar{bottom:-16px;margin:14px -16px -16px;padding:10px 16px}.ap-actionbar .btn{flex:1}}.ap-m-block{display:none}@media (max-width: 768px){.ap-desktop-only,.ap-desktop-block{display:none}.ap-m-block{display:block}.ap-m-filter{margin-bottom:10px}.ap-m-filter select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-light);border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 12px;padding:9px 36px 9px 16px;font-size:12px;color:var(--gray-800)}.ap-m-sumline{font-size:12px;color:var(--gray-500);margin-bottom:10px}.ap-m-card{background:#fff;border:1px solid var(--border-light);border-radius:0;padding:12px 14px;margin-bottom:14px;box-shadow:0 1px 3px #0f172a0d}.ap-m-head{display:flex;align-items:center;gap:10px}.ap-m-person{flex:none;width:34px;height:34px;border-radius:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.ap-m-titlebox{flex:1;min-width:0}.ap-m-title{font-size:12px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-m-docno{font-family:monospace;font-size:12px;color:var(--gray-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-m-wait{flex:none;font-size:12px;color:#ea580c;white-space:nowrap}.ap-m-head .badge{flex:none}.ap-m-sum{margin-top:8px;font-size:12px;color:var(--gray-600);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-m-tsub{font-size:11px;color:var(--gray-400);margin-top:4px}.ap-m-fields{margin-top:10px;display:flex;flex-direction:column;gap:4px}.ap-m-field{display:flex;align-items:baseline;font-size:12px;line-height:1.5}.ap-m-fk{flex:none;color:var(--gray-500)}.ap-m-fv{flex:1;min-width:0;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-m-fv.danger{color:var(--danger)}.ap-m-actions{flex:none;display:flex;align-items:center;gap:8px}.ap-m-actions .btn{white-space:nowrap}.ap-m-statusrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.ap-m-amt-inline{font-size:12px;font-weight:600;color:var(--gray-800)}.ap-m-rejreason{margin-top:8px;padding:6px 10px;border-radius:0;background:var(--danger-light, #fef2f2);font-size:12px;color:var(--danger)}.ap-m-card .approval-progress{margin-top:10px}.ap-m-card .ap-m-actions{justify-content:flex-end;margin-top:10px;width:100%}}.cp-page{max-width:560px;margin:0 auto;padding:0 0 12px}.cp-head{background:linear-gradient(160deg,#0b1e46,#123368 55%,#1e4fb8 130%);color:#fff;margin:0 -14px;padding:14px 16px 44px;border-radius:0}.cp-head-row1{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cp-head-greet{min-width:0}.cp-greet-line{font-size:17px;font-weight:500;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cp-greet-line b{font-size:18px;font-weight:700}.cp-role-tag{font-size:11px;font-weight:500;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);padding:1px 8px;border-radius:0}.cp-clock{font-size:12px;opacity:.85;margin-top:5px;font-variant-numeric:tabular-nums}.cp-head-actions{display:flex;gap:4px;flex:none}.cp-head-act{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:#fff;padding:4px 6px;cursor:pointer}.cp-head-act svg{width:22px;height:22px}.cp-head-act-label{font-size:10px;opacity:.9}.cp-act-badge{position:absolute;top:-1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:0;background:#ef4444;color:#fff;font-size:10px;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.cp-sumcard{position:relative;z-index:1;display:flex;align-items:stretch;gap:2px;width:100%;margin-top:-28px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:11px 8px;cursor:pointer;text-align:left;font-size:12px}.cp-sumcard-item{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:0 8px;border-right:1px solid var(--border-light)}.cp-sumcard-item:last-of-type{border-right:0}.cp-sumcard-label{font-size:11px;color:var(--gray-500)}.cp-sumcard-num{font-size:12px;font-weight:700;color:var(--gray-800);white-space:nowrap;font-variant-numeric:tabular-nums}.cp-sumcard-num.danger{color:var(--danger)}.cp-sumcard-arrow{align-self:center;color:var(--gray-300);font-size:18px;padding:0 2px 0 6px}.cp-m-wan{display:none}.cp-search{position:relative;display:flex;align-items:center;gap:8px;background:#f5f7fa;border:1px solid var(--border-light);border-radius:0;padding:8px 14px}.cp-search-big{background:#fff;border:1px solid var(--border-light);border-radius:0;padding:10px 8px 10px 16px;margin-top:12px;box-shadow:var(--shadow)}.cp-search svg{flex:none;width:17px;height:17px;color:var(--gray-400)}.cp-search input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:12px;color:var(--gray-800)}.cp-search-big input{font-size:12px}.cp-search-clear{flex:none;width:20px;height:20px;border-radius:50%;border:0;background:var(--gray-300);color:#fff;font-size:12px;line-height:1;cursor:pointer}.cp-mic{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.cp-mic svg{width:17px;height:17px;color:#fff}.cp-search.listening .cp-mic{animation:cpPulse 1s infinite}@keyframes cpPulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 8px #2563eb00}}.cp-search-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:0 10px 28px #0f172a29;max-height:320px;overflow-y:auto;padding:4px 0;text-align:left}.cp-search-group-head{padding:8px 14px 4px;font-size:11px;color:var(--gray-400)}.cp-search-row{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer}.cp-search-row:hover{background:#eaf2fe}.cp-search-title{flex:none;max-width:55%;font-size:12px;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-search-sub{flex:1;font-size:12px;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-search-more{padding:6px 14px 8px;font-size:12px;color:var(--primary);cursor:pointer}.cp-search-foot{padding:8px 14px;font-size:11px;color:var(--gray-400);border-top:1px solid var(--border-light)}.cp-search-empty{padding:20px 14px;text-align:center;font-size:12px;color:var(--gray-400)}.cp-rangebar{display:flex;background:#fff;border:1px solid var(--border-light);border-radius:0;margin:12px 0;padding:3px;box-shadow:var(--shadow)}.cp-rangebtn{flex:1;border:0;background:none;padding:7px 0;font-size:12px;color:var(--gray-600);border-radius:0;cursor:pointer}.cp-rangebtn.active{background:var(--primary);color:#fff;font-weight:600}.cp-sec-head .dash-section-title{margin-bottom:0}.cp-sec-sub{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gray-400);flex:none}.cp-sec-label{background:#eaf2fe;color:var(--primary);border-radius:0;padding:1px 7px;font-weight:500}.cp-live{display:inline-flex;align-items:center;gap:5px}.cp-live-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit}.cp-live-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.cp-edit-btn{flex:none;font-size:12px;color:var(--primary);background:#eaf2fe;border:0;border-radius:0;padding:4px 12px;cursor:pointer}.cp-snap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.cp-snap{position:relative;background:#f5f7fa;border-radius:var(--radius);padding:10px 10px 9px;min-height:76px}.cp-mom{position:absolute;top:8px;right:10px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.cp-mom.up{color:var(--success)}.cp-mom.down{color:var(--danger)}.cp-mom.flat{color:var(--gray-400);font-weight:400}.cp-snap-label{font-size:12px;color:var(--gray-500)}.cp-snap-val{font-size:19px;font-weight:700;color:var(--gray-800);margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cp-snap-sub{font-size:11px;color:var(--gray-400);margin-top:2px}.cp-target-wrap{display:flex;align-items:center;gap:16px;margin-top:8px}.cp-ring{flex:none;width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center}.cp-ring-hole{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cp-ring-num{font-size:20px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.cp-ring-label{font-size:10px;color:var(--gray-400)}.cp-target-side{flex:1;min-width:0;display:flex;flex-direction:column}.cp-tv-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--border-light)}.cp-tv-row:last-child{border-bottom:0}.cp-tv-label{font-size:12px;color:var(--gray-500);flex:none}.cp-tv-val{font-size:12px;font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.cp-target-empty{margin-top:10px;font-size:12px;color:var(--gray-500);display:flex;align-items:center;gap:8px}.cp-edit-inline{font-size:12px;color:var(--primary);background:none;border:0;padding:0;cursor:pointer}.cp-tiles{display:grid;gap:8px;margin-top:8px}.cp-tiles-3{grid-template-columns:repeat(3,1fr)}.cp-tiles-4{grid-template-columns:repeat(2,1fr)}.cp-tile{background:#f5f7fa;border-radius:var(--radius);padding:9px 8px}.cp-tile-label{font-size:11px;color:var(--gray-500)}.cp-tile-val{font-size:12px;font-weight:700;color:var(--gray-800);margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cp-tile-val.warn{color:var(--danger)}.cp-tile-sub{font-size:10px;color:var(--gray-400);margin-top:2px}.cp-ef-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.cp-ef{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:8px 6px;text-align:center}.cp-ef-label{font-size:11px;font-weight:600;color:var(--gray-600);display:inline-flex;align-items:center;gap:4px}.cp-ef-badge{font-size:9px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:0;padding:0 4px}.cp-ef-val{font-size:12px;font-weight:700;color:var(--gray-800);margin-top:3px;font-variant-numeric:tabular-nums}.cp-ef-val.warn{color:#b45309}.cp-ef-sub{font-size:9px;color:var(--gray-400);margin-top:2px}.cp-flow{display:flex;flex-direction:column}.cp-flow-row{display:flex;align-items:center;gap:8px;padding:4px 0}.cp-flow-label{flex:none;width:32px;font-size:11px;color:var(--gray-500)}.cp-flow-bars{flex:1;height:10px;background:#f1f5f9;border-radius:0;overflow:hidden;display:flex;align-items:center}.cp-flow-bar{display:block;height:4px;border-radius:0;margin-right:1px}.cp-flow-bar.recv{background:#3b82f6}.cp-flow-bar.pay{background:#f59e0b}.cp-flow-net{flex:none;width:88px;font-size:11px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.cp-flow-net.pos{color:var(--success)}.cp-flow-net.neg{color:var(--danger)}.cp-flow-legend{display:flex;gap:14px;margin-top:6px}.cp-flow-leg{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--gray-500)}.cp-flow-dot{width:8px;height:8px;border-radius:0;display:inline-block}.cp-flow-dot.recv{background:#3b82f6}.cp-flow-dot.pay{background:#f59e0b}.cp-kv{display:flex;flex-direction:column;margin-top:10px}.cp-kv-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light)}.cp-kv-row:last-child{border-bottom:0}.cp-kv-left{display:flex;flex-direction:column;gap:2px;min-width:0}.cp-kv-label{font-size:12px;color:var(--gray-800);font-weight:500}.cp-kv-sub{font-size:11px;color:var(--gray-400)}.cp-kv-val{margin-left:auto;flex:none;font-size:12px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.cp-line-svg{width:100%;height:auto;display:block;margin-top:4px}.cp-line-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--gray-400);margin-top:2px;font-variant-numeric:tabular-nums}.cp-block{margin-top:12px}.cp-block-title{font-size:12px;color:var(--gray-500);margin:0 0 8px}.cp-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-light)}.cp-row:last-child{border-bottom:0}.cp-row-dot{flex:none;width:8px;height:8px;border-radius:50%}.cp-row-name{flex:1;font-size:12px;color:var(--gray-800);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-row-num{flex:none;font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.cp-risk-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 12px}.cp-risk-tile{border-radius:var(--radius);padding:10px;text-align:center;color:#fff}.cp-risk-tile.risk-high{background:#ef4444}.cp-risk-tile.risk-total{background:#334155}.cp-risk-num{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.cp-risk-label{font-size:11px;opacity:.92;margin-top:2px}.cp-risk-groups{display:flex;flex-direction:column}.cp-risk-g{border-bottom:1px solid var(--border-light)}.cp-risk-g:last-child{border-bottom:0}.cp-risk-ghead{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:10px 0;cursor:pointer;text-align:left}.cp-lv{flex:none;font-size:10px;font-weight:600;color:#fff;border-radius:0;padding:2px 6px}.cp-lv-high{background:#ef4444}.cp-lv-med{background:#f59e0b}.cp-lv-low{background:#3b82f6}.cp-risk-gname{flex:1;font-size:12px;font-weight:500;color:var(--gray-800)}.cp-risk-gnum{flex:none;font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.cp-chev{flex:none;font-size:12px;color:var(--gray-400);transition:transform .15s}.cp-chev.open{transform:rotate(90deg)}.cp-risk-items{padding:2px 0 10px 22px}.cp-risk-item{display:flex;align-items:center;gap:8px;padding:4px 0}.cp-risk-iname{flex:1;font-size:12px;color:var(--gray-600);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-risk-inum{flex:none;font-size:11px;color:var(--gray-500);font-variant-numeric:tabular-nums}.cp-risk-go{margin-top:4px;font-size:12px;color:var(--primary);background:#eaf2fe;border:0;border-radius:0;padding:4px 12px;cursor:pointer}.cp-appr-head{font-size:12px;color:var(--gray-600);margin:8px 0}.cp-appr-head b{font-size:12px;color:var(--gray-800);font-variant-numeric:tabular-nums}.cp-appr{display:flex;flex-wrap:wrap;gap:8px}.cp-appr-chip{display:inline-flex;align-items:center;gap:6px;background:#f5f7fa;border:1px solid var(--border-light);border-radius:0;padding:7px 12px;cursor:pointer;font-size:12px;color:var(--gray-700)}.cp-appr-chip.urgent{background:#fef2f2;border-color:#fecaca}.cp-appr-label{font-weight:600}.cp-appr-count{font-variant-numeric:tabular-nums}.cp-appr-amount{color:var(--gray-500);font-variant-numeric:tabular-nums}.cp-appr-fire{font-size:12px}.cp-ai{display:flex;flex-direction:column;gap:10px;margin-top:8px}.cp-ai-row{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius)}.cp-ai-dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:5px}.cp-ai-main{flex:1;min-width:0}.cp-ai-title{font-size:12px;font-weight:600;color:var(--gray-800)}.cp-ai-reason{font-size:12px;color:var(--gray-500);line-height:1.6;margin-top:3px}.cp-ai-advice{font-size:12px;color:var(--gray-600);line-height:1.6;margin-top:3px}.cp-ai-go{flex:none;align-self:center;font-size:12px;color:var(--primary);background:#eaf2fe;border:0;border-radius:0;padding:5px 12px;cursor:pointer}.cp-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px;margin-top:10px}.cp-quick-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:4px 0;cursor:pointer}.cp-quick-ic{width:44px;height:44px;border-radius:0;background:#eaf2fe;display:flex;align-items:center;justify-content:center;font-size:20px}.cp-quick-label{font-size:11px;color:var(--gray-600)}.cp-state{padding:48px 20px;text-align:center;color:var(--gray-500);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:12px}.cp-err{color:var(--danger);font-size:12px;margin-top:4px}.cp-toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:#0f172ad9;color:#fff;font-size:12px;border-radius:0;padding:8px 18px;z-index:60;max-width:80vw;text-align:center}.cp-target-form .form-group input{width:100%}.cp-pull{display:none}@media (max-width: 768px){.main-content.cockpit-mode{padding-top:0}.main-content.cockpit-mode .cp-head{padding-top:calc(14px + env(safe-area-inset-top))}.main-content.me-mode{padding-top:0}html.page-blue-head,html.page-blue-head body{background:#0b1e46}html.page-blue-head .main-content{background:var(--content-bg)}html.cp-ptr{overscroll-behavior-y:none}.main-content.cockpit-mode .cp-head{border-radius:0}.main-content.cockpit-mode .cp-head{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:560px;z-index:30;background:linear-gradient(180deg,#16396c,#1d4d92 55%,#2763b4)}html.page-blue-head.cp-ptr,html.page-blue-head.cp-ptr body{background:#16396c}.cp-pull-body{will-change:transform}.cp-pull{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:560px;z-index:400;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;background:transparent;color:var(--gray-500);font-size:12px}.cp-pull-spin{width:14px;height:14px;border:2px solid rgba(107,114,128,.3);border-top-color:var(--gray-500);border-radius:50%;animation:cpSpin .8s linear infinite}@keyframes cpSpin{to{transform:rotate(360deg)}}.cp-pull-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;display:flex;align-items:center;gap:10px;padding:12px 22px;background:#0f172ad1;color:#fff;font-size:12px;border-radius:0;box-shadow:0 8px 24px #0f172a40}.cp-pull-center .cp-pull-spin{border-color:#ffffff4d;border-top-color:#fff}.main-content.cockpit-mode .cp-head{padding-bottom:18px}.cp-top-mid{display:flex;flex-direction:column}.cp-top-mid .cp-search{order:1}.cp-top-mid .cp-sumcard{order:2;margin-top:12px}.cp-m-full{display:none}.cp-m-wan{display:inline}}.cp-desk-only{display:none}@media (min-width: 769px){.cp-page{max-width:none;padding:0 16px 16px}.cp-head{margin:0 -16px}.cp-pad{display:none}.cp-pull-body{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:14px;grid-template-areas:"topmid topmid topmid topmid topmid topmid topmid range range range" "snap snap snap snap snap snap snap target target target" "appr appr appr appr appr risk risk risk risk risk" "funds funds funds funds funds funds trend trend trend trend" "sales sales sales sales sales sales proc proc proc proc" "prodq prodq prodq prodq prodq prodq inv inv inv inv" "contract contract contract contract contract market market market market market" "rd rd rd rd rd aftersale aftersale aftersale aftersale aftersale" "hr hr hr hr hr office office office office office" "ai ai ai ai ai ai ai ai ai ai" "quick quick quick quick quick quick quick quick quick quick" "qs qs qs qs qs qs qs qs qs qs"}.cp-grid-topmid{grid-area:topmid;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}.cp-grid-range{grid-area:range}.cp-grid-snap{grid-area:snap}.cp-grid-target{grid-area:target}.cp-grid-target .cp-target-wrap{flex-direction:column;align-items:stretch}.cp-grid-target .cp-ring{align-self:center;margin-bottom:10px}.cp-grid-target .cp-tv-label{flex:1;min-width:0}.cp-grid-target .cp-tv-val{flex:none}.cp-grid-funds{grid-area:funds}.cp-grid-trend{grid-area:trend}.cp-grid-sales{grid-area:sales}.cp-grid-proc{grid-area:proc}.cp-grid-prodq{grid-area:prodq;display:flex;flex-direction:column;gap:14px;min-width:0}.cp-grid-inv{grid-area:inv}.cp-grid-hr{grid-area:hr}.cp-grid-contract{grid-area:contract}.cp-grid-market{grid-area:market}.cp-grid-rd{grid-area:rd}.cp-grid-aftersale{grid-area:aftersale}.cp-grid-office{grid-area:office}.cp-grid-risk{grid-area:risk}.cp-grid-appr{grid-area:appr}.cp-grid-ai{grid-area:ai}.cp-grid-quick{grid-area:quick}.cp-grid-qs{grid-area:qs}.cp-pull-body>div{min-width:0}.cp-pull-body .card{margin-bottom:0}.cp-grid-topmid .cp-search-big{margin-top:-28px}.cp-grid-range .cp-rangebar{margin:0}.cp-grid-snap .cp-snap-grid,.cp-grid-prodq .cp-tiles-4,.cp-grid-inv .cp-tiles-4,.cp-grid-hr .cp-tiles-4{grid-template-columns:repeat(4,1fr)}.cp-quick-mobile{display:none}.cp-desk-only{display:block}.cp-quick-desk{display:grid;grid-template-columns:repeat(7,1fr)}.cp-trend-svg{display:block;width:100%;height:auto;margin-top:8px}.cp-trend-x{display:flex;margin-top:4px}.cp-trend-x-label{flex:1;text-align:center;font-size:11px;color:var(--gray-400);font-variant-numeric:tabular-nums}.cp-trend-legend{display:flex;gap:16px;margin-top:8px;font-size:11px;color:var(--gray-500)}.cp-trend-dot{display:inline-block;width:10px;height:10px;border-radius:0;margin-right:5px;vertical-align:-1px}.cp-trend-dot.bar{background:#2563eb}.cp-trend-dot.line{background:#94a3b8;border-radius:50%;width:8px;height:8px;vertical-align:0}}.cp-sec-headwrap{display:flex;flex-direction:column}.cp-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cp-sec-title{display:flex;align-items:center;gap:8px;min-width:0}.cp-sec-ic{flex:none;width:26px;height:26px;border-radius:0;display:flex;align-items:center;justify-content:center}.cp-sec-ic svg{width:14px;height:14px}.cp-sec-subline{margin-top:6px}.cp-seal{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:0;padding:3px 10px;border:0}.cp-seal.cp-seal-ok{background:var(--ok-bg);color:var(--ok)}.cp-seal.cp-seal-warn{background:var(--warn-bg);color:var(--warn);cursor:pointer}.cp-seal.cp-seal-danger{background:var(--dan-bg);color:var(--dan);cursor:pointer}.cp-seal-chev{font-size:9px;transition:transform .15s}.cp-seal-chev.open{transform:rotate(180deg)}.cp-seal-panel{margin-top:8px;background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius);padding:6px 12px}.cp-seal-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line)}.cp-seal-item:last-child{border-bottom:0}.cp-seal-dot{flex:none;width:7px;height:7px;border-radius:50%}.cp-seal-dot-high{background:var(--dan)}.cp-seal-dot-medium{background:var(--warn-bar)}.cp-seal-text{font-size:12px;color:var(--gray-600)}.cp-empty-note{margin-top:8px;font-size:11px;color:var(--mut);line-height:1.6}.cp-mut{color:var(--mut2)!important}.cp-tile{border:1px solid transparent}.cp-tile.warn{border-color:var(--warn-bar);background:var(--warn-bg)}.cp-tile.danger{border-color:var(--dan);background:var(--dan-bg)}.cp-tile-val.warn{color:var(--warn)}.cp-tile-val.danger{color:var(--dan)}.cp-ef.warn{border-color:var(--warn-bar);background:var(--warn-bg)}.cp-ef-badge{color:var(--warn);background:var(--warn-bg)}.cp-ef-val.warn,.cp-kv-val.warn{color:var(--warn)}.cp-kv-val.danger{color:var(--dan)}.cp-tile-val,.cp-ef-val{font-size:17px}.cp-mom.up{color:var(--ok)}.cp-mom.down{color:var(--dan)}.cp-flow-bar.recv,.cp-flow-dot.recv{background:var(--primary)}.cp-flow-net.neg{color:var(--dan)}.log-mobile{display:none}.log-mseg{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:10px}.log-mseg::-webkit-scrollbar{display:none}.log-mseg-btn{flex:none;border:1px solid var(--border-light);background:#fff;color:var(--gray-600);font-size:12px;border-radius:0;padding:5px 12px;cursor:pointer}.log-mseg-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.log-mdates{display:flex;align-items:center;gap:8px;margin-bottom:10px}.log-mdates input{flex:1;min-width:0}.log-mdates span{font-size:12px;color:var(--gray-400);flex:none}.log-mrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.log-mrow select,.log-mrow input{width:100%;min-width:0}.log-mrisk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.log-mrisk-btn{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:var(--radius);padding:8px 4px;border:1px solid var(--border-light);background:#fff;cursor:pointer}.log-mrisk-num{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gray-800)}.log-mrisk-label{font-size:11px;color:var(--gray-500)}.log-mrisk-btn.risk-high.active{border-color:var(--dan);background:var(--dan-bg)}.log-mrisk-btn.risk-high.active .log-mrisk-num{color:var(--dan)}.log-mrisk-btn.risk-medium.active{border-color:var(--warn-bar);background:var(--warn-bg)}.log-mrisk-btn.risk-medium.active .log-mrisk-num{color:var(--warn)}.log-mrisk-btn.risk-normal.active{border-color:var(--gray-300);background:var(--gray-100)}.log-mrisk-btn.risk-normal.active .log-mrisk-num{color:var(--gray-600)}.log-mlist{display:flex;flex-direction:column;gap:8px}.log-mcard{background:#fff;border:1px solid var(--border-light);border-left-width:3px;border-radius:var(--radius);padding:9px 10px}.log-mcard.risk-high{border-left-color:var(--dan);background:var(--dan-bg)}.log-mcard.risk-medium{border-left-color:var(--warn-bar);background:var(--warn-bg)}.log-mcard.risk-normal{border-left-color:transparent}.log-mline1{display:flex;align-items:center;gap:6px}.log-mwho{font-size:12px;font-weight:600;color:var(--gray-800)}.log-mrole{font-size:10px;color:var(--gray-500);background:var(--gray-100);border-radius:0;padding:0 5px}.log-mseal{margin-left:auto;flex:none;font-size:10px;font-weight:600;border-radius:0;padding:1px 7px}.log-mseal.seal-red{background:var(--dan-bg);color:var(--dan)}.log-mseal.seal-amber{background:var(--warn-bg);color:var(--warn)}.log-mseal.seal-blue{background:var(--primary-light);color:var(--primary)}.log-mseal.seal-gray{background:var(--gray-100);color:var(--gray-500)}.log-mline2{display:flex;align-items:center;gap:8px;margin-top:3px}.log-mtime{flex:none;font-size:11px;color:var(--gray-400);font-variant-numeric:tabular-nums}.log-mno{font-size:11px;color:var(--gray-500);font-family:monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-mline3{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:12px;flex-wrap:wrap}.log-mchg-label{color:var(--gray-400);flex:none}.log-mchg-old{color:var(--dan);text-decoration:line-through;font-variant-numeric:tabular-nums}.log-mchg-arrow{color:var(--gray-400);flex:none}.log-mchg-new{color:var(--gray-800);font-weight:700;font-variant-numeric:tabular-nums}.log-mline4{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}.log-mdetail{width:100%;margin:0;font-size:11px;background:var(--gray-50);padding:8px;border-radius:var(--radius);white-space:pre-wrap;color:var(--gray-600)}@media (max-width: 768px){.log-desktop{display:none}.log-mobile{display:block}}.wd-page{min-height:60vh}.wd-head,.wd-desktop-only{display:none}.wd-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.wd-kpi{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;text-align:left;cursor:pointer;font:inherit;color:inherit}.wd-kpi:active{transform:scale(.98)}.wd-kpi-stock{border-color:#fdba74;background:var(--warning-light)}.wd-kpi-ico{width:36px;height:36px;border-radius:0;flex:none;display:flex;align-items:center;justify-content:center}.wd-kpi-body{display:flex;flex-direction:column;min-width:0}.wd-kpi-title{font-size:12px;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-kpi-value{font-size:20px;font-weight:700;color:var(--gray-800);line-height:1.3;font-variant-numeric:tabular-nums}.wd-kpi-sub{font-size:11px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-cols{margin-top:12px}.wd-card{margin-bottom:12px}.wd-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.wd-card-title{font-size:12px;font-weight:700;color:var(--gray-800);margin-bottom:10px}.wd-tabs{display:inline-flex;background:var(--gray-100);border-radius:0;padding:3px;gap:2px;flex-wrap:wrap}.wd-tab{border:none;background:transparent;cursor:pointer;font-size:12px;color:var(--gray-600);padding:5px 12px;border-radius:0;font:inherit}.wd-tab.active{background:#fff;color:var(--gray-800);font-weight:600;box-shadow:var(--shadow)}.wd-link{border:none;background:none;color:var(--primary);font-size:12px;cursor:pointer;font:inherit}.wd-empty{color:var(--gray-400);font-size:12px;text-align:center;padding:22px 0}.wd-todos{display:flex;flex-direction:column}.wd-todo{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;font:inherit;color:inherit;background:none;border-top:none;border-left:none;border-right:none}.wd-todo:last-child{border-bottom:none}.wd-todo:active{background:var(--gray-50)}.wd-todo-no{color:var(--gray-400);font-size:12px;font-weight:600;flex:none;width:20px;font-variant-numeric:tabular-nums}.wd-pill{flex:none;font-size:11px;padding:2px 8px;border-radius:0;white-space:nowrap}.wd-pill-blue{background:var(--primary-light);color:var(--primary)}.wd-pill-purple{background:#f5f3ff;color:#7c3aed}.wd-pill-orange{background:var(--warning-light);color:var(--warning)}.wd-pill-teal{background:#f0fdfa;color:#0d9488}.wd-pill-green{background:var(--success-light);color:var(--success)}.wd-todo-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.wd-todo-doc{font-size:12px;color:var(--gray-700);font-weight:600;font-family:monospace}.wd-todo-desc{font-size:12px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-todo-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.wd-todo-right>span:first-child{font-size:12px;color:var(--gray-600);font-variant-numeric:tabular-nums}.wd-todo-over{color:var(--danger)!important;font-weight:600}.wd-todo-sub{font-size:11px;color:var(--gray-400)}.wd-todo-block-blue{background:var(--primary-light);border-color:#bfdbfe}.wd-block-title{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--gray-800)}.wd-block-dot{width:8px;height:8px;border-radius:50%;flex:none}.wd-todo-block-blue .wd-todo{border-bottom-color:#dbeafe}.wd-todo-block-blue .wd-todo:active{background:#ffffffb3}.wd-todo-block-blue .wd-pill{background:#fff}.wd-stock-card{cursor:pointer}.wd-stock-card:active{transform:scale(.99)}.wd-stock-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.wd-stock-total-label{font-size:12px;color:var(--gray-600)}.wd-stock-total-value{font-size:24px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.wd-stock-total-sub{font-size:12px;color:var(--gray-500)}.wd-stock-bar{display:flex;height:8px;border-radius:0;overflow:hidden;background:var(--gray-100);margin:10px 0 8px}.wd-stock-bar i{display:block;height:100%}.wd-stock-legend{display:flex;flex-direction:column;gap:4px}.wd-stock-legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.wd-stock-dot{width:8px;height:8px;border-radius:50%;flex:none}.wd-stock-legend-label{color:var(--gray-600)}.wd-stock-legend-value{margin-left:auto;color:var(--gray-800);font-variant-numeric:tabular-nums}.wd-stock-legend-value.zero{color:var(--gray-400)}.wd-stock-empty{color:var(--gray-400);font-size:12px;text-align:center;padding:22px 0}.wd-alert{padding:10px 0;border-bottom:1px solid var(--line)}.wd-alert:first-child{padding-top:0}.wd-alert:last-child{border-bottom:none;padding-bottom:0}.wd-alert-head{display:flex;align-items:center;gap:8px}.wd-alert-dot{width:8px;height:8px;border-radius:50%;flex:none}.wd-alert-title{font-size:12px;font-weight:600;color:var(--gray-800)}.wd-alert-extra{margin-left:auto;font-size:11px;color:var(--gray-400)}.wd-alert-none{font-size:12px;color:var(--gray-400);padding:8px 0 2px}.wd-alert-names{font-size:12px;color:var(--gray-600);display:flex;flex-direction:column;gap:2px;margin:8px 0 10px}.wd-alert-hint{font-size:11px;color:var(--gray-400)}.wd-alert-msg{margin-top:8px;font-size:12px;color:var(--primary);background:var(--primary-light);border-radius:0;padding:8px 10px}.wd-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.wd-action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;background:none;border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;font:inherit;font-size:12px;color:var(--gray-700)}.wd-action:active{background:var(--gray-50)}.wd-action-ico{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.wd-legend{display:flex;gap:14px;font-size:12px;color:var(--gray-500);margin-bottom:8px}.wd-legend span{display:inline-flex;align-items:center;gap:5px}.wd-legend i{width:8px;height:8px;border-radius:0;display:inline-block}.wd-chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:6px}.wd-chart-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.wd-chart-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.wd-chart-bar{width:9px;border-radius:0;min-height:2px}.wd-chart-out{background:#2563eb}.wd-chart-in{background:#22c55e}.wd-chart-label{font-size:10px;color:var(--gray-400);white-space:nowrap;font-variant-numeric:tabular-nums}.wd-footnote{margin-top:14px;font-size:11px;color:var(--gray-400);text-align:center;line-height:1.7}.wd-detail-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column}.wd-detail-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.wd-detail-row:last-child{border-bottom:none}.wd-detail-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.wd-detail-main>span:first-child{font-size:12px;font-weight:600;color:var(--gray-800)}.wd-detail-sub{font-size:12px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-detail-right{flex:none;font-size:12px;color:var(--gray-600)}.wd-detail-note{margin-top:10px;font-size:12px;color:var(--gray-500);background:var(--gray-50);border-radius:0;padding:10px}.wd-error{color:var(--danger);font-size:12px;margin:12px 0;display:flex;align-items:center;gap:10px}.wd-kpis{display:none}.wd-summary{display:grid;grid-template-columns:repeat(2,1fr);background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 0;margin-bottom:12px;overflow:hidden}.wd-summary-item{text-align:center;padding:10px 6px;border:0;background:none;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.wd-summary-item:active{filter:brightness(.96)}.wd-summary-item+.wd-summary-item{border-left:1px solid #fff}.wd-summary-item:nth-child(n+3){border-top:1px solid #fff}.wd-sum-out{background:#fef2f2}.wd-sum-in{background:#f0fdf4}.wd-sum-receive{background:#fffbeb}.wd-sum-ship{background:#eff6ff}.wd-sum-out .wd-summary-value{color:#dc2626}.wd-sum-in .wd-summary-value{color:#16a34a}.wd-sum-receive .wd-summary-value{color:#f59e0b}.wd-sum-ship .wd-summary-value{color:#2563eb}.wd-summary-value{font-size:20px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.wd-summary-label{font-size:12px;color:var(--gray-500);margin-top:2px}.wd-summary-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-light);border-radius:0;box-shadow:var(--shadow);padding:10px 8px 10px 16px;margin:12px 0}.wd-summary-search svg{flex:none;width:17px;height:17px;color:var(--gray-400)}.wd-summary-search input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:12px;color:var(--gray-800)}.wd-summary-search input::placeholder{color:var(--gray-400)}.wd-summary-clear{flex:none;width:22px;height:22px;border-radius:50%;border:0;padding:0;background:var(--gray-300);color:#fff;font-size:12px;line-height:1;cursor:pointer}.wd-summary-mic{flex:none;width:34px;height:34px;border-radius:50%;border:0;padding:0;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.wd-summary-mic svg{width:17px;height:17px;color:#fff}.wd-summary-search.listening .wd-summary-mic{animation:cpPulse 1s infinite}.wd-apv{display:flex;align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;margin-bottom:12px;cursor:pointer}.wd-apv:active{background:var(--gray-50)}.wd-apv-cell{min-width:0}.wd-apv-cell+.wd-apv-cell{border-left:1px solid var(--line);padding-left:14px;margin-left:14px}.wd-apv-cell:first-child{flex:none}.wd-apv-value{font-size:20px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.wd-apv-label{font-size:12px;color:var(--gray-500);margin-top:2px}.wd-apv-what{flex:1}.wd-apv-what-text{font-size:12px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-apv-arrow{flex:none;color:var(--gray-400);margin-left:8px}.wd-mods{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.wd-mod{border-radius:0;padding:14px}.wd-mod-green{background:#f0fdf4;border:1px solid #bbf7d0}.wd-mod-red{background:#fef2f2;border:1px solid #fecaca}.wd-mod-blue{background:#eff6ff;border:1px solid #bfdbfe}.wd-mod-head{display:flex;align-items:center;gap:10px}.wd-mod-ico{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}.wd-mod-green .wd-mod-ico{background:#16a34a}.wd-mod-red .wd-mod-ico{background:#dc2626}.wd-mod-blue .wd-mod-ico{background:#2563eb}.wd-mod-title{font-size:16px;font-weight:700;color:var(--gray-800)}.wd-mod-sub{font-size:11px;color:var(--gray-500);margin-top:1px}.wd-mod-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.wd-mod-btns-2{grid-template-columns:repeat(2,1fr)}.wd-mod-btn{background:#fff;border:1px solid var(--border-light);border-radius:0;padding:8px 2px;font-size:12px;color:var(--gray-700);text-align:center;cursor:pointer;font:inherit}.wd-mod-btn:active{background:var(--gray-50)}.wd-mod-bottom{width:100%;margin-top:10px;border:none;border-radius:0;padding:9px 0;color:#fff;font-size:12px;font-weight:600;cursor:pointer;font:inherit;background:var(--primary)}.wd-mytodo{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;margin-bottom:12px;box-shadow:var(--shadow)}.wd-mytodo-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wd-mytodo-title{font-size:12px;font-weight:700;color:var(--gray-800)}.wd-mytodo-link{font-size:11px;color:var(--primary)}.wd-mytodo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.wd-mytodo-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;background:var(--gray-50);border:none;border-radius:0;cursor:pointer;font:inherit;color:inherit}.wd-mytodo-card:active{background:var(--gray-100)}.wd-mytodo-ico{width:28px;height:28px;border-radius:0;display:flex;align-items:center;justify-content:center}.wd-mytodo-value{font-size:17px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.wd-mytodo-label{font-size:11px;color:var(--gray-600)}.wd-mytodo-sub{font-size:10px;color:var(--gray-500);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.wd-lowbar{display:flex;align-items:center;gap:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:0;padding:10px 12px;margin-bottom:12px}.wd-lowbar-ico{width:32px;height:32px;border-radius:50%;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.wd-lowbar-body{flex:1;min-width:0}.wd-lowbar-title{font-size:12px;font-weight:600;color:var(--gray-800)}.wd-lowbar-names{font-size:11px;color:var(--gray-500);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-lowbar-btn{flex:none;border:none;background:#f59e0b;color:#fff;border-radius:0;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer;font:inherit}.wd-lowbar-btn:disabled{opacity:.6}.wd-lowbar-hint{flex:none;font-size:11px;color:var(--gray-400)}.wd-lowbar-msg{margin-top:4px;font-size:11px;color:var(--warning)}.wd-alert-low{display:none}.sv-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:linear-gradient(135deg,#16396c,#2763b4);border-radius:0;padding:14px 10px;margin-bottom:12px;box-shadow:0 4px 14px #16396c40}.sv-banner-stat{text-align:center;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.sv-banner-value{font-size:20px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.sv-banner-label{font-size:11px;opacity:.85;margin-top:2px}.sv-kpi-grid{grid-template-columns:repeat(3,1fr)}@media (min-width: 769px){.wd-mobile-only{display:none}.wd-desktop-only,.wd-alert-low{display:block}.wd-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.wd-head h2{font-size:20px;color:var(--gray-800)}.wd-head p{font-size:12px;color:var(--gray-500);margin-top:2px}.wd-head-right{display:flex;align-items:center;gap:10px;flex:none}.wd-head-search{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-light);border-radius:0;height:34px;padding:0 10px;width:220px;color:var(--gray-400)}.wd-head-search input{border:none;outline:none;background:transparent;flex:1;font-size:12px;min-width:0;color:var(--gray-800)}.wd-head-user{font-size:12px;color:var(--gray-600);background:var(--gray-100);border-radius:0;padding:5px 12px;white-space:nowrap}.wd-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:0}.wd-kpi{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.wd-kpi-ico{width:32px;height:32px;border-radius:0}.wd-kpi-title{font-size:12px}.wd-kpi-value{font-size:22px}.wd-kpi-sub{font-size:11px}.wd-cols{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;align-items:start;margin-top:0}.wd-left,.wd-right{min-width:0}.wd-card{margin-bottom:20px}.wd-todo-desc{white-space:normal}.wd-table{width:100%}.wd-actions{grid-template-columns:1fr 1fr 1fr}.wd-action:hover{border-color:var(--hover-border);background:var(--hover-bg);color:var(--primary)}.wd-kpi:hover{border-color:var(--hover-border)}}.wip-card{max-width:420px;margin:24px auto;padding:40px 24px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);text-align:center}.wip-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:0;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:30px}.wip-card h3{margin:0 0 8px;font-size:17px;color:var(--gray-800)}.wip-main{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--primary)}.wip-desc{margin:0;font-size:12px;color:var(--gray-500);line-height:1.6}@media (max-width: 768px){.wip-card{margin:16px;padding:32px 20px}.wip-card h3{display:none}}.doc-line{background:var(--gray-50);border-radius:var(--radius);padding:10px;margin-bottom:10px}.doc-line-product{display:block;width:100%;margin-bottom:8px}.doc-line-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.doc-line-simple .doc-line-fields{grid-template-columns:1fr auto}.doc-line-price-cell{min-width:0}.doc-line-price{width:100%}.doc-line-amount{display:block;font-size:12px;color:var(--gray-500);margin-top:4px;text-align:right;font-variant-numeric:tabular-nums}.doc-line-del{white-space:nowrap}@media (min-width: 769px){.doc-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:none;border-radius:0;padding:0;margin-bottom:8px}.doc-line .doc-line-product{flex:1 1 160px;width:auto;margin-bottom:0}.doc-line .doc-line-fields{display:contents}.doc-line .doc-line-qty{width:88px}.doc-line .doc-line-price-cell{display:contents}.doc-line .doc-line-price{width:96px}.doc-line .doc-line-amount{display:block;width:96px;margin-top:0;font-size:12px;color:var(--gray-600);text-align:right}.doc-line-w8{gap:8px;flex-wrap:nowrap}.doc-line-w8 .doc-line-product{flex:1}.doc-line-w8 .doc-line-qty{width:110px}.doc-line-ship{gap:8px;align-items:flex-start}.doc-line-ship .doc-line-product{flex:1 1 220px}.doc-line-ship .doc-line-qty{width:110px}}.ai-fab{position:fixed;right:24px;bottom:24px;width:52px;height:52px;border-radius:50%;border:none;background:var(--primary, #2563eb);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #2563eb66;cursor:pointer;z-index:295;transition:transform .15s ease}.ai-fab:active{transform:scale(.94)}.so-fab,.ai-backdrop{display:none}.ai-panel{position:fixed;right:24px;bottom:88px;width:380px;height:560px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--border-light, #e2e8f0);border-radius:0;box-shadow:0 12px 40px #0f172a2e;display:flex;flex-direction:column;overflow:hidden;z-index:1000}.ai-head{padding:12px 16px;border-bottom:1px solid var(--border-light, #e2e8f0);display:flex;flex-direction:column;gap:2px;background:#fff}.ai-head-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gray-800, #1e293b)}.ai-head-title svg{color:var(--primary, #2563eb)}.ai-head-sub{font-size:12px;color:var(--gray-400, #94a3b8)}.ai-list{flex:1;overflow-y:auto;padding:12px 14px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}.ai-msg{display:flex;flex-direction:column}.ai-msg-user{align-items:flex-end}.ai-msg-ai{align-items:flex-start}.ai-bubble{max-width:85%;padding:8px 12px;border-radius:0;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--gray-700, #334155);background:#fff;border:1px solid var(--border-light, #e2e8f0)}.ai-msg-ai .ai-bubble{border-radius:0}.ai-msg-user .ai-bubble{background:var(--primary, #2563eb);border:none;color:#fff;border-radius:0}.ai-msg-img{max-width:70%;max-height:160px;border-radius:0;margin-bottom:6px;border:1px solid var(--border-light, #e2e8f0)}.ai-bubble-card{background:#fff;width:100%;max-width:100%}.ai-typing{display:flex;gap:4px;align-items:center;padding:10px 14px}.ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--gray-300, #cbd5e1);animation:ai-blink 1.2s infinite ease-in-out}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-empty{margin:auto;text-align:center;color:var(--gray-400, #94a3b8);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0}.ai-empty-icon{width:44px;height:44px;border-radius:50%;background:var(--primary-light, #eff6ff);color:var(--primary, #2563eb);display:flex;align-items:center;justify-content:center}.ai-empty-samples{display:flex;flex-direction:column;gap:6px}.ai-empty-samples span{background:#eff6ff;color:var(--primary, #2563eb);border-radius:0;padding:4px 12px;font-size:12px}.ai-inputbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--border-light, #e2e8f0);background:#fff}.ai-inputbar input{flex:1;border:1px solid var(--border-light, #e2e8f0);border-radius:0;padding:8px 14px;font-size:12px;outline:none}.ai-inputbar input:focus{border-color:var(--primary, #2563eb)}.ai-img-btn,.ai-mic-btn,.ai-send-btn{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:none;background:#eff6ff;color:var(--primary, #2563eb);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.ai-send-btn{background:var(--primary, #2563eb);color:#fff}.ai-mic-btn.listening{background:var(--danger, #dc2626);color:#fff;animation:cpPulse 1s infinite}.ai-img-btn:disabled,.ai-mic-btn:disabled,.ai-send-btn:disabled{opacity:.5;cursor:default}.ai-voice-toast{position:absolute;left:50%;bottom:72px;transform:translate(-50%);background:#0f172ad9;color:#fff;font-size:12px;padding:8px 16px;border-radius:0;pointer-events:none;white-space:nowrap;z-index:20}.ai-proposal{font-size:12px;color:var(--gray-700, #334155)}.ai-proposal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-weight:600}.ai-proposal-count{font-weight:400;font-size:12px;color:var(--gray-400, #94a3b8)}.ai-proposal-rows{max-height:260px;overflow-y:auto}.ai-proposal-row{border-top:1px solid var(--border-light, #e2e8f0);padding:8px 0}.ai-proposal-row:first-child{border-top:none}.ai-proposal-cell{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.ai-proposal-cell:last-child{margin-bottom:0}.ai-proposal-label{font-size:11px;color:var(--gray-400, #94a3b8)}.ai-proposal-cell input{width:100%;border:1px solid var(--border-light, #e2e8f0);border-radius:0;padding:6px 8px;font-size:12px;outline:none}.ai-proposal-cell input:focus{border-color:var(--primary, #2563eb)}.ai-proposal-actions{display:flex;gap:8px;margin-top:8px}.ai-confirm-result{font-size:12px;padding:8px 10px;border-radius:0}.ai-confirm-result.done{color:var(--success, #16a34a);background:var(--success-light, #f0fdf4)}.ai-confirm-result.failed{color:#dc2626;background:#fef2f2}@media (max-width: 768px){.ai-fab{right:14px;bottom:calc(env(safe-area-inset-bottom) + 76px);width:48px;height:48px}.so-fab{display:flex;position:fixed;left:14px;bottom:calc(env(safe-area-inset-bottom) + 76px);width:48px;height:48px;border-radius:50%;border:none;background:var(--primary, #2563eb);color:#fff;font-size:24px;line-height:1;align-items:center;justify-content:center;box-shadow:0 6px 18px #2563eb66;cursor:pointer;z-index:40;transition:transform .15s ease}.so-fab:active{transform:scale(.94)}.ai-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1000}.ai-panel{left:0;right:0;bottom:0;width:auto;height:78vh;max-height:none;border-radius:0;border:none;border-top:1px solid var(--border-light, #e2e8f0);z-index:1001;padding-bottom:env(safe-area-inset-bottom)}.ai-bubble{max-width:90%}}.ct-status-draft{background:#e5e7eb;color:#4b5563}.ct-status-terminated{background:var(--danger-light);color:var(--danger)}.ct-summary-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.ct-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ct-list-head h3{margin:0;font-size:12px;font-weight:600}.ct-list-count{font-size:12px;color:var(--gray-600)}.ct-form-note{font-size:12.5px;line-height:1.6;color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:var(--radius);padding:10px 12px;margin-bottom:16px}.ct-detail-modal{max-width:860px}.ct-gen-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.ct-gen-row input{flex:1;min-width:96px}.ct-gen-row .btn{white-space:nowrap;flex-shrink:0}.ct-plan-row{display:grid;grid-template-columns:26px 1fr 1fr 1.6fr auto;gap:8px;align-items:center;margin-bottom:8px}.ct-plan-seq{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:var(--gray-600);border-radius:0;font-size:12px;font-weight:600}.ct-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-size:12px;color:var(--gray-800)}.ct-dk{color:var(--gray-500);margin-right:2px}.ct-span2{grid-column:span 2}.ct-danger-note{grid-column:span 2;font-size:12.5px;color:var(--danger);background:var(--danger-light);border-radius:0;padding:8px 12px}.ct-section-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--gray-700);margin:0 0 10px}.ct-detail-grid+.ct-section-title{margin-top:18px}.ct-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ct-budget-list{display:flex;flex-direction:column;gap:10px}.ct-budget-row{display:grid;grid-template-columns:64px 1fr 104px;gap:10px;align-items:center;font-size:12px}.ct-budget-month{color:var(--gray-600);white-space:nowrap}.ct-budget-bar{height:8px;background:#eef2f7;border-radius:0;overflow:hidden}.ct-budget-bar i{display:block;height:100%;border-radius:0;background:linear-gradient(90deg,#3b82f6,#2563eb)}.ct-budget-amount{text-align:right;color:var(--gray-800);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ct-kpi-title{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--gray-700)}.ct-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:0;color:#fff;font-size:12px;font-weight:700;font-style:normal;flex:none}.ct-kpi-1{background:#2563eb}.ct-kpi-2{background:#16a34a}.ct-kpi-3{background:#1e40af}.ct-kpi-4{background:#f59e0b}.ct-kpi-5{background:#7c3aed}.ct-filter-bar{background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.ct-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ct-fbar-sels{flex-wrap:nowrap}.ct-fbar-sels select{flex:1 1 0;min-width:0;padding:7px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px;background:#fff;color:var(--gray-700);cursor:pointer}.ct-fbar-sels select:focus{outline:none;border-color:var(--primary)}.ct-fbar-kw{flex-wrap:nowrap}.ct-fbar-kw input{flex:1 1 0;min-width:0;padding:7px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:12px;background:#fff;color:var(--gray-700)}.ct-fbar-kw input:focus{outline:none;border-color:var(--primary)}.ct-fbar-kw .btn{flex:0 0 64px;min-width:0;padding:7px 0;justify-content:center}.ct-line-checks{display:flex;flex-wrap:wrap;gap:4px 16px;border:1px solid var(--gray-200);border-radius:var(--radius);padding:8px 12px;max-height:150px;overflow-y:auto;background:#fff}.ct-line-check{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--gray-700);cursor:pointer}.ct-line-check input{accent-color:var(--primary)}.ct-chart-row{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}.ct-chart-legend{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--gray-600);margin-bottom:12px}.ct-chart-legend span{display:inline-flex;align-items:center;gap:6px}.ct-chart-key-rec,.ct-chart-key-pay{display:inline-block;width:10px;height:10px;border-radius:0}.ct-chart-key-rec{background:linear-gradient(180deg,#60a5fa,#2563eb)}.ct-chart-key-pay{background:linear-gradient(180deg,#fbbf24,#f59e0b)}.ct-echart{width:100%;height:280px}.ct-row-link{cursor:pointer}.ct-cell-link{color:var(--primary);font-weight:600;cursor:pointer;text-decoration:none}.ct-cell-link:hover{text-decoration:underline}.ct-total-row,.ct-total-row:hover{background:#f8fafc}.ct-type-tabs{display:inline-flex;gap:8px;margin-bottom:12px}.ct-type-tab{padding:6px 18px;font-size:12px;border:1px solid var(--gray-200);border-radius:0;background:#fff;color:var(--gray-600);cursor:pointer}.ct-type-tab:hover{border-color:var(--primary);color:var(--primary)}.ct-type-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.ct-upload-row{display:flex;align-items:center;gap:10px}.ct-att-del{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}@media (max-width: 768px){.ct-summary-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.ct-summary-row .summary-card:last-child{grid-column:span 2}.ct-form-note{font-size:12px;padding:8px 10px}.ct-gen-row{display:grid;grid-template-columns:1fr 1fr}.ct-gen-row input{min-width:0;width:100%}.ct-gen-row .btn{grid-column:span 2}.ct-plan-row{grid-template-columns:24px 1fr 1fr auto}.ct-plan-row>input:nth-child(4){grid-column:2 / 5}.ct-plan-row>button:last-child{grid-column:4}.ct-detail-grid{grid-template-columns:1fr;gap:8px}.ct-span2,.ct-danger-note{grid-column:span 1}.ct-two-col{grid-template-columns:1fr}.ct-budget-row{grid-template-columns:56px 1fr 96px;gap:8px}.ct-kpi-icon{width:26px;height:26px;font-size:12px}.ct-chart-row{grid-template-columns:1fr}.ct-echart{height:200px}}.st-rate{display:flex;align-items:center;gap:8px}.st-rate-bar{flex:1;min-width:60px;height:6px}.st-rate-pct{font-size:12px;color:var(--gray-600);font-variant-numeric:tabular-nums;white-space:nowrap}.st-hint{font-size:12px;color:var(--gray-500);background:#f8fafc;border:1px dashed var(--border-light);border-radius:0;padding:10px 12px;margin-bottom:12px}.sp-col-2{grid-column:span 2}@media (max-width: 768px){.sp-col-2{grid-column:span 2}.st-rate{flex-direction:column;align-items:stretch;gap:4px}.st-rate-pct{text-align:right}}.swb{background:#f1f5f9;margin:-28px -32px 0;padding:24px 32px 120px;min-height:100vh}.swb-card{margin:0 auto 16px;background:#fff;border-radius:0;box-shadow:0 1px 3px #00000014;padding:16px 20px}@media (min-width: 769px){.swb-top{background:#fff}.swb-top .swb-me-name{color:var(--gray-800)}.swb-top .swb-me-sub{color:var(--gray-500)}.swb-top .swb-view-badge{background:#eff6ff;color:#2563eb}.swb-top .swb-search input{background:#f1f5f9;color:var(--gray-800)}.swb-top .swb-search input:focus{background:#fff;box-shadow:0 0 0 2px #2563eb40}.swb-top .swb-range{background:#f1f5f9}.swb-top .swb-range-btn{color:var(--gray-600)}.swb-top .swb-range-btn:hover{color:var(--gray-800)}.swb-top .swb-range-btn.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px #00000026}.swb-top .swb-bell{color:var(--gray-500)}.swb-top .swb-bell:hover{background:#f1f5f9;color:var(--gray-700)}.swb-top .swb-quick .btn-primary{background:#2563eb;color:#fff}.swb-top .swb-quick .btn-primary:hover{background:#1d4ed8;color:#fff}}.swb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.swb-head h3{font-size:12px;font-weight:700;color:var(--gray-800)}.swb-head-side{font-size:12px;color:var(--gray-400)}.swb-head-link{border:none;background:none;color:#2563eb;font-size:12px;cursor:pointer;padding:0}.swb-head-link:hover{text-decoration:underline}.swb-top{display:flex;align-items:center;gap:20px}.swb-top-left{display:flex;align-items:center;gap:12px;flex:none;min-width:0}.swb-avatar{width:44px;height:44px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex:none}.swb-me{min-width:0}.swb-me-name{font-size:12px;font-weight:700;color:var(--gray-800);white-space:nowrap}.swb-me-sub{font-size:12px;color:var(--gray-500);margin-top:2px}.swb-view-badge{display:inline-block;margin-left:8px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600;padding:1px 8px;border-radius:0;vertical-align:1px}.swb-search{flex:1;position:relative;min-width:0}.swb-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-400);display:flex}.swb-search-ico svg{width:15px;height:15px}.swb-search input{width:100%;box-sizing:border-box;padding:9px 12px 9px 36px;background:#f1f5f9;border:none;border-radius:0;font-size:12px;outline:none;color:var(--gray-800)}.swb-search input:focus{background:#fff;box-shadow:0 0 0 2px #2563eb40}.swb-search input::placeholder{color:var(--gray-400)}.swb-search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--border-light);border-radius:0;box-shadow:0 10px 25px #0000001f;padding:6px;max-height:320px;overflow:auto;z-index:70}.swb-search-glabel{font-size:11px;color:var(--gray-400);padding:6px 10px 2px}.swb-search-row{display:block;width:100%;text-align:left;padding:7px 10px;border:none;background:none;font-size:12px;color:var(--gray-700);border-radius:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-search-row:hover{background:#eff6ff;color:#2563eb}.swb-search-none{padding:12px;font-size:12px;color:var(--gray-400);text-align:center}.swb-top-right{display:flex;align-items:center;gap:10px;flex:none}.swb-range{display:flex;background:#f1f5f9;border-radius:0;padding:2px}.swb-range-btn{padding:5px 12px;font-size:12px;border:none;background:none;border-radius:0;color:var(--gray-600);cursor:pointer}.swb-range-btn.active{background:#fff;color:#2563eb;font-weight:600;box-shadow:0 1px 3px #00000026}.swb-bell{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:0;color:var(--gray-500);cursor:pointer}.swb-bell:hover{background:#f1f5f9}.swb-bell svg{width:20px;height:20px}.swb-bell-badge{position:absolute;top:-2px;right:-2px;background:#ef4444;color:#fff;font-size:9px;min-width:16px;height:16px;border-radius:0;display:flex;align-items:center;justify-content:center;font-weight:700;padding:0 3px;box-sizing:border-box}.swb-quick{position:relative}.swb-qn-ico{display:inline-flex;margin-right:6px;vertical-align:-2px}.swb-qn-ico svg{width:14px;height:14px}.swb-quick-pop{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--border-light);border-radius:0;box-shadow:0 10px 25px #0000001f;width:170px;padding:6px;z-index:70}.swb-quick-pop button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;font-size:12px;color:var(--gray-700);border-radius:0;cursor:pointer}.swb-quick-pop button:hover{background:#eff6ff;color:#2563eb}.swb-todos{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.swb-todo{border:none;background:#f8fafc;border-radius:0;padding:12px 6px;text-align:center;cursor:pointer;transition:background .15s}.swb-todo:hover{background:#eff6ff}.swb-todo-num{font-size:22px;font-weight:800;color:var(--gray-800);font-variant-numeric:tabular-nums}.swb-todo-label{font-size:12px;color:var(--gray-500);margin-top:2px}.swb-todo-red{background:#fef2f2}.swb-todo-red:hover{background:#fee2e2}.swb-todo-red .swb-todo-num{color:#dc2626}.swb-todo-red .swb-todo-label{color:#dc2626;font-weight:600}.swb-empty-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:var(--gray-500);font-size:12px}.swb-appts{display:flex;flex-direction:column;gap:10px}.swb-appt{display:flex;align-items:center;gap:16px;background:#eff6ff;border-radius:0;padding:10px 14px}.swb-appt-time{width:56px;flex:none;text-align:center}.swb-appt-clock{font-size:17px;font-weight:800;color:#2563eb;line-height:1;font-variant-numeric:tabular-nums}.swb-appt-dur{font-size:10px;color:var(--gray-500);margin-top:3px}.swb-appt-main{flex:1;min-width:0}.swb-appt-cust{font-size:12px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-appt-sub{font-size:12px;color:var(--gray-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-link{color:#2563eb}.swb-appt-remind{flex:none;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #bfdbfe;border-radius:0;padding:3px 10px;font-size:11px;color:var(--gray-600)}.swb-appt-remind svg{width:13px;height:13px;color:#2563eb}.swb-appt-add{display:flex;justify-content:center}.swb-quicks{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.swb-quick-item{border:none;background:none;padding:6px 2px 4px;border-radius:0;cursor:pointer}.swb-quick-item:hover{background:#eff6ff}.swb-quick-ico{width:44px;height:44px;margin:0 auto;border-radius:0;background:#2563eb1a;display:flex;align-items:center;justify-content:center;color:#2563eb}.swb-quick-ico svg{width:20px;height:20px}.swb-quick-label{font-size:12px;color:var(--gray-600);margin-top:6px}.swb-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.swb-kpi{background:#f8fafc;border-radius:0;padding:12px;min-width:0}.swb-kpi-label{font-size:11px;color:var(--gray-500)}.swb-kpi-num{font-size:19px;font-weight:800;color:var(--gray-800);margin-top:4px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-kpi-num.blue{color:#2563eb}.swb-kpi-num.green{color:#059669}.swb-kpi-bar{margin-top:8px;height:6px}.swb-trends{display:grid;grid-template-columns:3fr 2fr;gap:16px}.swb-trends-month{grid-template-columns:1fr}.swb-trend-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.swb-trend-title{font-size:12px;font-weight:600;color:var(--gray-600)}.swb-trend-legend{display:flex;gap:12px;font-size:10px;color:var(--gray-400)}.swb-trend-legend span{display:flex;align-items:center;gap:4px}.swb-dot-sign,.swb-dot-recv{width:8px;height:8px;border-radius:0;display:inline-block}.swb-dot-sign{background:#2563eb}.swb-dot-recv{background:#93c5fd}.swb-chart{display:flex;gap:4px;align-items:flex-end;height:150px;background:#f8fafc;border-radius:0;padding:10px}.swb-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.swb-chart-bars{display:flex;gap:2px;align-items:flex-end;justify-content:center;height:100%;width:100%}.swb-chart-bar{width:100%;max-width:7px;border-radius:0;background:#2563eb}.swb-chart-bar.sign{background:#2563eb}.swb-chart-bar.recv{background:#93c5fd}.swb-chart-bar.cur{background:#1d4ed8}.swb-chart-m .swb-chart-bar{max-width:28px;border-radius:0}.swb-chart-label{font-size:9px;color:var(--gray-400);white-space:nowrap}.swb-chart-empty{padding:24px 16px;text-align:center;color:var(--gray-400);font-size:12px;background:#f8fafc;border-radius:0}.swb-funnel{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:center}.swb-funnel-fig{width:100%;height:auto;display:block}.swb-funnel-table{width:100%;border-collapse:collapse;font-size:12px}.swb-funnel-table th{text-align:left;font-size:12px;color:var(--gray-400);font-weight:500;padding:8px 6px;border-bottom:1px solid var(--border-light)}.swb-funnel-table td{padding:10px 6px;border-bottom:1px solid #f1f5f9;color:var(--gray-600)}.swb-funnel-table .ta-r{text-align:right}.swb-funnel-table .fw-b{font-weight:700;color:var(--gray-800)}.swb-funnel-row{display:inline-flex;align-items:center;gap:8px;color:var(--gray-700)}.swb-funnel-row i{width:10px;height:10px;border-radius:0;display:inline-block}.swb-opps{display:flex;flex-direction:column;gap:8px}.swb-opp{display:flex;align-items:center;gap:14px;padding:8px 12px;border:1px solid #f1f5f9;border-radius:0}.swb-opp:hover{border-color:#bfdbfe}.swb-opp-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.swb-rank{width:24px;height:24px;border-radius:0;background:#f1f5f9;color:var(--gray-600);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-variant-numeric:tabular-nums}.swb-rank.top{background:#eff6ff;color:#2563eb}.swb-opp-name{font-size:12px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-opp-date{font-size:11px;color:var(--gray-400)}.swb-opp-no{font-size:12px;color:var(--gray-400);flex:none}.swb-opp-badge{background:#eff6ff;color:#2563eb;font-size:11px;padding:2px 8px;border-radius:0;flex:none}.swb-opp-amt{font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;min-width:90px;text-align:right}.swb-custs{display:flex;flex-direction:column;gap:8px}.swb-cust{display:grid;grid-template-columns:1.6fr 1fr 1fr .8fr;gap:12px;align-items:center;padding:8px 12px;border:1px solid #f1f5f9;border-radius:0}.swb-cust.warn{border-color:#fee2e2;background:snow}.swb-cust-left{display:flex;align-items:center;gap:10px;min-width:0}.swb-cust-avatar{width:34px;height:34px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}.swb-cust.warn .swb-cust-avatar{background:#94a3b8}.swb-cust-name{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--gray-800);min-width:0}.swb-cust-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-level{padding:1px 8px;border-radius:0;font-size:11px;font-weight:500;flex:none}.swb-level-a{background:#eff6ff;color:#2563eb}.swb-level-b{background:#ecfdf5;color:#059669}.swb-level-c{background:#f1f5f9;color:#64748b}.swb-cust-cell{font-size:12px;color:var(--gray-500)}.swb-cust-status{text-align:right}.swb-status{display:inline-block;font-size:11px;padding:2px 10px;border-radius:0;font-weight:600}.swb-status.ok{background:#ecfdf5;color:#059669}.swb-status.bad{background:#fef2f2;color:#dc2626}.swb-warn-top{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.swb-warn-tile{background:#f8fafc;border-radius:0;padding:14px;min-width:0}.swb-warn-tile.red{background:#fef2f2}.swb-warn-tile.amber{background:#fffbeb}.swb-warn-label{font-size:12px;color:var(--gray-500)}.swb-warn-tile.red .swb-warn-label{color:#dc2626}.swb-warn-tile.amber .swb-warn-label{color:#d97706}.swb-warn-num{font-size:21px;font-weight:800;margin-top:6px;color:var(--gray-800);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-warn-tile.red .swb-warn-num{color:#dc2626}.swb-warn-tile.amber .swb-warn-num{color:#d97706}.swb-warn-unit{font-size:12px;font-weight:500;color:var(--gray-500);margin-left:4px}.swb-warn-sub{font-size:11px;color:var(--gray-400);margin-top:4px}.swb-warn-bot{display:flex;gap:12px;margin-top:12px;background:#f8fafc;border-radius:0;padding:10px 14px}.swb-warn-mini{flex:1;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray-500)}.swb-warn-mini b{color:var(--gray-800);font-variant-numeric:tabular-nums}.swb-warn-mini b.green{color:#059669}.swb-warn-mini b.red{color:#dc2626}.swb-abns{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.swb-abn{border:none;border-radius:0;padding:12px;text-align:left;cursor:pointer;background:#f8fafc;transition:box-shadow .15s,transform .15s}.swb-abn:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.swb-abn-head{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600)}.swb-abn-head i{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:none}.swb-abn-num{display:block;font-size:20px;font-weight:800;margin-top:6px;color:var(--gray-800);font-variant-numeric:tabular-nums}.swb-abn-blue{background:#eff6ff}.swb-abn-blue .swb-abn-head i{background:#2563eb}.swb-abn-amber{background:#fffbeb}.swb-abn-amber .swb-abn-head i{background:#d97706}.swb-abn-red{background:#fef2f2}.swb-abn-red .swb-abn-head i{background:#dc2626}.swb-abn-red .swb-abn-num{color:#dc2626}.swb-abn-violet{background:#f5f3ff}.swb-abn-violet .swb-abn-head i{background:#7c3aed}.swb-recents{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.swb-recent{background:#f8fafc;border-radius:0;padding:12px;min-width:0}.swb-recent-title{font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:8px}.swb-recent-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;min-width:0}.swb-recent-ava{width:26px;height:26px;border-radius:50%;background:#eff6ff;color:#2563eb;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}.swb-recent-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-700)}.swb-recent-at,.swb-recent-no{font-size:11px;color:var(--gray-400);flex:none}.swb-recent-amt{font-weight:700;color:var(--gray-800);flex:none;font-variant-numeric:tabular-nums}.swb-recent-follow{padding:5px 0}.swb-recent-ftext{font-size:12px;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swb-recent-empty{font-size:12px;color:var(--gray-400);padding:6px 0}.swb-bar{position:fixed;left:220px;right:0;bottom:0;z-index:45;display:flex;justify-content:center;gap:10px;padding:12px 24px;background:#fff;border-top:1px solid var(--border-light);box-shadow:0 -4px 12px #0000000f}.sidebar.collapsed~.main-content .swb-bar{left:64px}.swb-bar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-light);background:#fff;color:var(--gray-700);border-radius:0;padding:9px 18px;font-size:12px;cursor:pointer}.swb-bar-btn:hover{background:#f8fafc;border-color:#bfdbfe;color:#2563eb}.swb-bar-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.swb-bar-btn.primary:hover{background:#1d4ed8;border-color:#1d4ed8}.swb-bar-btn svg{width:16px;height:16px}.swb-bar-mobile{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.swb-bar-mobile .swb-bar-btn{padding:10px 6px}@media (max-width: 768px){.swb{margin:-8px -14px 0;padding:12px 14px 24px;background:#f1f5f9;min-height:0}.swb-card{padding:14px;border-radius:0;margin-bottom:12px}.swb-head{margin-bottom:10px}.swb-top{flex-wrap:wrap;gap:12px}.swb-top-left{flex:1}.swb-top-right{width:100%;justify-content:space-between;gap:8px}.swb-search{order:3;flex-basis:100%}.swb-range{flex:1}.swb-range-btn{flex:1;padding:6px 8px}.swb-me-name{white-space:normal}.swb-todos{grid-template-columns:repeat(3,1fr);gap:8px}.swb-todo{padding:10px 4px}.swb-todo-num{font-size:20px}.swb-appt{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.swb-appt-time{width:48px}.swb-appt-main{flex-basis:calc(100% - 70px)}.swb-appt-remind{margin-left:60px}.swb-quicks{grid-template-columns:repeat(4,1fr);gap:8px}.swb-quick-ico{width:40px;height:40px}.swb-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.swb-kpi{padding:10px}.swb-kpi-num{font-size:17px}.swb-trends{grid-template-columns:minmax(0,1fr);gap:12px}.swb-trend{min-width:0}.swb-chart{height:130px;padding:8px;overflow-x:auto}.swb-chart-col{flex:1 0 26px}.swb-funnel{grid-template-columns:1fr;gap:10px}.swb-funnel-svg{max-width:320px;width:100%;margin:0 auto}.swb-funnel-table{font-size:12px}.swb-opp{flex-wrap:wrap;gap:6px 10px}.swb-opp-left{flex-basis:100%}.swb-opp-amt{text-align:left;min-width:0}.swb-cust{grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 12px}.swb-cust-left{grid-column:1 / -1}.swb-cust-status{text-align:left}.swb-warn-m{display:flex;flex-direction:column;gap:8px}.swb-warn-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 9px 12px;border-radius:0;border-left:3px solid transparent;min-width:0}.swb-warn-row.red{background:#fecaca;border-left-color:#dc2626}.swb-warn-row.amber{background:#fde68a;border-left-color:#d97706}.swb-warn-row.month{background:#bfdbfe;border-left-color:#2563eb}.swb-warn-row-main{min-width:0}.swb-warn-row-label{font-size:12px;font-weight:600;color:var(--gray-600)}.swb-warn-row.red .swb-warn-row-label{color:#b91c1c}.swb-warn-row.amber .swb-warn-row-label{color:#b45309}.swb-warn-row.month .swb-warn-row-label{color:#1d4ed8}.swb-warn-row-sub{font-size:11px;color:var(--gray-400);margin-top:2px}.swb-warn-row-num{font-size:18px;font-weight:800;color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap}.swb-warn-row.red .swb-warn-row-num{color:#b91c1c}.swb-warn-row.amber .swb-warn-row-num{color:#b45309}.swb-warn-row.month .swb-warn-row-num{font-size:16px;margin-top:2px;color:#1d4ed8}.swb-warn-splits{display:flex;gap:6px;flex:none}.swb-warn-split{background:#fff;border-radius:0;padding:5px 8px;text-align:center;min-width:0;box-shadow:0 1px 2px #0f172a0f}.swb-warn-split span{display:block;font-size:11px;color:var(--gray-500)}.swb-warn-split b{display:block;font-size:12px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.swb-warn-split.recv b{color:#059669}.swb-warn-split.unrecv b{color:#dc2626}.swb-abns{grid-template-columns:repeat(5,1fr);gap:6px}.swb-abn{padding:8px 2px;text-align:center}.swb-abn:last-child{grid-column:auto}.swb-abn-head{justify-content:center;font-size:11px}.swb-abn-head i{display:none}.swb-abn-num{font-size:17px}.swb-recents{grid-template-columns:1fr;gap:10px}.swb-bar-mobile{grid-template-columns:repeat(3,1fr);gap:8px}.swbm-rings{display:flex;gap:8px;margin-bottom:12px}.swbm-ring{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:#f8fafc;border-radius:0;padding:10px 4px;min-width:0}.swbm-ring svg text{fill:var(--gray-800)}.swbm-ring-label{font-size:12px;color:var(--gray-600)}.swbm-ring-sub{font-size:10px;color:var(--gray-500);text-align:center;line-height:1.5}.swbm-goals{display:flex;flex-direction:column;gap:10px}.swbm-goal-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.swbm-goal-name{font-size:12px;color:var(--gray-700);font-weight:600}.swbm-goal-amt{font-size:12px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.swbm-goal-track{height:6px;background:#e8edf4;border-radius:0;overflow:hidden;margin:5px 0 4px}.swbm-goal-fill{height:100%;background:#2563eb;border-radius:0}.swbm-goal-sub{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:var(--gray-500)}.swbm-goal-sub .wbx-rate{font-size:11px;font-weight:600}.swbm-goal-sub .wbx-rate.up{color:#059669}.swbm-goal-sub .wbx-rate.down{color:#dc2626}.swbm-goal-sub .wbx-rate.flat{color:var(--gray-500);font-weight:400}.swbm-proc{display:grid;grid-template-columns:1fr 1fr;gap:8px}.swbm-proc-cell{background:#f8fafc;border:1px solid #eef1f6;border-radius:0;padding:10px 12px}.swbm-proc-cell:active{background:#eff6ff}.swbm-proc-label{font-size:12px;color:var(--gray-600)}.swbm-proc-val{font-size:17px;font-weight:800;color:var(--gray-800);margin-top:3px;font-variant-numeric:tabular-nums}.swbm-opp-totals{display:flex;gap:8px;margin-bottom:12px}.swbm-opp-total{flex:1;background:#f8fafc;border-radius:0;padding:10px 6px;text-align:center;min-width:0}.swbm-opp-total b{display:block;font-size:17px;font-weight:800;color:var(--gray-800);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swbm-opp-total span{display:block;font-size:11px;color:var(--gray-500);margin-top:3px}.swbm-opp-groups{display:flex;flex-direction:column;gap:10px}.swbm-opp-group-title{font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:6px}.swbm-mini-row{display:flex;align-items:center;gap:8px;padding:3px 0}.swbm-mini-name{width:62px;flex:none;font-size:12px;color:var(--gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swbm-mini-track{flex:1;height:6px;background:#e8edf4;border-radius:0;overflow:hidden}.swbm-mini-fill{height:100%;background:#2563eb;border-radius:0}.swbm-mini-val{width:24px;flex:none;text-align:right;font-size:12px;font-weight:700;color:var(--gray-700);font-variant-numeric:tabular-nums}.swbm-empty{padding:8px 2px;font-size:12px;color:var(--gray-400)}.swbm-rec-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:8px}.swbm-rec-tab{flex:none;padding:5px 10px;border-radius:0;border:1px solid var(--gray-200);background:#f8fafc;color:var(--gray-600);font-size:12px}.swbm-rec-tab.active{background:#eff6ff;border-color:#2563eb;color:#2563eb;font-weight:600}.swbm-rec-list{display:flex;flex-direction:column;gap:8px}.swbm-rec-row{background:#f8fafc;border-radius:0;padding:9px 12px}.swbm-rec-line1{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;color:var(--gray-700)}.swbm-rec-line1 span:last-child{font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap}.swbm-rec-line2{font-size:11px;color:var(--gray-400);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (min-width: 769px){body,.ws-tabs,.swb{background:#f4f5f7}table{background:#fff}}@media (max-width: 768px){html[data-theme=dark]:not(:has(.cockpit-mode)):not(:has(.login-page)){color-scheme:dark;--content-bg: #0f172a;--surface-alt: #1e293b;--hover-bg: rgba(148, 163, 184, .12);--hover-border: rgba(148, 163, 184, .3);--border-light: rgba(148, 163, 184, .2);--primary-light: rgba(59, 130, 246, .16);--success-light: rgba(52, 211, 153, .14);--warning-light: rgba(245, 158, 11, .14);--danger-light: rgba(239, 68, 68, .16);--sidebar-border: rgba(148, 163, 184, .2);--ok-bg: rgba(52, 211, 153, .14);--warn-bg: rgba(245, 158, 11, .14);--dan-bg: rgba(239, 68, 68, .16);--mut: #94a3b8;--mut2: #64748b;--line: rgba(148, 163, 184, .15);--gray-50: #111c33;--gray-100: #1e293b;--gray-200: #2f3d55;--gray-300: #475569;--gray-400: #64748b;--gray-500: #94a3b8;--gray-600: #a3aec0;--gray-700: #cbd5e1;--gray-800: #e2e8f0;--gray-900: #f1f5f9;--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .45)}html[data-theme=dark]:not(.page-blue-head):not(:has(.cockpit-mode)):not(:has(.login-page)){background:#0f172a}html[data-theme=dark]:not(.page-blue-head):not(:has(.cockpit-mode)):not(:has(.login-page)) body{background:#0f172a}html[data-theme=dark] .main-content:not(.cockpit-mode){background:#0f172a}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar{background:#1e293b;border-top-color:#94a3b826;box-shadow:0 -2px 12px #00000073}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar .tab-item{color:#94a3b8}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar .tab-item.active{color:#60a5fa}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar .tab-icon{color:#64748b}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar .tab-item.active .tab-icon{background:var(--primary);color:#fff}html[data-theme=dark]:not(:has(.cockpit-mode)) .mobile-tabbar .tab-badge{box-shadow:0 0 0 1.5px #1e293b}html[data-theme=dark] .mobile-bar{background:#0f172a;border-bottom-color:#94a3b826;color:#e2e8f0}html[data-theme=dark] .mobile-bar .menu-btn{background:#94a3b81f;border-color:#94a3b840;color:#cbd5e1}html[data-theme=dark] .mobile-bar .mobile-title{color:#e2e8f0}html[data-theme=dark] .mobile-bar .mobile-refresh{background:#94a3b81f;border-color:#94a3b840;color:#cbd5e1}html[data-theme=dark] .mobile-bar .mobile-user{background:#2563eb40;border-color:#60a5fa66;color:#bfdbfe}html[data-theme=dark] .sidebar{background:#1e293b;border-right-color:#94a3b826;color:#cbd5e1}html[data-theme=dark] .sidebar .sidebar-header{border-bottom-color:#94a3b826}html[data-theme=dark] .sidebar .sidebar-brand-name{color:#e2e8f0}html[data-theme=dark] .sidebar .nav-group-title{color:#94a3b8}html[data-theme=dark] .sidebar .nav-group-title:hover{background:#94a3b81f;color:#e2e8f0}html[data-theme=dark] .sidebar .nav-group-title.g-active{color:#60a5fa}html[data-theme=dark] .sidebar .nav-group-chevron{color:#64748b}html[data-theme=dark] .sidebar .nav-item{color:#cbd5e1}html[data-theme=dark] .sidebar .nav-item:hover{background:#94a3b81f;color:#f1f5f9}html[data-theme=dark] .sidebar .nav-item.active{background:#2563eb;color:#fff}html[data-theme=dark] .sidebar .nav-item.nav-item-disabled,html[data-theme=dark] .sidebar .nav-item.nav-item-disabled:hover{color:#64748b}html[data-theme=dark] .sidebar .nav-global,html[data-theme=dark] .sidebar .sidebar-footer,html[data-theme=dark] .sidebar .nav-item-org{border-color:#94a3b826}html[data-theme=dark] .sidebar .user-name{color:#e2e8f0}html[data-theme=dark] .sidebar .user-avatar{background:#2563eb40;color:#bfdbfe}html[data-theme=dark] .sidebar .sidebar-ghost-btn{color:#cbd5e1!important;background:#94a3b81f!important;border-color:#94a3b84d!important}html[data-theme=dark]:not(:has(.cockpit-mode)) .card,html[data-theme=dark]:not(:has(.cockpit-mode)) .stat-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .summary-item,html[data-theme=dark]:not(:has(.cockpit-mode)) .m-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .summary-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .aging-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .module-data-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .mat-home-stat{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .btn-outline{background:transparent;border-color:#94a3b866;color:#cbd5e1}html[data-theme=dark]:not(:has(.cockpit-mode)) .btn-outline:hover{background:#94a3b81f;border-color:#94a3b880}html[data-theme=dark]:not(:has(.cockpit-mode)) .btn-outline:disabled:hover{background:transparent}html[data-theme=dark]:not(:has(.cockpit-mode)) .form-group input,html[data-theme=dark]:not(:has(.cockpit-mode)) .form-group select,html[data-theme=dark]:not(:has(.cockpit-mode)) .form-group textarea,html[data-theme=dark]:not(:has(.cockpit-mode)) .filter-bar input,html[data-theme=dark]:not(:has(.cockpit-mode)) .filter-bar select,html[data-theme=dark]:not(:has(.cockpit-mode)) .pager-size select,html[data-theme=dark]:not(:has(.cockpit-mode)) .alloc-input,html[data-theme=dark]:not(:has(.cockpit-mode)) .org-toolbar input,html[data-theme=dark]:not(:has(.cockpit-mode)) .org-toolbar select,html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-fbar-sels select,html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-fbar-kw input{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-filter-bar{background:transparent}html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-grid input,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-grid select,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-vstack input,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-vstack select,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-vstack textarea,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-cost-box input{background:#1e293b;color:#e2e8f0;border-color:#2f3d55}html[data-theme=dark]:not(:has(.cockpit-mode)) .modal{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) table th{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .perm-matrix thead th,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-social-table th,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-table th{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-num-sub,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-table tfoot td,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-cat-child td{background:#94a3b814}html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-readonly,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-slot.ready,html[data-theme=dark]:not(:has(.cockpit-mode)) .role-card-add,html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-chip-gray{background:#94a3b81a!important}html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-role-item:hover,html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-attach-row:hover,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-add-row:hover,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-table tbody tr:hover,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-act-item:hover{background:#94a3b81f}html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-media-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .sq-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .kb-tab,html[data-theme=dark]:not(:has(.cockpit-mode)) .kb-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-chip,html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-icon-dot,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-check-box,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-act-menu,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .fin-report-year-btn,html[data-theme=dark]:not(:has(.cockpit-mode)) .dept-row,html[data-theme=dark]:not(:has(.cockpit-mode)) .mod-chip-picker .mod-chip,html[data-theme=dark]:not(:has(.cockpit-mode)) .app-name-chip,html[data-theme=dark]:not(:has(.cockpit-mode)) .type-chip,html[data-theme=dark]:not(:has(.cockpit-mode)) .ap-actionbar,html[data-theme=dark]:not(:has(.cockpit-mode)) .ad-tabs,html[data-theme=dark]:not(:has(.cockpit-mode)) .ap-m-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .supplier-search .search-dropdown,html[data-theme=dark]:not(:has(.cockpit-mode)) .oi-product .search-dropdown,html[data-theme=dark]:not(:has(.cockpit-mode)) .wip-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .upgrade-tip code{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-picker-input,html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-picker-panel,html[data-theme=dark]:not(:has(.cockpit-mode)) .cat-pane{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-picker-input{border-color:#2f3d55}html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-search{background:transparent;color:#e2e8f0;border-bottom-color:#2f3d55}html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-item.selected,html[data-theme=dark]:not(:has(.cockpit-mode)) .cat-node.selected{color:#60a5fa}html[data-theme=dark]:not(:has(.cockpit-mode)) .tree-clear{border-top-color:#2f3d55}html[data-theme=dark]:not(:has(.cockpit-mode)) .ap-dot{border-color:#64748b}html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-cell-input:hover,html[data-theme=dark]:not(:has(.cockpit-mode)) .salary-cell-input:focus{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ap-m-filter select,html[data-theme=dark]:not(:has(.cockpit-mode)) .form-group select,html[data-theme=dark]:not(:has(.cockpit-mode)) .filter-bar select,html[data-theme=dark]:not(:has(.cockpit-mode)) .pager-size select,html[data-theme=dark]:not(:has(.cockpit-mode)) .org-toolbar select,html[data-theme=dark]:not(:has(.cockpit-mode)) .pg-sel,html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-fbar-sels select,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-grid select,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-vstack select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#1e293b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:34px}html[data-theme=dark]:not(:has(.cockpit-mode)) .sc-level-c,html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-badge-custom,html[data-theme=dark]:not(:has(.cockpit-mode)) .rp-boss-note{background:#f59e0b24;color:#fbbf24}html[data-theme=dark]:not(:has(.cockpit-mode)) .kb-badge.kb-video{background:#f59e0b24;color:#fbbf24}html[data-theme=dark]:not(:has(.cockpit-mode)) .comm-calc-err,html[data-theme=dark]:not(:has(.cockpit-mode)) .comm-loss{background:#ef444429;border-color:#f8717159;color:#fca5a5}html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-form-note{background:#3b82f624;border-color:#60a5fa4d;color:#93c5fd}html[data-theme=dark]:not(:has(.cockpit-mode)) .ct-type-tab{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ad-search{background:#94a3b81f}html[data-theme=dark]:not(:has(.cockpit-mode)) .ad-search:focus-within{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ib-status-btn{background:#94a3b81a}html[data-theme=dark]:not(:has(.cockpit-mode)) .qa-btn{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .qa-btn .qa-badge{box-shadow:0 0 0 1.5px #1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .sp-media-img{background:#94a3b81a}html[data-theme=dark]:not(:has(.cockpit-mode)) .portal-quick,html[data-theme=dark]:not(:has(.cockpit-mode)) .module-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .portal-quick-stats,html[data-theme=dark]:not(:has(.cockpit-mode)) .pr-stats{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .portal-search{background:#94a3b81f}html[data-theme=dark]:not(:has(.cockpit-mode)) .portal-search:focus-within{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .portal-search-panel{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .module-card.closed{opacity:.55}html[data-theme=dark]:not(:has(.cockpit-mode)) .wb-kpi{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .wb-todo-group-count{background:#3b82f629;color:#60a5fa}html[data-theme=dark]:not(:has(.cockpit-mode)) .wb-alert{background:#ef444429;border-color:#f8717159}html[data-theme=dark]:not(:has(.cockpit-mode)) .wb-alert.warn{background:#f59e0b24;border-color:#fbbf2459}html[data-theme=dark] .me-page.me-mobile{background:#0f172a}html[data-theme=dark] .me-group,html[data-theme=dark] .me-logout,html[data-theme=dark] .me-theme-panel{background:#1e293b}html[data-theme=dark] .me-row:active{background:#94a3b81f}html[data-theme=dark] .me-status-badge.ok{background:#34d39924;color:#34d399}html[data-theme=dark] .me-status-badge.warning{background:#f59e0b24;color:#fbbf24}html[data-theme=dark] .me-status-badge.danger{background:#ef444429;color:#f87171}html[data-theme=dark] .me-status-badge.checking{background:#3b82f629;color:#60a5fa}html[data-theme=dark] .me-alert-row.danger{background:#ef444429;border-color:#f8717159}html[data-theme=dark] .me-alert-row.warning{background:#f59e0b24;border-color:#fbbf2459}html[data-theme=dark] .me-event-kind.ok{background:#34d39924;color:#34d399}html[data-theme=dark] .me-event-kind.fail{background:#ef444429;color:#f87171}html[data-theme=dark] .me-event-kind.unauth{background:#f59e0b24;color:#fbbf24}html[data-theme=dark] .me-theme-opt+.me-theme-opt{border-top-color:#94a3b826}html[data-theme=dark] .me-theme-cancel{background:#94a3b81f}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-kpi,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-summary,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-summary-search,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-apv,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-mod-btn,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-mytodo,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-head-search{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-tab.active{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-todo-block-blue .wd-pill{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-summary .wd-sum-item+.wd-sum-item,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-summary .wd-sum-out+.wd-sum-in{border-left-color:#94a3b826}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-out{background:#ef444429}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-in{background:#34d39924}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-receive{background:#f59e0b24}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-ship{background:#3b82f629}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-out b,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-out .wd-sum-val{color:#f87171}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-in b,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-in .wd-sum-val{color:#34d399}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-receive b,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-receive .wd-sum-val{color:#fbbf24}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-ship b,html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-sum-ship .wd-sum-val{color:#60a5fa}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-mod-green{background:#34d39924}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-mod-red{background:#ef444429}html[data-theme=dark]:not(:has(.cockpit-mode)) .wd-mod-blue{background:#3b82f629}html[data-theme=dark]:not(:has(.cockpit-mode)) .log-mseg-btn,html[data-theme=dark]:not(:has(.cockpit-mode)) .log-mrisk-btn,html[data-theme=dark]:not(:has(.cockpit-mode)) .log-mcard{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-panel,html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-head,html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-bubble,html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-bubble-card,html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-inputbar{background:#1e293b}html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-list{background:#0f172a}html[data-theme=dark]:not(:has(.cockpit-mode)) .ai-empty-samples button{background:#94a3b81f;color:#cbd5e1}html[data-theme=dark] .swb{background:#0f172a}html[data-theme=dark] .swb .swb-top{margin:0 0 12px;padding:14px;background:linear-gradient(180deg,#16396c,#1d4d92 55%,#2763b4);box-shadow:none}html[data-theme=dark] .swb-top .swb-avatar{background:#ffffff2e;color:#fff}html[data-theme=dark] .swb-top .swb-me-name{color:#fff}html[data-theme=dark] .swb-top .swb-me-sub{color:#ffffffbf}html[data-theme=dark] .swb-top .swb-view-badge{background:#ffffff2e;color:#fff}html[data-theme=dark] .swb-top .swb-search input{background:#fffffff2;color:var(--gray-800)}html[data-theme=dark] .swb-top .swb-search input:focus{background:#fff;box-shadow:0 0 0 2px #fff6}html[data-theme=dark] .swb-top .swb-range{background:#ffffff1f}html[data-theme=dark] .swb-top .swb-range-btn{color:#ffffffd9}html[data-theme=dark] .swb-top .swb-range-btn:hover{color:#fff}html[data-theme=dark] .swb-top .swb-range-btn.active{background:#fff;color:#2563eb;box-shadow:none}html[data-theme=dark] .swb-top .swb-bell{color:#ffffffe6}html[data-theme=dark] .swb-top .swb-bell:hover{background:#ffffff26;color:#fff}html[data-theme=dark] .swb-top .swb-quick .btn-primary{background:#fff;color:#2563eb;border:none}html[data-theme=dark] .swb-top .swb-quick .btn-primary:hover{background:#e0edff;color:#1d4ed8}html[data-theme=dark] .swb-search-pop{background:#1e293b;border-color:#94a3b840;box-shadow:0 10px 25px #00000073}html[data-theme=dark] .swb-search-glabel{color:#64748b}html[data-theme=dark] .swb-search-row{color:#cbd5e1}html[data-theme=dark] .swb-search-row:hover{background:#3b82f629;color:#60a5fa}html[data-theme=dark] .swb-search-none{color:#64748b}html[data-theme=dark] .swb-quick-pop{background:#1e293b;border-color:#94a3b840;box-shadow:0 10px 25px #00000073}html[data-theme=dark] .swb-quick-pop button{color:#cbd5e1}html[data-theme=dark] .swb-quick-pop button:hover{background:#3b82f629;color:#60a5fa}html[data-theme=dark] .swb-card{background:#1e293b;box-shadow:0 1px 3px #00000059}html[data-theme=dark] .swb-head h3{color:#e2e8f0}html[data-theme=dark] .swb-head-side{color:#64748b}html[data-theme=dark] .swb-head-link{color:#60a5fa}html[data-theme=dark] .swb-empty-row{color:#94a3b8}html[data-theme=dark] .swb .btn-outline{border-color:#94a3b866;color:#cbd5e1;background:transparent}html[data-theme=dark] .swb .btn-outline:hover{background:#94a3b81f;border-color:#94a3b880}html[data-theme=dark] .swb .dash-empty{color:#64748b}html[data-theme=dark] .swb .sp-load-err{color:#fca5a5}html[data-theme=dark] .swb-todo{background:#94a3b81a}html[data-theme=dark] .swb-todo:hover{background:#3b82f629}html[data-theme=dark] .swb-todo-num{color:#e2e8f0}html[data-theme=dark] .swb-todo-label{color:#94a3b8}html[data-theme=dark] .swb-todo-red{background:#ef444429}html[data-theme=dark] .swb-todo-red:hover{background:#ef44443d}html[data-theme=dark] .swb-todo-red .swb-todo-num{color:#f87171}html[data-theme=dark] .swb-todo-red .swb-todo-label{color:#fca5a5}html[data-theme=dark] .swb-appt{background:#3b82f624}html[data-theme=dark] .swb-appt-clock{color:#60a5fa}html[data-theme=dark] .swb-appt-dur{color:#94a3b8}html[data-theme=dark] .swb-appt-cust{color:#e2e8f0}html[data-theme=dark] .swb-appt-sub{color:#94a3b8}html[data-theme=dark] .swb-link{color:#60a5fa}html[data-theme=dark] .swb-appt-remind{background:#0f172a80;border-color:#60a5fa66;color:#cbd5e1}html[data-theme=dark] .swb-appt-remind svg{color:#60a5fa}html[data-theme=dark] .swb-quick-item:hover{background:#3b82f624}html[data-theme=dark] .swb-quick-ico{background:#3b82f62e;color:#60a5fa}html[data-theme=dark] .swb-quick-label{color:#94a3b8}html[data-theme=dark] .swb-kpi{background:#94a3b81a}html[data-theme=dark] .swb-kpi-label{color:#94a3b8}html[data-theme=dark] .swb-kpi-num{color:#e2e8f0}html[data-theme=dark] .swb-kpi-num.blue{color:#60a5fa}html[data-theme=dark] .swb-kpi-num.green{color:#34d399}html[data-theme=dark] .swb-trend-title{color:#cbd5e1}html[data-theme=dark] .swb-trend-legend{color:#64748b}html[data-theme=dark] .swb-dot-sign{background:#3b82f6}html[data-theme=dark] .swb-dot-recv{background:#93c5fd}html[data-theme=dark] .swb-chart{background:#94a3b814}html[data-theme=dark] .swb-chart-bar.sign{background:#3b82f6}html[data-theme=dark] .swb-chart-bar.recv{background:#93c5fd}html[data-theme=dark] .swb-chart-bar.cur{background:#60a5fa}html[data-theme=dark] .swb-chart-label{color:#64748b}html[data-theme=dark] .swb-chart-empty{color:#64748b;background:#94a3b814}html[data-theme=dark] .swb-funnel-table th{color:#64748b;border-bottom-color:#94a3b833}html[data-theme=dark] .swb-funnel-table td{color:#cbd5e1;border-bottom-color:#94a3b81f}html[data-theme=dark] .swb-funnel-table .fw-b{color:#e2e8f0}html[data-theme=dark] .swb-funnel-row{color:#cbd5e1}html[data-theme=dark] .swb-opp{border-color:#94a3b824}html[data-theme=dark] .swb-opp:hover{border-color:#60a5fa80}html[data-theme=dark] .swb-rank{background:#94a3b826;color:#94a3b8}html[data-theme=dark] .swb-rank.top{background:#3b82f62e;color:#60a5fa}html[data-theme=dark] .swb-opp-name{color:#e2e8f0}html[data-theme=dark] .swb-opp-date,html[data-theme=dark] .swb-opp-no{color:#64748b}html[data-theme=dark] .swb-opp-badge{background:#3b82f629;color:#60a5fa}html[data-theme=dark] .swb-opp-amt{color:#e2e8f0}html[data-theme=dark] .swb-cust{border-color:#94a3b824}html[data-theme=dark] .swb-cust.warn{border-color:#f8717159;background:#ef444414}html[data-theme=dark] .swb-cust.warn .swb-cust-avatar{background:#475569}html[data-theme=dark] .swb-cust-name{color:#e2e8f0}html[data-theme=dark] .swb-level-a{background:#3b82f62e;color:#60a5fa}html[data-theme=dark] .swb-level-b{background:#34d39929;color:#34d399}html[data-theme=dark] .swb-level-c{background:#94a3b826;color:#94a3b8}html[data-theme=dark] .swb-cust-cell{color:#94a3b8}html[data-theme=dark] .swb-status.ok{background:#34d39929;color:#34d399}html[data-theme=dark] .swb-status.bad{background:#ef444429;color:#f87171}html[data-theme=dark] .swb-warn-row.red{background:#ef444429;border-left-color:#f87171}html[data-theme=dark] .swb-warn-row.amber{background:#f59e0b29;border-left-color:#fbbf24}html[data-theme=dark] .swb-warn-row.month{background:#3b82f629;border-left-color:#60a5fa}html[data-theme=dark] .swb-warn-row.red .swb-warn-row-label{color:#fca5a5}html[data-theme=dark] .swb-warn-row.amber .swb-warn-row-label{color:#fcd34d}html[data-theme=dark] .swb-warn-row.month .swb-warn-row-label{color:#93c5fd}html[data-theme=dark] .swb-warn-row.red .swb-warn-row-num{color:#f87171}html[data-theme=dark] .swb-warn-row.amber .swb-warn-row-num{color:#fbbf24}html[data-theme=dark] .swb-warn-row.month .swb-warn-row-num{color:#60a5fa}html[data-theme=dark] .swb-warn-row-sub{color:#94a3b8}html[data-theme=dark] .swb-warn-split{background:#0f172a99;box-shadow:none}html[data-theme=dark] .swb-warn-split span{color:#94a3b8}html[data-theme=dark] .swb-warn-split.recv b{color:#34d399}html[data-theme=dark] .swb-warn-split.unrecv b{color:#f87171}html[data-theme=dark] .swb-abn{background:#94a3b81a}html[data-theme=dark] .swb-abn:hover{box-shadow:0 2px 8px #00000059}html[data-theme=dark] .swb-abn-head{color:#cbd5e1}html[data-theme=dark] .swb-abn-num{color:#e2e8f0}html[data-theme=dark] .swb-abn-blue{background:#3b82f624}html[data-theme=dark] .swb-abn-blue .swb-abn-head i{background:#60a5fa}html[data-theme=dark] .swb-abn-amber{background:#f59e0b24}html[data-theme=dark] .swb-abn-amber .swb-abn-head i{background:#fbbf24}html[data-theme=dark] .swb-abn-red{background:#ef444429}html[data-theme=dark] .swb-abn-red .swb-abn-head i{background:#f87171}html[data-theme=dark] .swb-abn-red .swb-abn-num{color:#f87171}html[data-theme=dark] .swb-abn-violet{background:#8b5cf629}html[data-theme=dark] .swb-abn-violet .swb-abn-head i{background:#a78bfa}html[data-theme=dark] .swb-recent{background:#94a3b814}html[data-theme=dark] .swb-recent-title{color:#cbd5e1}html[data-theme=dark] .swb-recent-ava{background:#3b82f62e;color:#60a5fa}html[data-theme=dark] .swb-recent-name{color:#cbd5e1}html[data-theme=dark] .swb-recent-at,html[data-theme=dark] .swb-recent-no{color:#64748b}html[data-theme=dark] .swb-recent-amt{color:#e2e8f0}html[data-theme=dark] .swb-recent-ftext{color:#cbd5e1}html[data-theme=dark] .swb-recent-empty{color:#64748b}html[data-theme=dark] .swb-bar-mobile .swb-bar-btn{background:#94a3b81a;border-color:#94a3b833;color:#cbd5e1}html[data-theme=dark] .swb-bar-mobile .swb-bar-btn:hover{background:#3b82f629;border-color:#60a5fa80;color:#60a5fa}html[data-theme=dark] .swb-bar-mobile .swb-bar-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}html[data-theme=dark] .swb-bar-mobile .swb-bar-btn.primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}html[data-theme=dark] .swb .mobile-cards{background:transparent;box-shadow:none}html[data-theme=dark] .swb .mobile-cards tr{border-bottom-color:#94a3b826}html[data-theme=dark] .swb .mobile-cards td{color:#cbd5e1}html[data-theme=dark] .swb .mobile-cards td:before{color:#94a3b8}html[data-theme=dark] .swb .mobile-cards td b{color:#e2e8f0}html[data-theme=dark] .swbm-ring{background:#94a3b81a}html[data-theme=dark] .swbm-ring svg text{fill:#e2e8f0}html[data-theme=dark] .swbm-goal-track,html[data-theme=dark] .swbm-mini-track{background:#94a3b833}html[data-theme=dark] .swbm-proc-cell{background:#94a3b81a;border-color:#94a3b833}html[data-theme=dark] .swbm-proc-cell:active{background:#3b82f629}html[data-theme=dark] .swbm-opp-total{background:#94a3b81a}html[data-theme=dark] .swbm-rec-tab{background:#94a3b81a;border-color:#94a3b833;color:#cbd5e1}html[data-theme=dark] .swbm-rec-tab.active{background:#3b82f629;border-color:#60a5fa;color:#60a5fa}html[data-theme=dark] .swbm-rec-row{background:#94a3b81a}html[data-theme=dark] .swbm-rec-line1{color:#cbd5e1}html[data-theme=dark] .swbm-rec-line1 span:last-child{color:#e2e8f0}}.adj-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.adj-item{background:var(--gray-100);border-radius:0;padding:8px 12px}.adj-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}@media (max-width: 768px){.att-summary .mobile-cards tfoot{display:none}}.payslip-card{max-width:560px;padding:20px}.payslip-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-light);margin-bottom:10px}.payslip-name{font-size:17px;font-weight:700}.payslip-empno{font-family:monospace;font-size:12px;font-weight:400;color:var(--gray-500);margin-left:8px}.payslip-sub{font-size:12px;color:var(--gray-500);margin-top:3px}.payslip-rows{display:flex;flex-direction:column}.payslip-row{display:flex;justify-content:space-between;align-items:center;padding:7px 2px;font-size:12px;color:var(--gray-700)}.payslip-row b{font-variant-numeric:tabular-nums;font-weight:600}.payslip-row-sum{border-top:1px dashed var(--gray-200);margin-top:4px;padding-top:10px;font-weight:600}.payslip-divider{font-size:12px;color:var(--gray-500);padding:10px 2px 2px}.payslip-net{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 14px;background:#eaf1fe;border-radius:0;font-size:12px}.payslip-net b{font-size:20px;color:var(--primary);font-variant-numeric:tabular-nums}.sa-scope{display:flex;justify-content:space-between;align-items:center;gap:10px}.sa-scope-left{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.sa-scope-label{font-size:12px;color:var(--gray-500)}.sa-scope-badge{background:#eff6ff;color:#2563eb;padding:3px 12px;border-radius:0;font-size:12px;font-weight:600}.sa-scope-note{font-size:12px;color:var(--gray-400)}.sa-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.sa-kpi{background:#f8fafc;border-radius:0;padding:12px;min-width:0}.sa-kpi-label{font-size:12px;color:var(--gray-500)}.sa-kpi-num{font-size:20px;font-weight:700;color:var(--gray-800);margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.sa-kpi-num.blue{color:#2563eb}.sa-kpi-num.green{color:#16a34a}.sa-kpi-num.amber{color:#d97706}.sa-kpi-sub{font-size:11px;color:var(--gray-400);margin-top:4px}.sa-funnel{display:flex;flex-direction:column;gap:8px;padding:4px 0}.sa-frow{display:flex;align-items:center;gap:10px}.sa-fname{width:76px;flex:none;font-size:12px;color:var(--gray-600);display:flex;align-items:center;gap:6px}.sa-fdot{width:10px;height:10px;border-radius:0;display:inline-block;flex:none}.sa-fbar-track{flex:1;height:10px;background:#f1f5f9;border-radius:0;overflow:hidden}.sa-fbar{height:100%;border-radius:0}.sa-fnum{width:56px;flex:none;text-align:right;font-size:12px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.sa-funit{font-size:11px;font-weight:400;color:var(--gray-400);margin-left:1px}.sa-famt{width:110px;flex:none;text-align:right;font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.sa-chart{height:170px}.sa-chart .swb-chart-bar{max-width:9px}.sa-mlist{display:flex;flex-direction:column;gap:10px}.sa-mrow{background:#f8fafc;border-radius:0;padding:10px 12px}.sa-mhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sa-mlabel{font-size:12px;font-weight:600;color:var(--gray-700)}.sa-mnums{display:flex;gap:12px;font-size:12px;font-variant-numeric:tabular-nums}.sa-mn.sign{color:#2563eb}.sa-mn.recv{color:#93c5fd}.sa-mbars{display:flex;flex-direction:column;gap:3px}.sa-mbar{height:6px;border-radius:0;min-width:2px}.sa-mbar.sign{background:#2563eb}.sa-mbar.recv{background:#93c5fd}.sa-channels{display:flex;flex-direction:column;gap:10px;padding:4px 0}.sa-crow{display:flex;align-items:center;gap:10px}.sa-cname{width:110px;flex:none;font-size:12px;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-cbar-track{flex:1;height:12px;background:#f1f5f9;border-radius:0;overflow:hidden}.sa-cbar{height:100%;border-radius:0;background:linear-gradient(90deg,#60a5fa,#2563eb)}.sa-cnum{width:40px;flex:none;text-align:right;font-size:12px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}.sa-team-m{display:flex;flex-direction:column;gap:10px}.sa-tcard{background:#f8fafc;border-radius:0;padding:12px}.sa-tname{font-size:12px;font-weight:700;color:var(--gray-800);margin-bottom:8px}.sa-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sa-tcell{display:flex;flex-direction:column;gap:3px}.sa-tcell span{font-size:11px;color:var(--gray-400)}.sa-tcell b{font-size:12px;color:var(--gray-800);font-variant-numeric:tabular-nums}.sa-tcell b.green{color:#16a34a}.sa-pool{border:1px dashed #bfdbfe;background:#f8fafc;border-radius:0;padding:20px;text-align:center}.sa-pool-title{font-size:12px;font-weight:700;color:#2563eb}.sa-pool-desc{font-size:12px;color:var(--gray-400);margin-top:6px;line-height:1.6}@media (max-width: 768px){.sa-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.sa-kpi{padding:10px}.sa-kpi-num{font-size:17px}.sa-fname{width:64px;font-size:12px}.sa-famt{width:84px}.sa-cname{width:88px}.sa-scope-note{display:none}}html[data-theme=dark] .sa-scope-badge{background:#3b82f62e;color:#60a5fa}html[data-theme=dark] .sa-kpi,html[data-theme=dark] .sa-mrow,html[data-theme=dark] .sa-tcard,html[data-theme=dark] .sa-pool{background:#94a3b814}html[data-theme=dark] .sa-kpi-label,html[data-theme=dark] .sa-kpi-sub,html[data-theme=dark] .sa-scope-note,html[data-theme=dark] .sa-scope-label,html[data-theme=dark] .sa-tcell span{color:#64748b}html[data-theme=dark] .sa-kpi-num,html[data-theme=dark] .sa-fnum,html[data-theme=dark] .sa-cnum,html[data-theme=dark] .sa-tname,html[data-theme=dark] .sa-tcell b{color:#e2e8f0}html[data-theme=dark] .sa-kpi-num.green,html[data-theme=dark] .sa-tcell b.green{color:#4ade80}html[data-theme=dark] .sa-fname,html[data-theme=dark] .sa-cname,html[data-theme=dark] .sa-famt,html[data-theme=dark] .sa-mlabel{color:#cbd5e1}html[data-theme=dark] .sa-fbar-track,html[data-theme=dark] .sa-cbar-track{background:#94a3b826}html[data-theme=dark] .sa-pool-title{color:#60a5fa}html[data-theme=dark] .sa-pool-desc{color:#64748b}@media (min-width: 1104px){.sidebar{background:linear-gradient(180deg,#0b1e46,#0e2657 70%,#123368)}.sidebar-header{border-bottom-color:transparent}.sidebar-brand-name{color:#fff}.sidebar-footer{border-top-color:transparent}.nav-global{border-bottom-color:transparent;margin-bottom:8px;padding-bottom:8px}.nav-item-org{border-top-color:transparent;margin-top:4px;padding-top:4px}.nav-group-title,.nav-item{margin:2px 0;border-radius:0;background:#ffffff0d;color:#ffffffb8}.nav-group-title{padding:10px 14px;font-size:18px;font-weight:400;letter-spacing:0;transition:background-color .12s ease,color .12s ease}.nav-item{font-size:18px;font-weight:400}.nav-group-title:hover,.nav-item:hover{background:#ffffff1a;color:#fff}.nav-group-title.g-active,.nav-item.active{background:#ffffff29;color:#fff}.nav-item.active{font-weight:600;box-shadow:inset 3px 0 #4c8dff}.nav-item.active:hover{background:#ffffff29}.nav-group-title.g-active{font-weight:600}.nav-group-chevron{color:#ffffff73}.nav-group-title:hover .nav-group-chevron,.nav-group-title.g-active .nav-group-chevron{color:#ffffffb8}.nav-item.nav-item-disabled,.nav-item.nav-item-disabled:hover{color:#ffffff59;background:#ffffff0d}.sidebar .nav-ico{width:24px;height:24px}.sidebar .nav-icon{color:#ffffffb8}.sidebar .nav-item.active .nav-icon,.sidebar .nav-group-title.g-active .nav-icon{color:#fff}.nav-badge{background:#fff;color:#2563eb;border:1px solid #2563eb}.nav-item.active .nav-badge{background:#fff;color:#2563eb;border-color:#2563eb;box-shadow:none}.sidebar-nav{scrollbar-color:rgba(255,255,255,.35) transparent}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff59}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff8c}}.sc-filter-btn-active{border-color:var(--primary);color:var(--primary);font-weight:600}.sc-filter-num{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:5px;border-radius:0;background:var(--primary);color:#fff;font-size:11px;font-weight:600;line-height:1}.sc-filter-panel{width:400px;padding:4px 0}.sc-filter-empty{padding:10px 12px;font-size:12px;color:var(--gray-400)}.sc-filter-row{display:flex;gap:6px;padding:6px 12px;align-items:center}.sc-filter-row select{flex:0 0 118px}.sc-filter-row select+select{flex:0 0 86px}.sc-filter-row input{flex:1;min-width:0}.sc-filter-del{flex:0 0 22px;height:22px;border:none;background:none;color:var(--gray-400);font-size:16px;cursor:pointer;border-radius:0}.sc-filter-del:hover{color:var(--danger);background:#fef2f2}.sc-filter-actions{display:flex;gap:8px;padding:10px 12px 2px;border-top:1px solid var(--border-light);margin-top:4px}.cd-row{cursor:pointer}.sc-cust-row:hover td,.cd-row:hover td{background:#eff6ff}.cd-click{cursor:pointer}.cd-click:hover{background:#eff6ff}.cd-click-hint{font-size:11px;color:var(--gray-400);font-weight:400;margin-left:6px}.cd-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.cd-head h2{margin:0}.cd-level{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:0;background:#eff6ff;color:var(--primary);font-weight:700;font-size:12px}.cd-stats{margin-bottom:12px}.cd-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px}.cd-info-item label{display:block;font-size:12px;color:var(--gray-500);margin-bottom:3px}.cd-info-item div{font-size:12px;color:var(--gray-800);word-break:break-all}.cd-info-wide{grid-column:1 / -1}.cd-follow-list{display:flex;flex-direction:column;gap:12px}.cd-follow-item{border:1px solid var(--border-light);border-radius:0;padding:12px 14px}.cd-follow-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cd-follow-time{font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums}.cd-follow-by{font-size:12px;color:var(--gray-500);margin-left:auto}.cd-follow-content{font-size:13px;color:var(--gray-700);white-space:pre-wrap;line-height:1.6}.cd-follow-next{margin-top:8px;font-size:13px;color:var(--primary)}.comm-layout{display:flex;flex-direction:column;gap:14px}@media (min-width: 769px){.comm-layout{flex-direction:row;align-items:flex-start}.comm-left{flex:7;min-width:0}.comm-right{flex:13;min-width:0}.comm-right .comm-table-scroll{overflow-x:auto}.comm-right .card{padding:14px}.comm-right .mobile-cards{font-size:12px}.comm-right .mobile-cards th,.comm-right .mobile-cards td{white-space:nowrap;padding:8px 4px}.comm-right .btn-sm{padding:2px 6px;font-size:11px}.comm-right .comm-contract{max-width:104px;overflow:hidden;text-overflow:ellipsis}.comm-right .comm-cust{max-width:64px;overflow:hidden;text-overflow:ellipsis}.comm-right .comm-prod{max-width:130px;overflow:hidden;text-overflow:ellipsis}.cd-info-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.cd-info-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1601px){.comm-right .mobile-cards{font-size:12px;width:100%}.comm-right .mobile-cards th,.comm-right .mobile-cards td{padding:9px 8px}.comm-right .btn-sm{padding:3px 10px;font-size:12px}.comm-right .comm-contract,.comm-right .comm-cust,.comm-right .comm-prod{max-width:none}}@media (min-width: 769px) and (max-width: 1600px){.comm-left .sp-grid{grid-template-columns:1fr 1fr}}.drill-chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 12px}.drill-chip{display:inline-flex;align-items:center;gap:6px;background:#eaf1ff;border:1px solid #bfd0fb;color:#1d4ed8;border-radius:0;padding:4px 12px;font-size:11px;font-weight:600}.drill-chip .x{border:none;background:none;color:#1d4ed8;font-size:12px;line-height:1;cursor:pointer;padding:0 0 0 2px;font-weight:700;font-family:inherit}.drill-chip .x:hover{color:#12306b}.drill-chip-clear{border:none;background:none;color:var(--mut);font-size:11px;cursor:pointer;text-decoration:underline;font-family:inherit}.drill-chip-clear:hover{color:var(--brand)}.tm-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border-light)}.tm-tab{padding:9px 20px;font-size:12px;font-weight:500;border:none;background:none;color:var(--gray-600);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tm-tab:hover{color:var(--primary)}.tm-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tfd-head,.tfd-row{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px}.tfd-head{color:var(--gray-500);font-size:12px;background:var(--surface-alt);border:1px solid var(--border-light);border-bottom:none}.tfd-row{border:1px solid var(--border-light);border-top:none;background:#fff}.tfd-row:first-of-type{border-top:1px solid var(--border-light)}.tfd-row.off{opacity:.5;background:#fafafa}.tfd-row:hover{background:var(--hover-bg)}.tfd-move{width:30px;text-align:center;color:var(--gray-400);cursor:grab;font-size:12px;-webkit-user-select:none;user-select:none}.tfd-check{width:46px;display:flex;justify-content:center}.tfd-check input{accent-color:var(--primary);cursor:pointer}.tfd-label{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.tfd-key{font-size:11px;color:var(--gray-400);font-family:ui-monospace,Menlo,Consolas,monospace}.tfd-max{width:96px;padding:5px 8px;border:1px solid var(--gray-200);font-size:12px;color:var(--gray-800);background:#fff}.tfd-max:focus{outline:none;border-color:var(--primary)}.rd-body-pad{padding:16px 18px}.tplp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tplp-left{min-width:0}.tplp-right{min-width:0;position:sticky;top:0}.tplp-preview-title{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.tplp-frame{width:100%;height:72vh;border:1px solid var(--border-light);background:#fff;display:block}.modal-xl{max-width:1500px;width:calc(100vw - 48px)}@media (max-width: 1024px){.tplp-grid{grid-template-columns:1fr}.tplp-right{position:static}.tplp-frame{height:60vh}.modal-xl{width:calc(100vw - 24px)}}@media (max-width: 768px){.tfd-head,.tfd-row{gap:5px;padding:6px;flex-wrap:wrap}.tfd-label{flex:1 1 100%;order:5}.tfd-max{width:76px}}.sec-title-h4{font-size:12px;font-weight:700}.sec-title-sm{font-size:12px;font-weight:600;margin:12px 0 8px}.sec-title-accent{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:10px}@media (min-width: 769px){.page-header h2,.portal-greeting h1,.wd-head h2,.cp-greet-line,.cp-greet-line b{font-size:22px;font-weight:600}.section-title,.modal-header h3,.rd-title,.ib-form-title,.cd-top-title{font-size:18px;font-weight:600}.card-header h3,.card-title,.swb-head h3,.m-card-title,.role-card-title,.ib-list-head h3,.ct-list-head h3,.wd-card-title,.wd-mod-title,.wip-card h3,.ai-head-title{font-size:16px;font-weight:600}.form-section-title,.dash-section-title,.ct-section-title,.pd-sec-title,.sr-sec-title,.cat-pane-title,.cd-group-title,.sc-dup-sec-title,.sc-cf-sec-title,.mat-fields-sec-title,.comm-result-title,.cp-sec-title,.wd-block-title,.sa-pool-title,.sec-title-h4,.sec-title-sm,.sec-title-accent,.kb-title,.salary-guide-title,.salary-guide-step-title,.wd-mytodo-title,.wd-alert-title,.wd-lowbar-title,.ap-tl-title,.cp-ai-title,.tplp-preview-title,.ct-kpi-title{font-size:12px;font-weight:600}.sa-pool-title,.sec-title-accent,html[data-theme=dark] .sa-pool-title,html[data-theme=dark] .sec-title-accent{color:var(--gray-800)}}.ptp{position:relative}.ptp-field{display:flex;gap:6px}.ptp-field input{flex:1;min-width:0;cursor:pointer}.ptp-panel{display:grid;grid-template-columns:1fr;gap:0;margin-top:6px;border:1px solid var(--line);background:#fff;height:300px;overflow:hidden}.ptp-panel.two{grid-template-columns:200px minmax(0,1fr)}.ptp-tree{overflow:auto;border-right:1px solid var(--line);padding:4px}.ptp-panel:not(.two) .ptp-tree{border-right:0}.ptp-tree .cat-node{padding-top:5px;padding-bottom:5px}.ptp-list{display:flex;flex-direction:column;min-width:0}.ptp-list>input{margin:6px 8px;width:auto}.ptp-rows{flex:1;overflow:auto;padding:0 8px 8px}.ptp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-bottom:1px solid var(--line);cursor:pointer}.ptp-row:hover{background:var(--primary-light, #eff6ff)}.ptp-row-main{min-width:0}.ptp-row-name{font-weight:600;font-size:12px;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptp-row-sub{font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptp-row-price{font-size:12px;font-weight:700;color:var(--gray-800);white-space:nowrap}.ptp-empty{padding:24px 0;text-align:center;font-size:12px;color:var(--gray-500)}.rd-body .form-grid,.rd-body .sp-grid{margin-bottom:10px}.rd-body .ct-form-note{margin:0 0 12px}body:has(.rd-drawer) .so-fab,body:has(.rd-drawer) .ai-fab{display:none}.rp-xbb,.org-xbb,.tpl-xbb{display:flex;gap:16px;align-items:flex-start}.rp-xbb-roles{width:250px;flex:none;background:var(--card-bg, #fff);border:1px solid var(--gray-200)}.rp-xbb-modules{width:220px;flex:none;background:var(--card-bg, #fff);border:1px solid var(--gray-200)}.rp-xbb-main{flex:1;min-width:0}.rp-xbb-col-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--gray-200);background:#f5f7fa;font-size:12px;color:var(--gray-700)}.rp-xbb-add{width:24px;height:24px;border:1px solid var(--gray-300);background:#fff;color:var(--primary);font-size:16px;line-height:1;cursor:pointer;padding:0}.rp-xbb-add:hover{border-color:var(--primary)}.rp-xbb-search{width:calc(100% - 24px);margin:10px 12px;padding:6px 10px;border:1px solid var(--gray-300);font-size:12px}.rp-xbb-role-list{max-height:520px;overflow-y:auto;padding:0 0 10px}.rp-xbb-role-item{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;font-size:12px;color:var(--gray-700)}.rp-xbb-role-item:hover{background:#f1f5f9}.rp-xbb-role-item.active{background:#eaf2fe}.rp-xbb-role-item.active .rp-xbb-role-name{color:var(--primary);font-weight:600}.rp-xbb-role-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-xbb-role-count{font-size:11px;color:var(--gray-400)}.rp-xbb-role-ops{display:none;gap:6px}.rp-xbb-role-item:hover .rp-xbb-role-ops{display:inline-flex}.rp-xbb-op{border:none;background:none;color:var(--primary);font-size:12px;cursor:pointer;padding:0}.rp-xbb-op:hover{text-decoration:underline}.rp-xbb-mod-list{padding:8px}.rp-xbb-mod-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--gray-700);text-align:left}.rp-xbb-mod-item:hover{background:#f1f5f9}.rp-xbb-mod-item.active{background:#eaf2fe}.rp-xbb-mod-item.active .rp-xbb-mod-name{color:var(--primary);font-weight:600}.rp-xbb-mod-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-xbb-mod-badge{font-size:11px;color:var(--gray-400)}.rp-xbb-mod-check{font-size:12px;color:var(--primary)}.rp-xbb-mod-tip{font-size:11px;color:var(--gray-400);padding:8px 10px 10px;margin:0;line-height:1.6;border-top:1px dashed var(--gray-200)}.rp-xbb-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--card-bg, #fff);border:1px solid var(--gray-200);border-bottom:none}.rp-xbb-mod-title{font-size:12px;color:var(--gray-800)}.rp-xbb-spacer{flex:1}.rp-scope-card{background:var(--card-bg, #fff);border:1px solid var(--gray-200);border-bottom:none;padding:12px 14px}.rp-scope-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:12px}.rp-scope-title .text-muted{font-size:12px}.rp-scope-radios{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rp-scope-radio{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-700);cursor:pointer}.rp-xbb-matrix{background:var(--card-bg, #fff);border:1px solid var(--gray-200);overflow-x:auto}.rp-xbb-matrix table{border-collapse:collapse;width:100%;font-size:12px}.rp-xbb-matrix th{background:#f5f7fa;padding:8px 12px;text-align:left;font-size:12px;color:var(--gray-600);border-bottom:1px solid var(--gray-200);white-space:nowrap}.rp-xbb-matrix td{padding:8px 12px;border-bottom:1px solid var(--gray-100);vertical-align:top}.rp-xbb-page-col{width:150px}.rp-xbb-form-col{width:60px;text-align:center}.rp-xbb-page{cursor:pointer;font-weight:600;color:var(--gray-800);white-space:nowrap}.rp-xbb-form{text-align:center}.rp-xbb-perm-chips{display:flex;flex-wrap:wrap;gap:8px 14px}.rp-xbb-perm-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--gray-600);cursor:pointer}.org-tree{width:240px;flex:none;background:var(--card-bg, #fff);border:1px solid var(--gray-200);padding:8px}.org-tree-company{display:flex;align-items:center;gap:8px;padding:8px 10px 12px;font-size:12px;color:var(--gray-800);border-bottom:1px solid var(--gray-100);margin-bottom:6px}.org-tree-node{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--gray-700);text-align:left}.org-tree-node:hover{background:#f1f5f9}.org-tree-node.active{background:#eaf2fe;color:var(--primary);font-weight:600}.org-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-tree-count{font-size:11px;color:var(--gray-400)}.org-tree-ops{display:none;gap:6px}.org-tree-node:hover .org-tree-ops{display:inline-flex}.org-tree-op{border:none;background:none;color:var(--primary);font-size:12px;cursor:pointer;padding:0}.org-tree-op:hover{text-decoration:underline}.org-tree-op-danger{color:var(--danger)}.org-tree-add{width:100%;margin-top:8px;padding:8px 10px;border:1px dashed var(--gray-300);background:none;cursor:pointer;font-size:12px;color:var(--primary)}.org-tree-add:hover{border-color:var(--primary);background:#eaf2fe}.org-main{flex:1;min-width:0;background:var(--card-bg, #fff);border:1px solid var(--gray-200)}.org-main .org-toolbar{border-bottom:1px solid var(--gray-200);padding:10px 12px}.org-name-cell{display:inline-flex;align-items:center;gap:8px}.org-name-text{display:inline-flex;flex-direction:column;line-height:1.4}.tpl-xbb-forms{width:220px;flex:none;background:var(--card-bg, #fff);border:1px solid var(--gray-200)}.tpl-xbb-form-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--gray-100);background:none;cursor:pointer;font-size:12px;color:var(--gray-700);text-align:left}.tpl-xbb-form-item:hover{background:#f1f5f9}.tpl-xbb-form-item.active{background:#eaf2fe}.tpl-xbb-form-item.active .tpl-xbb-form-name{color:var(--primary);font-weight:600}.tpl-xbb-form-name{flex:1}.tpl-xbb-form-count{font-size:11px;color:var(--gray-400)}.tpl-xbb-form-check{font-size:12px;color:var(--primary)}.tpl-xbb-main{flex:1;min-width:0;background:var(--card-bg, #fff);border:1px solid var(--gray-200)}.tpl-xbb-panel-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--gray-200);background:#f5f7fa;font-size:12px}.wf-switch{position:relative;width:42px;height:22px;border:none;background:#cbd5e1;cursor:pointer;padding:0;flex:none;transition:background .15s ease}.wf-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;transition:left .15s ease;box-shadow:0 1px 2px #00000026}.wf-switch.on{background:var(--primary)}.wf-switch.on:after{left:22px}.wf-switch:disabled{opacity:.45;cursor:not-allowed}.wf-table th:last-child,.wf-table td:last-child{width:90px;text-align:center}.wf-rule{font-size:12px;color:var(--gray-600)}.wf-fixed td{background:#fafbfc}.pw-field{position:relative}.pw-field input{padding-right:60px}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--primary);font-size:12px;cursor:pointer;padding:4px 6px;line-height:1}.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--warning-light, #fff7ed);border:1px solid #fed7aa;color:var(--gray-700);font-size:13px;margin-bottom:14px}.draft-banner-text{flex:1;min-width:0}.draft-banner-actions{display:flex;gap:8px;flex:none}
