*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:inherit;border:none;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;transition:border-color .15s,box-shadow .15s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;letter-spacing:-.005em;transition:all .15s ease;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px rgba(17,24,39,.05)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px rgba(5,150,105,.25);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-background);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text-disabled)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:.375rem}.label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.input{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9375rem;padding:.625rem .875rem;transition:all .15s;width:100%;font-family:inherit}.input:hover{border-color:var(--color-text-disabled)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(5,150,105,.12)}.input::placeholder{color:var(--color-text-disabled)}.alert-error{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);color:var(--alert-error-text,#dc2626);border-radius:8px}.alert-error,.alert-success{padding:.75rem 1rem;font-size:.875rem}.alert-success{background:rgba(5,150,105,.08);border:1px solid rgba(5,150,105,.2);color:var(--alert-success-text,#059669);border-radius:8px}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-pro{background:rgba(5,150,105,.12);color:var(--color-primary)}.badge-free{background:rgba(156,163,175,.15);color:var(--color-text-muted)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-surface) 50%,var(--color-border) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite;border-radius:6px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px;border:2px solid var(--color-background)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}::selection{background:rgba(5,150,105,.2);color:var(--color-text)}