@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";.toast-stack[data-v-d2f1e123]{position:fixed;right:20px;bottom:20px;z-index:999;display:flex;flex-direction:column;gap:10px}.toast[data-v-d2f1e123]{min-width:310px;max-width:360px;border-radius:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#173f78,#155c8e);box-shadow:0 20px 60px #22529129}.toast-icon[data-v-d2f1e123]{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#ffffff2e}.toast-success .toast-icon[data-v-d2f1e123]{background:#2fa771;color:#fff}.toast-error .toast-icon[data-v-d2f1e123]{background:#dc5158;color:#fff}.toast-info .toast-icon[data-v-d2f1e123]{background:#2f6bff;color:#fff}.toast-body[data-v-d2f1e123]{display:flex;flex-direction:column;gap:2px}.toast-title[data-v-d2f1e123]{font-size:13px;font-weight:700}.toast-text[data-v-d2f1e123]{font-size:11px;color:#ffffffc7}.toast-enter-active[data-v-d2f1e123],.toast-leave-active[data-v-d2f1e123]{transition:all .25s ease}.toast-enter-from[data-v-d2f1e123]{opacity:0;transform:translateY(30px)}.toast-leave-to[data-v-d2f1e123]{opacity:0;transform:translateY(10px)}.shell[data-v-fdc5a24c]{display:flex;min-height:100vh;background:#f3f7fc}.sidebar[data-v-fdc5a24c]{width:var(--th-sidebar-width);flex-shrink:0;background:linear-gradient(166deg,#092753,#0d4379 62%,#087187 135%);box-shadow:12px 0 40px #0f37691f;display:flex;flex-direction:column;padding:0 12px 20px}.brand[data-v-fdc5a24c]{display:flex;align-items:center;gap:11px;height:72px;flex-shrink:0;padding:0 8px;margin:0 -12px 8px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark[data-v-fdc5a24c]{width:35px;height:35px;border-radius:11px;border:1px solid rgba(112,224,255,.52);background:#70e0ff17;color:#78e3ff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;font-family:"Sora",var(--font-ui)}.brand-name[data-v-fdc5a24c]{font-weight:600;font-size:17px;font-family:"Sora",var(--font-ui);color:#fff;letter-spacing:.01em}.nav[data-v-fdc5a24c]{display:flex;flex-direction:column;gap:4px;padding-top:12px;overflow-y:auto}.nav-item[data-v-fdc5a24c]{color:#bed5e3;text-decoration:none;height:44px;display:flex;align-items:center;padding:0 12px;border-radius:10px;font-size:15px;font-weight:500;transition:background .15s cubic-bezier(.2,.8,.2,1),color .15s cubic-bezier(.2,.8,.2,1)}.nav-group[data-v-fdc5a24c]{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7baec3;padding:16px 12px 6px}.nav-group-toggle[data-v-fdc5a24c]{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;background:none;border:none;border-radius:10px;font:inherit;cursor:pointer;transition:color .15s cubic-bezier(.2,.8,.2,1)}.nav-group-toggle[data-v-fdc5a24c]:hover{color:#fff;background:#68d3ff1a}.nav-chevron[data-v-fdc5a24c]{display:inline-block;font-size:14px;line-height:1;transform:rotate(0);transition:transform .15s cubic-bezier(.2,.8,.2,1)}.nav-chevron-open[data-v-fdc5a24c]{transform:rotate(90deg)}.nav-item-nested[data-v-fdc5a24c]{padding-left:24px;font-size:14px}.nav-item[data-v-fdc5a24c]:hover{color:#fff;background:#68d3ff1a}.nav-item-active[data-v-fdc5a24c]{background:linear-gradient(135deg,#fff,#eaf6ff);color:#174d87;font-weight:700;box-shadow:0 10px 23px #031b3a33}.content-col[data-v-fdc5a24c]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar[data-v-fdc5a24c]{height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#f9fcffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #dce7f2;position:sticky;top:0;z-index:10}.breadcrumb[data-v-fdc5a24c]{font-size:14px;font-weight:600;color:#6d7e93;letter-spacing:.01em}.topbar-right[data-v-fdc5a24c]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-fdc5a24c]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3478e9,#0e9fb3);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.user-info[data-v-fdc5a24c]{color:#263a54;font-size:15px;font-weight:500}.btn-logout[data-v-fdc5a24c]{background:#fffffff0;border:1px solid #d6e2ee;color:#122a49;height:38px;padding:0 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;transition:border-color .15s cubic-bezier(.2,.8,.2,1),color .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1)}.btn-logout[data-v-fdc5a24c]:hover{border-color:#d84b55;color:#d84b55;background:#ffeaec}.main[data-v-fdc5a24c]{flex:1;padding:28px;min-width:0;max-width:1600px;width:100%;margin:0 auto;background:#f3f7fc}.login-screen[data-v-332688ec]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg);background-image:radial-gradient(circle at 15% 20%,rgba(47,107,255,.08) 0%,transparent 55%),radial-gradient(circle at 85% 80%,rgba(22,168,199,.07) 0%,transparent 55%)}.login-panel[data-v-332688ec]{display:flex;width:100%;max-width:860px;min-height:480px;background:var(--color-bg-raised);border-radius:var(--th-radius-card);box-shadow:var(--th-shadow-overlay);overflow:hidden;border:1px solid var(--color-border)}.login-visual[data-v-332688ec]{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--gradient-sidebar);color:#fff;overflow:hidden}.visual-glow[data-v-332688ec]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:var(--gradient-feature);opacity:.35;filter:blur(60px)}.visual-copy[data-v-332688ec]{position:relative;text-align:center;max-width:320px}.visual-mark[data-v-332688ec]{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#ffffff24;border:1px solid rgba(255,255,255,.25);font-weight:700;font-size:19px;margin-bottom:18px}.visual-copy h2[data-v-332688ec]{margin:0 0 10px;font-size:23px;font-weight:700}.visual-copy p[data-v-332688ec]{margin:0;font-size:14px;line-height:1.6;color:#ffffffc7}.login-card[data-v-332688ec]{flex:1;min-width:320px;padding:44px 40px;display:flex;flex-direction:column;gap:16px;justify-content:center}.brand[data-v-332688ec]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.brand-mark[data-v-332688ec]{width:38px;height:38px;border-radius:10px;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.brand-text[data-v-332688ec]{display:flex;flex-direction:column}.brand-name[data-v-332688ec]{font-weight:700;font-size:17px;color:var(--color-text)}.brand-tagline[data-v-332688ec]{font-size:12px;color:var(--color-text-muted)}label[data-v-332688ec]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-text-muted);font-weight:500}label input[data-v-332688ec]{padding:11px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;background:var(--color-bg-muted);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}label input[data-v-332688ec]:focus{outline:none;border-color:var(--th-primary);background:var(--color-bg-raised);box-shadow:0 0 0 3px var(--th-primary-soft)}.btn-primary[data-v-332688ec]{margin-top:6px;background:var(--gradient-primary);border:none;color:#fff;padding:12px 20px;border-radius:var(--radius);cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.02em;transition:filter .15s ease,transform .05s ease}.btn-primary[data-v-332688ec]:hover{filter:brightness(1.06)}.btn-primary[data-v-332688ec]:active{transform:translateY(1px)}.btn-primary[data-v-332688ec]:disabled{opacity:.6;cursor:not-allowed}.link-forgot[data-v-332688ec]{align-self:flex-start;background:none;border:none;padding:0;color:var(--th-primary);font-size:13px;font-weight:500;cursor:pointer}.link-forgot[data-v-332688ec]:hover{text-decoration:underline}.divider[data-v-332688ec]{display:flex;align-items:center;gap:10px;margin:4px 0;color:var(--color-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.divider[data-v-332688ec]:before,.divider[data-v-332688ec]:after{content:"";flex:1;height:1px;background:var(--color-border)}.btn-sso[data-v-332688ec]{background:var(--color-bg-raised);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:11px 20px;border-radius:var(--radius);cursor:pointer;font-size:15px;font-weight:500;transition:border-color .15s ease,color .15s ease}.btn-sso[data-v-332688ec]:hover{border-color:var(--th-primary);color:var(--th-primary)}.toast[data-v-332688ec]{position:fixed;top:28px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:var(--radius);font-size:14px;font-weight:500;box-shadow:var(--shadow-md);z-index:50}.toast-error[data-v-332688ec]{background:var(--color-danger-soft);color:var(--th-danger);border:1px solid var(--th-danger)}.toast-fade-enter-active[data-v-332688ec],.toast-fade-leave-active[data-v-332688ec]{transition:opacity .2s ease,transform .2s ease}.toast-fade-enter-from[data-v-332688ec],.toast-fade-leave-to[data-v-332688ec]{opacity:0;transform:translate(-50%,-8px)}.overlay[data-v-332688ec]{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a4c73;display:flex;align-items:center;justify-content:center;z-index:60}.dialog[data-v-332688ec]{width:320px;background:var(--color-bg-raised);border-radius:var(--th-radius-card);padding:24px;box-shadow:var(--th-shadow-overlay)}.dialog h3[data-v-332688ec]{margin:0 0 10px;font-size:16px;color:var(--color-text)}.dialog p[data-v-332688ec]{margin:0 0 18px;font-size:14px;color:var(--color-text-muted);line-height:1.6}.dialog-actions[data-v-332688ec]{display:flex;justify-content:flex-end}@media(max-width:720px){.login-visual[data-v-332688ec]{display:none}.login-panel[data-v-332688ec]{max-width:400px}}.sso-callback[data-v-11250055]{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--color-text-muted)}.error[data-v-11250055]{color:var(--color-danger)}.dashboard-page[data-v-8d5c65e2]{display:flex;flex-direction:column;gap:20px}.dashboard-page.is-loading[data-v-8d5c65e2]{opacity:.7;pointer-events:none}.dash-header[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.dash-header h1[data-v-8d5c65e2]{font-size:24px;font-weight:700;margin:0 0 6px;color:var(--color-text)}.dash-subtitle[data-v-8d5c65e2]{margin:0 0 4px;font-size:14px;color:var(--color-text-muted)}.dash-meta[data-v-8d5c65e2]{margin:0;font-size:13px;color:var(--color-text-muted)}.dash-actions[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.timeline-toggle[data-v-8d5c65e2]{display:inline-flex;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:10px;padding:3px;gap:2px}.timeline-btn[data-v-8d5c65e2]{border:none;background:transparent;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.timeline-btn[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)}.timeline-btn-active[data-v-8d5c65e2]{background:var(--color-primary);color:#fff;font-weight:600}.timeline-btn-active[data-v-8d5c65e2]:hover{background:var(--color-primary)}.spin[data-v-8d5c65e2]{display:inline-block;animation:spin-8d5c65e2 1s linear infinite}@keyframes spin-8d5c65e2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kpi-grid[data-v-8d5c65e2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.kpi-card[data-v-8d5c65e2]{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--th-radius-card);padding:20px;box-shadow:var(--th-shadow-card);transition:transform .15s,box-shadow .15s;cursor:pointer}.kpi-card[data-v-8d5c65e2]:hover{transform:translateY(-2px);box-shadow:0 12px 32px #2f6bff1f}.kpi-card-content[data-v-8d5c65e2]{display:flex;align-items:center;justify-content:space-between}.kpi-label[data-v-8d5c65e2]{margin:0 0 6px;font-size:14px;color:var(--color-text-muted);font-weight:500}.kpi-value[data-v-8d5c65e2]{margin:0;font-size:32px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.kpi-icon[data-v-8d5c65e2]{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}.kpi-icon-primary[data-v-8d5c65e2]{background:var(--color-primary-soft)}.kpi-icon-warning[data-v-8d5c65e2]{background:var(--color-warning-soft)}.kpi-icon-info[data-v-8d5c65e2]{background:#e8efff}.kpi-icon-success[data-v-8d5c65e2]{background:var(--color-success-soft)}.kpi-primary[data-v-8d5c65e2]{border-left:4px solid var(--color-primary)}.kpi-warning[data-v-8d5c65e2]{border-left:4px solid var(--color-warning)}.kpi-info[data-v-8d5c65e2]{border-left:4px solid #5b7cff}.kpi-success[data-v-8d5c65e2]{border-left:4px solid var(--color-success)}.stat-pills[data-v-8d5c65e2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-pill[data-v-8d5c65e2]{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px;text-align:center;box-shadow:0 2px 8px #102a4c0a}.stat-pill-label[data-v-8d5c65e2]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-text-muted)}.stat-pill-value[data-v-8d5c65e2]{margin-top:4px;font-size:20px;font-weight:700}.stat-pill-danger[data-v-8d5c65e2]{border-color:var(--color-danger);background:linear-gradient(135deg,#fff,var(--color-danger-soft))}.stat-pill-success[data-v-8d5c65e2]{border-color:var(--color-success);background:linear-gradient(135deg,#fff,var(--color-success-soft))}.stat-pill-danger .stat-pill-label[data-v-8d5c65e2]{color:var(--color-danger)}.stat-pill-success .stat-pill-label[data-v-8d5c65e2]{color:var(--color-success)}.dash-card[data-v-8d5c65e2]{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--th-radius-card);box-shadow:var(--th-shadow-card);overflow:hidden;display:flex;flex-direction:column}.dash-card-head[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--color-border)}.dash-card-title[data-v-8d5c65e2]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-text)}.dash-card-desc[data-v-8d5c65e2]{margin:0;font-size:13px;color:var(--color-text-muted)}.dash-table[data-v-8d5c65e2]{width:100%;border-collapse:collapse}.dash-table th[data-v-8d5c65e2]{background:#1b4778;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:12px 16px;text-align:left}.dash-table td[data-v-8d5c65e2]{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:14px}.dash-table tbody tr:last-child td[data-v-8d5c65e2]{border-bottom:none}.dash-table tbody tr[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)}.issue-row[data-v-8d5c65e2]{border-left:3px solid var(--color-danger)}.issue-row[data-v-8d5c65e2]:hover{background:var(--color-danger-soft)}.task-cell[data-v-8d5c65e2]{font-weight:500;color:var(--color-text)}.room-badge[data-v-8d5c65e2]{display:inline-flex;min-width:3rem;align-items:center;justify-content:center;background:var(--color-bg-muted);padding:3px 10px;border-radius:6px;font-weight:600;font-size:13px}.overdue-badge[data-v-8d5c65e2]{font-weight:700;color:var(--color-danger);font-size:14px}.overdue-count[data-v-8d5c65e2]{display:inline-flex;min-width:1.75rem;align-items:center;justify-content:center;background:var(--color-danger-soft);color:var(--color-danger);padding:2px 8px;border-radius:6px;font-weight:700;font-size:14px}.empty-state[data-v-8d5c65e2]{padding:32px 20px;text-align:center;color:var(--color-text-muted);font-size:14px}.empty-state.success[data-v-8d5c65e2]{color:var(--color-success);font-weight:500}.empty-cell[data-v-8d5c65e2]{text-align:center;padding:24px;color:var(--color-text-muted)}.dash-grid[data-v-8d5c65e2]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:1200px){.dash-grid[data-v-8d5c65e2]{grid-template-columns:1fr}}.completion-ring-wrap[data-v-8d5c65e2]{display:flex;justify-content:center;padding:28px 20px 16px}.progress-ring[data-v-8d5c65e2]{position:relative;width:140px;height:140px}.ring-svg[data-v-8d5c65e2]{transform:rotate(-90deg)}.ring-text[data-v-8d5c65e2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-text strong[data-v-8d5c65e2]{font-size:28px;font-weight:700;color:var(--color-primary)}.ring-text span[data-v-8d5c65e2]{font-size:12px;color:var(--color-text-muted);margin-top:2px}.metrics-grid[data-v-8d5c65e2]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px 20px}.metric-box[data-v-8d5c65e2]{border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;padding:12px;text-align:center}.metric-value[data-v-8d5c65e2]{font-size:22px;font-weight:700;color:var(--color-text)}.metric-label[data-v-8d5c65e2]{font-size:11px;color:var(--color-text-muted);margin-top:2px}.metric-info[data-v-8d5c65e2]{border-color:#c7d4ff;background:#f0f4ff}.metric-info .metric-value[data-v-8d5c65e2]{color:#4361ee}.metric-warning[data-v-8d5c65e2]{border-color:#f0c674;background:var(--color-warning-soft)}.metric-warning .metric-value[data-v-8d5c65e2]{color:var(--color-warning)}.metric-danger[data-v-8d5c65e2]{border-color:#f5b5b8;background:var(--color-danger-soft)}.metric-danger .metric-value[data-v-8d5c65e2]{color:var(--color-danger)}.type-legend[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;gap:16px;padding:12px 20px;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted)}.legend-item[data-v-8d5c65e2]{display:inline-flex;align-items:center;gap:6px}.legend-item strong[data-v-8d5c65e2]{color:var(--color-text)}.legend-dot[data-v-8d5c65e2]{width:8px;height:8px;border-radius:2px}.legend-pending[data-v-8d5c65e2]{background:#f59e0b}.legend-progress[data-v-8d5c65e2]{background:#4f46e5}.legend-completed[data-v-8d5c65e2]{background:#10b981}.type-list[data-v-8d5c65e2]{padding:8px 20px 20px;overflow-y:auto;max-height:440px}.type-row[data-v-8d5c65e2]{padding:12px 0;border-bottom:1px solid var(--color-border)}.type-row[data-v-8d5c65e2]:last-child{border-bottom:none}.type-row-head[data-v-8d5c65e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.type-name[data-v-8d5c65e2]{font-weight:600;font-size:14px;color:var(--color-text)}.sla-badge[data-v-8d5c65e2]{display:inline-flex;min-width:2.5rem;align-items:center;justify-content:center;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700}.sla-success[data-v-8d5c65e2]{background:var(--color-success-soft);color:var(--color-success)}.sla-warning[data-v-8d5c65e2]{background:var(--color-warning-soft);color:var(--color-warning)}.sla-danger[data-v-8d5c65e2]{background:var(--color-danger-soft);color:var(--color-danger)}.type-bar[data-v-8d5c65e2]{display:flex;align-items:center;gap:8px}.type-bar-track[data-v-8d5c65e2]{flex:1;height:10px;background:var(--color-border);border-radius:99px;overflow:hidden;display:flex}.type-bar-seg[data-v-8d5c65e2]{height:100%}.seg-pending[data-v-8d5c65e2]{background:#f59e0b}.seg-progress[data-v-8d5c65e2]{background:#4f46e5}.seg-completed[data-v-8d5c65e2]{background:#10b981}.type-count[data-v-8d5c65e2]{width:28px;text-align:right;font-size:13px;font-weight:700;color:var(--color-text)}.type-mini[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.mini-tag[data-v-8d5c65e2]{display:inline-flex;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:500}.mini-pending[data-v-8d5c65e2]{background:#fef3c7;color:#92400e}.mini-progress[data-v-8d5c65e2]{background:#e0e7ff;color:#3730a3}.mini-completed[data-v-8d5c65e2]{background:#d1fae5;color:#065f46}.staff-filters[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;gap:10px;padding:14px 20px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.filter-select[data-v-8d5c65e2]{height:36px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:13px;color:var(--color-text);min-width:150px}.filter-select[data-v-8d5c65e2]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.filter-page[data-v-8d5c65e2]{min-width:100px}.search-wrap[data-v-8d5c65e2]{position:relative;flex:1;min-width:180px}.search-icon[data-v-8d5c65e2]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.5}.filter-search[data-v-8d5c65e2]{width:100%;height:36px;padding:0 12px 0 32px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:13px}.filter-search[data-v-8d5c65e2]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.staff-active-filters[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;background:var(--color-bg-muted);border-bottom:1px solid var(--color-border);font-size:12px}.filter-tag[data-v-8d5c65e2]{display:inline-flex;padding:4px 10px;background:#fff;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted)}.filter-tag strong[data-v-8d5c65e2]{color:var(--color-text)}.clear-filters[data-v-8d5c65e2]{border:none;background:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.staff-table-wrap[data-v-8d5c65e2]{overflow-y:auto;max-height:460px}.staff-table th[data-v-8d5c65e2]{position:sticky;top:0;z-index:1}.staff-row[data-v-8d5c65e2]{cursor:pointer}.row-has-overdue[data-v-8d5c65e2]{background:var(--color-danger-soft)}.row-has-overdue[data-v-8d5c65e2]:hover{background:#fdd}.staff-name[data-v-8d5c65e2]{font-weight:600;color:var(--color-text)}.pagination[data-v-8d5c65e2]{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-top:1px solid var(--color-border)}.page-btn[data-v-8d5c65e2]{width:32px;height:32px;border:1px solid var(--color-border);background:#fff;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.page-btn[data-v-8d5c65e2]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.page-btn[data-v-8d5c65e2]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-8d5c65e2]{font-size:13px;color:var(--color-text-muted)}.dept-list[data-v-8d5c65e2]{padding:8px 0;overflow-y:auto;max-height:520px}.dept-row[data-v-8d5c65e2]{display:block;width:100%;text-align:left;padding:14px 20px;border:none;border-bottom:1px solid var(--color-border);background:none;cursor:pointer;transition:background .15s}.dept-row[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)}.dept-row-selected[data-v-8d5c65e2]{background:var(--color-primary-soft)!important}.dept-row-critical[data-v-8d5c65e2]{border-left:3px solid var(--color-danger)}.dept-row-atrisk[data-v-8d5c65e2]{border-left:3px solid var(--color-warning)}.dept-row-ontrack[data-v-8d5c65e2]{border-left:3px solid var(--color-success)}.dept-row-head[data-v-8d5c65e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dept-name[data-v-8d5c65e2]{font-weight:600;font-size:14px;color:var(--color-text)}.dept-status[data-v-8d5c65e2]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700}.status-success[data-v-8d5c65e2]{background:var(--color-success-soft);color:var(--color-success)}.status-warning[data-v-8d5c65e2]{background:var(--color-warning-soft);color:var(--color-warning)}.status-danger[data-v-8d5c65e2]{background:var(--color-danger-soft);color:var(--color-danger)}.dept-progress[data-v-8d5c65e2]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dept-progress-track[data-v-8d5c65e2]{flex:1;height:8px;background:var(--color-border);border-radius:99px;overflow:hidden}.dept-progress-fill[data-v-8d5c65e2]{height:100%;border-radius:99px;transition:width .3s}.fill-success[data-v-8d5c65e2]{background:var(--color-success)}.fill-warning[data-v-8d5c65e2]{background:var(--color-warning)}.fill-danger[data-v-8d5c65e2]{background:var(--color-danger)}.dept-pct[data-v-8d5c65e2]{width:40px;text-align:right;font-size:13px;font-weight:700}.dept-stats[data-v-8d5c65e2]{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.dept-stat[data-v-8d5c65e2]{display:inline-flex;align-items:center;gap:4px}.dept-stat strong[data-v-8d5c65e2]{color:var(--color-text)}.text-muted[data-v-8d5c65e2]{color:var(--color-text-muted)}.text-success[data-v-8d5c65e2]{color:var(--color-success)}.text-warning[data-v-8d5c65e2]{color:var(--color-warning)}.text-danger[data-v-8d5c65e2]{color:var(--color-danger)}.text-info[data-v-8d5c65e2]{color:#4361ee}.font-semibold[data-v-8d5c65e2]{font-weight:600}.badge[data-v-8d5c65e2]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600}.badge-neutral[data-v-8d5c65e2]{background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border)}.badge-danger[data-v-8d5c65e2]{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid #f5b5b8}.btn[data-v-8d5c65e2]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--color-border);background:var(--color-bg-raised);color:var(--color-text)}.btn[data-v-8d5c65e2]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn[data-v-8d5c65e2]:disabled{opacity:.5;cursor:not-allowed}.btn-outline[data-v-8d5c65e2]{background:var(--color-bg-raised)}.clickable[data-v-8d5c65e2]{cursor:pointer;transition:all .15s}.clickable[data-v-8d5c65e2]:hover{filter:brightness(.98);transform:translateY(-1px)}.clickable[data-v-8d5c65e2]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card-hint[data-v-8d5c65e2]{position:absolute;bottom:12px;right:16px;font-size:11px;color:var(--color-primary);font-weight:600;opacity:0;transition:opacity .15s}.kpi-card[data-v-8d5c65e2]{position:relative}.kpi-card:hover .card-hint[data-v-8d5c65e2]{opacity:1}.order-link[data-v-8d5c65e2]{color:var(--color-primary);font-weight:600;cursor:pointer}.order-link[data-v-8d5c65e2]:hover{text-decoration:underline}.staff-link[data-v-8d5c65e2]{color:var(--color-primary);font-weight:500;cursor:pointer}.staff-link[data-v-8d5c65e2]:hover{text-decoration:underline}.room-badge.clickable[data-v-8d5c65e2]:hover{background:var(--color-primary-soft);color:var(--color-primary)}.metric-box.clickable[data-v-8d5c65e2]{cursor:pointer}.metric-box.clickable[data-v-8d5c65e2]:hover{box-shadow:0 4px 12px #f5656526}.type-row.clickable[data-v-8d5c65e2]{cursor:pointer;padding:12px 8px;margin:0 -8px;border-radius:8px;transition:background .15s}.type-row.clickable[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)}.staff-row[data-v-8d5c65e2]{cursor:pointer;transition:background .15s}.staff-row[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)!important}.dept-row[data-v-8d5c65e2]{position:relative;border-bottom:1px solid var(--color-border)}.dept-row[data-v-8d5c65e2]:last-child{border-bottom:none}.dept-row-clickable[data-v-8d5c65e2]{display:block;width:100%;text-align:left;padding:14px 20px;border:none;background:none;cursor:pointer;transition:background .15s}.dept-row-clickable[data-v-8d5c65e2]:hover{background:var(--color-bg-muted)}.dept-row-selected .dept-row-clickable[data-v-8d5c65e2]{background:var(--color-primary-soft)}.dept-view-link[data-v-8d5c65e2]{position:absolute;top:14px;right:20px;font-size:12px;font-weight:600;color:var(--color-primary);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.dept-view-link[data-v-8d5c65e2]:hover{background:var(--color-primary-soft)}.stat-pill.clickable[data-v-8d5c65e2]{cursor:pointer;transition:all .15s}.stat-pill.clickable[data-v-8d5c65e2]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #102a4c1a}@media(max-width:768px){.hide-md[data-v-8d5c65e2],.hide-lg[data-v-8d5c65e2]{display:none}.kpi-grid[data-v-8d5c65e2],.stat-pills[data-v-8d5c65e2]{grid-template-columns:repeat(2,1fr)}.dept-view-link[data-v-8d5c65e2]{position:static;display:inline-block;margin:0 20px 12px}}@media(min-width:769px)and (max-width:1024px){.hide-lg[data-v-8d5c65e2]{display:none}}.back[data-v-b9352e03]{background:none;border:none;color:var(--color-text-muted);font-size:14px;padding:0;margin-bottom:18px;font-weight:500}.back[data-v-b9352e03]:hover{color:var(--color-primary)}.page-head[data-v-b9352e03]{margin-bottom:28px}h1[data-v-b9352e03]{margin:0;font-size:23px;color:var(--color-text)}.sub[data-v-b9352e03]{margin:4px 0 0;color:var(--color-text-muted);font-size:14px}.error[data-v-b9352e03],.loading[data-v-b9352e03],.empty-state[data-v-b9352e03]{color:var(--color-text-muted);font-size:14px;padding:16px 0}.error[data-v-b9352e03]{color:var(--color-danger)}.timeline[data-v-b9352e03]{max-width:640px}.entry[data-v-b9352e03]{display:flex;gap:16px}.rail[data-v-b9352e03]{display:flex;flex-direction:column;align-items:center;width:14px}.dot[data-v-b9352e03]{width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg-raised);box-shadow:0 0 0 1px var(--color-border);margin-top:4px;flex-shrink:0}.dot-DELETE[data-v-b9352e03]{background:var(--color-danger)}.dot-INSERT[data-v-b9352e03]{background:var(--color-success)}.line[data-v-b9352e03]{flex:1;width:2px;background:var(--color-border);margin:2px 0}.entry-body[data-v-b9352e03]{flex:1;padding-bottom:28px}.entry-head[data-v-b9352e03]{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.type-label[data-v-b9352e03]{font-size:12px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary)}.type-DELETE[data-v-b9352e03]{background:var(--color-danger-soft);color:var(--color-danger)}.type-INSERT[data-v-b9352e03]{background:var(--color-success-soft);color:var(--color-success)}.entry-time[data-v-b9352e03],.entry-user[data-v-b9352e03]{font-size:13px;color:var(--color-text-muted)}.snapshot[data-v-b9352e03]{background:var(--color-bg-raised);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:12px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;border:1px solid var(--color-border)}.field[data-v-b9352e03]{display:flex;justify-content:space-between;font-size:13px}.field span[data-v-b9352e03]{color:var(--color-text-muted)}.row[data-v-97464c48]{display:flex;align-items:center;gap:10px;padding-top:9px;padding-bottom:9px;padding-right:16px;border-bottom:1px solid var(--color-border);font-size:14px}.row[data-v-97464c48]:hover{background:var(--color-bg-muted)}.check[data-v-97464c48]{display:flex;align-items:center}.check input[data-v-97464c48]{padding:0;width:15px;height:15px;cursor:pointer}.type-tag[data-v-97464c48]{flex-shrink:0;min-width:52px;text-align:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.type-menu[data-v-97464c48]{background:var(--color-primary-soft);color:var(--color-primary)}.type-button[data-v-97464c48]{background:#fef3c7;color:#92400e}.type-view[data-v-97464c48]{background:var(--color-success-soft);color:var(--color-success)}.name[data-v-97464c48]{color:var(--color-text);font-weight:500}.risk-tag[data-v-97464c48]{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.risk-LOW[data-v-97464c48]{background:var(--color-success-soft);color:var(--color-success)}.risk-MEDIUM[data-v-97464c48]{background:var(--color-warning-soft);color:var(--color-warning)}.risk-HIGH[data-v-97464c48]{background:var(--color-danger-soft);color:var(--color-danger)}.url[data-v-97464c48]{font-size:12px;color:var(--color-text-muted)}.url-empty[data-v-97464c48]{font-size:12px;color:var(--color-text-muted);font-style:italic}.actions[data-v-97464c48]{margin-left:auto;display:flex;gap:12px;white-space:nowrap}.link[data-v-97464c48]{background:none;border:none;padding:0;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer}.link[data-v-97464c48]:hover{text-decoration:underline}.link-danger[data-v-97464c48]{color:var(--color-danger)}.rpg[data-v-e48b6345]{display:flex;flex-direction:column;gap:10px}.rpg-module[data-v-e48b6345]{border:1px solid var(--line, #dbe5f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff)}.rpg-module-head[data-v-e48b6345]{width:100%;display:flex;align-items:center;gap:10px;padding:13px 16px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}.rpg-module-head[data-v-e48b6345]:hover{background:var(--blue-soft, #e9f0ff)}.rpg-module-title[data-v-e48b6345]{font-size:15px;font-weight:700;color:var(--ink, #122a49)}.rpg-module-stat[data-v-e48b6345]{margin-left:auto;font-size:13px;font-weight:700;color:var(--muted, #6d7e93)}.rpg-caret[data-v-e48b6345]{display:inline-block;transition:transform .15s;color:var(--muted, #6d7e93);font-size:15px}.rpg-caret-open[data-v-e48b6345]{transform:rotate(90deg)}.rpg-module-body[data-v-e48b6345]{padding:6px 14px 14px 34px;display:flex;flex-direction:column;gap:8px}.rpg-submenu[data-v-e48b6345]{border:1px solid var(--line, #dbe5f0);border-radius:10px;overflow:hidden;background:#fbfdff}.rpg-submenu-head[data-v-e48b6345]{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}.rpg-submenu-head[data-v-e48b6345]:hover{background:var(--blue-soft, #e9f0ff)}.rpg-submenu-title[data-v-e48b6345]{font-size:14px;font-weight:600;color:var(--text, #263a54)}.rpg-submenu-stat[data-v-e48b6345]{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted, #6d7e93)}.rpg-actions[data-v-e48b6345]{display:flex;flex-direction:column;padding:2px 0 6px}.rpg-empty[data-v-e48b6345]{font-size:14px;color:var(--muted, #6d7e93);padding:6px 0}.permission-toggle[data-v-e48b6345]{position:relative;min-height:44px;padding:11px 16px 11px 42px;cursor:pointer;display:flex;align-items:center}.permission-toggle[data-v-e48b6345]:hover{background:var(--blue-soft, #e9f0ff)}.permission-checkbox[data-v-e48b6345]{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;margin:0;accent-color:var(--blue, #2868f2);cursor:pointer}.rpg-action-label[data-v-e48b6345]{font-size:14px;color:var(--text, #263a54);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rpg-action-label .risk[data-v-e48b6345]{color:var(--red, #d84b55);font-size:11px;font-weight:700}.rpg-type-tag[data-v-e48b6345]{flex-shrink:0;min-width:46px;text-align:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.rpg-type-menu[data-v-e48b6345]{background:var(--color-primary-soft, #e9f0ff);color:var(--color-primary, #2868f2)}.rpg-type-button[data-v-e48b6345]{background:#fef3c7;color:#92400e}.rpg-type-view[data-v-e48b6345]{background:var(--color-success-soft, #e6f7ee);color:var(--color-success, #1f9d63)}.rpg-warning[data-v-e48b6345]{color:#a3730f;font-size:11px;font-weight:600}.org-row[data-v-c42c2774]{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 0;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.org-row[data-v-c42c2774]:hover{background:var(--color-bg-muted)}.org-row-selected[data-v-c42c2774]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.org-toggle[data-v-c42c2774]{width:18px;height:18px;flex-shrink:0;border:none;background:none;padding:0;color:var(--color-text-muted);font-size:10px;display:flex;align-items:center;justify-content:center;transition:transform .12s ease}.org-toggle-open[data-v-c42c2774]{transform:rotate(90deg)}.org-toggle-spacer[data-v-c42c2774]{width:18px;flex-shrink:0}.org-icon[data-v-c42c2774]{width:22px;height:22px;flex-shrink:0;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--color-bg-muted);color:var(--color-text-secondary)}.org-icon-hotel[data-v-c42c2774]{background:var(--color-primary-soft);color:var(--color-primary)}.org-icon-department[data-v-c42c2774]{background:var(--th-success-soft);color:var(--th-success)}.org-icon-position[data-v-c42c2774]{background:#eeeaff;color:#7257d8}.org-icon-user[data-v-c42c2774]{background:var(--th-warning-soft);color:var(--th-warning)}.org-name[data-v-c42c2774]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-count[data-v-c42c2774]{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.org-menu-btn[data-v-c42c2774]{flex-shrink:0;width:20px;height:20px;border:none;background:none;color:var(--color-text-muted);font-size:14px;line-height:1;border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer}.org-menu-btn[data-v-c42c2774]:hover{background:var(--color-bg-muted);color:var(--color-text)}.page[data-v-2b1ea10a]{--navy: #0b2b55;--navy2: #123f75;--ink: #122a49;--text: #263a54;--muted: #6d7e93;--blue: #2868f2;--blue2: #3f84ff;--blue-soft: #e9f0ff;--cyan: #0aa6bd;--cyan-soft: #ddf7fb;--canvas: #f3f7fc;--surface: #fff;--line: #dbe5f0;--green: #078a71;--green-soft: #def7ef;--amber: #c8780e;--amber-soft: #fff2d8;--red: #d84b55;--red-soft: #ffeaec;--violet: #7257d8;--violet-soft: #eeeaff;--shadow: 0 22px 65px rgba(28,70,126,.17);--font-heading: "Sora", "Segoe UI", "Microsoft YaHei", sans-serif;--font-body: "Manrope", "Segoe UI", "Microsoft YaHei", sans-serif;display:flex;flex-direction:column;gap:20px;font-family:var(--font-body);color:var(--text);font-size:16px}.page h1[data-v-2b1ea10a],.page h2[data-v-2b1ea10a],.page h3[data-v-2b1ea10a],.page h4[data-v-2b1ea10a]{font-family:var(--font-heading);font-weight:600;color:var(--ink);margin:0}.page input[data-v-2b1ea10a],.page select[data-v-2b1ea10a],.page textarea[data-v-2b1ea10a],.page button[data-v-2b1ea10a]{font-family:var(--font-body)}.page input[data-v-2b1ea10a]:not([type=checkbox]),.page select[data-v-2b1ea10a],.page textarea[data-v-2b1ea10a]{height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 12px;color:var(--text);outline:none;font-size:16px}.page textarea[data-v-2b1ea10a]{height:auto;min-height:72px;padding:10px 12px;resize:none;line-height:1.5}.page input[data-v-2b1ea10a]:focus,.page select[data-v-2b1ea10a]:focus,.page textarea[data-v-2b1ea10a]:focus{border-color:#6f9fff;box-shadow:0 0 0 3px #2f6bff17}.hero[data-v-2b1ea10a]{display:flex;align-items:flex-end;gap:18px}.hero-text[data-v-2b1ea10a]{display:flex;flex-direction:column;gap:4px}.eyebrow[data-v-2b1ea10a]{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--blue)}.hero h1[data-v-2b1ea10a]{font:700 39px/1.08 var(--font-heading);letter-spacing:-.045em;margin:6px 0 7px;color:#102f5a}.hero p[data-v-2b1ea10a]{margin:0;font-size:16px;color:var(--muted)}.hero-actions[data-v-2b1ea10a]{margin-left:auto}.msg[data-v-2b1ea10a]{padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600}.msg-error[data-v-2b1ea10a]{background:var(--red-soft);color:var(--red)}.msg-ok[data-v-2b1ea10a]{background:var(--green-soft);color:var(--green)}.tabs[data-v-2b1ea10a]{display:flex;gap:5px;padding:5px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:13px;background:#ffffffc2;box-shadow:0 8px 24px #315b8d0d;overflow-x:auto}.tab[data-v-2b1ea10a]{background:none;border:none;height:40px;display:flex;align-items:center;padding:0 17px;border-radius:9px;white-space:nowrap;font-size:15px;font-weight:700;color:var(--muted);cursor:pointer;transition:.15s}.tab[data-v-2b1ea10a]:hover{background:var(--blue-soft);color:var(--ink)}.tab-active[data-v-2b1ea10a]{color:#fff;background:linear-gradient(135deg,#174fae,#2f78fa);box-shadow:0 7px 16px #2c69de33}.tab-active[data-v-2b1ea10a]:hover{color:#fff;background:linear-gradient(135deg,#174fae,#2f78fa)}.kpi-row[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi-card[data-v-2b1ea10a]{display:flex;flex-direction:column;gap:6px;position:relative;min-height:110px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 23px #325d8e0b}.kpi-primary[data-v-2b1ea10a]{border-color:transparent;color:#fff;background:linear-gradient(135deg,#2159cc,#2f84ef 58%,#16a6bf);box-shadow:0 15px 32px #2768dc38}.kpi-primary .kpi-label[data-v-2b1ea10a],.kpi-primary .kpi-note[data-v-2b1ea10a]{color:#ffffffd9}.kpi-primary .kpi-value[data-v-2b1ea10a]{color:#fff}.kpi-label[data-v-2b1ea10a]{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.kpi-value[data-v-2b1ea10a]{font:700 29px var(--font-heading);letter-spacing:-.03em;color:var(--ink);margin:10px 0 3px}.kpi-value-danger[data-v-2b1ea10a]{color:var(--red)}.kpi-note[data-v-2b1ea10a]{font-size:14px;color:var(--muted)}.card[data-v-2b1ea10a]{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px #2c588b11;overflow:hidden}.card-head[data-v-2b1ea10a]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-title[data-v-2b1ea10a]{font:600 23px var(--font-heading);color:var(--ink)}.head-actions[data-v-2b1ea10a]{display:flex;gap:8px;flex-wrap:wrap}.quick-grid[data-v-2b1ea10a]{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.quick-card[data-v-2b1ea10a]{text-align:left;border:1px solid var(--line);border-radius:13px;position:relative;overflow:hidden;background:var(--surface);padding:18px;cursor:pointer;transition:.2s;min-height:150px;display:flex;flex-direction:column;gap:4px}.quick-card[data-v-2b1ea10a]:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-32px;bottom:-35px;background:var(--blue-soft);pointer-events:none}.quick-card[data-v-2b1ea10a]:hover{border-color:#8eb2f7;box-shadow:0 12px 27px #2757991a;transform:translateY(-2px)}.quick-icon[data-v-2b1ea10a]{position:relative;z-index:1;width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6efff,#e2faff);color:var(--blue);font-size:17px;margin-bottom:10px}.quick-card b[data-v-2b1ea10a]{position:relative;z-index:1;font:600 16px var(--font-heading);color:var(--ink)}.quick-desc[data-v-2b1ea10a]{position:relative;z-index:1;font-size:14px;color:var(--muted);line-height:1.5}.quick-card em[data-v-2b1ea10a]{position:relative;z-index:1;font-style:normal;font-size:14px;color:var(--blue);font-weight:700;margin-top:6px}.filters-row[data-v-2b1ea10a]{display:flex;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--canvas)}.filters-row .grow[data-v-2b1ea10a]{flex:1;min-width:220px}.filters-row select[data-v-2b1ea10a]{min-width:150px}.empty[data-v-2b1ea10a]{padding:40px;text-align:center;color:var(--muted);font-size:14px}.empty-inline[data-v-2b1ea10a]{color:var(--muted);font-size:13px;padding:6px 0 12px}.table-wrap[data-v-2b1ea10a]{overflow-x:auto}.data-table[data-v-2b1ea10a]{width:100%;border-collapse:collapse;min-width:900px}.data-table th[data-v-2b1ea10a]{height:48px;padding:0 14px;text-align:left;background:#eef4fa;color:#56718d;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.data-table td[data-v-2b1ea10a]{padding:16px 14px;border-top:1px solid #e4ecf4;font-size:15px;line-height:1.5}.data-row[data-v-2b1ea10a]{cursor:pointer;transition:background .14s}.data-row[data-v-2b1ea10a]:hover{background:#f2f7ff}.person-cell[data-v-2b1ea10a]{display:flex;align-items:center;gap:10px}.person-cell b[data-v-2b1ea10a]{display:block;color:var(--ink)}.avatar[data-v-2b1ea10a]{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f77d6,#11a0ae);color:#fff;font-size:14px;font-weight:700}.two-line[data-v-2b1ea10a]{display:flex;flex-direction:column;gap:2px}.sub[data-v-2b1ea10a]{display:block;margin-top:3px;font-size:14px;color:var(--muted)}.mono[data-v-2b1ea10a]{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.role-chips[data-v-2b1ea10a]{display:flex;flex-wrap:wrap;gap:4px}.role-chip[data-v-2b1ea10a]{padding:5px 8px;border-radius:6px;background:#edf3fb;color:#45637f;font-size:13px;margin:2px;display:inline-block}.pill[data-v-2b1ea10a]{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:12px;font-size:13px;font-weight:700;white-space:nowrap}.pill[data-v-2b1ea10a]:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill-green[data-v-2b1ea10a]{color:var(--green);background:var(--green-soft)}.pill-amber[data-v-2b1ea10a]{color:var(--amber);background:var(--amber-soft)}.pill-red[data-v-2b1ea10a]{color:var(--red);background:var(--red-soft)}.pill-blue[data-v-2b1ea10a]{color:var(--blue);background:var(--blue-soft)}.progress[data-v-2b1ea10a]{display:flex;align-items:center;gap:8px}.progress-track[data-v-2b1ea10a]{width:60px;height:5px;border-radius:4px;background:#e7edf4;overflow:hidden}.progress-track i[data-v-2b1ea10a]{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.link[data-v-2b1ea10a]{background:none;border:none;padding:0;color:var(--blue);font-size:14px;font-weight:700;cursor:pointer}.link[data-v-2b1ea10a]:hover{text-decoration:underline}.link-danger[data-v-2b1ea10a]{color:var(--red)}.btn[data-v-2b1ea10a]{height:42px;border:1px solid var(--line);border-radius:10px;background:#fffffff0;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;font-size:15px;font-weight:700;white-space:nowrap;cursor:pointer;transition:.18s}.btn[data-v-2b1ea10a]:hover{border-color:#8eb3dd;box-shadow:0 7px 18px #275b9c1a;transform:translateY(-1px)}.btn-primary[data-v-2b1ea10a]{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,#245ee4,#3181ff);box-shadow:0 10px 22px #2f6bff3b}.btn-primary[data-v-2b1ea10a]:hover{box-shadow:0 12px 26px #2f6bff4d;transform:translateY(-1px)}.btn-danger[data-v-2b1ea10a]{color:#fff;background:var(--red);border-color:var(--red)}.btn-sm[data-v-2b1ea10a]{height:34px;padding:0 12px;font-size:13px}.org-card[data-v-2b1ea10a]{overflow:visible}.org-layout[data-v-2b1ea10a]{display:grid;grid-template-columns:340px 1fr;min-height:560px}.org-left[data-v-2b1ea10a]{border-right:1px solid var(--line)}.org-tools[data-v-2b1ea10a]{padding:14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.node-filters[data-v-2b1ea10a]{display:flex;gap:4px;overflow-x:auto}.node-filter[data-v-2b1ea10a]{height:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:0 10px;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.node-filter-active[data-v-2b1ea10a]{background:var(--blue);border-color:var(--blue);color:#fff}.org-tree[data-v-2b1ea10a]{padding:12px 8px 20px;max-height:600px;overflow-y:auto}.org-detail[data-v-2b1ea10a]{padding:22px}.node-hero[data-v-2b1ea10a]{padding:20px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#164fae,#2d7dea 58%,#12a4ba);display:flex;align-items:center;gap:14px;flex-wrap:wrap;box-shadow:0 14px 30px #2868d533}.node-hero-icon[data-v-2b1ea10a]{width:46px;height:46px;border-radius:13px;background:#ffffff29;display:flex;align-items:center;justify-content:center;font-size:20px}.node-hero h3[data-v-2b1ea10a]{margin:0 0 4px;font:600 21px var(--font-heading);color:#fff}.node-hero p[data-v-2b1ea10a]{margin:0;font-size:14px;color:#d8f2ff}.hero-panel-actions[data-v-2b1ea10a]{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.detail-grid[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.detail-card[data-v-2b1ea10a]{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.detail-card label[data-v-2b1ea10a]{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px;font-weight:700}.detail-card b[data-v-2b1ea10a]{font:600 17px var(--font-heading);color:var(--ink)}.relationship[data-v-2b1ea10a]{padding:16px;border:1px solid var(--line);border-radius:11px;background:#f8fbff}.relationship h4[data-v-2b1ea10a]{margin:0 0 10px;font:600 15px var(--font-heading)}.relation-row[data-v-2b1ea10a]{display:flex;align-items:center;padding:12px 0;border-top:1px solid #e5edf5;font-size:14px}.relation-row span[data-v-2b1ea10a]:last-child{margin-left:auto;color:var(--muted);text-align:right}.overlay[data-v-2b1ea10a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1f3d59;z-index:80;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-center[data-v-2b1ea10a]{align-items:center;justify-content:center}.drawer[data-v-2b1ea10a]{width:min(650px,96vw);height:100%;background:#f5f9fe;box-shadow:-20px 0 55px #16376030;display:flex;flex-direction:column}.drawer-wide[data-v-2b1ea10a]{width:min(1180px,97vw)}.drawer-top[data-v-2b1ea10a]{display:flex;align-items:flex-start;gap:10px;padding:20px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.drawer-top h2[data-v-2b1ea10a]{margin:0;font:600 22px var(--font-heading);letter-spacing:-.02em;color:var(--ink)}.drawer-top p[data-v-2b1ea10a]{margin:4px 0 0;font-size:14px;color:var(--muted)}.close-btn[data-v-2b1ea10a]{margin-left:auto;width:34px;height:34px;border-radius:50%;border:none;background:#e6edf5;color:var(--ink);font-size:17px;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center}.close-btn[data-v-2b1ea10a]:hover{background:#dbe6f2;color:var(--blue)}.drawer-body[data-v-2b1ea10a]{padding:20px 24px 30px;overflow-y:auto}.drawer-actions[data-v-2b1ea10a]{display:flex;justify-content:flex-end;padding:14px 0 20px}.section-title[data-v-2b1ea10a]{margin:20px 0 9px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.section-title[data-v-2b1ea10a]:first-child{margin-top:0}.role-hero[data-v-2b1ea10a]{border-radius:16px;padding:20px 22px;color:#fff;margin-bottom:4px;background:linear-gradient(135deg,#164fae,#2d7dea 58%,#12a4ba);box-shadow:0 15px 34px #184fa340}.role-hero-top[data-v-2b1ea10a]{display:flex;align-items:flex-start;gap:14px}.role-hero-icon[data-v-2b1ea10a]{flex-shrink:0;width:45px;height:45px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;font-size:21px}.role-hero-text h3[data-v-2b1ea10a]{margin:0;font:700 21px var(--font-heading);color:#fff}.role-hero-text p[data-v-2b1ea10a]{margin:4px 0 0;font-size:14px;color:#e0ecffe0}.role-hero-pills[data-v-2b1ea10a]{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}.role-hero-pill[data-v-2b1ea10a]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#ffffff29;color:#fff}.role-hero-dot[data-v-2b1ea10a]{width:6px;height:6px;border-radius:50%;background:#fff}.role-hero-dot.dot-green[data-v-2b1ea10a]{background:#6be3b8}.role-hero-dot.dot-red[data-v-2b1ea10a]{background:#ff9aa4}.role-hero-stats[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.role-hero-stat[data-v-2b1ea10a]{background:#ffffff24;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.role-hero-stat b[data-v-2b1ea10a]{font:700 23px var(--font-heading);color:#fff}.role-hero-stat span[data-v-2b1ea10a]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#e0ecffd9}.check-row[data-v-2b1ea10a]{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:15px;cursor:pointer}.check-row[data-v-2b1ea10a]:hover{background:var(--blue-soft)}.check-row input[data-v-2b1ea10a]{width:16px;height:16px;accent-color:var(--blue)}.check-row .name[data-v-2b1ea10a]{flex:1}.exception-card[data-v-2b1ea10a]{padding:12px 14px;border:1px solid #f0d29f;border-radius:10px;background:#fffaf0;margin-bottom:8px;display:flex;align-items:center;gap:10px}.exception-card b[data-v-2b1ea10a]{font-size:16px;color:var(--ink)}.exception-card p[data-v-2b1ea10a]{margin:4px 0 0;font-size:14px;color:var(--muted)}.form-grid[data-v-2b1ea10a]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-label[data-v-2b1ea10a]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#556a80;font-weight:700}.field-label input[data-v-2b1ea10a],.field-label select[data-v-2b1ea10a],.field-label textarea[data-v-2b1ea10a]{font-weight:400;color:var(--text)}.span2[data-v-2b1ea10a]{grid-column:span 2}.modal[data-v-2b1ea10a]{width:min(560px,94vw);max-height:88vh;display:flex;flex-direction:column;background:#fbfdff;border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.modal-wide[data-v-2b1ea10a]{width:min(1040px,96vw)}.modal-head[data-v-2b1ea10a]{display:flex;align-items:flex-start;gap:10px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.modal-head h3[data-v-2b1ea10a]{margin:0;font:600 22px var(--font-heading);letter-spacing:-.02em;color:var(--ink)}.modal-body[data-v-2b1ea10a]{padding:18px 20px;overflow-y:auto}.modal-foot[data-v-2b1ea10a]{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.compare-grid[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.drawer-enter-active[data-v-2b1ea10a],.drawer-leave-active[data-v-2b1ea10a]{transition:opacity .22s ease}.drawer-enter-active .drawer[data-v-2b1ea10a],.drawer-leave-active .drawer[data-v-2b1ea10a]{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.drawer-enter-from[data-v-2b1ea10a],.drawer-leave-to[data-v-2b1ea10a]{opacity:0}.drawer-enter-from .drawer[data-v-2b1ea10a],.drawer-leave-to .drawer[data-v-2b1ea10a]{transform:translate(102%)}.activity-list[data-v-2b1ea10a]{display:flex;flex-direction:column}.activity-row[data-v-2b1ea10a]{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #e8eef5;font-size:14px}.activity-row[data-v-2b1ea10a]:first-child{border-top:none}.activity-body[data-v-2b1ea10a]{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.activity-body b[data-v-2b1ea10a]{font-size:16px;color:var(--ink)}.activity-time[data-v-2b1ea10a]{flex-shrink:0;white-space:nowrap;color:var(--muted);font-size:14px}.access-summary[data-v-2b1ea10a]{margin-top:6px!important;font-size:14px;color:var(--blue);font-weight:700}.hint-text[data-v-2b1ea10a]{font-size:14px;color:var(--muted);margin:0 0 12px;line-height:1.6}.effective-access-list[data-v-2b1ea10a]{display:flex;flex-direction:column;margin-bottom:10px}.effective-access-row[data-v-2b1ea10a]{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:15px}.effective-access-row .name[data-v-2b1ea10a]{flex:1}.type-tag[data-v-2b1ea10a]{flex-shrink:0;min-width:50px;text-align:center;padding:3px 9px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.type-menu[data-v-2b1ea10a]{background:var(--blue-soft);color:var(--blue)}.type-button[data-v-2b1ea10a]{background:var(--amber-soft);color:var(--amber)}.type-view[data-v-2b1ea10a]{background:var(--green-soft);color:var(--green)}.view-toggle[data-v-2b1ea10a]{float:right;display:inline-flex;gap:4px;background:#edf3fa;padding:3px;border-radius:9px;text-transform:none;letter-spacing:normal}.view-toggle-btn[data-v-2b1ea10a]{border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:700;padding:6px 14px;border-radius:7px;cursor:pointer;height:36px}.view-toggle-active[data-v-2b1ea10a]{background:#fff;color:var(--blue);box-shadow:0 4px 10px #234e8114}.matrix-wrap[data-v-2b1ea10a]{overflow-x:auto;margin-bottom:10px}.matrix-table th[data-v-2b1ea10a],.matrix-table td[data-v-2b1ea10a]{padding:10px 12px}.matrix-table th[data-v-2b1ea10a]{font-size:13px}.matrix-table td[data-v-2b1ea10a]{font-size:15px}.matrix-table input[type=checkbox][data-v-2b1ea10a]{width:16px;height:16px;accent-color:var(--blue)}.role-chip-add[data-v-2b1ea10a]{color:var(--green);background:var(--green-soft)}.role-chip-remove[data-v-2b1ea10a]{color:var(--red);background:var(--red-soft);text-decoration:line-through}.org-menu-backdrop[data-v-2b1ea10a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.org-menu-popover[data-v-2b1ea10a]{position:fixed;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 38px #193e6a33;padding:6px;display:flex;flex-direction:column;z-index:91}.org-menu-popover button[data-v-2b1ea10a]{text-align:left;background:none;border:none;padding:9px 11px;border-radius:7px;height:39px;font-size:15px;color:#40566e;cursor:pointer}.org-menu-popover button[data-v-2b1ea10a]:hover{background:var(--blue-soft);color:var(--blue)}.org-menu-danger[data-v-2b1ea10a]{color:var(--red)!important}.modal-sub[data-v-2b1ea10a]{margin:4px 0 0;font-size:14px;color:var(--muted);font-weight:400}.wizard-steps[data-v-2b1ea10a]{display:flex;align-items:center;margin-bottom:18px;flex-wrap:wrap}.wizard-step[data-v-2b1ea10a]{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;font-weight:700;white-space:nowrap}.wizard-step i[data-v-2b1ea10a]{width:23px;height:23px;border-radius:50%;background:#e7edf4;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px}.wizard-step-active[data-v-2b1ea10a]{color:var(--blue)}.wizard-step-active i[data-v-2b1ea10a],.wizard-step-done i[data-v-2b1ea10a]{color:#fff;background:var(--blue)}.wizard-step-done[data-v-2b1ea10a]{color:var(--text)}.wizard-line[data-v-2b1ea10a]{height:2px;flex:1;min-width:16px;background:#dce5ee;margin:0 6px}.wizard-line-done[data-v-2b1ea10a]{background:var(--blue)}.wizard-hint[data-v-2b1ea10a]{margin:10px 0 0;font-size:14px;color:var(--muted);line-height:1.6}.wizard-hint.span2[data-v-2b1ea10a]{grid-column:span 2}.template-cards[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.template-option[data-v-2b1ea10a]{text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.template-option[data-v-2b1ea10a]:hover{border-color:#8eb3dd}.template-option-active[data-v-2b1ea10a]{border-color:#77a0f7;background:#edf4ff;box-shadow:0 0 0 3px #2f6bff12}.template-option b[data-v-2b1ea10a]{font-size:16px;color:var(--ink)}.template-option span[data-v-2b1ea10a]{font-size:14px;color:var(--muted)}.check-grid[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-card[data-v-2b1ea10a]{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:15px;cursor:pointer}.check-card[data-v-2b1ea10a]:hover{background:var(--blue-soft)}.check-card input[data-v-2b1ea10a]{width:16px;height:16px;flex-shrink:0;accent-color:var(--blue)}.check-card span[data-v-2b1ea10a]{margin-left:auto;font-size:14px;color:var(--muted);white-space:nowrap}.summary-grid[data-v-2b1ea10a]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.summary-card[data-v-2b1ea10a]{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:center}.summary-card strong[data-v-2b1ea10a]{display:block;font:600 20px var(--font-heading);color:var(--ink)}.summary-card span[data-v-2b1ea10a]{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.change-card[data-v-2b1ea10a]{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;margin-bottom:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:15px}.change-card b[data-v-2b1ea10a]{font-weight:600;color:var(--ink);font-size:16px}.change-card span[data-v-2b1ea10a]{color:var(--muted);font-size:14px}@media(max-width:1100px){.kpi-row[data-v-2b1ea10a]{grid-template-columns:repeat(2,1fr)}.org-layout[data-v-2b1ea10a]{grid-template-columns:1fr}.org-left[data-v-2b1ea10a]{border-right:none;border-bottom:1px solid var(--line)}.detail-grid[data-v-2b1ea10a]{grid-template-columns:repeat(2,1fr)}.compare-grid[data-v-2b1ea10a]{grid-template-columns:1fr}.template-cards[data-v-2b1ea10a]{grid-template-columns:repeat(2,1fr)}.check-grid[data-v-2b1ea10a]{grid-template-columns:1fr}.summary-grid[data-v-2b1ea10a]{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.form-grid[data-v-2b1ea10a],.check-grid[data-v-2b1ea10a],.template-cards[data-v-2b1ea10a]{grid-template-columns:1fr}.span2[data-v-2b1ea10a]{grid-column:auto}.kpi-row[data-v-2b1ea10a]{grid-template-columns:1fr 1fr}.drawer[data-v-2b1ea10a],.drawer-wide[data-v-2b1ea10a]{width:100vw}.role-hero-stats[data-v-2b1ea10a]{grid-template-columns:1fr 1fr}}.required[data-v-6b284d2a]{color:var(--color-danger, #dc5158)}.swatch[data-v-6b284d2a]{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:middle;border:1px solid var(--color-border-strong)}.note[data-v-eb57c6e1]{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--color-text-muted)}.col-expand[data-v-eb57c6e1]{width:32px}.expand-btn[data-v-eb57c6e1]{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-muted)}.chevron[data-v-eb57c6e1]{display:inline-block;font-size:14px;line-height:1;transform:rotate(0);transition:transform .15s cubic-bezier(.2,.8,.2,1)}.chevron-open[data-v-eb57c6e1]{transform:rotate(90deg)}.expand-row td[data-v-eb57c6e1]{background:var(--color-bg-muted)}.link-panel[data-v-eb57c6e1]{padding:14px 20px}.link-panel-title[data-v-eb57c6e1]{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.link-table[data-v-eb57c6e1]{width:100%;border-collapse:collapse;background:var(--color-bg-raised);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.link-table th[data-v-eb57c6e1]{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:8px 12px;border-bottom:1px solid var(--color-border)}.link-table td[data-v-eb57c6e1]{padding:8px 12px;font-size:13px;border-bottom:1px solid var(--color-border)}.link-table tr:last-child td[data-v-eb57c6e1]{border-bottom:none}.link-add-row[data-v-eb57c6e1]{display:flex;gap:8px;margin-top:10px;align-items:center}.link-add-row select[data-v-eb57c6e1]{flex:1}.seq-input[data-v-eb57c6e1]{width:80px}.btn-sm[data-v-eb57c6e1]{height:34px;padding:0 14px;font-size:13px}.hint[data-v-c3f54a27]{display:block;margin-top:4px;font-size:12px;color:#64748b}.hint-error[data-v-c3f54a27]{color:#dc5158}.hint-error .link[data-v-c3f54a27]{margin-left:6px;font-weight:600;text-decoration:underline}.overlay .modal[data-v-9ca573c1]{width:720px;max-width:96vw}.esc-level[data-v-9ca573c1]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px 16px;padding:10px 12px;margin-bottom:4px;background:var(--color-bg-muted);border-radius:10px}@media(max-width:640px){.esc-level[data-v-9ca573c1]{grid-template-columns:1fr}}.head-actions[data-v-d7f1b316]{display:flex;gap:10px;align-items:center}.check-card[data-v-d7f1b316]{margin-bottom:16px;padding:14px 16px}.check-summary[data-v-d7f1b316]{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:10px}.check-total[data-v-d7f1b316]{font-weight:700}.check-stat[data-v-d7f1b316]{font-size:13px;color:var(--muted, #6d7e93)}.issue-tag[data-v-d7f1b316]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.issue-NO_CONFIG[data-v-d7f1b316]{background:#fef3c7;color:#92400e}.issue-INVALID_TYPE[data-v-d7f1b316]{background:#fde2e2;color:#b42318}.issue-MISSING_CATEGORY[data-v-d7f1b316]{background:#e9f0ff;color:#2868f2}.explain-card[data-v-88d3f561]{padding:16px 18px;margin-bottom:16px}.explain-note[data-v-88d3f561]{margin:0 0 14px;color:var(--muted, #6d7e93);font-size:13px;line-height:1.6}.explain-block[data-v-88d3f561]{margin-bottom:14px}.explain-block[data-v-88d3f561]:last-child{margin-bottom:0}.explain-block h3[data-v-88d3f561]{margin:0 0 6px;font-size:14px}.explain-block p[data-v-88d3f561]{margin:4px 0;font-size:13px;line-height:1.6}.explain-block ul[data-v-88d3f561]{margin:4px 0;padding-left:20px;font-size:13px;line-height:1.6}.caveat[data-v-88d3f561]{color:#92400e;background:#fef3c7;border-radius:8px;padding:8px 10px}.table-head-note[data-v-88d3f561]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.table-head-note h2[data-v-88d3f561]{margin:0;font-size:15px}.required[data-v-8315a9ce]{color:var(--color-danger, #dc5158)}.hint[data-v-8315a9ce]{color:var(--color-text-muted);font-size:13px;margin:-6px 0 14px;max-width:720px}.required[data-v-f98bb0d6]{color:var(--color-danger, #dc5158)}.hint[data-v-f98bb0d6]{color:var(--color-text-muted);font-size:13px;margin:-6px 0 14px;max-width:720px}.required[data-v-157689ac]{color:var(--color-danger, #dc5158)}.hint[data-v-157689ac]{color:var(--color-text-muted);font-size:13px;margin:-6px 0 14px;max-width:720px}.swatch[data-v-157689ac]{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:middle;border:1px solid var(--color-border-strong)}.attachment-uploader[data-v-a77d3d9a]{display:flex;flex-direction:column;gap:8px}.hint-text[data-v-a77d3d9a]{margin:0;font-size:13px;color:var(--color-text-muted)}.error-message[data-v-a77d3d9a]{margin:0;font-size:13px;color:var(--color-danger, #d33)}.thumb-grid[data-v-a77d3d9a]{display:flex;flex-wrap:wrap;gap:8px}.thumb[data-v-a77d3d9a]{position:relative;width:72px;height:72px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-raised)}.thumb img[data-v-a77d3d9a]{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block}.thumb-state[data-v-a77d3d9a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-text-muted);border:none;background:transparent}.thumb-retry[data-v-a77d3d9a]{cursor:pointer;color:var(--color-danger, #d33);text-decoration:underline}.remove-btn[data-v-a77d3d9a]{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-btn[data-v-a77d3d9a]:hover{background:#000000d9}.add-btn[data-v-a77d3d9a]{width:72px;height:72px;border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-text-muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.add-btn[data-v-a77d3d9a]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.add-btn[data-v-a77d3d9a]:disabled{cursor:not-allowed;opacity:.6}.overlay[data-v-a77d3d9a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.preview-img[data-v-a77d3d9a]{max-width:90vw;max-height:90vh;object-fit:contain;box-shadow:var(--shadow-md)}.section-title[data-v-677972b5]{margin:28px 0 4px;font-size:17px;font-weight:700;color:var(--color-text)}.hint[data-v-677972b5]{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.config-link[data-v-677972b5]{margin:4px 0 0}.config-link a[data-v-677972b5]{color:var(--color-primary);font-weight:600;text-decoration:underline}.context-menu[data-v-677972b5]{position:fixed;z-index:60;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:140px}.context-menu button[data-v-677972b5]{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;font-size:14px;color:var(--color-text);border-radius:4px;cursor:pointer}.context-menu button[data-v-677972b5]:hover{background:var(--color-bg-muted)}.error-text[data-v-f96b8b26]{display:block;color:var(--color-danger, #dc5158)}.context-menu[data-v-aeef5141]{position:fixed;z-index:60;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:140px}.context-menu button[data-v-aeef5141]{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;font-size:14px;color:var(--color-text);border-radius:4px;cursor:pointer}.context-menu button[data-v-aeef5141]:hover{background:var(--color-bg-muted)}.modal.small[data-v-aeef5141]{width:420px}.field[data-v-aeef5141]{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;font-size:13px;color:var(--color-text-muted);font-weight:500}.log-row td[data-v-bd047df7]{padding:4px 16px 10px;border-top:none;background:var(--color-bg-sidebar)}.log-line[data-v-bd047df7]{font-size:12px;color:var(--color-text-muted);line-height:1.6}.vip[data-v-f6286067]{margin-left:6px;font-size:11px;font-weight:700;color:var(--color-primary)}.current[data-v-f6286067]{margin:0 0 14px;font-size:13.5px;color:var(--color-text-secondary)}.note[data-v-f6286067]{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--color-text-muted)}.badge-occupied[data-v-f6286067]{background:var(--color-sidebar-active-bg);color:var(--color-primary)}.badge-warn[data-v-f6286067]{background:#fff4e5;color:#9a5b00}.badge-blocked[data-v-f6286067]{background:var(--color-danger-soft);color:var(--color-danger)}.desc[data-v-f6c45478]{font-size:12px;color:var(--color-text-muted);margin-top:2px}.inline[data-v-f6c45478]{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--color-text-secondary)}.inline input[data-v-f6c45478]{width:auto}.header-actions[data-v-7ce1d09c]{display:flex;align-items:center;gap:8px}.week-label[data-v-7ce1d09c]{font-weight:600;min-width:220px;text-align:center}.legend[data-v-7ce1d09c]{display:flex;gap:12px;flex-wrap:wrap;margin-left:12px}.legend-item[data-v-7ce1d09c]{font-size:13px;display:inline-flex;align-items:center}.shift-dot[data-v-7ce1d09c]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.shift-badge[data-v-7ce1d09c]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:13px;color:#1a1a1a}.shift-cell[data-v-7ce1d09c]{cursor:pointer;text-align:center}.shift-cell[data-v-7ce1d09c]:hover{background:var(--color-hover, #f5f5f5)}.shift-empty[data-v-7ce1d09c]{color:var(--color-muted, #6c757d)}.empty-cell[data-v-7ce1d09c]{text-align:center;color:var(--color-muted, #6c757d)}.header-actions[data-v-aed1f940]{display:flex;align-items:center;gap:8px}.status-pill[data-v-aed1f940]{padding:4px 10px;border-radius:12px;font-size:13px}.status-pill-success[data-v-aed1f940]{background:var(--color-success-light, #d4edda);color:var(--color-success, #155724)}.status-pill-danger[data-v-aed1f940]{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.status-pill-neutral[data-v-aed1f940]{background:var(--color-muted-light, #f8f9fa);color:var(--color-muted, #6c757d)}.month-label[data-v-aed1f940]{font-weight:600;min-width:160px;text-align:center}.kpi-row[data-v-aed1f940]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.kpi-card[data-v-aed1f940]{border:1px solid var(--color-border, #e0e0e0);border-radius:8px;padding:12px 16px}.kpi-label[data-v-aed1f940]{font-size:13px;color:var(--color-muted, #6c757d)}.kpi-value[data-v-aed1f940]{font-size:25px;font-weight:700}.calendar-grid[data-v-aed1f940]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.calendar-weekday[data-v-aed1f940]{text-align:center;font-weight:600;padding:4px 0;color:var(--color-muted, #6c757d)}.calendar-cell[data-v-aed1f940]{border:1px solid var(--color-border, #e0e0e0);border-radius:6px;min-height:70px;padding:6px;cursor:pointer}.calendar-cell[data-v-aed1f940]:hover{background:var(--color-hover, #f5f5f5)}.calendar-cell-muted[data-v-aed1f940]{opacity:.4}.calendar-cell-selected[data-v-aed1f940]{border-color:var(--color-primary, #4a90d9);border-width:2px}.calendar-cell-date[data-v-aed1f940]{font-weight:600;font-size:14px}.calendar-cell-count[data-v-aed1f940]{font-size:13px;color:var(--color-success, #155724)}.calendar-cell-leave[data-v-aed1f940]{font-size:13px;color:var(--color-warning, #856404)}.day-detail[data-v-aed1f940]{margin-bottom:16px}.shift-dot[data-v-aed1f940]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.empty-cell[data-v-aed1f940]{text-align:center;color:var(--color-muted, #6c757d)}.wf-page[data-v-3fb60077]{--navy:#0b2f5f;--navy2:#0d4778;--blue:#2f6bff;--blue2:#1d56d9;--cyan:#19a8bd;--ink:#102c50;--text:#314b68;--muted:#7388a1;--line:#dce6f0;--bg:#f3f7fc;--green:#159b79;--green-soft:#e6f7f1;--amber:#d98a16;--amber-soft:#fff4dd;--red:#db5b60;--red-soft:#ffebec;--violet:#7656d8;--violet-soft:#eee9ff;--shadow:0 14px 38px rgba(37,78,128,.09)}.wf-page[data-v-3fb60077]{color:var(--text);font-size:15px}.wf-page button[data-v-3fb60077],.wf-page input[data-v-3fb60077],.wf-page select[data-v-3fb60077],.wf-page textarea[data-v-3fb60077]{font:inherit}.wf-page button[data-v-3fb60077]{cursor:pointer}.page-head[data-v-3fb60077]{display:flex;align-items:flex-end;gap:18px;margin-bottom:18px}.eyebrow[data-v-3fb60077]{font-size:13px;font-weight:700;letter-spacing:.17em;color:var(--blue)}.page-head h1[data-v-3fb60077]{font:700 35px/1.08 Sora,sans-serif;letter-spacing:-.03em;color:var(--ink);margin:6px 0}.page-head p[data-v-3fb60077]{margin:0;color:var(--muted);font-size:15px}.health[data-v-3fb60077]{margin-left:auto;height:34px;padding:0 12px;border-radius:17px;background:var(--green-soft);color:#087f78;display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;white-space:nowrap}.health[data-v-3fb60077]:before{content:"";width:8px;height:8px;border-radius:50%;background:#13a485;box-shadow:0 0 0 4px #13a4851f}.view-tabs[data-v-3fb60077]{display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#ffffffc7;width:max-content;margin-bottom:14px}.view-tab[data-v-3fb60077]{height:38px;padding:0 18px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:15px;font-weight:700}.view-tab.active[data-v-3fb60077]{color:#fff;background:linear-gradient(135deg,#174fac,#2f78fa);box-shadow:0 7px 17px #2c69de33}.panel[data-v-3fb60077]{border:1px solid #d9e5ef;border-radius:16px;background:#ffffffeb;box-shadow:var(--shadow);overflow:hidden}.toolbar[data-v-3fb60077]{padding:13px 15px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap}.segmented[data-v-3fb60077]{display:flex;gap:3px;padding:3px;border-radius:10px;background:#edf3fa}.segmented button[data-v-3fb60077]{height:32px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:14px;font-weight:700}.segmented button.active[data-v-3fb60077]{background:#fff;color:var(--blue);box-shadow:0 4px 11px #214c8017}.date-nav[data-v-3fb60077]{display:flex;align-items:center;gap:4px}.date-label[data-v-3fb60077]{min-width:150px;text-align:center;font:600 15px Sora,sans-serif;color:var(--ink)}.divider[data-v-3fb60077]{width:1px;height:26px;background:var(--line);margin:0 2px}.field[data-v-3fb60077]{height:36px;border:1px solid #d7e3ef;border-radius:10px;background:#fff;color:var(--text);padding:0 10px;font-size:14px;min-width:120px}.search-wrap[data-v-3fb60077]{min-width:180px}.search-wrap .field[data-v-3fb60077]{width:100%}.toolbar-spacer[data-v-3fb60077]{margin-left:auto}.round-btn[data-v-3fb60077]{width:34px;height:34px;border:1px solid #d4e1ed;border-radius:9px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.btn[data-v-3fb60077]{height:34px;border:1px solid #d4e1ed;border-radius:9px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;font-size:14px;font-weight:700}.btn.primary[data-v-3fb60077]{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,#245ddd,#347dff)}.btn.small[data-v-3fb60077]{height:30px;padding:0 9px;font-size:13px}.btn.ghost[data-v-3fb60077]{background:transparent}.btn[data-v-3fb60077]:disabled{opacity:.5;cursor:not-allowed}.nav-badge[data-v-3fb60077]{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;display:inline-grid;place-items:center;font-size:12px}.shift-palette[data-v-3fb60077]{display:flex;gap:6px;align-items:center;padding:6px 10px;background:#f4f8fc;border:1px solid var(--line);border-radius:12px}.shift-palette-label[data-v-3fb60077]{font-size:13px;color:var(--muted);font-weight:700;white-space:nowrap}.shift-chip[data-v-3fb60077]{height:28px;padding:0 9px;border:1px solid #c5d5e5;border-left:3px solid var(--blue);border-radius:8px;background:#fff;display:inline-flex;align-items:center;font-size:13px;font-weight:700;color:var(--ink);cursor:grab;white-space:nowrap}.shift-chip-leave[data-v-3fb60077]{border-left-color:var(--amber)}.shift-chip-off[data-v-3fb60077]{border-left-color:var(--muted)}.more-wrap[data-v-3fb60077]{position:relative}.popover[data-v-3fb60077]{display:none;position:absolute;right:0;top:40px;width:180px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 18px 44px #1d406c33;z-index:25}.popover.show[data-v-3fb60077]{display:block}.popover button[data-v-3fb60077]{width:100%;min-height:34px;border:0;border-radius:7px;background:transparent;color:var(--text);padding:6px 9px;display:flex;align-items:center;text-align:left;font-size:14px}.popover button[data-v-3fb60077]:hover{background:#edf4ff;color:var(--blue)}.popover label[data-v-3fb60077]{display:block;width:100%;min-height:34px;border-radius:7px;color:var(--text);padding:6px 9px;text-align:left;font-size:14px;cursor:pointer}.popover label[data-v-3fb60077]:hover{background:#edf4ff;color:var(--blue)}.hidden-file[data-v-3fb60077]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.status-strip[data-v-3fb60077]{padding:11px 14px;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f8fbff,#f2f9fd)}.status-item[data-v-3fb60077]{min-height:56px;padding:9px 11px;border:1px solid #e0e9f2;border-radius:11px;background:#fff;display:flex;align-items:center;gap:9px}.status-icon[data-v-3fb60077]{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e8f0ff;color:var(--blue);font-weight:700;font-size:13px;flex:none}.status-icon.green[data-v-3fb60077]{color:var(--green);background:var(--green-soft)}.status-icon.amber[data-v-3fb60077]{color:var(--amber);background:var(--amber-soft)}.status-item strong[data-v-3fb60077]{display:block;color:var(--ink);font:600 16px Sora,sans-serif}.status-item span[data-v-3fb60077]{display:block;color:var(--muted);font-size:12px;margin-top:1px}.selection-bar[data-v-3fb60077]{display:none;margin:10px 14px 0;padding:9px 11px;border:1px solid #aac6f9;border-radius:11px;background:#edf4ff;align-items:center;gap:7px}.selection-bar.show[data-v-3fb60077]{display:flex}.selection-count[data-v-3fb60077]{font-weight:700;color:var(--blue);margin-right:auto;font-size:14px}.grid-scroll[data-v-3fb60077]{overflow:auto;max-height:600px}.roster[data-v-3fb60077]{border-collapse:separate;border-spacing:0;width:100%;min-width:1000px}.roster th[data-v-3fb60077],.roster td[data-v-3fb60077]{border-right:1px solid #e2eaf2;border-bottom:1px solid #e2eaf2}.roster th[data-v-3fb60077]{position:sticky;top:0;z-index:8;height:50px;padding:8px;background:#edf4fa;color:#59728d;font-size:13px;text-transform:uppercase}.roster th[data-v-3fb60077]:first-child{left:0;z-index:10;width:210px;min-width:210px;text-align:left;padding-left:14px}.roster .weekend-head[data-v-3fb60077]{background:#f6f2eb}.day-number[data-v-3fb60077]{display:block;margin-top:2px;font:600 15px Sora,sans-serif;color:var(--ink)}.today-head[data-v-3fb60077]{box-shadow:inset 0 3px 0 var(--blue)}.group-row td[data-v-3fb60077]{height:44px;padding:0;background:#f4f8fc}.group-toggle[data-v-3fb60077]{width:100%;height:44px;border:0;background:transparent;padding:0 12px;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;text-align:left;font-size:14px}.chev[data-v-3fb60077]{width:20px;height:20px;border-radius:6px;background:#e7eff9;display:grid;place-items:center;color:var(--blue);font-size:13px}.group-meta[data-v-3fb60077]{color:var(--muted);font-size:13px;font-weight:500}.group-coverage[data-v-3fb60077]{margin-left:auto}.coverage-pill[data-v-3fb60077]{height:22px;padding:0 8px;border-radius:11px;display:inline-flex;align-items:center;font-size:12px;font-weight:700}.coverage-pill.good[data-v-3fb60077]{color:var(--green);background:var(--green-soft)}.coverage-pill.warn[data-v-3fb60077]{color:var(--amber);background:var(--amber-soft)}.coverage-pill.bad[data-v-3fb60077]{color:var(--red);background:var(--red-soft)}.employee-cell[data-v-3fb60077]{position:sticky;left:0;z-index:5;background:#fff;min-width:210px;padding:8px 11px!important}.employee[data-v-3fb60077]{display:flex;align-items:center;gap:8px}.employee-avatar[data-v-3fb60077]{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3277e9,#15a1b4);font-weight:700;font-size:12px;flex:none}.employee button[data-v-3fb60077]{border:0;background:transparent;padding:0;text-align:left;color:var(--ink);font-weight:700;font-size:14px}.employee small[data-v-3fb60077]{display:block;color:var(--muted);font-size:12px;margin-top:1px}.roster-cell[data-v-3fb60077]{height:58px;padding:5px;background:#fff}.roster-cell.weekend[data-v-3fb60077]{background:#fffdf8}.shift-cell[data-v-3fb60077]{position:relative;width:100%;height:48px;border:1px solid #dce6ef;border-radius:9px;background:#f8fbfe;color:var(--text);padding:5px 6px;text-align:left}.shift-cell.empty[data-v-3fb60077]{border-style:dashed;background:#fff;color:var(--muted)}.shift-cell.rest[data-v-3fb60077]{background:var(--color-bg-muted, #f3f4f6);border-color:var(--color-border, #e5e7eb)}.shift-cell.rest .shift-code[data-v-3fb60077]{color:var(--muted);font-weight:600}.shift-cell.leave[data-v-3fb60077]{background:var(--amber-soft, #fff3d6);border-color:#f0d698}.shift-cell.leave .shift-code[data-v-3fb60077]{color:#8a5a00;font-weight:700}.shift-cell.selected[data-v-3fb60077]{border-color:var(--blue);box-shadow:0 0 0 3px #2f6bff26;background:#edf4ff}.shift-cell.drag-over[data-v-3fb60077]{border-color:var(--blue)!important;box-shadow:0 0 0 3px #2f6bff38!important;background:#edf4ff!important}.shift-cell.split[data-v-3fb60077]{background:var(--violet-soft);border-color:#cfc3fb}.shift-cell.split .shift-code[data-v-3fb60077]{color:var(--violet)}.shift-cell.past-date[data-v-3fb60077]{background:#f3f4f6;border-color:#e2e5ea;color:#9aa1ab;cursor:not-allowed}.shift-cell.past-date.empty[data-v-3fb60077]{background:#f3f4f6}.shift-cell.saving[data-v-3fb60077]{opacity:.55;cursor:wait;pointer-events:none}.shift-cell.saving[data-v-3fb60077]:after{content:"Saving…";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--blue);background:#ffffffb3;border-radius:8px}.shift-code[data-v-3fb60077]{display:block;color:var(--ink);font-weight:800;font-size:14px}.shift-time[data-v-3fb60077]{display:block;color:var(--muted);font-size:11px;margin-top:1px}.summary-row td[data-v-3fb60077]{height:32px;padding:4px;background:#f7fafc;text-align:center;color:var(--muted);font-size:12px}.summary-row td[data-v-3fb60077]:first-child{position:sticky;left:0;z-index:4;text-align:left;padding-left:14px;color:var(--ink);font-weight:700}.summary-value b[data-v-3fb60077]{color:var(--ink)}.hint[data-v-3fb60077]{font-size:13px;color:var(--muted);margin:12px 14px 0}.month-wrap[data-v-3fb60077]{padding:14px}.calendar-weekdays[data-v-3fb60077],.month-grid[data-v-3fb60077]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays div[data-v-3fb60077]{text-align:center;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;padding:4px}.month-day[data-v-3fb60077]{min-height:96px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:8px;text-align:left;color:var(--text)}.month-day.muted[data-v-3fb60077]{opacity:.35}.month-day.today[data-v-3fb60077]{box-shadow:inset 0 0 0 2px var(--blue)}.month-num[data-v-3fb60077]{font-weight:700;color:var(--ink);font-size:14px}.coverage-state[data-v-3fb60077]{margin-top:10px;border-radius:9px;padding:6px 7px}.coverage-state strong[data-v-3fb60077]{display:block;font-size:13px}.coverage-state span[data-v-3fb60077]{font-size:12px}.coverage-state.gap[data-v-3fb60077]{background:var(--red-soft);color:#a43d43}.coverage-state.balanced[data-v-3fb60077]{background:var(--green-soft);color:#08765b}.coverage-state.shortage[data-v-3fb60077]{background:var(--red-soft);color:#a43d43}.coverage-state.surplus[data-v-3fb60077]{background:var(--amber-soft, #fff3d6);color:#8a5a00}.coverage-state.no-baseline[data-v-3fb60077],.coverage-state.loading[data-v-3fb60077]{background:var(--color-bg-muted, #f3f4f6);color:var(--muted)}.delta-badge[data-v-3fb60077]{display:inline-block;margin-top:4px;font-size:11px;font-weight:700}.month-day-wrap[data-v-3fb60077]{display:flex;flex-direction:column;gap:4px}.month-day-wrap .month-day[data-v-3fb60077]{width:100%}.day-detail-toggle[data-v-3fb60077]{font-size:11px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 6px;cursor:pointer;color:var(--blue)}.day-detail-panel[data-v-3fb60077]{margin-top:14px;border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:#fff}.day-detail-panel h4[data-v-3fb60077]{margin:0 0 8px;font-size:13px}.day-detail-empty[data-v-3fb60077]{margin:0;font-size:12px;color:var(--muted)}.coverage-state.day-error[data-v-3fb60077]{background:var(--red-soft);color:#a43d43;display:flex;align-items:center;justify-content:space-between;gap:6px}.btn-retry-inline[data-v-3fb60077]{font-size:11px;font-weight:700;border:1px solid currentColor;background:transparent;color:inherit;border-radius:6px;padding:2px 6px;cursor:pointer}.duty-metrics[data-v-3fb60077]{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 14px;border-bottom:1px solid var(--line);background:#f8fbfe}.metric[data-v-3fb60077]{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.metric strong[data-v-3fb60077]{display:block;font:600 21px Sora,sans-serif;color:var(--ink)}.metric span[data-v-3fb60077]{font-size:12px;color:var(--muted)}.table-scroll[data-v-3fb60077]{overflow:auto;padding:0 4px}.data-table[data-v-3fb60077]{width:100%;border-collapse:collapse}.data-table th[data-v-3fb60077]{padding:10px;background:#edf4f9;color:#5f778f;font-size:12px;text-transform:uppercase;text-align:left}.data-table td[data-v-3fb60077]{padding:11px 10px;border-top:1px solid #e4ebf2;font-size:14px}.status-badge[data-v-3fb60077]{height:23px;padding:0 8px;border-radius:12px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.status-badge[data-v-3fb60077]:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.on[data-v-3fb60077]{color:var(--green);background:var(--green-soft)}.status-badge.off[data-v-3fb60077]{color:var(--red);background:var(--red-soft)}.status-badge.init[data-v-3fb60077]{color:var(--amber);background:var(--amber-soft)}.row-actions[data-v-3fb60077]{display:flex;gap:5px}.duty-board[data-v-3fb60077]{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:14px;background:#f7fafc}.board-col[data-v-3fb60077]{border:1px solid var(--line);border-radius:13px;background:#fff;min-height:200px}.board-head[data-v-3fb60077]{height:44px;padding:0 12px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink);font-size:14px}.board-head span[data-v-3fb60077]{margin-left:auto;min-width:22px;height:22px;border-radius:11px;background:#edf3fa;display:grid;place-items:center;font-size:12px}.duty-card[data-v-3fb60077]{margin:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.duty-card-top[data-v-3fb60077]{display:flex;gap:7px;align-items:center}.duty-card b[data-v-3fb60077]{display:block;color:var(--ink);font-size:14px}.duty-card small[data-v-3fb60077]{color:var(--muted);font-size:12px}.duty-card-meta[data-v-3fb60077]{display:flex;gap:10px;margin:8px 0;color:var(--muted);font-size:12px}.duty-card-actions[data-v-3fb60077]{display:flex;gap:5px}.drawer-backdrop[data-v-3fb60077],.modal-backdrop[data-v-3fb60077]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a224252;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.show[data-v-3fb60077],.modal-backdrop.show[data-v-3fb60077]{opacity:1;pointer-events:auto}.drawer[data-v-3fb60077]{position:fixed;z-index:70;right:0;top:0;bottom:0;width:min(480px,96vw);background:#f6f9fd;box-shadow:-20px 0 56px #16376033;transform:translate(102%);transition:.28s;display:flex;flex-direction:column}.drawer.show[data-v-3fb60077]{transform:none}.drawer-head[data-v-3fb60077]{min-height:70px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:10px}.drawer-head h2[data-v-3fb60077]{font:600 21px Sora,sans-serif;color:var(--ink);margin:0}.drawer-head p[data-v-3fb60077]{margin:3px 0 0;color:var(--muted);font-size:13px}.drawer-body[data-v-3fb60077]{padding:16px 20px 24px;overflow:auto}.drawer-tabs[data-v-3fb60077]{display:flex;gap:4px;padding:4px;border-radius:10px;background:#eaf1f8;margin-bottom:12px}.drawer-tab[data-v-3fb60077]{height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.drawer-tab.active[data-v-3fb60077]{background:#fff;color:var(--blue)}.leave-list[data-v-3fb60077]{display:grid;gap:8px}.leave-card[data-v-3fb60077]{border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:start;text-align:left;color:var(--text)}.leave-type[data-v-3fb60077]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-weight:800;font-size:13px}.leave-card b[data-v-3fb60077]{display:block;color:var(--ink);font-size:14px}.leave-card p[data-v-3fb60077]{margin:3px 0;color:var(--muted);font-size:12px}.leave-actions[data-v-3fb60077]{display:flex;gap:5px}.add-leave[data-v-3fb60077]{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.form-grid[data-v-3fb60077]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-group[data-v-3fb60077]{display:grid;gap:5px}.form-group.full[data-v-3fb60077]{grid-column:span 2}.position-multiselect-actions[data-v-3fb60077]{display:flex;gap:10px;margin-bottom:4px}.position-multiselect[data-v-3fb60077]{min-height:220px;max-height:280px;white-space:normal}.position-multiselect option[data-v-3fb60077]{padding:4px 6px}.link-btn[data-v-3fb60077]{border:none;background:none;padding:0;color:var(--blue);font-size:12px;font-weight:600;text-decoration:underline;cursor:pointer}.form-group label[data-v-3fb60077]{font-size:13px;font-weight:700;color:#536b84}.form-group input[data-v-3fb60077],.form-group select[data-v-3fb60077],.form-group textarea[data-v-3fb60077]{width:100%;min-height:38px;border:1px solid #d6e2ed;border-radius:9px;background:#fff;color:var(--text);padding:7px 9px;font-size:14px}.form-group textarea[data-v-3fb60077]{min-height:60px;resize:vertical}.notice[data-v-3fb60077]{padding:9px 10px;border-radius:9px;background:#edf4ff;color:#315e9b;font-size:13px;margin:0 0 10px}.notice.good[data-v-3fb60077]{background:var(--green-soft);color:#087158}.notice-danger[data-v-3fb60077]{background:var(--red-soft);color:#9d4045}.notice-good[data-v-3fb60077]{background:var(--green-soft);color:#087158}.modal[data-v-3fb60077]{position:fixed;z-index:90;left:50%;top:50%;width:min(520px,92vw);max-height:88vh;transform:translate(-50%,-48%) scale(.98);border-radius:16px;background:#fff;box-shadow:0 24px 70px #0f2a4c4d;opacity:0;pointer-events:none;transition:.2s;overflow:hidden}.modal.show[data-v-3fb60077]{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.modal-wide[data-v-3fb60077]{width:min(680px,94vw)}.modal-head[data-v-3fb60077]{padding:15px 17px;border-bottom:1px solid var(--line)}.modal-head h3[data-v-3fb60077]{font:600 19px Sora,sans-serif;color:var(--ink);margin:0}.modal-body[data-v-3fb60077]{padding:16px 17px;max-height:60vh;overflow:auto}.modal-foot[data-v-3fb60077]{padding:11px 17px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.occupancy-upload-btn[data-v-3fb60077]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:fit-content;margin-bottom:6px}.occupancy-range[data-v-3fb60077]{display:flex;align-items:center;gap:8px;margin:14px 0 10px}.occupancy-range input[type=date][data-v-3fb60077]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px}.overlay[data-v-fd9434de]{position:fixed;top:0;right:0;bottom:0;left:0;--ink: #102a4c;--white: #ffffff;--line: #d8e3ef;--muted: #64748b;--blue: #2f6bff;--red: #dc5158;--red-soft: #ffeaec;--shadow: 0 20px 60px rgba(34, 82, 145, .16);--grad-primary: linear-gradient(135deg, #245fe7, #2f7cff);background:#0d1d195c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:90}.modal[data-v-fd9434de]{background:#fbfaf6;border-radius:17px;padding:24px 28px;width:720px;max-height:86vh;display:flex;flex-direction:column;box-shadow:var(--shadow);border:1px solid var(--line)}.modal h3[data-v-fd9434de]{margin:0 0 18px;font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:21px;color:var(--ink)}.modal-body-scroll[data-v-fd9434de]{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.required[data-v-fd9434de]{color:var(--red)}.form-errors[data-v-fd9434de]{margin:0 0 16px;padding:10px 14px;border-radius:9px;background:var(--red-soft);color:var(--red);font-size:13px;flex:none}.form-errors b[data-v-fd9434de]{display:block;margin-bottom:4px}.form-errors ul[data-v-fd9434de]{margin:0;padding-left:18px}.form-errors-bottom[data-v-fd9434de]{margin:16px 0 0}.field-invalid[data-v-fd9434de]{border-color:var(--red)!important}.field-error[data-v-fd9434de]{display:block;margin-top:3px;font-size:12px;color:var(--red);font-weight:500}.link-retry[data-v-fd9434de]{border:none;background:none;padding:0;margin-left:6px;color:var(--blue);font-weight:600;font-size:12px;text-decoration:underline;cursor:pointer}.password-input[data-v-fd9434de]{display:flex;gap:6px}.password-input input[data-v-fd9434de]{flex:1}.password-toggle[data-v-fd9434de]{flex:none;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.hint-warning[data-v-fd9434de]{font-size:12px;color:#a3730f;font-weight:400}.hint[data-v-fd9434de]{font-size:12px;color:var(--muted);font-weight:400}.section-title[data-v-fd9434de]{margin:20px 0 10px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}.section-title[data-v-fd9434de]:first-of-type{margin-top:0}.days-field[data-v-fd9434de]{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px;color:var(--muted);font-weight:500}.days-field .hint[data-v-fd9434de]{font-size:12px;font-weight:400;color:var(--muted)}.days-row[data-v-fd9434de]{display:flex;gap:8px;flex-wrap:wrap}.day-chip[data-v-fd9434de]{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer}.day-chip input[data-v-fd9434de]{width:auto;height:auto;border:none;background:none;padding:0}.grid[data-v-fd9434de]{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.grid .full[data-v-fd9434de]{grid-column:span 2}label[data-v-fd9434de]{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-weight:500}label input[data-v-fd9434de],label select[data-v-fd9434de]{height:38px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:0 10px;outline:0;color:var(--ink)}label select[multiple][data-v-fd9434de]{height:auto;padding:6px}label input[data-v-fd9434de]:focus,label select[data-v-fd9434de]:focus{border-color:#6c9eff;box-shadow:0 0 0 3px #2f6bff1a}label input[data-v-fd9434de]:disabled{background:#eef1f5;color:var(--muted);cursor:not-allowed}.actions[data-v-fd9434de]{margin-top:22px;flex:none;display:flex;justify-content:flex-end;gap:10px}.btn[data-v-fd9434de]{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6;color:var(--ink);font-size:14px;font-weight:600;transition:.2s}.btn[data-v-fd9434de]:hover{border-color:#8db2dd;box-shadow:0 7px 18px #2d65a91a}.btn-primary[data-v-fd9434de]{background:var(--grad-primary);border-color:#2f6bff;color:#fff;box-shadow:0 10px 22px #2f6bff40}.btn-primary[data-v-fd9434de]:hover{filter:brightness(1.05);color:#fff}.overlay[data-v-4e69dfdb]{position:fixed;top:0;right:0;bottom:0;left:0;--ink: #102a4c;--white: #ffffff;--line: #d8e3ef;--muted: #64748b;--blue: #2f6bff;--blue-soft: #e8efff;--red: #dc5158;--red-soft: #ffeaec;--shadow: 0 20px 60px rgba(34, 82, 145, .16);--grad-primary: linear-gradient(135deg, #245fe7, #2f7cff);background:#0d1d195c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:90}.modal[data-v-4e69dfdb]{background:#fbfaf6;border-radius:17px;padding:24px 28px;width:520px;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow);border:1px solid var(--line)}.modal h3[data-v-4e69dfdb]{margin:0 0 12px;font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:21px;color:var(--ink)}.hint[data-v-4e69dfdb]{margin:0 0 8px;font-size:13px;color:var(--muted)}.columns[data-v-4e69dfdb]{margin:0 0 16px;padding-left:20px;font-size:13px;color:var(--muted);line-height:1.6}.dropzone[data-v-4e69dfdb]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1.5px dashed #bdb8ac;border-radius:13px;padding:20px 16px;margin-bottom:4px;cursor:pointer;background:var(--white);transition:.15s}.dropzone[data-v-4e69dfdb]:hover{border-color:var(--blue)}.dropzone-active[data-v-4e69dfdb]{border-color:var(--blue);background:var(--blue-soft)}.dropzone-filled[data-v-4e69dfdb]{border-style:solid;border-color:var(--blue)}.dropzone-input[data-v-4e69dfdb]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.dropzone-icon[data-v-4e69dfdb]{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff3d9;color:#90642c;font-size:19px;font-weight:700;margin-bottom:4px}.dropzone-text[data-v-4e69dfdb]{font-size:14px;font-weight:600;color:var(--ink)}.dropzone-sub[data-v-4e69dfdb]{font-size:12px;color:var(--muted)}.template-link[data-v-4e69dfdb]{margin:8px 0 0}.link[data-v-4e69dfdb]{background:none;border:none;padding:0;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;text-decoration:underline}.link[data-v-4e69dfdb]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-4e69dfdb]{margin:8px 0 0;font-size:13px;color:var(--red)}.preview[data-v-4e69dfdb]{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.preview-summary[data-v-4e69dfdb]{margin:0 0 8px;font-size:13px;color:var(--muted)}.preview-table-wrap[data-v-4e69dfdb]{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px}.preview-table[data-v-4e69dfdb]{width:100%;border-collapse:collapse;font-size:12px}.preview-table th[data-v-4e69dfdb],.preview-table td[data-v-4e69dfdb]{padding:6px 8px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}.preview-table th[data-v-4e69dfdb]{background:var(--blue-soft);color:var(--ink);position:sticky;top:0}.preview-row-warning td[data-v-4e69dfdb]{color:var(--red)}.preview-default-tag[data-v-4e69dfdb]{margin-left:4px;font-size:10px;color:var(--blue);background:var(--blue-soft);border-radius:4px;padding:1px 4px}.result[data-v-4e69dfdb]{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.result-summary[data-v-4e69dfdb]{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.error-list[data-v-4e69dfdb]{max-height:220px;overflow-y:auto;margin:0;padding-left:20px;font-size:13px;color:var(--red);line-height:1.6}.actions[data-v-4e69dfdb]{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.btn[data-v-4e69dfdb]{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6;color:var(--ink);font-size:14px;font-weight:600;transition:.2s}.btn[data-v-4e69dfdb]:hover{border-color:#8db2dd;box-shadow:0 7px 18px #2d65a91a}.btn[data-v-4e69dfdb]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-4e69dfdb]{background:var(--grad-primary);border-color:#2f6bff;color:#fff;box-shadow:0 10px 22px #2f6bff40}.btn-primary[data-v-4e69dfdb]:hover{filter:brightness(1.05);color:#fff}.workspace-page[data-v-f50e68f5]{display:flex;flex-direction:column;gap:20px;--ink: #102a4c;--ink-2: #1b4778;--paper: #f3f7fc;--white: #ffffff;--line: #d8e3ef;--muted: #64748b;--blue: #2f6bff;--blue-soft: #e8efff;--green: #079b7c;--green-soft: #ddf7ef;--amber: #dc8512;--amber-soft: #fff3d9;--red: #dc5158;--red-soft: #ffeaec;--blue-2: #4378f4;--blue-2-soft: #e8efff;--bg-muted: #eef3fa;--shadow: 0 20px 60px rgba(34, 82, 145, .16);--grad-primary: linear-gradient(135deg, #245fe7, #2f7cff);--grad-feature: linear-gradient(135deg, #2862e4 0%, #3187f2 56%, #16a8c7 130%);--grad-hero: linear-gradient(135deg, #1e58cc, #287fe9 58%, #14a3bd);--grad-tab: linear-gradient(135deg, #1c58c9, #337dff)}.btn[data-v-f50e68f5]{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6;color:var(--ink);font-size:14px;font-weight:600;transition:.2s}.btn[data-v-f50e68f5]:hover{border-color:#8db2dd;box-shadow:0 7px 18px #2d65a91a;transform:translateY(-1px)}.btn[data-v-f50e68f5]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary[data-v-f50e68f5]{background:var(--grad-primary);border-color:#2f6bff;color:#fff;box-shadow:0 10px 22px #2f6bff40}.btn-primary[data-v-f50e68f5]:hover{filter:brightness(1.05);color:#fff}.btn-danger[data-v-f50e68f5]{color:var(--red);border-color:#dc515873;background:#ffffffe6}.btn-danger[data-v-f50e68f5]:hover{background:var(--red-soft);border-color:var(--red)}.hero[data-v-f50e68f5]{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.hero-text[data-v-f50e68f5]{display:flex;flex-direction:column;gap:4px;min-width:0}.eyebrow[data-v-f50e68f5]{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}.hero h1[data-v-f50e68f5]{margin:7px 0 8px;font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.045em;font-size:45px;line-height:1.02;color:#102f5b}.hero p[data-v-f50e68f5]{margin:0;font-size:15px;color:var(--muted)}.hero-actions[data-v-f50e68f5]{margin-left:auto;display:flex;gap:8px;align-items:center}.sync-pill[data-v-f50e68f5]{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--green-soft);color:var(--green)}.sync-pill-error[data-v-f50e68f5]{background:var(--red-soft);color:var(--red);cursor:pointer}.sync-dot[data-v-f50e68f5]{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #46a07d21}.sync-pill-error .sync-dot[data-v-f50e68f5]{box-shadow:0 0 0 4px #dc515821}.kpi-row[data-v-f50e68f5]{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:12px}.kpi-card[data-v-f50e68f5]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:15px;box-shadow:0 9px 26px #365f8e0d;padding:17px 18px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;min-height:108px;transition:.2s}.kpi-card[data-v-f50e68f5]:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1f342e14}.kpi-clickable[data-v-f50e68f5]{cursor:pointer}.kpi-card-active[data-v-f50e68f5]{border-color:var(--blue);box-shadow:0 0 0 2px #2f6bff26}.kpi-primary[data-v-f50e68f5]{background:var(--grad-feature);border-color:transparent;color:#fff;box-shadow:0 16px 34px #2865e53b}.kpi-primary .kpi-label[data-v-f50e68f5],.kpi-primary .kpi-note[data-v-f50e68f5]{color:#d9f5ff}.kpi-primary .kpi-value[data-v-f50e68f5]{color:#fff}.kpi-label[data-v-f50e68f5]{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.kpi-value[data-v-f50e68f5]{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-value-danger[data-v-f50e68f5]{color:var(--red)}.kpi-value-denom[data-v-f50e68f5]{font-size:16px;font-weight:600;opacity:.65}.kpi-note[data-v-f50e68f5]{font-size:12px;color:var(--muted)}.mini-bars[data-v-f50e68f5]{position:absolute;right:17px;bottom:17px;display:flex;align-items:flex-end;gap:4px;height:35px}.mini-bars i[data-v-f50e68f5]{display:block;width:5px;background:#fff;border-radius:5px;opacity:.92}.kpi-ring-card[data-v-f50e68f5]{position:relative}.kpi-ring-text[data-v-f50e68f5]{display:contents}.kpi-ring[data-v-f50e68f5]{position:absolute;right:17px;top:17px;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center}.kpi-ring span[data-v-f50e68f5]{width:35px;height:35px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--ink)}.workspace-card[data-v-f50e68f5]{overflow:hidden;background:#ffffffe0;border:1px solid #d8e4ef;border-radius:17px;box-shadow:0 18px 48px #2c588b14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace-head[data-v-f50e68f5]{padding:17px 18px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#ffffffe6,#fafcffd1)}.tabs[data-v-f50e68f5]{display:flex;gap:6px}.tab[data-v-f50e68f5]{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);border:1px solid transparent;background:transparent;cursor:pointer}.tab[data-v-f50e68f5]:hover{background:var(--bg-muted);color:var(--ink)}.tab-active[data-v-f50e68f5]{background:var(--grad-tab);color:#fff;box-shadow:0 7px 17px #2f6bff33}.tab-active[data-v-f50e68f5]:hover{background:var(--grad-tab);color:#fff}.tab-badge[data-v-f50e68f5]{background:#102a4c14;color:var(--muted);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700}.tab-active .tab-badge[data-v-f50e68f5]{background:#ffffff38;color:#fff}.tab-badge-alert[data-v-f50e68f5]{background:var(--red-soft);color:var(--red)}.tab-active .tab-badge-alert[data-v-f50e68f5]{background:var(--red);color:#fff}.filters-row[data-v-f50e68f5]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-box[data-v-f50e68f5]{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--white)}.search-box[data-v-f50e68f5]:focus-within{border-color:#6c9eff;box-shadow:0 0 0 3px #2f6bff1a}.search-box svg[data-v-f50e68f5]{width:16px;height:16px;color:var(--muted);flex-shrink:0}.search-box input[data-v-f50e68f5]{border:none;padding:0;height:auto;flex:1;min-width:0;background:transparent;color:var(--ink)}.search-box input[data-v-f50e68f5]:focus{outline:none;box-shadow:none;border:none}.filters-row select[data-v-f50e68f5]{flex:0 1 130px;min-width:110px;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--muted);padding:0 10px}.filters-row select[data-v-f50e68f5]:focus{outline:none;border-color:#6c9eff;box-shadow:0 0 0 3px #2f6bff1a}.filters-row .btn-reset[data-v-f50e68f5]{flex-shrink:0}.btn-reset[data-v-f50e68f5]{background:none;border:none;padding:0 4px;height:38px;color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-reset[data-v-f50e68f5]:hover{text-decoration:underline}.table-toolbar[data-v-f50e68f5]{min-height:49px;padding:8px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.result-count[data-v-f50e68f5]{font-size:13px;color:var(--muted);margin-right:auto}.selected-info[data-v-f50e68f5]{font-size:13px;font-weight:700;color:var(--ink)}.btn-sm[data-v-f50e68f5]{height:30px;padding:0 12px;font-size:13px}.view-toggle[data-v-f50e68f5]{display:flex;gap:2px;background:#eef1f5;border-radius:8px;padding:2px}.view-toggle-btn[data-v-f50e68f5]{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.view-toggle-active[data-v-f50e68f5]{background:var(--amber-soft);color:#8a6030}.col-settings[data-v-f50e68f5]{position:relative}.icon-btn[data-v-f50e68f5]{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--muted);font-size:14px;cursor:pointer}.icon-btn[data-v-f50e68f5]:hover{border-color:#8db2dd}.col-settings-panel[data-v-f50e68f5]{position:absolute;right:0;top:36px;z-index:20;width:200px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #1f342e1f;padding:6px}.col-settings-row[data-v-f50e68f5]{display:flex;align-items:center;gap:8px;height:32px;padding:0 6px;font-size:13px;color:var(--ink);cursor:pointer;border-radius:6px}.col-settings-row[data-v-f50e68f5]:hover{background:#f2f7ff}.card-view[data-v-f50e68f5]{padding:16px 18px}.staff-card-grid[data-v-f50e68f5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.staff-card[data-v-f50e68f5]{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:14px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;gap:4px}.staff-card[data-v-f50e68f5]:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1f342e14}.staff-card-head[data-v-f50e68f5]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.staff-card-head .avatar[data-v-f50e68f5]{margin-left:auto}.staff-card-name[data-v-f50e68f5]{font-size:15px;font-weight:700;color:var(--ink)}.staff-card-sub[data-v-f50e68f5]{font-size:12px;color:var(--muted)}.staff-card-line[data-v-f50e68f5]{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:5px}.staff-card-actions[data-v-f50e68f5]{margin-top:6px;display:flex;justify-content:flex-end;gap:4px}table[data-v-f50e68f5]{width:100%;border-collapse:collapse;table-layout:fixed}th[data-v-f50e68f5]{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#52708d;padding:12px;border-bottom:1px solid var(--line);background:#edf4fb;overflow-wrap:break-word}td[data-v-f50e68f5]{padding:10px 12px;border-bottom:1px solid #e2eaf3;font-size:13px;font-weight:500;color:var(--ink);vertical-align:middle;overflow-wrap:break-word}td.mono[data-v-f50e68f5],td .badge[data-v-f50e68f5],th.col-status[data-v-f50e68f5],th.col-employment[data-v-f50e68f5],th.col-contract[data-v-f50e68f5],th.col-workload[data-v-f50e68f5],th.col-actions[data-v-f50e68f5]{white-space:nowrap}tr:last-child td[data-v-f50e68f5]{border-bottom:none}.empty[data-v-f50e68f5]{text-align:center;color:var(--muted);padding:32px;white-space:normal}.col-check[data-v-f50e68f5],.col-expand[data-v-f50e68f5]{width:32px;padding-left:12px;padding-right:0}.col-staff[data-v-f50e68f5]{width:24%}.col-status[data-v-f50e68f5]{width:9%}.col-dept[data-v-f50e68f5]{width:18%}.col-shift[data-v-f50e68f5]{width:14%}.col-employment[data-v-f50e68f5]{width:11%}.col-contract[data-v-f50e68f5]{width:13%}.col-workload[data-v-f50e68f5]{width:8%}.col-actions[data-v-f50e68f5]{width:72px;padding:10px 12px;vertical-align:middle}.workload-bars[data-v-f50e68f5]{display:flex;gap:2px;align-items:flex-end;height:14px}.workload-bars i[data-v-f50e68f5]{display:block;width:4px;height:14px;border-radius:4px;background:#dedbd2;font-style:normal}.workload-bars i.workload-bar-on[data-v-f50e68f5]{background:var(--green)}.data-row[data-v-f50e68f5]{cursor:default}.data-row[data-v-f50e68f5]:hover{background:#f2f7ff}.expand-btn[data-v-f50e68f5]{background:none;border:none;padding:4px;cursor:pointer;color:var(--muted)}.chevron[data-v-f50e68f5]{display:inline-block;font-size:14px;line-height:1;transform:rotate(0);transition:transform .15s cubic-bezier(.2,.8,.2,1)}.chevron-open[data-v-f50e68f5]{transform:rotate(90deg)}.expand-row td[data-v-f50e68f5]{background:#edf6ff;padding:0;white-space:normal}.expand-panel[data-v-f50e68f5]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding:14px 20px}.expand-panel .field[data-v-f50e68f5]{display:flex;justify-content:space-between;font-size:13px;gap:8px}.expand-panel .field span[data-v-f50e68f5]{color:var(--muted)}.expand-panel .field-link[data-v-f50e68f5]{justify-content:flex-end}.staff-cell[data-v-f50e68f5]{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.avatar[data-v-f50e68f5]{width:34px;height:34px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.staff-text[data-v-f50e68f5]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.staff-name[data-v-f50e68f5]{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-sub[data-v-f50e68f5]{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.two-line[data-v-f50e68f5]{display:flex;flex-direction:column;gap:2px;min-width:0}.line-main[data-v-f50e68f5]{display:flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-sub[data-v-f50e68f5]{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot[data-v-f50e68f5]{width:7px;height:7px;border-radius:2px;background:var(--blue);flex-shrink:0}.dot-Morning[data-v-f50e68f5]{background:var(--amber)}.dot-Afternoon[data-v-f50e68f5]{background:var(--blue)}.dot-Night[data-v-f50e68f5]{background:var(--muted)}.dot-Unassigned[data-v-f50e68f5]{background:#b7c2cd}.coverage-grid[data-v-f50e68f5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:20px}.coverage-card[data-v-f50e68f5]{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.coverage-card-head[data-v-f50e68f5]{display:flex;align-items:center;gap:7px}.coverage-dot[data-v-f50e68f5]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.coverage-name[data-v-f50e68f5]{font-size:14px;font-weight:700;color:var(--ink);flex:1}.coverage-count[data-v-f50e68f5]{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.coverage-bar[data-v-f50e68f5]{height:6px;border-radius:4px;background:#eef1f5;overflow:hidden}.coverage-bar-fill[data-v-f50e68f5]{height:100%;border-radius:4px;background:var(--green);transition:width .3s}.coverage-bar-warn[data-v-f50e68f5]{background:var(--amber)}.coverage-bar-bad[data-v-f50e68f5]{background:var(--red)}.coverage-pct[data-v-f50e68f5]{font-size:12px;color:var(--muted)}.coverage-avatars[data-v-f50e68f5]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.coverage-avatar[data-v-f50e68f5]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.coverage-avatar-off[data-v-f50e68f5]{opacity:.35;filter:grayscale(1)}.badge[data-v-f50e68f5]{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:14px;font-size:11px;font-weight:700;white-space:nowrap}.badge[data-v-f50e68f5]:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-active[data-v-f50e68f5]{background:var(--green-soft);color:var(--green)}.badge-leave[data-v-f50e68f5]{background:var(--amber-soft);color:var(--amber)}.badge-inactive[data-v-f50e68f5]{background:#ecebe6;color:#777}.badge-neutral[data-v-f50e68f5]{background:#ecebe6;color:#56615d}.badge-temp[data-v-f50e68f5],.badge-warn[data-v-f50e68f5]{background:#e4edff;color:#3567d5}.warn[data-v-f50e68f5]{color:var(--red)!important}.row-actions[data-v-f50e68f5]{display:flex;align-items:center;justify-content:center;gap:2px}.icon-action[data-v-f50e68f5]{border:none;background:transparent;color:var(--muted);width:28px;height:28px;border-radius:7px;display:grid;place-items:center;cursor:pointer;font-size:15px}.icon-action[data-v-f50e68f5]:hover{background:var(--bg-muted);color:var(--ink)}.link[data-v-f50e68f5]{background:none;border:none;padding:0;color:var(--blue);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.link[data-v-f50e68f5]:hover{text-decoration:underline}.error[data-v-f50e68f5]{background:var(--red-soft);color:var(--red);padding:10px 14px;border-radius:9px;font-size:14px;margin:12px 18px 0}.pagination-row[data-v-f50e68f5]{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.rows-per-page[data-v-f50e68f5]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.rows-per-page select[data-v-f50e68f5]{height:30px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}.pager[data-v-f50e68f5]{display:flex;align-items:center;gap:4px}.pager-btn[data-v-f50e68f5]{min-width:30px;height:30px;padding:0 6px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.pager-btn[data-v-f50e68f5]:hover:not(:disabled){border-color:#8db2dd;color:var(--ink)}.pager-btn[data-v-f50e68f5]:disabled{opacity:.4;cursor:not-allowed}.pager-active[data-v-f50e68f5]{background:var(--ink);color:#fff;border-color:var(--ink)}.pager-ellipsis[data-v-f50e68f5]{color:var(--muted);font-size:13px;padding:0 2px}.drawer-overlay[data-v-f50e68f5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1d195c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:flex;justify-content:flex-end}.drawer[data-v-f50e68f5]{width:min(610px,96vw);height:100%;background:#f5f9fe;box-shadow:-20px 0 55px #1626212b;display:flex;flex-direction:column}.drawer-top[data-v-f50e68f5]{padding:20px 22px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.drawer-top h2[data-v-f50e68f5]{margin:0;font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.045em;font-size:27px;color:var(--ink)}.drawer-top p[data-v-f50e68f5]{margin:2px 0 0;font-size:13px;color:var(--muted)}.close-btn[data-v-f50e68f5]{margin-left:auto;border:none;background:var(--bg-muted);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--muted);cursor:pointer}.close-btn[data-v-f50e68f5]:hover{color:var(--ink);background:#e3ecf7}.profile-hero[data-v-f50e68f5]{margin:18px 22px 0;background:var(--grad-hero);border-radius:15px;color:#fff;padding:18px;display:flex;gap:15px;align-items:center;position:relative;overflow:hidden;box-shadow:0 15px 30px #2066cb33}.profile-hero[data-v-f50e68f5]:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-65px;top:-90px}.big-avatar[data-v-f50e68f5]{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#67dcff,#718cff);display:grid;place-items:center;font-size:19px;font-weight:700;color:#fff;flex-shrink:0;position:relative;z-index:1}.profile-hero-text[data-v-f50e68f5]{min-width:0;position:relative;z-index:1}.profile-hero-text h3[data-v-f50e68f5]{margin:0 0 3px;font-size:18px;color:#fff}.profile-hero-text p[data-v-f50e68f5]{margin:0;font-size:13px;color:#d7f2ff}.profile-code[data-v-f50e68f5]{margin-left:auto;text-align:right;position:relative;z-index:1}.profile-code small[data-v-f50e68f5]{display:block;font-size:11px;color:#d7f2ff}.profile-code b[data-v-f50e68f5]{font-size:14px;color:#fff}.drawer-tabs[data-v-f50e68f5]{display:flex;gap:3px;padding:15px 22px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.drawer-tab[data-v-f50e68f5]{border:0;background:transparent;border-bottom:2px solid transparent;padding:8px 10px;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.drawer-tab[data-v-f50e68f5]:hover{color:var(--ink)}.drawer-tab-active[data-v-f50e68f5]{color:#174d8a;border-color:var(--blue)}.drawer-tab-actions[data-v-f50e68f5]{margin-left:auto;padding-bottom:6px}.drawer-body[data-v-f50e68f5]{padding:18px 22px 30px;overflow-y:auto}.drawer-loading[data-v-f50e68f5]{margin:0 0 14px;font-size:13px;color:var(--muted)}.drawer-empty[data-v-f50e68f5]{margin:0;font-size:13px;color:var(--muted)}.section-title[data-v-f50e68f5]{display:flex;align-items:center;margin:0 0 11px;font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:700}.section-title .btn[data-v-f50e68f5]{margin-left:auto;text-transform:none;letter-spacing:0}.info-grid[data-v-f50e68f5]{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}.info[data-v-f50e68f5]{background:var(--white);border:1px solid var(--line);padding:11px 12px;border-radius:9px;box-shadow:0 5px 15px #2d578909}.info label[data-v-f50e68f5]{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.info b[data-v-f50e68f5]{font-size:13px;color:var(--ink);font-weight:600;word-break:break-word}.skill-tags[data-v-f50e68f5]{display:flex;flex-wrap:wrap;gap:4px}.skill-tag[data-v-f50e68f5]{font-size:11px;background:#edf1ee;color:#45645b;padding:3px 6px;border-radius:6px;font-weight:600}.history-empty[data-v-f50e68f5]{margin:0 0 20px;font-size:13px;color:var(--muted)}.history-timeline[data-v-f50e68f5]{list-style:none;margin:0 0 20px;padding:0 0 0 17px;border-left:1px solid #d8e3ef;display:flex;flex-direction:column;gap:14px}.history-item[data-v-f50e68f5]{position:relative}.history-item[data-v-f50e68f5]:before{content:"";position:absolute;left:-21px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #fbfaf6}.history-title[data-v-f50e68f5]{display:block;font-size:13px;font-weight:700;color:var(--ink)}.history-meta[data-v-f50e68f5]{display:block;font-size:12px;color:var(--muted);margin-top:2px}.leave-grid[data-v-f50e68f5]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.leave-card[data-v-f50e68f5]{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 5px 15px #2d578909}.leave-card strong[data-v-f50e68f5]{font-size:21px;color:var(--ink)}.leave-card span[data-v-f50e68f5]{display:block;font-size:11px;color:var(--muted);margin-top:2px}.contract-card[data-v-f50e68f5]{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;box-shadow:0 5px 15px #2d578909}.contract-card h4[data-v-f50e68f5]{margin:0 0 4px;font-size:14px;color:var(--ink)}.contract-card p[data-v-f50e68f5]{margin:0;font-size:12px;color:var(--muted)}.contract-actions[data-v-f50e68f5]{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.contract-form[data-v-f50e68f5]{display:flex;flex-direction:column;gap:12px}.drawer-enter-active[data-v-f50e68f5],.drawer-leave-active[data-v-f50e68f5]{transition:opacity .25s ease}.drawer-enter-active .drawer[data-v-f50e68f5],.drawer-leave-active .drawer[data-v-f50e68f5]{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.drawer-enter-from[data-v-f50e68f5],.drawer-leave-to[data-v-f50e68f5]{opacity:0}.drawer-enter-from .drawer[data-v-f50e68f5],.drawer-leave-to .drawer[data-v-f50e68f5]{transform:translate(100%)}.overlay[data-v-f50e68f5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1d195c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:90}.modal[data-v-f50e68f5]{background:#fbfaf6;border-radius:17px;padding:24px 28px;width:460px;box-shadow:var(--shadow);border:1px solid var(--line)}.modal-small[data-v-f50e68f5]{width:420px}.modal h3[data-v-f50e68f5]{margin:0 0 18px;font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:21px;color:var(--ink)}.shift-field[data-v-f50e68f5]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:500}.shift-field input[data-v-f50e68f5],.shift-field select[data-v-f50e68f5],.shift-field textarea[data-v-f50e68f5]{height:38px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:0 10px;color:var(--ink)}.shift-field textarea[data-v-f50e68f5]{height:auto;padding:8px 10px}.shift-field input[data-v-f50e68f5]:focus,.shift-field select[data-v-f50e68f5]:focus,.shift-field textarea[data-v-f50e68f5]:focus{outline:none;border-color:#6c9eff;box-shadow:0 0 0 3px #2f6bff1a}.shift-field.field-invalid input[data-v-f50e68f5]{border-color:#e0574c}.field-error[data-v-f50e68f5]{color:#e0574c;font-size:12px;font-weight:500}.shift-hint[data-v-f50e68f5]{margin:13px 0 0;font-size:12px;color:var(--muted)}.delete-warning[data-v-f50e68f5]{padding:12px;border-radius:9px;background:var(--red-soft);color:var(--red);font-size:13px}.actions[data-v-f50e68f5]{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.workspace-page[data-v-f50e68f5] .overlay{z-index:90!important}@media(max-width:1100px){.kpi-row[data-v-f50e68f5]{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.kpi-row[data-v-f50e68f5]{grid-template-columns:1fr}.filters-row[data-v-f50e68f5]{flex-wrap:wrap}.info-grid[data-v-f50e68f5]{grid-template-columns:1fr}.leave-grid[data-v-f50e68f5],.expand-panel[data-v-f50e68f5]{grid-template-columns:1fr 1fr}.hero-actions[data-v-f50e68f5]{margin-left:0}table[data-v-f50e68f5]{table-layout:auto}}.ops-page[data-v-e7a99701]{display:flex;flex-direction:column;gap:20px;position:relative}.hero[data-v-e7a99701]{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.hero-text[data-v-e7a99701]{min-width:0;flex:1}.eyebrow[data-v-e7a99701]{color:var(--color-primary);font-size:12px;letter-spacing:.18em;font-weight:700}.hero h1[data-v-e7a99701]{font-size:35px;line-height:1.05;letter-spacing:-.04em;margin:6px 0 7px;color:var(--color-text)}.hero p[data-v-e7a99701]{margin:0;color:var(--color-text-muted);font-size:15px}.hero-actions[data-v-e7a99701]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sync[data-v-e7a99701]{height:30px;padding:0 12px;border-radius:20px;background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px}.sync-dot[data-v-e7a99701]{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 4px #079b7c24}.sync-error[data-v-e7a99701]{background:var(--color-danger-soft);color:var(--color-danger)}.sync-dot-error[data-v-e7a99701]{background:var(--color-danger);box-shadow:0 0 0 4px #dc515824}.sync-dot-syncing[data-v-e7a99701]{animation:sync-pulse-e7a99701 1s ease-in-out infinite}@keyframes sync-pulse-e7a99701{0%,to{opacity:1}50%{opacity:.3}}.btn-icon[data-v-e7a99701]{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.kpi-row[data-v-e7a99701]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi-card[data-v-e7a99701]{position:relative;overflow:hidden;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--th-radius-card);box-shadow:var(--shadow-card);padding:18px 20px;display:flex;flex-direction:column;gap:4px}.kpi-clickable[data-v-e7a99701]{cursor:pointer;transition:box-shadow .15s,border-color .15s}.kpi-clickable[data-v-e7a99701]:hover{box-shadow:var(--shadow-md)}.kpi-clickable[data-v-e7a99701]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kpi-card-active[data-v-e7a99701]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.kpi-filter-chip[data-v-e7a99701]{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--color-primary-soft);color:var(--color-primary)}.kpi-filter-chip button[data-v-e7a99701]{border:none;background:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:0}.kpi-featured[data-v-e7a99701]{background:var(--gradient-feature);border-color:transparent;color:#fff}.kpi-featured .kpi-label[data-v-e7a99701],.kpi-featured .kpi-note[data-v-e7a99701]{color:#ffffffd1}.kpi-featured .kpi-value[data-v-e7a99701]{color:#fff}.kpi-label[data-v-e7a99701]{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.kpi-value[data-v-e7a99701]{font-size:31px;font-weight:700;line-height:1.1;color:var(--color-text);font-variant-numeric:tabular-nums}.kpi-value-danger[data-v-e7a99701]{color:var(--color-danger)}.kpi-note[data-v-e7a99701]{font-size:12px;color:var(--color-text-muted)}.kpi-icon[data-v-e7a99701]{position:absolute;right:16px;top:17px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.kpi-featured .kpi-icon[data-v-e7a99701]{background:#ffffff26;color:#fff}.kpi-icon-danger[data-v-e7a99701]{background:var(--color-danger-soft);color:var(--color-danger)}.kpi-icon-success[data-v-e7a99701]{background:var(--color-success-soft);color:var(--color-success)}.kpi-ring-card[data-v-e7a99701]{flex-direction:row;align-items:center;justify-content:space-between}.kpi-ring-text[data-v-e7a99701]{display:flex;flex-direction:column;gap:4px}.kpi-ring[data-v-e7a99701]{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.kpi-ring span[data-v-e7a99701]{width:40px;height:40px;border-radius:50%;background:var(--color-bg-raised);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--color-text)}.workspace[data-v-e7a99701]{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--th-radius-card);box-shadow:var(--shadow-card);overflow:hidden}.workspace-head[data-v-e7a99701]{padding:16px 18px 14px;border-bottom:1px solid var(--color-border)}.view-row[data-v-e7a99701]{display:flex;align-items:center;gap:8px}.status-tabs[data-v-e7a99701]{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.status-tab[data-v-e7a99701]{border:0;background:transparent;cursor:pointer;color:var(--color-text-muted);padding:9px 12px;border-radius:9px;font-size:14px;font-weight:600}.status-tab.active[data-v-e7a99701]{color:#fff;background:var(--gradient-primary);box-shadow:0 7px 17px #2f6bff33}.tab-count[data-v-e7a99701]{font-size:11px;margin-left:5px;padding:2px 6px;border-radius:9px;background:#102a4c14}.status-tab.active .tab-count[data-v-e7a99701]{background:#ffffff29}.view-row[data-v-e7a99701]{justify-content:space-between}.view-toggle[data-v-e7a99701]{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px;background:var(--color-bg-muted);border-radius:9px}.view-toggle-btn[data-v-e7a99701]{height:30px;padding:0 12px;border:0;cursor:pointer;border-radius:7px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600}.view-toggle-btn.active[data-v-e7a99701]{background:var(--color-bg-raised);color:var(--color-primary);box-shadow:var(--shadow-sm)}.type-row[data-v-e7a99701]{display:flex;align-items:center;gap:7px;margin-top:14px;flex-wrap:wrap}.type-label[data-v-e7a99701]{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-weight:700;margin-right:3px}.type-chip[data-v-e7a99701]{height:30px;border:1px solid var(--color-border);background:var(--color-bg-raised);border-radius:16px;padding:0 11px;cursor:pointer;color:var(--color-text-secondary);font-size:12px;font-weight:600;display:inline-flex;align-items:center}.type-chip.active[data-v-e7a99701]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.type-chip i[data-v-e7a99701]{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px;background:var(--color-text-muted)}.type-chip.service i[data-v-e7a99701]{background:var(--color-primary)}.type-chip.inspection i[data-v-e7a99701]{background:var(--color-success)}.type-chip.recurring i[data-v-e7a99701]{background:var(--color-warning)}.filters-row[data-v-e7a99701]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.search-box[data-v-e7a99701]{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg-raised)}.search-box svg[data-v-e7a99701]{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}.search-box input[data-v-e7a99701]{border:none;padding:0;height:auto;flex:1;min-width:0;background:transparent}.search-box input[data-v-e7a99701]:focus{outline:none;box-shadow:none}.filters-row select[data-v-e7a99701]{flex:0 1 130px;min-width:110px;height:38px}.filters-row .btn-reset[data-v-e7a99701]{flex-shrink:0}.btn-reset[data-v-e7a99701]{background:none;border:none;padding:0 4px;height:38px;cursor:pointer;color:var(--color-primary);font-size:14px;font-weight:600;white-space:nowrap}.btn-reset[data-v-e7a99701]:hover{text-decoration:underline}.toolbar[data-v-e7a99701]{min-height:50px;padding:8px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--color-border)}.result[data-v-e7a99701]{font-size:13px;color:var(--color-text-muted);margin-right:auto}.selected-count[data-v-e7a99701]{font-size:13px;font-weight:700;color:var(--color-primary)}.btn-sm[data-v-e7a99701]{height:30px;padding:0 12px;font-size:13px}.table-wrap[data-v-e7a99701]{overflow:auto}table[data-v-e7a99701]{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1080px}th[data-v-e7a99701]{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);padding:12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-muted);white-space:nowrap}td[data-v-e7a99701]{padding:11px 12px;border-top:1px solid var(--color-border);font-size:13px;font-weight:500;color:var(--color-text);vertical-align:middle;overflow-wrap:break-word}.col-check[data-v-e7a99701],.col-expand[data-v-e7a99701]{width:36px;padding-left:12px;padding-right:0}.col-task[data-v-e7a99701]{width:22%}.col-actions[data-v-e7a99701]{width:80px;white-space:nowrap}tr.data-row[data-v-e7a99701]{cursor:pointer}tr.data-row[data-v-e7a99701]:hover{background:var(--color-bg-muted)}.empty[data-v-e7a99701]{text-align:center;color:var(--color-text-muted);padding:32px}.empty-inline[data-v-e7a99701],.rule-status-waiting[data-v-e7a99701]{color:var(--color-text-muted);font-size:13px}.rule-status-failed[data-v-e7a99701]{color:var(--color-danger);font-size:13px;font-weight:600}.candidate-list[data-v-e7a99701]{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--color-border);border-radius:8px;padding:6px}.candidate-row[data-v-e7a99701]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer}.candidate-row[data-v-e7a99701]:hover{background:var(--color-surface-hover, rgba(0,0,0,.04))}.error[data-v-e7a99701]{background:var(--color-danger-soft);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius);font-size:14px}.order-id[data-v-e7a99701]{font-weight:700;color:var(--color-primary);white-space:nowrap}.order-id.inspection[data-v-e7a99701]{color:var(--color-success)}.order-id.recurring[data-v-e7a99701]{color:var(--color-warning)}.sub[data-v-e7a99701]{display:block;color:var(--color-text-muted);font-size:11px;margin-top:3px}.sub-danger[data-v-e7a99701]{color:var(--color-danger)}.room-cell[data-v-e7a99701]{display:flex;align-items:center;gap:9px}.room-box[data-v-e7a99701]{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-weight:700}.room-box.inspection[data-v-e7a99701]{background:var(--color-success-soft);color:var(--color-success)}.room-box.recurring[data-v-e7a99701]{background:var(--color-warning-soft);color:var(--color-warning)}.room-text[data-v-e7a99701]{display:flex;flex-direction:column;min-width:0}.room-text b[data-v-e7a99701]{color:var(--color-text)}.task-cell[data-v-e7a99701]{display:flex;align-items:center;gap:9px;min-width:0}.type-icon[data-v-e7a99701]{width:32px;height:32px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;font-weight:700}.type-icon.service[data-v-e7a99701]{color:var(--color-primary);background:var(--color-primary-soft)}.type-icon.inspection[data-v-e7a99701]{color:var(--color-success);background:var(--color-success-soft)}.type-icon.recurring[data-v-e7a99701]{color:var(--color-warning);background:var(--color-warning-soft)}.task-text[data-v-e7a99701]{display:flex;flex-direction:column;min-width:0}.task-text b[data-v-e7a99701]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.st-pending[data-v-e7a99701]{background:var(--color-warning-soft);color:var(--color-warning)}.badge.st-progress[data-v-e7a99701]{background:var(--color-primary-soft);color:var(--color-primary)}.badge.st-suspended[data-v-e7a99701]{background:var(--color-warning-soft);color:var(--color-warning)}.badge.st-completed[data-v-e7a99701]{background:var(--color-success-soft);color:var(--color-success)}.badge.st-dnd[data-v-e7a99701]{background:var(--color-danger-soft);color:var(--color-danger)}.badge.st-scheduled[data-v-e7a99701]{background:var(--color-success-soft);color:var(--color-success)}.badge.st-cancelled[data-v-e7a99701]{background:var(--color-border);color:var(--color-text-muted)}.owner-cell[data-v-e7a99701]{display:flex;align-items:center;gap:7px}.owner-avatar[data-v-e7a99701]{width:27px;height:27px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;background:var(--gradient-primary)}.unassigned[data-v-e7a99701]{color:var(--color-danger);font-weight:600}.sla[data-v-e7a99701]{min-width:84px}.sla-bar[data-v-e7a99701]{width:76px;height:5px;background:var(--color-bg-muted);border-radius:8px;overflow:hidden;margin-top:5px}.sla-bar i[data-v-e7a99701]{display:block;height:100%;border-radius:8px;background:var(--color-success)}.sla.sla-warning .sla-bar i[data-v-e7a99701]{background:var(--color-warning)}.sla.sla-danger .sla-bar i[data-v-e7a99701]{background:var(--color-danger)}.sla.sla-danger b[data-v-e7a99701]{color:var(--color-danger)}.expand-btn[data-v-e7a99701]{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-muted)}.chevron[data-v-e7a99701]{display:inline-block;font-size:14px;line-height:1;transform:rotate(0);transition:transform .15s cubic-bezier(.2,.8,.2,1)}.chevron.open[data-v-e7a99701]{transform:rotate(90deg)}.expand-row td[data-v-e7a99701]{background:var(--color-bg-muted);padding:0}.expand-panel[data-v-e7a99701]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 24px;padding:14px 20px}.expand-group[data-v-e7a99701]{display:flex;flex-direction:column;gap:8px;min-width:0}.expand-group h5[data-v-e7a99701]{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.expand-panel .field[data-v-e7a99701]{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}.expand-panel .field span[data-v-e7a99701]{color:var(--color-text-muted);font-size:12px}.expand-panel .field b[data-v-e7a99701]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.expand-panel[data-v-e7a99701]{grid-template-columns:1fr}}.icon-link[data-v-e7a99701]{width:28px;height:28px;border:0;background:transparent;cursor:pointer;border-radius:7px;color:var(--color-text-muted);display:inline-grid;place-items:center}.icon-link[data-v-e7a99701]:hover{background:var(--color-primary-soft);color:var(--color-primary)}.link[data-v-e7a99701]{background:none;border:none;padding:0;cursor:pointer;color:var(--color-primary);font-size:13px;font-weight:600}.link[data-v-e7a99701]:hover{text-decoration:underline}.pagination-row[data-v-e7a99701]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--color-border)}.rows-per-page[data-v-e7a99701]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.rows-per-page select[data-v-e7a99701]{height:30px;padding:0 8px}.pager[data-v-e7a99701]{display:flex;align-items:center;gap:4px}.pager-btn[data-v-e7a99701]{min-width:28px;height:28px;padding:0 6px;cursor:pointer;border:1px solid transparent;border-radius:6px;background:none;color:var(--color-text-muted);font-size:13px;font-weight:600}.pager-btn[data-v-e7a99701]:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.pager-btn[data-v-e7a99701]:disabled{opacity:.4;cursor:not-allowed}.pager-btn.active[data-v-e7a99701]{background:var(--color-primary);color:#fff}.pager-ellipsis[data-v-e7a99701]{color:var(--color-text-muted);font-size:13px;padding:0 2px}.drawer-backdrop[data-v-e7a99701]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1f3d57;z-index:60}.drawer[data-v-e7a99701]{position:fixed;z-index:70;right:0;top:0;bottom:0;width:min(640px,96vw);background:var(--color-bg);box-shadow:var(--shadow-md);display:flex;flex-direction:column}.drawer-enter-active[data-v-e7a99701],.drawer-leave-active[data-v-e7a99701]{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.drawer-enter-from[data-v-e7a99701],.drawer-leave-to[data-v-e7a99701]{transform:translate(102%)}.drawer-head[data-v-e7a99701]{padding:19px 22px 15px;border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;gap:12px}.drawer-head h2[data-v-e7a99701]{font-size:23px;letter-spacing:-.03em;margin:0;color:var(--color-text)}.drawer-meta[data-v-e7a99701]{margin:4px 0 0;font-size:12px;color:var(--color-text-muted)}.close-btn[data-v-e7a99701]{margin-left:auto;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;background:var(--color-bg-muted);display:grid;place-items:center;color:var(--color-text);font-size:17px}.close-btn[data-v-e7a99701]:hover{background:var(--color-border)}.order-hero[data-v-e7a99701]{margin:17px 22px 0;padding:17px;border-radius:15px;color:#fff;background:var(--gradient-feature);display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.hero-icon[data-v-e7a99701]{width:48px;height:48px;border-radius:14px;background:#ffffff2b;display:grid;place-items:center}.order-hero h3[data-v-e7a99701]{margin:0 0 3px;font-size:17px}.order-hero p[data-v-e7a99701]{margin:0;color:#ffffffd9;font-size:12px}.hero-room[data-v-e7a99701]{text-align:right}.hero-room strong[data-v-e7a99701]{font-size:23px;display:block}.hero-room small[data-v-e7a99701]{color:#ffffffd9}.drawer-tabs[data-v-e7a99701]{display:flex;gap:4px;padding:14px 22px 0}.drawer-tab[data-v-e7a99701]{border:0;cursor:pointer;background:transparent;padding:8px 10px;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:13px;font-weight:600}.drawer-tab.active[data-v-e7a99701]{color:var(--color-primary);border-color:var(--color-primary)}.drawer-body[data-v-e7a99701]{padding:18px 22px 30px;overflow:auto}.section-title[data-v-e7a99701]{display:flex;align-items:center;margin:0 0 10px;color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.section-title .btn[data-v-e7a99701]{margin-left:auto;text-transform:none;letter-spacing:0}.info-grid[data-v-e7a99701]{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:19px}.info[data-v-e7a99701]{padding:11px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-bg-raised)}.info label[data-v-e7a99701]{display:block;font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.info b[data-v-e7a99701]{font-size:13px}.note[data-v-e7a99701]{padding:12px;border-left:3px solid var(--color-primary);border-radius:0 9px 9px 0;background:var(--color-primary-soft);font-size:12px;color:var(--color-text-secondary);margin-bottom:18px}.timeline[data-v-e7a99701]{margin-left:7px;padding-left:18px;border-left:1px solid var(--color-border);display:grid;gap:15px}.event[data-v-e7a99701]{position:relative}.event[data-v-e7a99701]:before{content:"";position:absolute;left:-22px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-bg)}.event b[data-v-e7a99701]{font-size:13px}.event p[data-v-e7a99701]{margin:3px 0;color:var(--color-text-muted);font-size:11px}.overlay[data-v-e7a99701]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1f3d66;display:flex;align-items:center;justify-content:center;z-index:80}.modal[data-v-e7a99701]{background:var(--color-bg-raised);border-radius:var(--radius);padding:0;width:520px;max-width:94vw;max-height:91vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.modal-wide[data-v-e7a99701]{width:min(820px,95vw)}.modal-small[data-v-e7a99701]{width:min(490px,92vw)}.modal-head[data-v-e7a99701]{padding:18px 20px 14px;border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;gap:12px}.modal-head h3[data-v-e7a99701]{font-size:19px;letter-spacing:-.02em;margin:0;color:var(--color-text)}.modal-sub[data-v-e7a99701]{margin:4px 0 0;font-size:12px;color:var(--color-text-muted)}.modal-body[data-v-e7a99701]{padding:17px 20px;overflow:auto}.modal-foot[data-v-e7a99701]{padding:13px 20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:10px}.order-type-tabs[data-v-e7a99701]{display:flex;gap:5px;padding:4px;background:var(--color-bg-muted);border-radius:10px;margin-bottom:16px}.order-type-tab[data-v-e7a99701]{height:35px;flex:1;border:0;cursor:pointer;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.order-type-tab.active[data-v-e7a99701]{background:var(--color-bg-raised);color:var(--color-primary);box-shadow:var(--shadow-sm)}.tab-count[data-v-e7a99701]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:9px;padding:1px 6px;font-size:11px}.order-type-toggle[data-v-e7a99701]{display:flex;gap:4px;padding:4px;background:var(--color-bg-muted);border-radius:10px;margin-bottom:16px}.order-type-toggle button[data-v-e7a99701]{height:34px;flex:1;border:0;cursor:pointer;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s}.order-type-toggle button.active[data-v-e7a99701]{background:var(--color-bg-raised);color:var(--color-primary);box-shadow:var(--shadow-sm)}.form-section[data-v-e7a99701]{margin-bottom:16px}.form-section-title[data-v-e7a99701]{font-size:11px;color:var(--color-primary);text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:9px}.form-grid[data-v-e7a99701]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form-group[data-v-e7a99701]{display:grid;gap:5px;font-size:11px;font-weight:600;color:var(--color-text-secondary)}.form-group.span2[data-v-e7a99701]{grid-column:span 2}.form-group.span3[data-v-e7a99701]{grid-column:span 3}.form-group input[data-v-e7a99701],.form-group select[data-v-e7a99701],.form-group textarea[data-v-e7a99701]{width:100%;height:38px}.form-group textarea[data-v-e7a99701]{height:66px;padding:9px 10px;resize:none}.inline-check[data-v-e7a99701]{display:flex;gap:15px;align-items:center;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-bg-raised)}.inline-check label[data-v-e7a99701]{font-size:12px;font-weight:500;color:var(--color-text);display:inline-flex;align-items:center;gap:6px}.form-section .hint[data-v-e7a99701]{font-size:12px;color:var(--color-text-muted);margin:0}.finish-choice[data-v-e7a99701]{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice[data-v-e7a99701]{border:1px solid var(--color-border);background:var(--color-bg-raised);border-radius:11px;padding:13px;text-align:left;cursor:pointer;color:var(--color-text-secondary)}.choice.active[data-v-e7a99701]{border-color:var(--color-primary);background:var(--color-primary-soft)}.choice b[data-v-e7a99701]{display:block;font-size:13px;color:var(--color-text);margin-bottom:3px}.choice span[data-v-e7a99701]{font-size:11px;color:var(--color-text-muted)}.root-fields[data-v-e7a99701]{margin-top:14px;display:grid;gap:10px}.library-toolbar[data-v-e7a99701]{display:flex;align-items:center;gap:8px;margin-bottom:11px;flex-wrap:wrap}.library-toolbar .search-box[data-v-e7a99701]{flex:1;min-width:180px}.library-toolbar input[type=date][data-v-e7a99701]{height:38px;max-width:155px}.library-table-wrap[data-v-e7a99701]{border:1px solid var(--color-border);border-radius:11px;overflow:auto}.library-table[data-v-e7a99701]{width:100%;border-collapse:collapse;min-width:620px}.library-table th[data-v-e7a99701]{padding:9px;background:var(--color-bg-muted)}.library-table td[data-v-e7a99701]{padding:10px 9px;border-top:1px solid var(--color-border)}.action-menu-backdrop[data-v-e7a99701]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:89}.action-menu[data-v-e7a99701]{position:fixed;z-index:90;width:174px;padding:6px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-bg-raised);box-shadow:var(--shadow-md)}.action-menu button[data-v-e7a99701]{width:100%;height:34px;border:0;background:transparent;border-radius:7px;text-align:left;padding:0 10px;cursor:pointer;color:var(--color-text);font-size:12px}.action-menu button[data-v-e7a99701]:hover{background:var(--color-primary-soft);color:var(--color-primary)}.action-menu button.danger-text[data-v-e7a99701]{color:var(--color-danger)}.action-menu button.danger-text[data-v-e7a99701]:hover{background:var(--color-danger-soft)}.toast[data-v-e7a99701]{position:fixed;z-index:100;right:22px;bottom:22px;min-width:280px;padding:14px 15px;border-radius:12px;color:#fff;background:var(--gradient-feature);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px}.toast-icon[data-v-e7a99701]{width:26px;height:26px;border-radius:50%;background:#fff3;display:grid;place-items:center;flex-shrink:0}.toast-error[data-v-e7a99701]{background:var(--color-danger, #dc5158)}.toast b[data-v-e7a99701]{display:block;font-size:13px}.toast span[data-v-e7a99701]{font-size:11px;color:#ffffffd9}.toast-enter-active[data-v-e7a99701],.toast-leave-active[data-v-e7a99701]{transition:transform .25s,opacity .25s}.toast-enter-from[data-v-e7a99701],.toast-leave-to[data-v-e7a99701]{transform:translateY(30px);opacity:0}.board-wrap[data-v-e7a99701]{padding:14px 18px;overflow:auto}.board-empty[data-v-e7a99701]{text-align:center;color:var(--color-text-muted);padding:32px;font-size:13px}.board[data-v-e7a99701]{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;min-width:1180px}.board-col[data-v-e7a99701]{display:flex;flex-direction:column;gap:9px;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:12px;padding:11px;min-height:180px}.board-col-head[data-v-e7a99701]{display:flex;align-items:center;justify-content:space-between;padding:0 4px 4px}.board-col-name[data-v-e7a99701]{font-size:12px;font-weight:700;color:var(--color-text);letter-spacing:.02em}.board-col-count[data-v-e7a99701]{font-size:11px;font-weight:700;color:var(--color-text-muted);background:var(--color-bg-raised);padding:1px 7px;border-radius:9px}.board-col-body[data-v-e7a99701]{display:flex;flex-direction:column;gap:8px}.board-col-empty[data-v-e7a99701]{color:var(--color-text-muted);font-size:12px;text-align:center;padding:14px 0;margin:0}.board-card[data-v-e7a99701]{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:10px;padding:10px 11px;cursor:grab;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:7px}.board-card[data-v-e7a99701]:hover{border-color:var(--color-primary)}.board-card.is-dragging[data-v-e7a99701]{opacity:.5}.board-card[data-v-e7a99701]:active{cursor:grabbing}.board-card-top[data-v-e7a99701]{display:flex;align-items:center;justify-content:space-between;gap:8px}.board-card-no[data-v-e7a99701]{font-size:12px;font-weight:700;color:var(--color-primary)}.board-card-room[data-v-e7a99701]{font-size:11px;font-weight:700;color:var(--color-text);background:var(--color-primary-soft);color:var(--color-primary);padding:2px 7px;border-radius:7px}.board-card-task[data-v-e7a99701]{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3}.board-card-bottom[data-v-e7a99701]{display:flex;align-items:center;justify-content:space-between;gap:8px}.board-card-owner[data-v-e7a99701]{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary);font-weight:600}.board-card-owner .owner-avatar[data-v-e7a99701]{width:20px;height:20px;font-size:9px}.board-card-sla[data-v-e7a99701]{font-size:11px;font-weight:700;color:var(--color-text-muted)}.board-card-sla.sla-warning[data-v-e7a99701]{color:var(--color-warning)}.board-card-sla.sla-danger[data-v-e7a99701]{color:var(--color-danger)}.task-search-box[data-v-e7a99701]{height:44px;padding:0 12px;border:1.5px solid var(--color-primary);border-radius:10px;background:var(--color-bg-raised);display:flex;align-items:center;gap:9px;box-shadow:0 0 0 3px var(--color-primary-soft)}.task-search-box svg[data-v-e7a99701]{width:16px;height:16px;color:var(--color-primary);flex-shrink:0}.task-search-box input[data-v-e7a99701]{border:none;padding:0;height:auto;background:transparent;font-size:14px}.task-search-box input[data-v-e7a99701]:focus{outline:none;box-shadow:none}.task-chip-grid[data-v-e7a99701]{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.task-chip[data-v-e7a99701]{min-height:56px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-raised);padding:9px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--color-text)}.task-chip[data-v-e7a99701]:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.task-chip b[data-v-e7a99701],.task-chip small[data-v-e7a99701]{display:block}.task-chip small[data-v-e7a99701]{color:var(--color-text-muted);font-size:10px;margin-top:2px}.task-glyph[data-v-e7a99701]{width:31px;height:31px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);font-size:15px}.selected-task[data-v-e7a99701]{margin-top:9px;border:1px solid var(--color-primary);border-radius:12px;background:var(--color-primary-soft);padding:12px;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:flex-start}.selected-task .task-glyph[data-v-e7a99701]{width:40px;height:40px}.selected-task h4[data-v-e7a99701]{margin:1px 0 3px;color:var(--color-text);font-size:14px}.selected-task p[data-v-e7a99701]{margin:0;color:var(--color-text-muted);font-size:11px}.link-btn[data-v-e7a99701]{border:0;background:transparent;cursor:pointer;color:var(--color-primary);font-size:12px;font-weight:700;padding:4px}.link-btn[data-v-e7a99701]:hover{text-decoration:underline}.check-tasks[data-v-e7a99701]{display:grid;grid-template-columns:1fr 1fr;gap:7px}.task-option[data-v-e7a99701]{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-raised);font-size:12px;font-weight:500;color:var(--color-text)}.task-option span[data-v-e7a99701]{margin-left:auto;color:var(--color-text-muted);font-size:11px}.duration-summary[data-v-e7a99701]{padding:10px 12px;border-radius:9px;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:700}.library-actions[data-v-e7a99701]{display:flex;gap:3px}.library-actions button[data-v-e7a99701]{width:27px;height:27px;border:0;border-radius:7px;cursor:pointer;background:var(--color-bg-muted);color:var(--color-text-secondary);display:inline-grid;place-items:center}.library-actions button[data-v-e7a99701]:hover{background:var(--color-primary-soft);color:var(--color-primary)}.library-actions button.delete[data-v-e7a99701]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.delete-warning[data-v-e7a99701]{padding:13px;border-radius:10px;background:var(--color-danger-soft);color:var(--color-danger);font-size:13px}@media(max-width:1100px){.kpi-row[data-v-e7a99701],.form-grid[data-v-e7a99701]{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.kpi-row[data-v-e7a99701]{grid-template-columns:1fr}.filters-row[data-v-e7a99701]{flex-wrap:wrap}table[data-v-e7a99701]{table-layout:auto}.form-grid[data-v-e7a99701]{grid-template-columns:1fr}.form-group.span2[data-v-e7a99701],.form-group.span3[data-v-e7a99701]{grid-column:auto}.finish-choice[data-v-e7a99701],.info-grid[data-v-e7a99701],.task-chip-grid[data-v-e7a99701],.check-tasks[data-v-e7a99701]{grid-template-columns:1fr}}.kpi-grid[data-v-35ec4e4e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.kpi-card[data-v-35ec4e4e]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.nav-card[data-v-35ec4e4e]{text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.nav-card[data-v-35ec4e4e]:hover{box-shadow:0 6px 16px #1f342e14;transform:translateY(-1px)}.kpi-label[data-v-35ec4e4e]{font-size:14px;font-weight:700;color:#1f342e}.nav-card-desc[data-v-35ec4e4e]{font-size:12px;color:#6b7a90}.static-badge[data-v-35ec4e4e]{display:inline-block;font-size:11px;font-weight:600;color:#a15c00;background:#fff2d9;border:1px solid #f0c674;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:middle}.back-link[data-v-edc899fd]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-edc899fd]:hover{text-decoration:underline}.filter-bar[data-v-edc899fd]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-edc899fd]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-edc899fd]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-edc899fd]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-edc899fd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-edc899fd]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-edc899fd]{font-size:12px;color:#6b7a90}.kpi-value[data-v-edc899fd]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-edc899fd]{color:#c23a3a}.kpi-note[data-v-edc899fd]{font-size:11px;color:#8a97a8}.freshness-row[data-v-edc899fd]{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.freshness-chip[data-v-edc899fd]{font-size:12px;color:#4a5b6d;background:#eef3f8;border-radius:999px;padding:3px 10px}.back-link[data-v-dc909aa3]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-dc909aa3]:hover{text-decoration:underline}.filter-bar[data-v-dc909aa3]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-dc909aa3]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-dc909aa3]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-dc909aa3]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-dc909aa3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-dc909aa3]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-dc909aa3]{font-size:12px;color:#6b7a90}.kpi-value[data-v-dc909aa3]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-dc909aa3]{color:#c23a3a}.kpi-note[data-v-dc909aa3]{font-size:11px;color:#8a97a8}.back-link[data-v-a21fe1be]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-a21fe1be]:hover{text-decoration:underline}.filter-bar[data-v-a21fe1be]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-a21fe1be]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-a21fe1be]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-a21fe1be]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-a21fe1be]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-a21fe1be]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-a21fe1be]{font-size:12px;color:#6b7a90}.kpi-value[data-v-a21fe1be]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-a21fe1be]{color:#c23a3a}.kpi-note[data-v-a21fe1be]{font-size:11px;color:#8a97a8}.back-link[data-v-da8f6727]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-da8f6727]:hover{text-decoration:underline}.filter-bar[data-v-da8f6727]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-da8f6727]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-da8f6727]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-da8f6727]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-da8f6727]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-da8f6727]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-da8f6727]{font-size:12px;color:#6b7a90}.kpi-value[data-v-da8f6727]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-da8f6727]{color:#c23a3a}.kpi-note[data-v-da8f6727]{font-size:11px;color:#8a97a8}.back-link[data-v-1a921ae7]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-1a921ae7]:hover{text-decoration:underline}.filter-bar[data-v-1a921ae7]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-1a921ae7]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-1a921ae7]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-1a921ae7]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-1a921ae7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-1a921ae7]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-1a921ae7]{font-size:12px;color:#6b7a90}.kpi-value[data-v-1a921ae7]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-1a921ae7]{color:#c23a3a}.kpi-note[data-v-1a921ae7]{font-size:11px;color:#8a97a8}.back-link[data-v-36dba75f]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-36dba75f]:hover{text-decoration:underline}.filter-bar[data-v-36dba75f]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-36dba75f]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-36dba75f]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-36dba75f]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-36dba75f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-36dba75f]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-36dba75f]{font-size:12px;color:#6b7a90}.kpi-value[data-v-36dba75f]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-36dba75f]{color:#c23a3a}.kpi-note[data-v-36dba75f]{font-size:11px;color:#8a97a8}.back-link[data-v-e0fbfea6]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-e0fbfea6]:hover{text-decoration:underline}.filter-bar[data-v-e0fbfea6]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-e0fbfea6]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-e0fbfea6]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-e0fbfea6]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-e0fbfea6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-e0fbfea6]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-e0fbfea6]{font-size:12px;color:#6b7a90}.kpi-value[data-v-e0fbfea6]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-e0fbfea6]{color:#c23a3a}.kpi-note[data-v-e0fbfea6]{font-size:11px;color:#8a97a8}.back-link[data-v-2e5cbd75]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-2e5cbd75]:hover{text-decoration:underline}.filter-bar[data-v-2e5cbd75]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-2e5cbd75]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-2e5cbd75]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-2e5cbd75]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.kpi-grid[data-v-2e5cbd75]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-2e5cbd75]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-2e5cbd75]{font-size:12px;color:#6b7a90}.kpi-value[data-v-2e5cbd75]{font-size:22px;font-weight:700;color:#1f342e}.kpi-value-danger[data-v-2e5cbd75]{color:#c23a3a}.kpi-note[data-v-2e5cbd75]{font-size:11px;color:#8a97a8}.back-link[data-v-3f87fab5]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-3f87fab5]:hover{text-decoration:underline}.filter-bar[data-v-3f87fab5]{display:flex;align-items:center;gap:12px;background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:10px 14px;margin-bottom:16px}.filter-bar label[data-v-3f87fab5]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7a90}.filter-bar select[data-v-3f87fab5]{height:32px;border:1px solid #d9e5f1;border-radius:8px;padding:0 8px;font-size:13px}.hint[data-v-3f87fab5]{color:#6b7a90;font-size:13px;margin:4px 0 10px}.back-link[data-v-28d8269c]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-28d8269c]:hover{text-decoration:underline}.static-badge[data-v-28d8269c]{display:inline-block;font-size:11px;font-weight:600;color:#a15c00;background:#fff2d9;border:1px solid #f0c674;border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:middle}.kpi-grid[data-v-28d8269c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-28d8269c]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-28d8269c]{font-size:12px;color:#6b7a90}.kpi-value[data-v-28d8269c]{font-size:22px;font-weight:700;color:#1f342e}.back-link[data-v-b9af4d8c]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-b9af4d8c]:hover{text-decoration:underline}.static-badge[data-v-b9af4d8c]{display:inline-block;font-size:11px;font-weight:600;color:#a15c00;background:#fff2d9;border:1px solid #f0c674;border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:middle}.kpi-grid[data-v-b9af4d8c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-b9af4d8c]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-b9af4d8c]{font-size:12px;color:#6b7a90}.kpi-value[data-v-b9af4d8c]{font-size:22px;font-weight:700;color:#1f342e}.back-link[data-v-6a996ab5]{display:inline-block;margin-bottom:12px;font-size:13px;color:#2f6bff;text-decoration:none}.back-link[data-v-6a996ab5]:hover{text-decoration:underline}.static-badge[data-v-6a996ab5]{display:inline-block;font-size:11px;font-weight:600;color:#a15c00;background:#fff2d9;border:1px solid #f0c674;border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:middle}.kpi-grid[data-v-6a996ab5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi-card[data-v-6a996ab5]{background:#ffffffe0;border:1px solid #d9e5f1;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-6a996ab5]{font-size:12px;color:#6b7a90}.kpi-value[data-v-6a996ab5]{font-size:22px;font-weight:700;color:#1f342e}:root{--th-ink: #102a4c;--th-ink-secondary: #1b4778;--th-primary: #2f6bff;--th-primary-alt: #4378f4;--th-primary-soft: #e8efff;--th-canvas: #f3f7fc;--th-surface: #ffffff;--th-border: #d8e3ef;--th-muted: #64748b;--th-success: #079b7c;--th-success-soft: #ddf7ef;--th-warning: #dc8512;--th-warning-soft: #fff3d9;--th-danger: #dc5158;--th-danger-soft: #ffeaec;--th-radius-control: 9px;--th-radius-card: 16px;--th-shadow-card: 0 9px 26px rgba(54, 95, 142, .05);--th-shadow-overlay: 0 20px 60px rgba(34, 82, 145, .16);--th-sidebar-width: 226px;--th-header-height: 72px;--gradient-primary: linear-gradient(135deg, #245fe7, #2f7cff);--gradient-feature: linear-gradient(135deg, #2862e4 0%, #3187f2 56%, #16a8c7 130%);--gradient-sidebar: linear-gradient(165deg, #0c2a55 0%, #0d4075 58%, #096580 125%);--color-primary: var(--th-primary);--color-primary-hover: #2158e0;--color-primary-soft: var(--th-primary-soft);--color-danger: var(--th-danger);--color-danger-soft: var(--th-danger-soft);--color-success: var(--th-success);--color-success-soft: var(--th-success-soft);--color-warning: var(--th-warning);--color-warning-soft: var(--th-warning-soft);--color-bg: var(--th-canvas);--color-bg-raised: var(--th-surface);--color-bg-muted: #eef3fa;--color-bg-sidebar: #0d3a68;--color-sidebar-hover: rgba(255, 255, 255, .08);--color-sidebar-active-bg: rgba(255, 255, 255, .14);--color-sidebar-active-border: #ffffff;--color-text: var(--th-ink);--color-text-secondary: var(--th-ink-secondary);--color-text-muted: var(--th-muted);--color-text-inverse: #ffffff;--color-border: var(--th-border);--color-border-strong: #c3d3e6;--radius: var(--th-radius-control);--radius-sm: 8px;--font-ui: "DM Sans", "Noto Sans SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--shadow-sm: 0 1px 2px rgba(16, 42, 76, .05);--shadow-md: 0 4px 6px rgba(16, 42, 76, .04), 0 10px 20px rgba(16, 42, 76, .05);--shadow-card: var(--th-shadow-card);--shadow-overlay: var(--th-shadow-overlay)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);background:var(--color-bg);color:var(--color-text);font-size:15px;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}h1,h2,h3{font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;border:1px solid var(--color-border-strong);background:var(--color-bg-raised);color:var(--color-text-secondary);padding:0 16px;border-radius:var(--radius);font-size:14px;font-weight:500;transition:border-color .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1)}.btn:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.btn:disabled{color:var(--color-text-muted);background:var(--color-bg-muted);cursor:not-allowed;border-color:var(--color-border)}.btn-primary{background:var(--gradient-primary);color:#fff;border-color:transparent}.btn-primary:hover{filter:brightness(1.05);color:#fff;box-shadow:0 6px 16px #2f6bff47}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.btn-danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}input,select,textarea{font-family:inherit;font-size:14px;height:38px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-text);transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1)}textarea{height:auto;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-active{background:var(--color-success-soft);color:var(--color-success)}.badge-inactive{background:var(--color-bg-muted);color:var(--color-text-muted)}.badge-role{background:var(--color-primary-soft);color:var(--color-primary)}.config-page .page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.config-page .page-head h1{margin:0;font-size:23px;letter-spacing:-.01em}.config-page .sub{margin:4px 0 0;color:var(--color-text-muted);font-size:14px}.config-page .toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.config-page .count{margin-left:auto;font-size:13px;color:var(--color-text-muted)}.config-page .error{background:var(--color-danger-soft);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:12px}.config-page .card{background:var(--color-bg-raised);border-radius:var(--th-radius-card);border:1px solid var(--color-border);box-shadow:var(--shadow-card);overflow:hidden}.config-page table{width:100%;border-collapse:collapse}.config-page th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-muted)}.config-page td{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:500;color:var(--color-text)}.config-page tr:last-child td{border-bottom:none}.config-page .empty{text-align:center;color:var(--color-text-muted);padding:32px}.config-page .row-actions{display:flex;gap:12px;white-space:nowrap}.config-page .link{background:none;border:none;padding:0;cursor:pointer;color:var(--color-primary);font-size:13px;font-weight:500}.config-page .link:hover{text-decoration:underline}.config-page .link-danger{color:var(--color-danger)}.config-page .overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;display:flex;align-items:center;justify-content:center;z-index:50}.config-page .modal{background:var(--color-bg-raised);border-radius:18px;padding:24px 28px;width:520px;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-overlay)}.config-page .modal h3{margin:0 0 18px;font-size:17px}.config-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.config-page .grid .full{grid-column:1 / -1}.config-page .grid label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--color-text-muted);font-weight:500}.config-page .actions{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}
