.confirm-mask[data-v-8afa4add]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-md)}.confirm-box[data-v-8afa4add]{width:100%;max-width:440px;display:grid;grid-template-columns:auto 1fr;gap:var(--space-md) var(--space-md);padding:var(--space-xl);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.confirm-icon[data-v-8afa4add]{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:700;background:var(--primary-light);color:var(--primary-dark)}.confirm-icon.danger[data-v-8afa4add]{background:var(--danger-light);color:var(--danger)}.confirm-main h3[data-v-8afa4add]{margin:0 0 6px;font-size:17px}.confirm-msg[data-v-8afa4add]{color:var(--text-secondary);font-size:14px;line-height:1.6;white-space:pre-line}.confirm-input[data-v-8afa4add]{display:flex;flex-direction:column;gap:6px;margin-top:var(--space)}.confirm-input label[data-v-8afa4add]{font-size:13px;font-weight:500;color:var(--text-secondary)}.confirm-input .error[data-v-8afa4add]{font-size:12px;color:var(--danger)}.confirm-foot[data-v-8afa4add]{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xs)}.confirm-enter-active[data-v-8afa4add],.confirm-leave-active[data-v-8afa4add]{transition:opacity .18s ease}.confirm-enter-active .confirm-box[data-v-8afa4add],.confirm-leave-active .confirm-box[data-v-8afa4add]{transition:transform .2s cubic-bezier(.4,0,.2,1)}.confirm-enter-from[data-v-8afa4add],.confirm-leave-to[data-v-8afa4add]{opacity:0}.confirm-enter-from .confirm-box[data-v-8afa4add]{transform:translateY(8px) scale(.97)}:root{font-family:Inter,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#0f172a;background:#f8fafc;--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #dbeafe;--primary-hover: #1d4ed8;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--info: #06b6d4;--info-light: #cffafe;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-disabled: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--bg-hover: #f8fafc;--bg-active: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--space-xs: 4px;--space-sm: 8px;--space: 12px;--space-md: 16px;--space-lg: 20px;--space-xl: 24px}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--primary-hover)}h1,h2,h3,h4{margin:0 0 var(--space-sm);font-weight:650;color:var(--text-primary);line-height:1.3}h1{font-size:24px;letter-spacing:-.02em}h2{font-size:18px}h3{font-size:16px}h4{font-size:14px}.page{padding:var(--space-xl);width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space);margin-bottom:var(--space-lg);flex-wrap:wrap}.page-head h1{margin:0;display:flex;align-items:center;gap:var(--space-sm)}.page-head .subtitle{color:var(--text-muted);font-size:14px;margin:var(--space-xs) 0 0;font-weight:400}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);gap:var(--space)}.card-head h2{margin:0;font-size:17px;font-weight:600}.toolbar{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--bg-hover);border-radius:var(--radius)}input,select,textarea,button{font:inherit}input,select,textarea{padding:9px 12px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;color:var(--text-primary);outline:none;transition:all .2s ease;font-size:14px;font-family:inherit}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:#cbd5e1;background:#fafbfc}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:#fff}input:disabled,select:disabled,textarea:disabled{background:var(--bg-active);color:var(--text-disabled);cursor:not-allowed;opacity:.7}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.6;height:24px}textarea{resize:vertical;min-height:80px;width:100%;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:9px 16px;border-radius:var(--radius);border:0;cursor:pointer;background:var(--primary);color:#fff;font-weight:500;font-size:14px;transition:all .2s ease;white-space:nowrap;box-shadow:var(--shadow-sm);line-height:1.5}.btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{background:#fff;color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn.ghost:hover:not(:disabled){background:var(--bg-hover);border-color:#cbd5e1}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){background:#dc2626}.btn.success{background:var(--success);color:#fff}.btn.success:hover:not(:disabled){background:#059669}.btn.sm{padding:6px 12px;font-size:13px}.btn.lg{padding:12px 20px;font-size:15px}.btn.link{background:none;color:var(--primary);padding:0 var(--space-xs);box-shadow:none}.btn.link:hover:not(:disabled){background:none;color:var(--primary-hover);transform:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.form-grid.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:var(--space-sm)}.field label{font-size:13px;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:var(--space-xs)}.field label .required{color:var(--danger);font-weight:600}.field label:has(+input:required):after,.field label:has(+select:required):after,.field label:has(+textarea:required):after{content:" *";color:var(--danger);font-weight:600}.field .hint{font-size:12px;color:var(--text-muted);margin-top:-4px}.field .error{font-size:12px;color:var(--danger);display:flex;align-items:center;gap:var(--space-xs)}.field .error:before{content:"⚠"}.form-section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-light)}.form-section:first-child{margin-top:0;padding-top:0;border-top:none}.form-section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.form-section-title:before{content:"";width:3px;height:18px;background:var(--primary);border-radius:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:all .2s ease;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--border);transition:background .2s ease}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat .label{color:var(--text-muted);font-size:13px;font-weight:500;margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.stat .value{font-size:28px;font-weight:700;margin-top:var(--space-xs);color:var(--text-primary);line-height:1.2}.stat.warn:before{background:var(--warning)}.stat.warn .value{color:var(--warning)}.stat.danger:before{background:var(--danger)}.stat.danger .value{color:var(--danger)}.stat.ok:before{background:var(--success)}.stat.ok .value{color:var(--success)}.stat.info:before{background:var(--info)}.stat.info .value{color:var(--info)}.text-right{text-align:right}.text-center{text-align:center}.muted{color:var(--text-muted)}.text-sm{font-size:13px}.text-xs{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,Consolas,monospace}.divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.divider-h{height:1px;width:100%;background:var(--border);margin:var(--space-md) 0}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;margin-bottom:var(--space-sm)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--space)}.empty-state{text-align:center;padding:var(--space-xl) var(--space);color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space);opacity:.3;-webkit-user-select:none;user-select:none}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.empty-state-text{font-size:14px;margin-bottom:var(--space-md)}.input-group{display:flex;align-items:stretch}.input-group>input,.input-group>select,.input-group>button,.input-group>.input-prefix,.input-group>.input-suffix{border-radius:0;margin:0}.input-group>*:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.input-group>*:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.input-group>*+*{border-left-width:0}.input-group>*:focus{position:relative;z-index:1;border-left-width:1px}.input-prefix,.input-suffix{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);font-size:14px;white-space:nowrap;-webkit-user-select:none;user-select:none}.field.success input,.field.success select,.field.success textarea{border-color:var(--success)}.field.success input:focus,.field.success select:focus,.field.success textarea:focus{box-shadow:0 0 0 3px var(--success-light)}.field.error input,.field.error select,.field.error textarea{border-color:var(--danger)}.field.error input:focus,.field.error select:focus,.field.error textarea:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-light)}.field.warning input,.field.warning select,.field.warning textarea{border-color:var(--warning)}.field.warning input:focus,.field.warning select:focus,.field.warning textarea:focus{box-shadow:0 0 0 3px var(--warning-light)}@media (max-width: 768px){.page{padding:var(--space-md)}.form-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.toolbar{padding:var(--space-xs)}}
