@charset "UTF-8";:root{--bg: #f2f2f7;--bg2: #f8f8fb;--bg3: #eef2f7;--surface: #ffffff;--surface-2: #f8f8fb;--surface2: #f8f8fb;--border: #e5e5ea;--border-light: #f0f0f5;--accent: #0071e3;--accent-rgb: 0, 113, 227;--accent-hover: #005ec4;--accent-light: #e8f0fe;--success: #34c759;--green: #16a34a;--success-light: #e6f9ec;--warning: #ff9f0a;--orange: #f59e0b;--warning-light: #fff4e0;--danger: #ff3b30;--red: #dc2626;--red-bg: #fff0ee;--danger-light: #fff0ee;--purple: #af52de;--purple-light: #f4eaff;--text: #1d1d1f;--text-2: #48484a;--text-3: #8e8e93;--text2: #48484a;--text3: #8e8e93;--text-4: #aeaeb2;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 2px 8px rgba(0,0,0,.07);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.14);--sidebar-w: 240px;--topbar-h: 60px;--transition: all .2s cubic-bezier(.25,.46,.45,.94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Avenir Next,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-4)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-success{background:var(--success-light);color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-sm{padding:5px 10px;font-size:12px;border-radius:6px}.btn-lg{padding:11px 22px;font-size:15px}.btn-icon{padding:8px;border-radius:50%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h2,.card-header h3{font-size:16px;font-weight:600;color:var(--text)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-2)}.form-control{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--surface);color:var(--text);transition:var(--transition);outline:none}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.form-control::placeholder{color:var(--text-4)}.form-control:disabled{background:var(--bg);color:var(--text-3);cursor:not-allowed}select.form-control{cursor:pointer}textarea.form-control{resize:vertical;min-height:80px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--border)}table{width:100%;border-collapse:collapse}thead th{padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}tbody tr{border-bottom:1px solid var(--border-light);transition:background .15s}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child{border-bottom:none}tbody td{padding:11px 14px;font-size:13px;color:var(--text)}.table-actions{display:flex;gap:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-accent{background:var(--accent-light);color:var(--accent)}.badge-purple{background:var(--purple-light);color:var(--purple)}.badge-neutral{background:var(--bg);color:var(--text-3)}.modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .25s cubic-bezier(.25,.46,.45,.94)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface)}.modal-header h3{font-size:17px;font-weight:600}.modal-body{padding:16px 24px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-footer{padding:14px 24px;display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;border-top:1px solid var(--border);background:var(--surface)}.modal-lg{max-width:740px}.modal-xl{max-width:960px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:4px}.stat-label{font-size:12px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:26px;font-weight:700;color:var(--text);line-height:1}.stat-sub{font-size:12px;color:var(--text-3)}.stat-trend{font-size:12px;font-weight:600}.stat-trend.up{color:var(--success)}.stat-trend.down{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:22px;font-weight:700}.page-header p{color:var(--text-3);font-size:13px;margin-top:2px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab-btn{padding:10px 18px;font-size:14px;font-weight:500;font-family:inherit;background:none;border:none;cursor:pointer;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition)}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.filters-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:var(--surface);padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:16px}.filters-bar .form-group{min-width:140px;flex:1;max-width:200px}.search-box{position:relative}.search-box input{padding-left:34px}.search-box .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:16px;pointer-events:none}.empty-state{text-align:center;padding:48px 20px;color:var(--text-3)}.empty-state .empty-icon{font-size:48px;margin-bottom:12px}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-2);margin-bottom:6px}.empty-state p{font-size:13px}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:16px}.alert-danger{background:var(--danger-light);color:var(--danger)}.alert-success{background:var(--success-light);color:var(--success)}.alert-warning{background:var(--warning-light);color:var(--warning)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--text-3);font-size:13px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent-light);color:var(--accent);border-radius:20px;font-size:12px;font-weight:500}.divider{height:1px;background:var(--border);margin:16px 0}.text-right{text-align:right}.text-center{text-align:center}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-3);font-size:12px}.fw-600{font-weight:600}.fw-700{font-weight:700}.font-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.gap-8{gap:8px}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-16{margin-bottom:16px}.w-100{width:100%}.flex-1{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{align-items:flex-start}.page-actions{width:100%}.page-actions .btn{flex:1 1 auto;justify-content:center}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .form-group{max-width:100%}.modal-overlay{padding:12px}.modal-box,.modal-lg,.modal-xl{width:100%;max-width:none;max-height:calc(100dvh - 24px)}}@media (max-width: 560px){.stats-grid{grid-template-columns:1fr}thead th,tbody td{padding-inline:10px}.btn{min-height:40px;justify-content:center}.modal-overlay{padding:8px;align-items:flex-end}.modal-box,.modal-lg,.modal-xl{max-height:calc(100dvh - 8px);border-bottom-left-radius:0;border-bottom-right-radius:0}.modal-header,.modal-body,.modal-footer{padding-inline:16px}}
