:root{--bg-base: #0b1020;--bg-elevated: #111830;--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .07);--bg-input: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text-primary: #eef2ff;--text-secondary: #a5b4d0;--text-muted: #64748b;--accent: #6366f1;--accent-2: #8b5cf6;--accent-grad: linear-gradient(135deg, #6366f1, #8b5cf6);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--radius: 14px;--radius-sm: 9px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .25);--font: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg-base);font-family:var(--font);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2a3456;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#3b4773}.sp-text{color:var(--text-secondary)}.sp-muted{color:var(--text-muted)}.sp-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em}.sp-badge--success{background:#10b98124;color:#6ee7b7}.sp-badge--warning{background:#f59e0b24;color:#fcd34d}.sp-badge--danger{background:#ef444429;color:#fca5a5}.sp-badge--info{background:#6366f129;color:#a5b4fc}.sp-badge--neutral{background:#ffffff14;color:var(--text-secondary)}.sp-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.sp-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.sp-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.sp-btn .material-icons{font-size:18px}.sp-btn--primary{background:var(--accent-grad);border-color:transparent;color:#fff;box-shadow:0 4px 14px #6366f159}.sp-btn--primary:hover{box-shadow:0 6px 20px #6366f180}.sp-btn--success{background:linear-gradient(135deg,#059669,#10b981);border-color:transparent;color:#fff}.sp-btn--danger{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.sp-btn--danger:hover{background:#ef444447}.sp-btn--ghost{background:transparent}.sp-input,.sp-select,.sp-textarea{width:100%;padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:var(--font);font-size:13.5px;outline:none;transition:border-color .18s,box-shadow .18s}.sp-input:focus,.sp-select:focus,.sp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f12e}.sp-input::placeholder,.sp-textarea::placeholder{color:var(--text-muted)}.sp-select option{background:#161d3a;color:var(--text-primary)}.sp-textarea{resize:vertical;min-height:76px}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-field label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .18s,background .18s,transform .18s}.sp-card:hover{border-color:var(--border-strong)}.sp-table{width:100%;border-collapse:collapse;font-size:13px}.sp-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.sp-table td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-secondary);vertical-align:middle}.sp-table tbody tr{transition:background .15s}.sp-table tbody tr:hover{background:var(--bg-card-hover)}.sp-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-muted);font-size:13.5px}.sp-spinner{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:sp-rotate .7s linear infinite}@keyframes sp-rotate{to{transform:rotate(360deg)}}.sp-empty{text-align:center;padding:44px 20px;color:var(--text-muted)}.sp-empty .material-icons{font-size:42px;color:#2a3456;margin-bottom:8px}.sp-toast{position:fixed;right:20px;bottom:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:360px}.sp-toast-item{background:#111830f2;border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:10px;padding:12px 15px;font-size:13px;color:var(--text-primary);box-shadow:var(--shadow);animation:sp-toast-in .25s ease}.sp-toast-item--success{border-left-color:var(--success)}.sp-toast-item--danger{border-left-color:var(--danger)}.sp-toast-item--warning{border-left-color:var(--warning)}@keyframes sp-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.sp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#030712b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:sp-fade .2s ease}.sp-modal{background:#131a36;border:1px solid var(--border-strong);border-radius:18px;box-shadow:var(--shadow);width:min(560px,92vw);max-height:88vh;overflow:auto;animation:sp-modal-in .25s ease}.sp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.sp-modal-header h3{margin:0;font-size:17px;font-weight:700}.sp-modal-body{padding:20px 22px;color:var(--text);min-height:48px}.sp-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid var(--border)}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-modal-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.sp-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;transition:color .15s,background .15s}.sp-close:hover{color:var(--text-primary);background:var(--bg-card-hover)}.sp-kpi{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:transform .2s,border-color .2s}.sp-kpi:hover{transform:translateY(-3px);border-color:var(--border-strong)}.sp-kpi .sp-kpi-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px}.sp-kpi .sp-kpi-value{font-size:28px;font-weight:800;letter-spacing:-.02em}.sp-kpi .sp-kpi-label{font-size:12.5px;color:var(--text-muted);margin-top:2px}.sp-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:22px 0 12px}.sp-error-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background:var(--bg-base)}.sp-error-content{text-align:center;max-width:520px;animation:sp-fade .6s ease}.sp-error-icon{font-size:4rem;margin-bottom:var(--spacing-md, 1rem);display:block}.sp-error-code{font-size:8rem;font-weight:900;color:var(--accent, #6366f1);margin:0;line-height:1;opacity:.15}.sp-error-title{font-size:1.8rem;color:var(--text-primary, #eef2ff);margin:var(--spacing-sm, .5rem) 0 var(--spacing-md, 1rem)}.sp-error-message{color:var(--text-secondary, #a5b4d0);font-size:1rem;line-height:1.5;margin-bottom:var(--spacing-lg, 1.5rem)}.sp-error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@keyframes sp-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.sp-error-container{padding:1rem;min-height:60vh}.sp-error-code{font-size:4rem}.sp-error-actions{flex-direction:column;width:100%}.sp-error-actions .sp-btn{width:100%;justify-content:center}}
