.confirm-overlay[data-v-0131d8ae]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.confirm-card[data-v-0131d8ae]{width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000029,0 0 0 1px #0000000a;display:flex;flex-direction:column;overflow:hidden}.confirm-head[data-v-0131d8ae]{display:flex;align-items:center;gap:10px;padding:20px 24px 16px}.confirm-icon[data-v-0131d8ae]{font-size:1.5rem;line-height:1;flex-shrink:0}.confirm-title[data-v-0131d8ae]{flex:1;margin:0;font-size:1.0625rem;font-weight:700;color:#1a202c;line-height:1.3}.confirm-close[data-v-0131d8ae]{width:32px;height:32px;border-radius:8px;border:none;background:#f5f7fa;color:#94a3b8;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s;font-family:inherit;line-height:1}.confirm-close[data-v-0131d8ae]:hover{background:#eef2f6;color:#475569}.confirm-body[data-v-0131d8ae]{padding:0 24px 20px}.confirm-message[data-v-0131d8ae]{margin:0;font-size:.9375rem;color:#334155;line-height:1.65;white-space:pre-wrap}.confirm-hint[data-v-0131d8ae]{margin:10px 0 0;font-size:.8125rem;color:#94a3b8;line-height:1.55;white-space:pre-wrap}.confirm-actions[data-v-0131d8ae]{display:flex;gap:10px;justify-content:flex-end;padding:14px 24px;border-top:1px solid #f1f5f9;background:#fafbfc}.confirm-btn--cancel[data-v-0131d8ae]{padding:9px 20px;border-radius:8px;border:1px solid #d0d7de;background:#fff;color:#475569;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.confirm-btn--cancel[data-v-0131d8ae]:hover{background:#f1f5f9;border-color:#94a3b8;color:#334155}.confirm-btn--ok[data-v-0131d8ae]{padding:9px 20px!important;font-size:.875rem!important}.confirm-btn--danger[data-v-0131d8ae]{background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 3px 10px #ef444447!important}.confirm-btn--danger[data-v-0131d8ae]:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444)!important;box-shadow:0 5px 14px #ef444461!important}.confirm-btn--success[data-v-0131d8ae]{background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 3px 10px #22c55e47!important}.confirm-fade-enter-active[data-v-0131d8ae]{transition:opacity .2s ease}.confirm-fade-enter-active .confirm-card[data-v-0131d8ae]{transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.confirm-fade-leave-active[data-v-0131d8ae]{transition:opacity .18s ease}.confirm-fade-leave-active .confirm-card[data-v-0131d8ae]{transition:transform .16s ease,opacity .16s ease}.confirm-fade-enter-from[data-v-0131d8ae]{opacity:0}.confirm-fade-enter-from .confirm-card[data-v-0131d8ae]{transform:translateY(-16px) scale(.96);opacity:0}.confirm-fade-leave-to[data-v-0131d8ae]{opacity:0}.confirm-fade-leave-to .confirm-card[data-v-0131d8ae]{transform:translateY(8px) scale(.98);opacity:0}.toast-container[data-v-39e10532]{position:fixed;top:28px;right:28px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:400px}.toast-item[data-v-39e10532]{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:12px;background:#fff;box-shadow:0 8px 28px #0000001a,0 0 0 1px #0000000a;pointer-events:auto;font-size:.875rem;line-height:1.45;cursor:default;transition:box-shadow .2s}.toast-item[data-v-39e10532]:hover{box-shadow:0 12px 36px #0000001f,0 0 0 1px #0000000d}.toast-icon[data-v-39e10532]{font-size:1.05rem;flex-shrink:0;line-height:1.45}.toast-msg[data-v-39e10532]{flex:1;color:#334155;word-break:break-word}.toast-close[data-v-39e10532]{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#94a3b8;font-size:1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;font-family:inherit;margin-top:-1px}.toast-close[data-v-39e10532]:hover{background:#f1f5f9;color:#475569}.toast-item--success[data-v-39e10532]{border-left:3px solid #22c55e}.toast-item--success .toast-msg[data-v-39e10532]{color:#166534}.toast-item--error[data-v-39e10532]{border-left:3px solid #ef4444}.toast-item--error .toast-msg[data-v-39e10532]{color:#991b1b}.toast-item--warning[data-v-39e10532]{border-left:3px solid #f59e0b}.toast-item--warning .toast-msg[data-v-39e10532]{color:#92400e}.toast-item--info[data-v-39e10532]{border-left:3px solid #3b82f6}.toast-item--info .toast-msg[data-v-39e10532]{color:#1e40af}.toast-list-enter-active[data-v-39e10532]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.toast-list-leave-active[data-v-39e10532]{transition:all .25s ease}.toast-list-enter-from[data-v-39e10532]{opacity:0;transform:translate(40px)}.toast-list-leave-to[data-v-39e10532]{opacity:0;transform:translate(20px)}.toast-list-move[data-v-39e10532]{transition:transform .3s ease}.app-login[data-v-83335fe6]{min-height:100vh}.app-shell[data-v-83335fe6]{display:flex;min-height:100vh;min-width:1024px}.sidebar[data-v-83335fe6]{width:240px;flex-shrink:0;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#e8e8ef;display:flex;flex-direction:column;overflow-y:auto}.sidebar-footer[data-v-83335fe6]{display:flex;gap:6px;padding:10px 10px 14px;border-top:1px solid rgba(255,255,255,.06);margin-top:auto}.sidebar-ctrl-btn[data-v-83335fe6]{flex:1;padding:5px 8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0a;color:#fff6;font-size:.65rem;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.sidebar-ctrl-btn[data-v-83335fe6]:hover{background:#ffffff14;color:#ffffffb3;border-color:#fff3}.brand[data-v-83335fe6]{padding:20px 20px 24px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px}.brand-logo-img[data-v-83335fe6]{width:42px;height:42px;border-radius:10px;flex-shrink:0;object-fit:contain}.brand-info[data-v-83335fe6]{display:flex;flex-direction:column}.brand-name[data-v-83335fe6]{font-size:1rem;font-weight:700;color:#fff;line-height:1.2}.brand-sub[data-v-83335fe6]{font-size:.65rem;color:#ffffff73;margin-top:2px}.nav[data-v-83335fe6]{padding:12px 0;display:flex;flex-direction:column;flex:1}.nav-group-title[data-v-83335fe6]{display:flex;align-items:center;width:calc(100% - 20px);margin:14px 10px 4px;padding:6px 14px;border:none;background:transparent;font-size:.65rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.08em;text-align:left;border-radius:8px;cursor:default;transition:background .15s,color .15s}.nav-group-title--collapsible[data-v-83335fe6]{cursor:pointer}.nav-group-title--collapsible[data-v-83335fe6]:hover{background:#ffffff0a;color:#ffffffb3}.nav-group-title__label[data-v-83335fe6]{flex:1}.nav-group-title__chevron[data-v-83335fe6]{font-size:.7rem;line-height:1;transition:transform .18s ease;display:inline-block;opacity:.6}.nav-group-title--collapsed .nav-group-title__chevron[data-v-83335fe6]{transform:rotate(-90deg)}.nav-group-body[data-v-83335fe6]{display:flex;flex-direction:column}.nav-subgroup-title[data-v-83335fe6]{padding:8px 24px 2px 28px;font-size:.62rem;font-weight:500;color:#ffffff47;letter-spacing:.04em}.nav-item[data-v-83335fe6]{display:flex;align-items:center;gap:12px;margin:2px 10px;padding:11px 14px;border:none;border-radius:10px;background:transparent;color:#fff9;font-size:.875rem;text-align:left;cursor:pointer;transition:all .15s;position:relative}.nav-item--sub[data-v-83335fe6]{margin-left:18px;padding-left:14px}.nav-item[data-v-83335fe6]:hover{background:#ffffff0f;color:#ffffffe6}.nav-item.active[data-v-83335fe6]{background:#4ba9a02e;color:#6fc2b8}.nav-icon[data-v-83335fe6]{font-size:1.05rem;width:1.5rem;text-align:center}.nav-label[data-v-83335fe6]{flex:1}.nav-indicator[data-v-83335fe6]{width:6px;height:6px;border-radius:50%;background:#4ba9a0;box-shadow:0 0 8px #4ba9a099;flex-shrink:0}.main-wrap[data-v-83335fe6]{flex:1;display:flex;flex-direction:column;min-width:0;background:#f6f7f9}.header[data-v-83335fe6]{height:60px;flex-shrink:0;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 1px 3px #0000000a}.header-left[data-v-83335fe6]{flex:1}.header-breadcrumb[data-v-83335fe6]{font-size:.875rem;color:#94a3b8;font-weight:500}.header-actions[data-v-83335fe6]{display:flex;align-items:center;gap:16px}.admin-badge[data-v-83335fe6]{display:flex;align-items:center;gap:10px}.admin-avatar[data-v-83335fe6]{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#4ba9a0,#3a8e86);color:#fff;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #4ba9a04d}.admin-name[data-v-83335fe6]{font-size:.875rem;color:#475569;font-weight:600}.btn-logout[data-v-83335fe6]{padding:6px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-logout[data-v-83335fe6]:hover{border-color:#4ba9a0;color:#3a8e86}.content[data-v-83335fe6]{flex:1;padding:28px;overflow:auto}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;font-family:Segoe UI,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}:root{--admin-primary: #4BA9A0;--admin-primary-dark: #3A8E86;--admin-primary-light: #6FC2B8;--admin-primary-soft: rgba(75, 169, 160, .08);--admin-primary-ring: rgba(75, 169, 160, .15);--admin-primary-glow: rgba(75, 169, 160, .28);--admin-bg: #f6f7f9;--admin-card: #ffffff;--admin-border: #e5e9f0;--admin-border-strong: #d0d7de;--admin-divider: #eef1f4;--admin-subtle: #fafbfc;--admin-text: #1a202c;--admin-text-secondary: #4a5568;--admin-text-muted: #94a3b8;--admin-text-hint: #a0aec0;--admin-danger: #ef4444;--admin-danger-bg: #fef2f2;--admin-danger-border: #fecaca;--admin-success: #10b981;--admin-success-bg: #ecfdf5;--admin-warning: #f59e0b;--admin-warning-bg: #fff7ed;--admin-info: #3b82f6;--admin-info-bg: #eff6ff}.page{max-width:1280px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:24px}.page-head h2{margin:0;font-size:1.35rem;font-weight:800;color:var(--admin-text);display:flex;align-items:center;gap:10px}.page-head h2:before{content:"";display:inline-block;width:4px;height:22px;background:linear-gradient(180deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:8px;font-size:.875rem;font-weight:600;border:1px solid var(--admin-border-strong);background:var(--admin-card);color:var(--admin-text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .12s,box-shadow .2s;white-space:nowrap;font-family:inherit}.btn:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary-dark);background:var(--admin-primary-soft)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary,.btn.primary{border:none;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);color:#fff;box-shadow:0 3px 10px var(--admin-primary-glow)}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #4ba9a061;color:#fff;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border:none}.btn-ghost{background:var(--admin-card);color:var(--admin-text-secondary);border:1px solid var(--admin-border-strong)}.btn-ghost:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary-dark)}.btn.danger,.btn-danger{color:var(--admin-danger);border-color:var(--admin-danger-border);background:var(--admin-danger-bg)}.btn.danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:var(--admin-danger);color:var(--admin-danger)}.btn.success,.btn-success{color:var(--admin-success);border-color:#a7f3d0;background:var(--admin-success-bg)}.btn.warn,.btn-warn{color:#92400e;border-color:#fcd34d;background:#fffbeb}.btn.warn:hover:not(:disabled),.btn-warn:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b;color:#92400e}.btn-sm,.btn.sm{padding:6px 10px;font-size:.75rem;border-radius:8px}.btn-lg{padding:12px 24px;font-size:.95rem}.table-wrap{background:var(--admin-card);border-radius:14px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005;border:1px solid var(--admin-divider);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background:var(--admin-subtle);color:var(--admin-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:14px 18px;text-align:left;border-bottom:1px solid var(--admin-border);white-space:nowrap}.table td{padding:14px 18px;border-bottom:1px solid var(--admin-divider);color:var(--admin-text);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--admin-primary-soft)}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.2px}.tag-green{background:var(--admin-success-bg);color:#059669}.tag-red{background:var(--admin-danger-bg);color:#dc2626}.tag-gray{background:#f1f5f9;color:#64748b}.tag-blue{background:var(--admin-info-bg);color:#2563eb}.tag-orange{background:var(--admin-warning-bg);color:#ea580c}.tag-primary{background:var(--admin-primary-soft);color:var(--admin-primary-dark)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.modal{width:100%;max-width:680px;background:var(--admin-card);border-radius:16px;box-shadow:0 24px 80px #00000024,0 0 0 1px #0000000a;animation:modalIn .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;max-height:92vh;overflow:hidden}.modal-sm{max-width:440px}.modal-lg{max-width:720px;max-height:88vh}@keyframes modalIn{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--admin-divider);flex-shrink:0}.modal-title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--admin-text);display:flex;align-items:center;gap:8px}.modal-title:before{content:"";display:inline-block;width:4px;height:18px;background:linear-gradient(180deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border-radius:2px}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:#f5f7fa;color:var(--admin-text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.modal-close:hover:not(:disabled){background:#eef2f6;color:var(--admin-text)}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:18px 24px;flex:1;overflow-y:auto;min-height:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--admin-divider);background:var(--admin-card);flex-shrink:0}.modal-footer-sticky{flex-shrink:0;padding:14px 24px;border-top:1px solid var(--admin-divider);background:var(--admin-card);display:flex;justify-content:flex-end;gap:10px}.form-section{background:var(--admin-subtle);border:1px solid var(--admin-divider);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.form-section-title{font-size:.8125rem;font-weight:700;color:var(--admin-primary-dark);letter-spacing:.5px;padding-bottom:8px;border-bottom:1px dashed #dce5e8;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.modal-body>.field,.modal-form>.field{margin-bottom:14px}.field>span,.field-label{font-size:.8125rem;font-weight:600;color:var(--admin-text-secondary);letter-spacing:.2px}.req{font-style:normal;color:var(--admin-danger);margin-left:2px}.input,.select-like,.textarea{width:100%;box-sizing:border-box;padding:9px 12px;border:1.5px solid var(--admin-border);border-radius:8px;font-size:.875rem;color:var(--admin-text);background:var(--admin-card);transition:border-color .15s,box-shadow .15s;font-family:inherit;outline:none}.input::placeholder,.textarea::placeholder{color:var(--admin-text-hint)}.input:hover:not(:focus):not(:disabled),.select-like:hover:not(:focus):not(:disabled),.textarea:hover:not(:focus):not(:disabled){border-color:#c4cdd5}.input:focus,.select-like:focus,.textarea:focus{border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-ring)}.textarea{resize:vertical;min-height:80px;line-height:1.55}.select-like{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.field-grid,.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-row .field,.field-grid .field{min-width:0;margin-bottom:0}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 14px;border-radius:999px;border:1.5px solid var(--admin-border-strong);background:var(--admin-card);color:var(--admin-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;font-family:inherit}.chip:hover{border-color:var(--admin-primary);color:var(--admin-primary-dark)}.chip-active,.chip.is-active{background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border-color:var(--admin-primary-dark);color:#fff;box-shadow:0 2px 6px var(--admin-primary-glow)}.chip-check{display:inline-flex;align-items:center;gap:6px}.chip-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--admin-primary);cursor:pointer}.chip-check.chip-active input[type=checkbox]{accent-color:#fff}.chip-remove-inline{margin-left:4px;width:16px;height:16px;border:none;border-radius:50%;background:#ffffff4d;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.chip-remove-inline:hover{background:#ffffff8c}.range-val{display:inline-block;margin-left:6px;padding:1px 8px;background:var(--admin-primary-soft);color:var(--admin-primary-dark);font-size:.75rem;font-weight:700;border-radius:10px}.range-input{padding:0!important;border:none!important;background:transparent!important;height:28px;box-shadow:none!important}.range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--admin-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px var(--admin-primary-glow);margin-top:-7px}.range-input::-webkit-slider-runnable-track{height:4px;background:#e2e8f0;border-radius:2px}.link-btn{padding:8px 0;margin-bottom:12px;border:none;background:none;font-size:.8125rem;color:var(--admin-primary-dark);cursor:pointer;font-weight:600;font-family:inherit}.link-btn:hover:not(:disabled){color:var(--admin-primary);text-decoration:underline}.error,.modal-error{color:var(--admin-danger);font-size:.875rem;margin:0}.error-box,.modal-error-box{margin:0 0 14px;padding:10px 14px;font-size:.8125rem;color:#b91c1c;background:var(--admin-danger-bg);border:1px solid var(--admin-danger-border);border-radius:8px;display:flex;align-items:center;gap:8px;line-height:1.5}.error.sm{font-size:.8rem}.muted-hint{margin:0;font-size:.8125rem;color:var(--admin-text-muted)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 18px;font-size:.8125rem;color:var(--admin-text-muted)}.pager button{padding:6px 14px;border:1px solid var(--admin-border);border-radius:8px;background:var(--admin-card);color:var(--admin-text-secondary);font-size:.8125rem;cursor:pointer;transition:border-color .15s,color .15s;font-family:inherit}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager button:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary-dark)}.empty-state{text-align:center;padding:48px 20px;color:var(--admin-text-muted);font-size:.9rem}.cover-uploader{border:2px dashed var(--admin-border-strong);border-radius:10px;padding:22px 20px;text-align:center;cursor:pointer;transition:all .15s;background:var(--admin-card);position:relative}.cover-uploader:hover{border-color:var(--admin-primary);background:var(--admin-primary-soft)}.cover-upload-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--admin-text-muted)}.cover-upload-inner:hover{color:var(--admin-primary)}.cover-upload-title{font-size:.875rem;color:var(--admin-text-secondary);font-weight:500;margin-top:4px}.cover-upload-sub{font-size:.75rem;color:var(--admin-text-muted)}.cover-upload-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.cover-preview{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--admin-border);max-width:280px}.cover-preview img{display:block;width:100%;height:160px;object-fit:cover}.cover-preview-remove{position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.cover-preview-remove:hover{background:#000c}.cover-url-row{display:flex;align-items:center;gap:8px;margin-top:6px}.cover-url-label{font-size:.75rem;color:var(--admin-text-muted);white-space:nowrap}.image-upload-wrap{display:flex;flex-direction:column;gap:10px}.image-preview{position:relative;display:inline-block;max-width:200px}.image-preview img{width:100%;max-height:140px;object-fit:cover;border-radius:10px;border:1px solid var(--admin-border)}.preview-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--admin-danger);color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-actions{display:flex;align-items:center;gap:10px}.upload-btn{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .15s;position:relative;overflow:hidden;box-shadow:0 2px 6px var(--admin-primary-glow)}.upload-btn:hover{opacity:.92}.upload-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none}.or-text{font-size:.8125rem;color:var(--admin-text-muted)}.url-input{flex:1;min-width:0}.upload-status{font-size:.75rem;color:var(--admin-primary-dark)}.editor-wrap{border:1.5px solid var(--admin-border);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.editor-wrap:focus-within{border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-ring)}.editor-toolbar{border-bottom:1px solid var(--admin-border)}.editor-content{min-height:200px;max-height:400px;overflow-y:auto}input[type=checkbox],input[type=radio]{accent-color:var(--admin-primary)}.card,.admin-card{background:var(--admin-card);border:1px solid var(--admin-divider);border-radius:14px;padding:20px;box-shadow:0 1px 3px #00000008}@media(max-width:768px){.field-grid,.field-row{grid-template-columns:1fr}.modal{max-width:100%;border-radius:14px}.overlay{padding:16px 10px}.modal-header,.modal-body,.modal-actions,.modal-footer-sticky{padding-left:18px;padding-right:18px}.form-section{padding:14px}}.text-primary{color:var(--admin-primary-dark)}.text-muted{color:var(--admin-text-muted)}.text-danger{color:var(--admin-danger)}.text-success{color:var(--admin-success)}.detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--admin-divider);margin-bottom:16px;position:sticky;top:0;background:var(--admin-card);z-index:10;flex-wrap:wrap}.detail-tab{padding:10px 18px;border:none;background:none;font-size:.875rem;color:var(--admin-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;font-family:inherit;white-space:nowrap}.detail-tab:hover{color:var(--admin-text-secondary)}.detail-tab.active{color:var(--admin-primary-dark);border-bottom-color:var(--admin-primary);font-weight:600}.stat-mini{background:var(--admin-subtle);border-radius:10px;padding:12px 16px;text-align:center;min-width:80px}.stat-mini-num{font-size:1.25rem;font-weight:700;color:var(--admin-text);line-height:1.2}.stat-mini-label{font-size:.6875rem;color:var(--admin-text-muted);margin-top:2px}.stepper{display:flex;align-items:center;gap:0;flex-wrap:wrap}.stepper-step{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--admin-text-muted);white-space:nowrap}.stepper-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;background:#e5e7eb;color:#9ca3af;flex-shrink:0}.stepper-step.active .stepper-dot{background:var(--admin-primary);color:#fff;box-shadow:0 2px 8px var(--admin-primary-glow)}.stepper-step.done .stepper-dot{background:var(--admin-success);color:#fff}.stepper-step.active{color:var(--admin-primary-dark);font-weight:600}.stepper-step.done{color:var(--admin-success)}.stepper-line{width:32px;height:2px;background:#e5e7eb;margin:0 4px;flex-shrink:0}.stepper-line.done{background:var(--admin-success)}.search-bar{display:flex;align-items:center;gap:8px}.search-input{padding:7px 12px;border:1.5px solid var(--admin-border);border-radius:8px;font-size:.8125rem;color:var(--admin-text);background:var(--admin-card);outline:none;width:200px;transition:border-color .15s,box-shadow .15s;font-family:inherit}.search-input:focus{border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-ring)}.search-input::placeholder{color:var(--admin-text-hint)}
