:root{--admin-primary: #8f294f;--admin-primary-hover: #70203e;--admin-primary-soft: #f8e9ef;--admin-primary-gradient: linear-gradient(110deg, #974362, #be708c);--admin-success: #52c41a;--admin-warning: #faad14;--admin-danger: #ff4d4f;--admin-info: #1890ff;--admin-sidebar-bg: #43323d;--admin-sidebar-text: #eadde3;--admin-sidebar-hover: #5d4351;--admin-page-bg: #fcfaf9;--admin-card-bg: #ffffff;--admin-title-color: #49313e;--admin-text-color: #5f4a55;--admin-muted-color: #81727a;--admin-border-color: #e8dedf;--admin-divider-color: #f2e9ec;--admin-header-height: 64px;--admin-sidebar-width: 220px;--admin-sidebar-collapsed-width: 64px;--admin-content-padding: 24px;--admin-card-radius: 8px;--admin-control-radius: 6px;--admin-control-height: 36px;--admin-table-row-height: 52px;--admin-table-header-height: 44px;--admin-surface: var(--admin-card-bg);--admin-border: var(--admin-border-color);--admin-text: var(--admin-title-color);--admin-muted: var(--admin-muted-color);--admin-text-muted: var(--admin-muted-color);--admin-card-shadow: 0 1px 4px rgba(26, 26, 46, .08);--admin-card-shadow-hover: 0 4px 12px rgba(26, 26, 46, .12);--bg: var(--admin-page-bg);--bg-soft: #fdf6f8;--bg-strong: #f5e8ed;--surface: var(--admin-card-bg);--surface-soft: #fcf7f9;--surface-raised: #ffffff;--surface-overlay: rgba(255, 255, 255, .96);--border: var(--admin-border-color);--border-soft: var(--admin-divider-color);--border-focus: rgba(143, 41, 79, .42);--text: var(--admin-title-color);--text-soft: var(--admin-text-color);--text-muted: var(--admin-muted-color);--text-inverse: #ffffff;--primary: var(--admin-primary);--primary-strong: var(--admin-primary-hover);--primary-deep: #6f1f3c;--primary-soft: var(--admin-primary-soft);--primary-glow: rgba(143, 41, 79, .16);--success: var(--admin-success);--success-soft: #e8f7ee;--warning: var(--admin-warning);--warning-soft: #fff6e5;--danger: var(--admin-danger);--danger-soft: #feeceb;--info: var(--admin-info);--info-soft: #e6f7ff;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: var(--admin-card-shadow);--shadow-md: var(--admin-card-shadow-hover);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12);--shadow-xl: 0 24px 64px rgba(15, 23, 42, .18);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--sidebar-width: var(--admin-sidebar-width);color:var(--text);background:var(--bg);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:14px;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-admin-theme=blue]{--admin-primary: #41718f;--admin-primary-hover: #315a74;--admin-primary-soft: #eaf4f8;--admin-primary-gradient: linear-gradient(110deg, #477a99, #80afc6);--admin-sidebar-bg: #304a5a;--admin-sidebar-text: #d9e7ee;--admin-sidebar-hover: #3d5d70;--admin-page-bg: #f7fbfd;--admin-title-color: #293d4a;--admin-text-color: #405d6e;--admin-muted-color: #5a7280;--admin-border-color: #d5e5ed;--admin-divider-color: #e7f0f4;--bg-soft: #f1f8fb;--bg-strong: #e3eff5;--surface-soft: #f5fafc;--border-focus: rgba(65, 113, 143, .42);--primary-deep: #315a74;--primary-glow: rgba(65, 113, 143, .16)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--admin-page-bg);color:var(--text);min-width:320px;overflow:hidden}::selection{background:var(--admin-primary-soft);color:var(--text)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-thumb{background:#c4cdd9;border:2px solid transparent;border-radius:var(--radius-full);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#a3aeba}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}h1,h2,h3{margin:0;font-weight:700;letter-spacing:0}h1{color:#101828;font-size:clamp(22px,2vw,28px);line-height:1.25}button{align-items:center;background:var(--primary);border:0;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:8px;height:40px;justify-content:center;padding:0 14px;transition:background var(--duration-100) var(--ease-out),box-shadow var(--duration-100) var(--ease-out),transform var(--duration-100) var(--ease-out),opacity var(--duration-100) var(--ease-out);-webkit-user-select:none;user-select:none;white-space:nowrap}button:hover:not(:disabled){background:var(--primary-strong);box-shadow:0 2px 8px var(--primary-glow)}button:active:not(:disabled){transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font:inherit;letter-spacing:0}.filter-input,.filter-select,.login-input,.policy-textarea{background:var(--surface);border:1px solid #d0d5dd;border-radius:var(--radius-sm);color:var(--text);height:40px;min-width:0;padding:0 12px;transition:border-color var(--duration-100) var(--ease-out),box-shadow var(--duration-100) var(--ease-out);width:100%}.policy-textarea{height:auto;min-height:112px;padding:10px 12px;resize:vertical}.filter-input:focus,.filter-select:focus,.login-input:focus,.policy-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.filter-input::placeholder,.login-input::placeholder{color:var(--text-muted)}.link-button{background:transparent;color:var(--primary);font-size:13px;font-weight:600;height:auto;padding:0}.link-button:hover:not(:disabled){background:transparent;box-shadow:none;text-decoration:underline}.secondary-button{background:#f2f4f7;color:#344054}.secondary-button:hover:not(:disabled){background:#e5e8ed;box-shadow:var(--shadow-sm)}.small-button{font-size:12px;height:32px;padding:0 10px}.small-button.muted{background:var(--danger)}.small-button.muted:hover:not(:disabled){background:#b91c1c}.small-button.secondary{background:#f2f4f7;color:#344054}.copy-link{background:#f2f4f7;border-radius:4px;color:var(--primary);font-size:12px;font-weight:600;height:24px;padding:0 6px}.eyebrow{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0 0 6px}.admin-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100vh;background:var(--bg);overflow:hidden}.sidebar{background:linear-gradient(180deg,#0a1222,#111d33 40%,#162544);box-shadow:inset -1px 0 #ffffff0d;color:#e5e7eb;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:18px 14px;position:relative;z-index:10;-webkit-user-select:none;user-select:none}.brand{align-items:center;display:flex;font-size:16px;font-weight:700;gap:10px;margin-bottom:24px;padding:2px 4px;letter-spacing:-.01em}.brand-mark{align-items:center;background:var(--admin-primary-gradient);border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-size:13px;font-weight:800;height:34px;justify-content:center;letter-spacing:.04em;width:34px;box-shadow:0 2px 12px #2563eb52;transition:box-shadow var(--duration-200) var(--ease-out)}.brand:hover .brand-mark{box-shadow:0 4px 18px #2563eb6b}.sidebar-section{margin-bottom:4px}.sidebar-section-label{color:#ffffff47;font-size:10px;font-weight:700;letter-spacing:.08em;padding:10px 10px 6px;text-transform:uppercase;white-space:nowrap}.sidebar-nav{display:grid;gap:1px}.sidebar-item{align-items:center;background:transparent;border-radius:var(--radius-sm);color:#b0bdd4;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;height:34px;justify-content:flex-start;padding:0 10px;text-align:left;transition:background var(--duration-100) var(--ease-out),color var(--duration-100) var(--ease-out),box-shadow var(--duration-100) var(--ease-out);width:100%;position:relative}.sidebar-item:hover{background:#ffffff0f;color:#fff;box-shadow:none;transform:none}.sidebar-item.active{background:#2563eb2e;color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--primary)}.sidebar-item .nav-icon{align-items:center;display:inline-flex;font-size:15px;justify-content:center;width:20px;opacity:.55;transition:opacity var(--duration-100) var(--ease-out)}.sidebar-item.active .nav-icon,.sidebar-item:hover .nav-icon{opacity:1}.sidebar-badge{background:var(--danger);border-radius:var(--radius-full);color:#fff;font-size:10px;font-weight:700;line-height:1;margin-left:auto;padding:2px 6px;animation:badge-pulse 2s var(--ease-in-out) infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.sidebar-footer{border-top:1px solid rgba(255,255,255,.06);margin-top:auto;padding-top:10px}.sidebar-footer .sidebar-item{color:#7a8ba8}.workspace{min-width:0;height:100vh;overflow-y:auto;padding:68px 28px 28px;position:relative;scroll-behavior:smooth}.topbar{align-items:center;background:var(--surface-overlay);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border-bottom:1px solid var(--border);display:flex;gap:16px;height:56px;justify-content:space-between;left:var(--sidebar-width);padding:0 24px;position:fixed;right:0;top:0;z-index:30}.topbar .eyebrow{display:none}.topbar h1{font-size:15px;font-weight:700;line-height:1;letter-spacing:-.01em}.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:640px}.topbar-actions .admin-user-chip{align-items:center;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-full);color:var(--text-soft);display:inline-flex;font-size:11px;font-weight:600;gap:8px;height:32px;padding:0 12px}.topbar-actions .admin-avatar{background:var(--admin-primary-gradient);border-radius:50%;color:#fff;font-size:11px;font-weight:800;height:22px;line-height:22px;text-align:center;width:22px}.topbar-breadcrumb{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.topbar-breadcrumb span:last-child{color:var(--text);font-weight:600}.login-page{align-items:center;background:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.04),transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(124,58,237,.03),transparent 50%),linear-gradient(180deg,#f4f7fd,#eef2f9);display:flex;min-height:100vh;justify-content:center;padding:24px}.login-frame{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,440px);width:min(1140px,calc(100vw - 48px));min-height:660px;background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl),0 0 0 1px #0f172a0a}.login-hero{background:radial-gradient(ellipse at 30% 20%,rgba(37,99,235,.15),transparent 55%),radial-gradient(ellipse at 70% 80%,rgba(124,58,237,.12),transparent 55%),linear-gradient(160deg,#0c1e3c,#0f2748 30%,#132b4a);color:#fff;display:grid;align-content:center;gap:36px;padding:56px;position:relative;overflow:hidden}.login-hero:after{background:#f8f9fb;border-radius:50% 0 0 50%;bottom:0;content:"";position:absolute;right:-2px;top:0;width:48px}.login-brand{align-items:center;display:flex;gap:14px;position:relative;z-index:1}.login-brand-mark{align-items:center;background:var(--admin-primary-gradient);border-radius:var(--radius-md);color:#fff;display:inline-flex;font-size:14px;font-weight:800;height:44px;justify-content:center;letter-spacing:.04em;width:44px;box-shadow:0 4px 18px #2563eb66}.login-brand-text strong{font-size:26px;font-weight:700;letter-spacing:-.02em;display:block}.login-brand-text span{color:#fff9;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.login-hero h1{color:#fff;font-size:clamp(28px,2.5vw,38px);font-weight:700;letter-spacing:-.03em;margin:0;position:relative;z-index:1;line-height:1.2}.login-hero p{color:#ffffffa6;font-size:15px;line-height:1.75;margin:0;position:relative;z-index:1}.login-hero small{color:#fff6;font-size:11px;letter-spacing:.02em;position:relative;z-index:1}.login-panel{background:#fff;display:grid;align-content:center;gap:22px;padding:56px 52px;position:relative;z-index:1}.login-panel-head{display:flex;align-items:baseline;justify-content:space-between}.login-panel-head h2{color:#101828;font-size:28px;font-weight:700;letter-spacing:-.02em}.login-panel-head span{color:var(--text-muted);font-size:12px;font-weight:500}.login-field{display:grid;gap:6px}.login-field label{color:#344054;font-size:13px;font-weight:600}.login-input{background:#fff;border:1px solid #d0d5dd;border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:15px;height:46px;padding:0 14px;transition:border-color var(--duration-100) var(--ease-out),box-shadow var(--duration-100) var(--ease-out);width:100%}.login-options{align-items:center;display:flex;justify-content:space-between}.remember-row{align-items:center;color:#344054;display:inline-flex;gap:8px;font-size:13px;cursor:pointer}.remember-row input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;cursor:pointer}.ghost-link{background:transparent;color:var(--primary);font-size:13px;font-weight:600;height:auto;padding:0}.ghost-link:hover{background:transparent;box-shadow:none;text-decoration:underline}.login-submit{background:var(--admin-primary-gradient);border-radius:var(--radius-sm);box-shadow:0 2px 14px var(--primary-glow);font-size:15px;font-weight:700;height:48px;justify-content:center;letter-spacing:.01em;width:100%;transition:transform var(--duration-100) var(--ease-out),box-shadow var(--duration-100) var(--ease-out)}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-strong),var(--primary-deep));box-shadow:0 4px 22px var(--primary-glow);transform:translateY(-1px)}.login-error{background:var(--danger-soft);border:1px solid rgba(220,38,38,.15);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;font-weight:600;padding:12px 14px;display:flex;align-items:center;gap:8px}.login-hint{color:var(--text-soft);font-size:12px;line-height:1.65;margin:0}.login-hint code{background:#f2f4f7;border-radius:3px;font-size:11px;padding:2px 6px;font-weight:600}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:24px;z-index:140}.toast{align-items:center;animation:toast-slide-in .35s var(--ease-out);background:#101828;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:13px;font-weight:500;gap:10px;max-width:400px;padding:12px 16px;pointer-events:auto}.toast.leaving{animation:toast-slide-out .2s var(--ease-out) forwards}.toast.success{border-left:3px solid #22c55e}.toast.error{border-left:3px solid #ef4444}.toast.warning{border-left:3px solid #f59e0b}.toast.info{border-left:3px solid #60a5fa}.toast-icon{flex-shrink:0;font-size:16px;line-height:1}.toast.success .toast-icon{color:#22c55e}.toast.error .toast-icon{color:#ef4444}.toast.warning .toast-icon{color:#f59e0b}.toast.info .toast-icon{color:#60a5fa}.toast-close{background:#ffffff1a;border-radius:4px;color:#fff9;cursor:pointer;flex-shrink:0;font-size:14px;height:20px;line-height:1;margin-left:auto;padding:0;width:20px}.toast-close:hover{background:#ffffff2e;box-shadow:none;color:#fff}@keyframes toast-slide-in{0%{opacity:0;transform:translate(24px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(24px) scale(.95)}}.confirm-overlay{align-items:center;background:#0f172a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;inset:0;padding:24px;position:fixed;z-index:130;animation:fade-in .15s var(--ease-out)}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:grid;gap:20px;max-width:420px;padding:28px;width:100%;animation:dialog-scale-in .2s var(--ease-out)}.confirm-dialog h3{color:#101828;font-size:16px;font-weight:700;letter-spacing:-.01em}.confirm-dialog p{color:var(--text-soft);font-size:14px;line-height:1.6;margin:0}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-actions button{font-size:13px;font-weight:700;height:38px;padding:0 18px}.confirm-cancel{background:#f2f4f7;color:#344054}.confirm-cancel:hover:not(:disabled){background:#e5e8ed}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--surface-soft) 25%,#eef1f6 38%,var(--surface-soft) 65%);background-size:400% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-text{height:13px;margin-bottom:10px;width:100%}.skeleton-text:nth-last-child(2){width:75%}.skeleton-text:last-child{width:50%}.skeleton-heading{height:20px;margin-bottom:16px;width:35%}.skeleton-card{height:120px;margin-bottom:14px;width:100%}.skeleton-row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.skeleton-metric{height:132px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:180px;padding:40px 20px;text-align:center}.empty-state-icon{color:var(--text-muted);font-size:36px;line-height:1;margin-bottom:4px;opacity:.5}.empty-state-title{color:var(--text-soft);font-size:14px;font-weight:600}.empty-state-text{color:var(--text-muted);font-size:12px;line-height:1.5;max-width:320px}.metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:grid;gap:12px;min-height:132px;padding:22px;position:relative;overflow:hidden;transition:border-color var(--duration-200) var(--ease-out),box-shadow var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out)}.metric:before{content:"";position:absolute;inset:0;background:var(--primary-soft);opacity:0;transition:opacity var(--duration-200) var(--ease-out)}.metric:hover{border-color:var(--primary);box-shadow:var(--shadow-md),0 0 0 1px var(--primary-glow);transform:translateY(-2px)}.metric:hover:before{opacity:.5}.metric-icon{align-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-weight:800;font-size:16px;height:38px;justify-content:center;position:relative;z-index:1;width:38px}.metric span{color:var(--text-soft);font-size:13px;font-weight:600;position:relative;z-index:1}.metric strong{color:#101828;font-size:32px;font-weight:700;line-height:1;letter-spacing:-.03em;position:relative;z-index:1}.metric.attention .metric-icon{background:var(--warning-soft);color:var(--warning)}.metric.danger .metric-icon{background:var(--danger-soft);color:var(--danger)}.metric-trend{align-items:center;display:flex;font-size:11px;font-weight:700;gap:4px;position:relative;z-index:1}.metric-trend.up{color:var(--success)}.metric-trend.down{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden;transition:border-color var(--duration-200) var(--ease-out),box-shadow var(--duration-200) var(--ease-out)}.panel:hover{border-color:#cdd6e2;box-shadow:var(--shadow-sm)}.panel-heading{align-items:center;background:#fff;border-bottom:1px solid var(--border-soft);display:flex;gap:12px;justify-content:space-between;padding:14px 20px}.panel h2{color:#101828;font-size:15px;font-weight:700;letter-spacing:-.01em}.panel-subtitle{color:var(--text-soft);font-size:12px;font-weight:500;margin:3px 0 0}.table-wrap{overflow-x:auto;position:relative;scrollbar-gutter:stable}.table-wrap table{min-width:1080px}table{border-collapse:collapse;min-width:720px;width:100%}th,td{border-bottom:1px solid var(--border-soft);font-size:13px;padding:12px 16px;text-align:left;white-space:nowrap}th{background:#f9fafb;color:#667085;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0;z-index:2}td{color:#344054;vertical-align:middle;transition:background var(--duration-75) var(--ease-out)}tbody tr:hover td{background:#f8faff}tbody tr:last-child td{border-bottom:0}th[aria-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}th[aria-sort]:hover{color:var(--text)}th[aria-sort=ascending]:after{content:" ↑"}th[aria-sort=descending]:after{content:" ↓"}.empty{color:var(--text-muted);font-size:13px;font-weight:500;height:72px;text-align:center}.muted-cell{color:var(--text-soft);max-width:280px;overflow:hidden;text-overflow:ellipsis}.status-badge{border-radius:var(--radius-full);display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.01em;line-height:1;padding:5px 10px;white-space:nowrap}.status-badge.queued,.status-badge.processing{background:var(--info-soft);color:var(--info)}.status-badge.completed{background:var(--success-soft);color:var(--success)}.status-badge.approved{background:var(--primary-soft);color:var(--primary-deep)}.status-badge.failed,.status-badge.rejected{background:var(--danger-soft);color:var(--danger)}.status-badge.pending{background:var(--warning-soft);color:var(--warning)}.status-badge.audit{background:#eef2f7;color:#344054}.status-badge.processing{animation:processing-pulse 2s var(--ease-in-out) infinite}@keyframes processing-pulse{0%,to{opacity:1}50%{opacity:.6}}.pagination{align-items:center;background:#fff;border-top:1px solid var(--border-soft);color:var(--text-soft);display:flex;gap:12px;justify-content:flex-end;padding:12px 20px;font-size:13px;font-weight:500}.pagination button{background:transparent;color:var(--text-soft);font-size:13px;height:32px;min-width:32px;padding:0 8px}.pagination button:hover:not(:disabled){background:var(--surface-soft);box-shadow:none}.pagination button.active{background:var(--primary);color:#fff}.pagination button.active:hover:not(:disabled){background:var(--primary-strong)}.filters{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));margin-bottom:20px}.filter-group{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:86px minmax(0,1fr);min-width:0;padding:10px 12px;box-shadow:var(--shadow-xs);transition:border-color var(--duration-100)}.filter-group:focus-within{border-color:var(--border-focus)}.filter-group.wide{grid-column:span 2;grid-template-columns:86px minmax(0,1fr) 128px 128px}.filter-group:not(.wide) .filter-select{grid-column:1 / -1}.filter-group span{color:#344054;font-size:13px;font-weight:600;white-space:nowrap}.filter-clear{align-self:stretch;background:#f2f4f7;color:#344054;justify-content:center;min-height:62px}.alert-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:14px;margin-bottom:24px;padding:18px 22px}.alert-panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.alert-panel h2{color:#101828;font-size:16px;font-weight:700}.alert-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.alert-summary span{background:#f2f4f7;border-radius:var(--radius-sm);color:#344054;font-size:12px;font-weight:700;padding:6px 10px}.alert-columns{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.alert-columns h3{color:#101828;font-size:13px;font-weight:700;margin:0 0 10px}.alert-task{align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-sm);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-top:8px;padding:10px 14px;transition:border-color var(--duration-100),box-shadow var(--duration-100)}.alert-task:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.alert-task div:first-child{display:grid;gap:4px;min-width:0}.alert-task strong,.alert-task span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-task strong{color:#101828;font-size:13px}.alert-task span,.empty-note{color:var(--text-soft);font-size:12px}.alert-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.service-status{align-items:start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);display:grid;gap:16px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);margin-bottom:24px;padding:22px}.service-status.compact{margin-top:-8px}.service-status-main{align-items:center;display:flex;gap:12px;min-width:0}.service-status-main h2{font-size:15px;font-weight:700;line-height:1.25}.service-status-main small{color:var(--text-soft);display:block;font-size:12px;margin-top:4px}.status-dot{border-radius:var(--radius-full);flex:0 0 auto;height:10px;width:10px}.status-dot.default{background:#6f7d6f}.status-dot.active{background:var(--success)}.status-dot.mock{background:#f59e0b}.status-dot.danger{background:#ef4444}.service-status-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));min-width:0}.service-status-grid span{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-soft);font-size:12px;line-height:1.4;min-width:0;overflow-wrap:anywhere;padding:8px 10px}.config-checklist{display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));min-width:0}.config-check{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;gap:10px;min-width:0;padding:14px}.config-check strong{color:#111827;display:block;font-size:13px}.config-check small{color:var(--text-soft);display:block;font-size:12px;line-height:1.45;margin-top:4px}.smoke-test-panel{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)}.smoke-test-form{display:grid;gap:10px;grid-template-columns:130px minmax(220px,1fr) minmax(180px,.8fr) auto auto;min-width:0}.smoke-test-result{grid-column:1 / -1}.onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.request-preview{display:grid;gap:10px;grid-column:1 / -1;min-width:0}.request-preview pre{background:#0f172a;border-radius:var(--radius-sm);color:#e2e8f0;font-family:JetBrains Mono,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65;margin:0;max-height:320px;min-width:0;overflow:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.request-preview-variants{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.request-preview-variant{display:grid;gap:8px;min-width:0}.request-preview-title{align-items:center;color:#344054;display:flex;font-size:13px;font-weight:600;gap:8px}.request-preview-title span{background:var(--primary-soft);border-radius:var(--radius-full);color:var(--primary-deep);font-size:11px;font-weight:700;padding:2px 8px}.callback-contract-panel .request-preview{margin-top:10px}.provider-bundle-preview pre{max-height:420px}.callback-examples{grid-template-columns:repeat(3,minmax(0,1fr))}.callback-rules{color:var(--text-soft);display:grid;font-size:13px;gap:6px;grid-column:1 / -1;line-height:1.5;margin:0;padding-left:18px}.policy-layout{display:grid;gap:16px;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);padding:16px 20px 20px}.policy-form{display:grid;gap:10px}.checkbox-row{align-items:center;color:var(--text);display:inline-flex;font-size:13px;gap:8px;cursor:pointer}.checkbox-row input[type=checkbox]{accent-color:var(--primary)}.policy-list{display:grid;gap:10px}.policy-item{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:grid;gap:6px;padding:14px;transition:border-color var(--duration-100)}.policy-item.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-glow)}.policy-item div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.policy-item span,.policy-item small{color:var(--text-soft)}.policy-item p{color:var(--text);line-height:1.5;margin:0}.bulk-bar{align-items:center;background:#f0f4ff;border-bottom:1px solid #d6e0f5;display:flex;flex-wrap:wrap;gap:10px;padding:10px 20px;animation:bulk-bar-in .2s var(--ease-out)}@keyframes bulk-bar-in{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-count{color:var(--primary-deep);font-size:13px;font-weight:700;margin-right:auto}.user-detail{background:var(--surface-soft);border-top:1px solid var(--border-soft);display:grid;gap:16px;padding:18px 22px 22px;animation:slide-down-in .25s var(--ease-out)}@keyframes slide-down-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.user-detail-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.user-detail-heading div{display:grid;gap:4px;min-width:0}.user-detail-heading strong{color:var(--text);font-size:15px}.user-detail-heading span{color:var(--text-soft);font-size:12px;overflow:hidden;text-overflow:ellipsis}.user-detail-metrics,.user-detail-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.user-detail-metrics span{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:#344054;font-size:13px;font-weight:700;padding:10px 12px}.user-detail-grid>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:14px}.user-detail-grid h3{color:#101828;font-size:14px;margin:0 0 10px}.user-detail-grid p{color:var(--text-soft);font-size:13px;margin:7px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-assets{align-items:flex-start;display:flex;flex-direction:column;gap:6px;min-width:128px}.model-assets small{color:var(--text-soft);font-size:12px}.model-asset-row{align-items:center;display:flex;gap:8px;max-width:220px}.model-asset-row .link-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-backdrop{align-items:center;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;inset:0;padding:24px;position:fixed;z-index:80;animation:fade-in .15s var(--ease-out)}.preview-image{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);max-height:86vh;max-width:86vw;object-fit:contain}.model-preview{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);height:min(720px,86vh);overflow:hidden;position:relative;width:min(880px,92vw)}.model-preview model-viewer{background:#f3f4f6;height:100%;width:100%}.preview-close{align-items:center;background:#0f172ad9;border-radius:var(--radius-full);color:#fff;display:flex;font-size:14px;height:34px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;width:34px;z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.preview-close:hover{background:#0f172af2}.events-panel{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);max-height:86vh;overflow:hidden;width:min(760px,92vw)}.events-heading{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:16px 20px}.events-heading div{display:grid;gap:4px;min-width:0}.events-heading span{color:var(--text-soft);font-size:13px}.events-heading strong{color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.events-list{max-height:calc(86vh - 72px);overflow-y:auto;padding:6px 0}.event-row{display:grid;gap:16px;grid-template-columns:88px minmax(0,1fr);padding:14px 20px;transition:background var(--duration-75)}.event-row:hover{background:var(--surface-soft)}.event-row+.event-row{border-top:1px solid var(--border-soft)}.event-time{color:var(--text-soft);font-size:12px;line-height:1.5}.event-body{display:grid;gap:7px;min-width:0}.event-title{align-items:center;color:var(--text-soft);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.event-body p{color:#344054;font-size:14px;margin:0}.event-body small{color:var(--text-soft);overflow-wrap:anywhere}.progress-cell{display:grid;gap:3px;min-width:88px}.progress-cell span{color:#101828;font-weight:700}.progress-cell small{color:var(--text-soft);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{background:var(--surface-soft);border-radius:var(--radius-full);height:6px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:var(--radius-full);height:100%;transition:width .5s var(--ease-out)}.check-cell{align-items:center;color:#344054;display:inline-flex;font-size:13px;gap:8px;white-space:nowrap}.select-col{text-align:center;width:42px}.thumb{background:#eef2f7;border-radius:var(--radius-sm);cursor:zoom-in;display:block;height:46px;object-fit:cover;outline:1px solid rgba(15,23,42,.06);transition:transform var(--duration-150) var(--ease-out),box-shadow var(--duration-150) var(--ease-out);width:46px}.thumb:hover{box-shadow:var(--shadow-md);transform:scale(1.08)}.row-actions{display:flex;flex-wrap:wrap;gap:4px;min-width:170px}.error{background:var(--danger-soft);border:1px solid rgba(220,38,38,.15);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;font-weight:600;margin-bottom:16px;padding:12px 14px;display:flex;align-items:center;gap:8px}.data-grid{display:grid;gap:20px;min-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.workspace>*{animation:none}}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:68px 16px 20px}.topbar{left:0;padding:0 16px;flex-wrap:wrap;gap:8px;height:auto;min-height:56px}.service-status,.smoke-test-form,.metrics,.filters{grid-template-columns:1fr}.filter-group,.filter-group.wide{grid-column:auto;grid-template-columns:1fr}.policy-layout,.request-preview-variants,.callback-examples{grid-template-columns:1fr}.panel-heading,.alert-panel-heading,.user-detail-heading{align-items:flex-start;flex-direction:column}.pagination{justify-content:center}.login-frame{grid-template-columns:1fr}.login-hero,.login-panel{padding:40px 32px}}@media(min-width:1400px){.metrics{grid-template-columns:repeat(4,minmax(180px,1fr))}}@media(max-width:560px){.topbar-actions button,.topbar-actions .secondary-button{flex:1 1 150px}.service-status,.metric,.panel-heading,.bulk-bar,.pagination,.policy-layout,.user-detail{padding-left:14px;padding-right:14px}th,td{padding-left:12px;padding-right:12px}}.admin-theme-switch{align-items:center;background:var(--admin-primary-soft);border:1px solid var(--admin-border-color);border-radius:6px;display:inline-flex;flex:0 0 auto;gap:2px;padding:3px}.admin-theme-choice{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--admin-text-color);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:5px;height:28px;justify-content:center;padding:0 8px;white-space:nowrap}.admin-theme-choice.active{background:#fff;box-shadow:var(--shadow-xs);color:var(--admin-title-color);font-weight:700}.admin-theme-choice:hover:not(:disabled){background:#fff}.admin-theme-choice:focus-visible{outline:2px solid var(--admin-primary);outline-offset:2px}.admin-theme-swatch{border:1px solid rgba(0,0,0,.12);border-radius:50%;height:10px;width:10px}.admin-theme-choice.rose .admin-theme-swatch{background:#d97d9d}.admin-theme-choice.blue .admin-theme-swatch{background:#81a9bf}.login-page{background:var(--admin-page-bg);position:relative}.login-page>.admin-theme-switch{position:absolute;right:24px;top:20px;z-index:2}.login-frame{border:1px solid var(--admin-border-color);border-radius:8px;box-shadow:0 16px 44px var(--primary-glow)}.login-hero{background:var(--admin-primary-gradient)}.login-hero:after{display:none}.login-brand-mark,.brand-mark,.topbar-actions .admin-avatar{background:var(--admin-primary-gradient);box-shadow:none}.login-hero h1{font-size:32px;letter-spacing:0}.login-panel{background:var(--admin-card-bg)}.login-panel-head h2,.login-field label{color:var(--admin-title-color)}.login-input{border-color:var(--admin-border-color)}.login-input:focus-visible{border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--primary-glow);outline:0}.login-submit{background:var(--admin-primary-gradient)}.login-submit:hover:not(:disabled){background:var(--admin-primary-hover)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:var(--admin-primary)}input[type=checkbox],input[type=radio]{accent-color:var(--admin-primary)}@media(max-width:720px){.login-page{align-items:flex-start;overflow-y:auto;padding:64px 16px 16px}.login-page>.admin-theme-switch{right:16px;top:16px}.login-frame{min-height:0;width:100%}.login-hero,.login-panel{padding:28px}}
