:root{--brand-primary:#0ea5e9;--brand-primary-d:#0284c7;--brand-success:#10b981;--brand-danger:#ef4444;--brand-warning:#f59e0b;--surface-bg:#f8fafc;--surface-card:#fff;--surface-border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--radius-card:12px;--radius-input:8px;--radius-btn:8px}html,body{background-color:var(--surface-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}.form-control,.form-select{border-radius:var(--radius-input);border-color:var(--surface-border);font-size:.875rem}.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem #0ea5e933}.form-control.is-invalid:focus{box-shadow:0 0 0 .2rem #ef444433}.btn{border-radius:var(--radius-btn);font-size:.8125rem;font-weight:600}.btn-primary{background-color:var(--brand-primary);border-color:var(--brand-primary)}.btn-primary:hover{background-color:var(--brand-primary-d);border-color:var(--brand-primary-d)}.card{border-radius:var(--radius-card);border-color:var(--surface-border);background-color:var(--surface-card)}.modal-content{border-radius:var(--radius-card)}.modal-header{border-bottom:1px solid var(--surface-border)}.modal-footer{border-top:1px solid var(--surface-border)}.page-title{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:800}.page-subtitle{color:var(--text-secondary);font-size:.875rem;font-weight:500}.badge-blue{color:#3b82f6;text-transform:uppercase;letter-spacing:.05em;background-color:#eff6ff;border-radius:4px;padding:2px 8px;font-size:.625rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s both fadeIn}@keyframes google-spin{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.google-loader-circle{stroke:var(--brand-primary);stroke-linecap:round;animation:1.4s ease-in-out infinite google-spin}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:99px}.ls-1{letter-spacing:.05em}input[type=range]{accent-color:var(--brand-primary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}
