:root{--pink: #e91e63;--pink-600: #d81b60;--black: #121212;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-500: #9e9e9e;--gray-700: #616161;--gray-900: #212121;--success: #2e7d32;--error: #c62828;--warning: #ef6c00;--info: #1565c0;--bg: var(--gray-50);--surface: #ffffff;--text: var(--gray-900);--text-muted: var(--gray-700);--border: var(--gray-300);--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--font-body: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: Poppins, var(--font-body)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);color:var(--text);margin:0 0 .4em}a{color:var(--pink-600)}.container{max-width:720px;margin:0 auto;padding:24px 20px 64px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:10px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;background:var(--pink);color:#fff;transition:background .15s ease,opacity .15s ease}.btn:hover:not(:disabled){background:var(--pink-600)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.block{width:100%}label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin:12px 0 6px}input,select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--surface);color:var(--text)}input:focus,select:focus{outline:2px solid var(--pink);outline-offset:1px}.muted{color:var(--text-muted)}.error{color:var(--error)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--gray-100);color:var(--gray-700)}.row{display:flex;gap:12px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--font-display);font-weight:700}.brand .dot{color:var(--pink)}
