:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#7c3aed;--accent-bg:#7c3aed14;--accent-border:#7c3aed4d;--social-bg:#f4f3ec80;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#a78bfa;--accent-bg:#a78bfa1f;--accent-border:#a78bfa66}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);font-weight:600}.app{max-width:1200px;margin:0 auto;padding:24px}.app h1{margin:0 0 24px;font-size:28px}.steps{gap:8px;margin-bottom:32px;display:flex}.step-indicator{background:var(--code-bg);color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.step-indicator.active{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border)}.step-indicator.done{color:#166534;background:#dcfce7}@media (prefers-color-scheme:dark){.step-indicator.done{color:#4ade80;background:#22c55e26}}.step-number{background:var(--border);width:24px;height:24px;color:var(--text-h);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.step-indicator.active .step-number{background:var(--accent);color:#fff}.step-indicator.done .step-number{color:#fff;background:#16a34a}.upload-section{flex-direction:column;gap:24px;display:flex}.upload-box{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;padding:48px 24px;transition:border-color .2s,background .2s}.upload-box:hover,.upload-box.dragover{border-color:var(--accent);background:var(--accent-bg)}.upload-box.has-file{background:#22c55e0d;border-style:solid;border-color:#16a34a}.upload-box h3{color:var(--text-h);margin:0 0 8px}.upload-box p{color:var(--text);font-size:14px}.file-name{font-family:var(--mono);color:#16a34a;margin-top:8px;font-size:14px}.upload-actions{justify-content:flex-end;gap:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:15px;font-weight:500;transition:opacity .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--code-bg);color:var(--text-h)}.btn-google{color:#fff;background:#4285f4;align-items:center;gap:8px;display:inline-flex}.btn-google:hover:not(:disabled){background:#3367d6}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:16px;display:flex}.tab{color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:color .2s}.tab:hover{color:var(--text-h)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab .count{background:var(--code-bg);border-radius:10px;margin-left:6px;padding:2px 6px;font-size:12px}.table-wrapper{border:1px solid var(--border);border-radius:8px;max-height:500px;margin-bottom:24px;overflow:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th{background:var(--code-bg);color:var(--text-h);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--accent-bg)}.preview-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.push-section{text-align:center;padding:24px}.push-status{color:var(--text);margin-top:16px;font-size:14px}.push-status.error{color:#dc2626}.push-status.success{color:#16a34a}.summary{gap:16px;margin-bottom:24px;display:flex}.summary-card{background:var(--code-bg);text-align:center;border-radius:8px;flex:1;padding:16px}.summary-card .number{color:var(--text-h);font-size:32px;font-weight:600}.summary-card .label{color:var(--text);margin-top:4px;font-size:13px}.error-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:16px}@media (prefers-color-scheme:dark){.error-box{color:#fca5a5;background:#dc26261a;border-color:#dc26264d}}
