@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@charset "UTF-8";:root{--primary: #6c63ff;--primary-light: #8b85ff;--primary-dark: #5246e5;--primary-bg: #f0eeff;--accent: #ff6584;--accent-bg: #fff0f3;--success: #10b981;--success-bg: #ecfdf5;--warning: #f59e0b;--warning-bg: #fffbeb;--danger: #ef4444;--danger-bg: #fef2f2;--info: #3b82f6;--info-bg: #eff6ff;--sidebar-bg: #1e1b4b;--sidebar-text: #c7d2fe;--sidebar-hover: rgba(108, 99, 255, .15);--page-bg: #f5f6fa;--card-bg: #ffffff;--border: #e5e7eb;--border-light: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-xl: 0 20px 60px rgba(0,0,0,.15);--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--sidebar-width: 260px;--header-height: 64px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--page-bg);color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .18s ease;text-decoration:none;white-space:nowrap;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #6c63ff40}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #6c63ff59}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border-light);border-color:#d1d5db}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-success{background:var(--success-bg);color:var(--success);border:1px solid #a7f3d0}.btn-success:hover{background:var(--success);color:#fff;border-color:var(--success)}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--primary-bg)}.btn-ghost:hover{background:var(--primary-bg)}.btn-sm{padding:6px 13px;font-size:12.5px}.btn-lg{padding:12px 24px;font-size:15px}.btn-icon{padding:7px;border-radius:var(--radius-xs);background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .15s;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--border-light);color:var(--text-primary)}.btn-icon.danger:hover{background:var(--danger-bg);color:var(--danger)}.btn-icon.primary:hover{background:var(--primary-bg);color:var(--primary)}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:500;letter-spacing:.01em}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-muted{background:var(--border-light);color:var(--text-secondary)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group textarea,.form-group select{padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--card-bg);outline:none;transition:border-color .18s,box-shadow .18s;width:100%}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=number]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff1a}.form-group input[type=text]::placeholder,.form-group input[type=email]::placeholder,.form-group input[type=password]::placeholder,.form-group input[type=number]::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--text-muted)}.form-group input[type=text]:disabled,.form-group input[type=email]:disabled,.form-group input[type=password]:disabled,.form-group input[type=number]:disabled,.form-group textarea:disabled,.form-group select:disabled{background:var(--border-light);color:var(--text-muted);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-group select{appearance:none;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='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-group .form-hint{font-size:12px;color:var(--text-muted)}.form-group .form-error{font-size:12px;color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:rgba(15,15,25,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;animation:modalIn .22s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-xl)}.modal .modal-header{padding:22px 24px 0;display:flex;align-items:center;justify-content:space-between}.modal .modal-header h2{font-size:17px;font-weight:700}.modal .modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:15px}.modal .modal-footer{padding:18px 24px 22px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border-light);margin-top:4px}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.upload-area{position:relative;border:2px dashed var(--border);border-radius:var(--radius-sm);min-height:110px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s,background .18s;overflow:hidden}.upload-area:hover{border-color:var(--primary);background:var(--primary-bg)}.upload-area input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.upload-area .upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;text-align:center;pointer-events:none}.upload-area .upload-placeholder p{font-size:13px;font-weight:500;color:var(--text-secondary)}.upload-area .upload-placeholder span{font-size:12px;color:var(--text-muted)}.upload-area .image-preview{width:100%;height:160px;object-fit:cover}.upload-area.has-image{border-style:solid}.page{padding:28px 32px;min-height:calc(100vh - var(--header-height))}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px}.page-header .page-title h1{font-size:22px;font-weight:700;letter-spacing:-.3px}.page-header .page-title p{color:var(--text-secondary);font-size:13.5px;margin-top:3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state .empty-icon{margin-bottom:16px;color:var(--text-muted)}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.empty-state p{font-size:13.5px;color:var(--text-muted);max-width:300px;line-height:1.6}.divider{height:1px;background:var(--border);margin:8px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade{animation:fadeIn .3s ease}.toast{position:fixed;bottom:24px;right:24px;background:var(--text-primary);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:13.5px;box-shadow:var(--shadow-lg);z-index:9999;animation:slideDown .25s ease}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@media (max-width: 768px){.page{padding:20px 16px}.page-header{flex-direction:column;align-items:stretch}.modal{max-width:100%}}
