:root{--brand-primary:#2563eb;--brand-primary-hover:#1d4ed8;--brand-primary-light:#eff6ff;--brand-primary-muted:#dbeafe;--brand-admin:#6366f1;--brand-admin-hover:#4f46e5;--brand-admin-light:#eef2ff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--color-bg-base:#f1f5f9;--color-bg-elevated:#fff;--color-bg-subtle:#f8fafc;--color-bg-sidebar-user:#fff;--color-bg-sidebar-admin:#0f172a;--color-bg-sidebar-admin-hover:#1e293b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-focus:var(--brand-primary);--color-success:#059669;--color-success-bg:#ecfdf5;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-info:#0284c7;--color-info-bg:#f0f9ff;--color-agent:#7c3aed;--color-agent-bg:#f5f3ff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--shadow-modal:0 24px 48px #0f172a29;--font-sans:"PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--leading-tight:1.35;--leading-normal:1.5;--sidebar-width:256px;--sidebar-width-admin:240px;--topbar-height:52px;--content-max-width:1280px;--transition-fast:.15s ease;--transition-base:.2s ease;--bg:var(--color-bg-base);--card:var(--color-bg-elevated);--text:var(--color-text-primary);--muted:var(--color-text-secondary);--accent:var(--brand-primary);--accent-light:var(--brand-primary-light);--admin:var(--brand-admin);--admin-light:var(--brand-admin-light);--user:var(--color-success);--user-light:var(--color-success-bg);--border:var(--color-border);--danger:var(--color-danger);--warning:var(--color-warning);--success:var(--color-success);--control-height:36px;--control-height-lg:40px;--control-padding-x:11px;--control-padding-y:4px;--control-font-size:var(--text-md);--control-border-color:#d9d9d9;--control-border-color-hover:var(--brand-primary);--control-bg:var(--color-bg-elevated);--control-bg-disabled:#f5f5f5;--control-bg-readonly:#fafafa;--control-text-disabled:#0f172a59;--control-text-readonly:var(--color-text-secondary);--control-shadow-focus:0 0 0 2px #2563eb1f;--control-shadow-focus-admin:0 0 0 2px #6366f124;--control-transition:border-color .2s, box-shadow .2s, background .2s;--select-dropdown-shadow:0 6px 16px #0f172a14, 0 3px 6px #0f172a0a, 0 9px 28px #0f172a0d;--select-dropdown-radius:8px;--select-option-hover-bg:#f5f5f5;--select-option-selected-bg:#e6f4ff;--select-option-selected-color:var(--brand-primary);--select-option-active-bg:#2563eb14}.admin-layout{--control-border-color-hover:var(--brand-admin);--control-shadow-focus:var(--control-shadow-focus-admin);--select-option-hover-bg:#f5f5f5;--select-option-selected-bg:#f0f0ff;--select-option-selected-color:var(--brand-admin);--select-option-active-bg:#6366f114}.form-row{margin-bottom:var(--space-4)}.form-row label,.panel-form-grid .form-field label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500;line-height:var(--leading-tight);display:block}.form-row label{margin-bottom:var(--space-2)}.form-label-row{margin-bottom:var(--space-2);align-items:center;gap:2px;display:flex}.form-label-row label{margin-bottom:0;display:inline}.panel-form-grid .form-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.panel-form-grid .form-field-span-2{grid-column:1/-1}.panel-form-grid .form-row{margin-bottom:0}.form-row-inline{align-items:center;gap:var(--space-3);display:flex}.form-row-inline label{margin-bottom:0}.form-required{color:var(--color-danger);margin-left:2px}.form-error{font-size:var(--text-sm);color:var(--color-danger);margin-top:var(--space-2);line-height:var(--leading-normal)}.field-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-normal);margin-top:var(--space-1)}.form-value,.panel-form-grid .form-field .form-value,.form-row .form-value{min-height:var(--control-height);font-size:var(--control-font-size);color:var(--color-text-primary);word-break:break-all;align-items:center;line-height:1.5715;display:flex}.form-value.text-mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.form-value-muted{color:var(--color-text-secondary)}.form-field.is-error .form-control,.form-field.is-error .app-select-trigger,.form-row.is-error .form-control,.form-row.is-error .app-select-trigger{border-color:var(--color-danger)}.form-field.is-error .form-control:focus,.form-field.is-error .app-select-trigger:focus,.form-row.is-error .form-control:focus,.form-row.is-error .app-select-trigger:focus{box-shadow:0 0 0 2px #dc26261f}.form-control,.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.form-row textarea,.panel-form-grid .form-field input:not([type=checkbox]):not([type=radio]),.panel-form-grid .form-field select,.panel-form-grid .form-field textarea,.search-input{width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--control-border-color);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--color-text-primary);font-size:var(--control-font-size);transition:var(--control-transition);appearance:none;line-height:1.5715}.form-control::placeholder,.form-row input::placeholder,.form-row textarea::placeholder,.panel-form-grid .form-field input::placeholder,.panel-form-grid .form-field textarea::placeholder{color:var(--color-text-tertiary)}.form-control:hover:not(:disabled):not([readonly]),.form-row input:hover:not(:disabled):not([readonly]),.form-row select:hover:not(:disabled),.form-row textarea:hover:not(:disabled):not([readonly]),.panel-form-grid .form-field input:hover:not(:disabled):not([readonly]),.panel-form-grid .form-field select:hover:not(:disabled),.panel-form-grid .form-field textarea:hover:not(:disabled):not([readonly]),.search-input:hover:not(:disabled){border-color:var(--control-border-color-hover)}.form-control:focus,.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.panel-form-grid .form-field input:focus,.panel-form-grid .form-field select:focus,.panel-form-grid .form-field textarea:focus,.search-input:focus{border-color:var(--control-border-color-hover);box-shadow:var(--control-shadow-focus);outline:none}.form-control:focus-visible,.form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible,.search-input:focus-visible,.app-select-trigger:focus-visible{outline:none}.form-control:disabled,.form-row input:disabled,.form-row select:disabled,.form-row textarea:disabled,.panel-form-grid .form-field input:disabled,.panel-form-grid .form-field select:disabled,.panel-form-grid .form-field textarea:disabled{background:var(--control-bg-disabled);color:var(--control-text-disabled);border-color:var(--control-border-color);cursor:not-allowed}.form-control[readonly],.form-row input[readonly],.panel-form-grid .form-field input[readonly]{background:var(--control-bg-readonly);color:var(--control-text-readonly);cursor:default;border-color:#ececec;box-shadow:inset 0 1px 2px #0f172a0a}.form-control[readonly]:hover,.form-row input[readonly]:hover,.panel-form-grid .form-field input[readonly]:hover{border-color:#ececec}.form-control[readonly]:focus,.form-row input[readonly]:focus,.panel-form-grid .form-field input[readonly]:focus{border-color:#ececec;outline:none;box-shadow:inset 0 1px 2px #0f172a0a}.form-control-textarea,.form-row textarea,.panel-form-grid .form-field textarea{min-height:88px;padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical;line-height:var(--leading-relaxed)}.form-row select:not([multiple]),.panel-form-grid .form-field select:not([multiple]){cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.form-row select[multiple],.panel-form-grid .form-field select[multiple],.form-control-multiple{min-height:96px;padding:var(--space-2);line-height:var(--leading-relaxed);background-image:none}.form-row select[multiple] option,.panel-form-grid .form-field select[multiple] option{border-radius:4px;padding:6px 8px}.form-row input[type=number],.panel-form-grid .form-field input[type=number]{-moz-appearance:textfield}.form-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.panel-form-grid .form-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.panel-form-grid .form-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-row input[type=date],.panel-form-grid .form-field input[type=date]{cursor:pointer}.app-dropdown-enter-active{animation:.18s cubic-bezier(.23,1,.32,1) appDropdownIn}.app-dropdown-leave-active{animation:.12s cubic-bezier(.4,0,1,1) appDropdownOut}@keyframes appDropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes appDropdownOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}.app-select-dropdown,.app-multi-select-dropdown{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.app-select-dropdown::-webkit-scrollbar{width:6px}.app-multi-select-dropdown::-webkit-scrollbar{width:6px}.app-select-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.app-multi-select-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.search-input{width:220px}.app-select{width:100%;position:relative}.app-select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--control-border-color);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--color-text-primary);font-size:var(--control-font-size);text-align:left;cursor:pointer;transition:var(--control-transition);padding-right:32px;line-height:1.5715;display:flex;position:relative}.app-select-trigger:hover:not(:disabled){border-color:var(--control-border-color-hover)}.app-select.is-open .app-select-trigger,.app-select-trigger:focus{border-color:var(--control-border-color-hover);box-shadow:var(--control-shadow-focus);outline:none}.app-select.is-disabled .app-select-trigger{background:var(--control-bg-disabled);color:var(--control-text-disabled);border-color:var(--control-border-color);cursor:not-allowed}.app-select-selection{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-select-selection.is-placeholder{color:var(--color-text-tertiary)}.app-select-arrow{color:var(--color-text-tertiary);pointer-events:none;justify-content:center;align-items:center;transition:transform .2s,color .2s;display:flex;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.app-select.is-open .app-select-arrow{color:var(--control-border-color-hover);transform:translateY(-50%)rotate(180deg)}.app-select.is-sm .app-select-trigger,.app-multi-select.is-sm .app-multi-select-trigger,.app-date-picker.is-sm .app-date-picker-trigger{min-height:32px;font-size:var(--text-sm);padding-top:3px;padding-bottom:3px}.app-select-dropdown{z-index:1100;background:var(--color-bg-elevated);border-radius:var(--select-dropdown-radius);box-shadow:var(--select-dropdown-shadow);transform-origin:top;border:1px solid #0f172a0f;max-height:256px;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.app-select-options{margin:0;padding:0;list-style:none}.app-select-option{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:34px;font-size:var(--control-font-size);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:6px 12px;transition:background .15s,color .15s;display:flex}.app-select-option-label{flex:1;min-width:0;line-height:1.5715}.app-select-option-check{color:var(--select-option-selected-color);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-select-option:hover,.app-select-option.is-active{background:var(--select-option-hover-bg)}.app-select-option.is-active:not(.is-selected){background:var(--select-option-active-bg)}.app-select-option.is-selected{background:var(--select-option-selected-bg);color:var(--select-option-selected-color);font-weight:500}.app-select-option.is-selected:hover,.app-select-option.is-selected.is-active{background:var(--select-option-selected-bg)}.app-select-option.is-disabled{color:var(--control-text-disabled);cursor:not-allowed;background:0 0}.app-select-empty{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;padding:12px}.app-multi-select{width:100%;position:relative}.app-multi-select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--control-border-color);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--color-text-primary);font-size:var(--control-font-size);text-align:left;cursor:pointer;transition:var(--control-transition);padding-right:32px;line-height:1.5715;display:flex;position:relative}.app-multi-select-trigger:hover:not(:disabled){border-color:var(--control-border-color-hover)}.app-multi-select.is-open .app-multi-select-trigger,.app-multi-select-trigger:focus{border-color:var(--control-border-color-hover);box-shadow:var(--control-shadow-focus);outline:none}.app-multi-select.is-disabled .app-multi-select-trigger{background:var(--control-bg-disabled);color:var(--control-text-disabled);border-color:var(--control-border-color);cursor:not-allowed}.app-multi-select-selection{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-multi-select-selection.is-placeholder{color:var(--color-text-tertiary)}.app-multi-select-arrow{color:var(--color-text-tertiary);pointer-events:none;justify-content:center;align-items:center;transition:transform .2s,color .2s;display:flex;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.app-multi-select.is-open .app-multi-select-arrow{color:var(--control-border-color-hover);transform:translateY(-50%)rotate(180deg)}.app-multi-select-dropdown{z-index:1100;background:var(--color-bg-elevated);border-radius:var(--select-dropdown-radius);box-shadow:var(--select-dropdown-shadow);transform-origin:top;border:1px solid #0f172a0f;max-height:280px;padding:4px;position:fixed;overflow-y:auto}.app-multi-select-options{margin:0;padding:0;list-style:none}.app-multi-select-option{align-items:center;gap:var(--space-2);min-height:34px;font-size:var(--control-font-size);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:6px 12px;transition:background .15s;display:flex}.app-multi-select-option:hover{background:var(--select-option-hover-bg)}.app-multi-select-option.is-selected{background:var(--select-option-selected-bg);color:var(--select-option-selected-color)}.app-multi-select-option.is-disabled{color:var(--control-text-disabled);cursor:not-allowed}.app-multi-select-checkbox{border:1px solid var(--control-border-color);background:var(--color-bg-elevated);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .15s;display:inline-flex}.app-multi-select-option.is-selected .app-multi-select-checkbox{background:var(--select-option-selected-color);border-color:var(--select-option-selected-color);color:#fff}.app-multi-select-label{flex:1;min-width:0;line-height:1.5715}.app-date-picker{width:100%;position:relative}.app-date-picker-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--control-border-color);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--color-text-primary);font-size:var(--control-font-size);text-align:left;cursor:pointer;transition:var(--control-transition);padding-right:36px;line-height:1.5715;display:flex;position:relative}.app-date-picker-trigger:hover:not(:disabled){border-color:var(--control-border-color-hover)}.app-date-picker.is-open .app-date-picker-trigger,.app-date-picker-trigger:focus{border-color:var(--control-border-color-hover);box-shadow:var(--control-shadow-focus);outline:none}.app-date-picker.is-disabled .app-date-picker-trigger{background:var(--control-bg-disabled);color:var(--control-text-disabled);border-color:var(--control-border-color);cursor:not-allowed}.app-date-picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-date-picker-value.is-placeholder{color:var(--color-text-tertiary)}.app-date-picker-suffix{color:var(--color-text-tertiary);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.app-date-picker-panel{z-index:1100;padding:var(--space-3);background:var(--color-bg-elevated);border-radius:var(--select-dropdown-radius);box-shadow:var(--select-dropdown-shadow);transform-origin:top;border:1px solid #0f172a0f;position:fixed;width:280px!important}.app-date-picker-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.app-date-picker-title{font-size:var(--text-md);color:var(--color-text-primary);font-weight:600}.app-date-picker-nav{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.app-date-picker-nav:hover{background:var(--select-option-hover-bg);color:var(--color-text-primary)}.app-date-picker-weekdays{margin-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.app-date-picker-weekdays span{text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:600;line-height:28px}.app-date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.app-date-picker-cell{aspect-ratio:1;width:100%;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.app-date-picker-cell:hover:not(:disabled):not(.is-selected){background:var(--select-option-hover-bg)}.app-date-picker-cell.is-muted{color:var(--color-text-tertiary)}.app-date-picker-cell.is-today:not(.is-selected){color:var(--select-option-selected-color);box-shadow:inset 0 0 0 1px var(--select-option-selected-color);font-weight:600}.app-date-picker-cell.is-selected{background:var(--select-option-selected-color);color:#fff;font-weight:600}.app-date-picker-cell.is-disabled{color:var(--control-text-disabled);cursor:not-allowed;background:0 0}.app-date-picker-footer{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.app-date-picker-footer-btn{color:var(--select-option-selected-color);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-weight:500;transition:background .15s}.app-date-picker-footer-btn:hover:not(:disabled){background:var(--select-option-selected-bg)}.app-date-picker-footer-btn:disabled{color:var(--control-text-disabled);cursor:not-allowed}.toolbar-select{width:auto;min-width:120px}.toolbar-select .app-select-trigger,.toolbar-select .app-multi-select-trigger{min-width:120px}.field-help{flex-shrink:0;align-items:center;display:inline-flex}.field-help-trigger{background:var(--color-bg-subtle);width:16px;height:16px;color:var(--color-text-tertiary);cursor:help;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.field-help-trigger:hover,.field-help-trigger:focus-visible,.field-help-trigger.is-active{color:var(--brand-primary);background:var(--brand-primary-light);outline:none}.field-help-popover.is-floating{padding:var(--space-3) var(--space-4);border-radius:var(--select-dropdown-radius);background:var(--color-bg-elevated);box-shadow:var(--select-dropdown-shadow);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:left;white-space:normal;border:1px solid #0f172a0f;line-height:1.6;overflow:visible}.field-help-fade-enter-active,.field-help-fade-leave-active{transition:opacity .15s,transform .15s}.field-help-fade-enter-from,.field-help-fade-leave-to{opacity:0;transform:translateY(-4px)}.field-help-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.field-help-list li{word-break:break-word}.field-help-list li strong{color:var(--color-text-primary);font-weight:600}.field-help-list li span{color:var(--color-text-secondary)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg-base);color:var(--color-text-primary);line-height:var(--leading-normal);font-size:var(--text-base);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:var(--text-base)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-primary);cursor:pointer;font-size:var(--text-base);transition:all var(--transition-fast);white-space:nowrap;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.btn-admin{background:var(--brand-admin);border-color:var(--brand-admin);color:var(--color-text-inverse)}.btn-admin:hover{background:var(--brand-admin-hover);border-color:var(--brand-admin-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-sm{padding:5px var(--space-3);font-size:var(--text-sm)}.btn-link{color:var(--brand-primary);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:0;font-weight:500}.btn-link:hover{color:var(--brand-primary-hover);text-decoration:underline}.btn-link-danger{color:var(--color-danger)}.btn-link-danger:hover{color:#b91c1c;text-decoration:underline}.btn-danger-outline{align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-danger);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #fecaca;font-weight:500;display:inline-flex}.btn-danger-outline:hover:not(:disabled){background:var(--color-danger-bg);border-color:#fca5a5}.btn-danger-outline:disabled{opacity:.45;cursor:not-allowed}.btn-sm.btn-danger-outline{padding:5px var(--space-3);font-size:var(--text-sm)}.btn-outline-admin{color:var(--brand-admin);background:var(--color-bg-elevated);border-color:#6366f159}.btn-outline-admin:hover{background:var(--brand-admin-light);border-color:var(--brand-admin)}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-section{padding:var(--space-5) var(--space-6)}.table-wrap{border-radius:var(--radius-md);overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}table.data-table thead th{background:var(--color-bg-subtle);color:var(--color-text-secondary);font-weight:600;font-size:var(--text-sm);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap}table.data-table tbody td{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);vertical-align:middle}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr:hover td{background:var(--color-bg-subtle)}table.data-table tbody tr{transition:background var(--transition-fast)}.table-actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.table-actions .btn-link{line-height:var(--leading-normal);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.table-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);flex-wrap:wrap;display:flex}.table-toolbar-left,.table-toolbar-right{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.table-toolbar-right{margin-left:auto}.search-group{align-items:center;gap:var(--space-2);display:flex}.list-toolbar{align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.list-toolbar .search-group{flex-shrink:0;width:280px}.list-toolbar .search-group .search-input{flex:1;width:auto;min-width:0}.toolbar-filters{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.toolbar-filter{align-items:center;gap:var(--space-2);display:inline-flex}.toolbar-label{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;font-weight:500}.table-pagination{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.table-pagination-pages{align-items:center;gap:var(--space-2);display:flex}.table-pagination-current{text-align:center;min-width:28px;color:var(--brand-admin);font-weight:600}.table-empty-cell{text-align:center;color:var(--color-text-tertiary);padding:var(--space-8)!important}.text-mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.text-muted{font-size:var(--text-sm);color:var(--color-text-secondary)}.badge{padding:2px var(--space-2);font-size:var(--text-xs);border-radius:999px;align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-blue{background:var(--brand-primary-muted);color:#1d4ed8}.badge-green{background:var(--color-success-bg);color:#047857}.badge-purple{background:var(--color-agent-bg);color:var(--color-agent)}.badge-orange{color:#c2410c;background:#ffedd5}.badge-gray{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.badge-red{background:var(--color-danger-bg);color:var(--color-danger)}.badge-yellow{background:var(--color-warning-bg);color:var(--color-warning)}.toggle-switch{background:var(--color-border-strong);cursor:pointer;width:44px;height:24px;transition:background var(--transition-fast);border:none;border-radius:999px;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.toggle-switch.is-on{background:var(--brand-admin)}.toggle-switch-thumb{background:var(--color-bg-elevated);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%}.toggle-switch.is-on .toggle-switch-thumb{transform:translate(20px)}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.stats-row,.section-gap{margin-bottom:var(--space-5)}.page-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.page-stack{gap:var(--space-4);flex-direction:column;display:flex}.detail-panel>.detail-section+.detail-section{border-top:1px solid var(--color-border)}.detail-section-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.detail-section-head .section-heading{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:700}.detail-section-head .section-meta{font-size:var(--text-sm);color:var(--color-text-tertiary)}.detail-section-body{padding:var(--space-5) var(--space-6)}.detail-section-foot{padding:0 var(--space-6) var(--space-5);justify-content:flex-end;display:flex}.page-meta-line{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.page-meta-line .text-mono{color:var(--color-text-primary)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-6);animation:fadeIn var(--transition-base);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-bg-elevated);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-modal);animation:slideUp var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.modal-box.wide{max-width:760px}.modal-box.extra-wide{max-width:min(1180px,100vw - 48px)}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700}.modal-body{padding:var(--space-6);flex:1;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);flex-shrink:0;display:flex}.modal-footer-split{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;display:flex}.modal-footer-actions{gap:var(--space-2);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.agent-tag{font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-sm);background:var(--color-agent-bg);color:var(--color-agent);border:1px solid #ddd6fe;align-items:center;gap:4px;font-weight:600;display:inline-flex}.agent-tag:before{content:"";background:var(--color-agent);border-radius:50%;width:6px;height:6px}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);display:flex}.tab{padding:var(--space-2) var(--space-4);font-size:var(--text-base);cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);font-weight:600}.info-box{background:var(--color-info-bg);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:#0369a1;margin-bottom:var(--space-4);line-height:var(--leading-relaxed);border:1px solid #bae6fd}.info-box.success{background:var(--color-success-bg);color:#047857;border-color:#86efac}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-tertiary);font-size:var(--text-base)}.confirm-text{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-normal)}.toast-notice{top:var(--space-5);z-index:3000;width:max-content;max-width:min(90vw,480px);padding:var(--space-3) var(--space-5);background:var(--color-text-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);text-align:center;word-break:break-word;pointer-events:none;line-height:1.5;position:fixed;left:50%;transform:translate(-50%)}.toast-notice-enter-active,.toast-notice-leave-active{transition:opacity var(--transition-base), transform var(--transition-base)}.toast-notice-enter-from,.toast-notice-leave-to{opacity:0;transform:translate(-50%)translateY(8px)}@media (width<=1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}.app-toast[data-v-f3f82099]{top:var(--space-5);z-index:10000;width:max-content;max-width:min(90vw,480px);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-text-primary);box-shadow:var(--shadow-lg);color:var(--color-text-inverse);font-size:var(--text-sm);text-align:center;word-break:break-word;pointer-events:none;line-height:1.5;position:fixed;left:50%;transform:translate(-50%)}.app-toast-enter-active[data-v-f3f82099],.app-toast-leave-active[data-v-f3f82099]{transition:opacity var(--transition-base), transform var(--transition-base)}.app-toast-enter-from[data-v-f3f82099],.app-toast-leave-to[data-v-f3f82099]{opacity:0;transform:translate(-50%)translateY(8px)}
