*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3B82F6;--secondary: #93C5FD;--accent: #1E40AF;--background: #fafbfc;--text: #1a1a1a;--text-muted: #6b7280;--card-bg: #ffffff;--border: #e5e7eb;--shadow: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--radius: 12px;--radius-sm: 8px;--transition: all .2s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,Poppins,system-ui,sans-serif;background:var(--background);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#1a3a9e}.btn-secondary{background:var(--card-bg);color:var(--accent);border:1px solid var(--border)}.btn-secondary:hover{background:#f3f4f6}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:#f3f4f6;color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.section-subtitle{font-size:.813rem;color:var(--text-muted);margin-bottom:1.25rem}.card-base{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.inline-feedback{margin:0 0 1rem;padding:.75rem .9rem;border-radius:var(--radius-sm);border-left:3px solid #ef4444;background:#ef444414;color:#b91c1c;font-size:.85rem}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease-out}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);color:transparent!important;-webkit-user-select:none;user-select:none;pointer-events:none}.skeleton *{visibility:hidden}.skeleton-text{height:.875rem;border-radius:4px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-text-sm{height:.7rem;border-radius:4px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-text-lg{height:1.25rem;border-radius:4px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-circle{border-radius:50%;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-btn{height:2.2rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-dark{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text-dark{height:.875rem;border-radius:4px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.dashboard-title-wrap .dashboard-kicker{display:block;margin-bottom:.15rem;font-size:.7rem;font-weight:700;color:#1e40af;letter-spacing:.08em;text-transform:uppercase}.dashboard-header .dashboard-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-left:auto}.dashboard-header .btn-tutorial-dashboard{width:auto;height:auto;min-height:36px;border-radius:999px;padding:.48rem .85rem!important;border:1px solid #dbe3ef;color:#475569;font-weight:600;margin-left:0}.empty-state.empty-state-onboarding,.empty-state.empty-state-error,.empty-state.empty-state-compact{max-width:760px;margin:0 auto;padding:2rem 1.5rem}.empty-state .empty-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:700;color:#1e40af;letter-spacing:.08em;text-transform:uppercase}.empty-state.empty-state-error{border-color:#fecaca;background:snow}.empty-state.empty-state-error .empty-icon{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:1.25rem;font-weight:800}.empty-state.empty-state-onboarding .empty-icon,.empty-state.empty-state-compact .empty-icon{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:1.35rem;font-weight:800}.empty-state .empty-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.2rem auto 1.35rem;max-width:620px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.empty-state .empty-step{min-width:0;padding:.9rem .85rem;text-align:left;position:relative}.empty-state .empty-step+.empty-step{border-left:1px solid #e5e7eb}.empty-state .empty-step span{display:inline-flex;width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.72rem;font-weight:800;margin-bottom:.4rem}.empty-state .empty-step strong,.empty-state .empty-step small{display:block}.empty-state .empty-step strong{color:#111827;font-size:.85rem;line-height:1.2}.empty-state .empty-step small{margin-top:.15rem;color:#64748b;font-size:.76rem;line-height:1.35}.empty-state .empty-actions{display:flex;justify-content:center;align-items:center;gap:.65rem;flex-wrap:wrap}@media(max-width:768px){html{font-size:14px}.container{padding:0 1rem}}@media(max-width:640px){.dashboard-header .dashboard-header-actions{width:100%;justify-content:flex-start;margin-left:0}.empty-state .empty-steps{grid-template-columns:1fr}.empty-state .empty-step+.empty-step{border-left:0;border-top:1px solid #e5e7eb}.empty-state .empty-actions .btn{width:100%;white-space:normal}}
