:root{--page:#f6f8fc;--surface:#fff;--ink:#10172f;--muted:#667085;--line:#e2e8f0;--primary:#4f46e5;--primary-soft:#eef2ff;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--shadow:0 18px 44px rgba(30,41,59,.07)}
*{box-sizing:border-box}html{background:var(--page)}body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}.hidden{display:none!important}
.setup-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,#eef2ff,transparent 32%),var(--page)}.setup-card{width:min(620px,100%);padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.login-card{width:min(460px,100%)}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:17px}.brand-lockup small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.logo-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#655cf2,#4338ca);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.22)}.setup-card h1{margin:30px 0 8px;font-size:31px;letter-spacing:-.045em}.setup-card>p{margin:0 0 23px;color:var(--muted);line-height:1.65}.setup-form{display:grid;gap:16px}.setup-form label,.publisher-form label,.csv-card label,.modal label{display:grid;gap:7px;color:#25304d;font-size:12px;font-weight:700}.setup-form input,.publisher-form input,.publisher-form textarea,.publisher-form select,.csv-card select,.modal input,.modal textarea{width:100%;min-height:46px;padding:10px 13px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;outline:0}.setup-form input:focus,.publisher-form input:focus,.publisher-form textarea:focus,.publisher-form select:focus,.csv-card select:focus,.modal input:focus,.modal textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.11)}.setup-form small,.modal label small{color:var(--muted);font-weight:500}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert{padding:12px 14px;margin-bottom:16px;border-radius:9px;font-size:12px}.alert.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}
.primary-button,.secondary-button,.upload-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border-radius:9px;font-size:12px;font-weight:750;text-decoration:none}.primary-button{border:1px solid var(--primary);background:linear-gradient(135deg,#5b52f0,#3e36df);color:#fff;box-shadow:0 8px 20px rgba(79,70,229,.2)}.secondary-button,.upload-button{border:1px solid #cbd5e1;background:#fff;color:#475569}.upload-button{cursor:pointer}.upload-button input{display:none}
.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;z-index:20;display:flex;flex-direction:column;padding:26px 18px 20px;background:rgba(255,255,255,.96);border-right:1px solid var(--line)}.brand-button{display:flex;align-items:center;gap:12px;padding:5px 8px 27px;border:0;background:transparent;color:#131a38;font-size:17px;text-align:left}.sidebar nav{display:grid;gap:7px}.sidebar nav button{min-height:52px;display:flex;align-items:center;gap:13px;padding:0 15px;border:1px solid transparent;border-radius:11px;background:transparent;color:#475569;font-weight:650;text-align:left}.sidebar nav button.active{border-color:#e3e7ff;background:linear-gradient(90deg,#eef2ff,#f5f6ff);color:#4338ca}.sidebar nav button b{min-width:21px;height:21px;display:grid;place-items:center;margin-left:auto;border-radius:99px;background:#f1f5f9;font-size:10px}.security-note{margin-top:auto;padding:17px;border:1px solid #e2e7ff;border-radius:13px;background:linear-gradient(145deg,#fafaff,#f1f4ff)}.security-note small{display:inline-flex;padding:4px 7px;border-radius:6px;background:#e5e7ff;color:#4338ca;font-size:9px;font-weight:800}.security-note strong{display:block;margin:10px 0 5px;font-size:12px}.security-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.workspace{grid-column:2}.workspace>header{height:66px;display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:0 32px;color:#475569;font-size:11px}.workspace>header #globalStatus{margin-right:auto}.workspace>header #globalStatus i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#94a3b8}.workspace>header #globalStatus.connected i{background:var(--success)}.workspace>header #globalStatus.error i{background:var(--danger)}.workspace>header a{color:var(--primary);font-weight:700;text-decoration:none}.workspace main{width:min(1400px,100%);margin:0 auto;padding:24px 38px 60px}.tab-panel{display:none}.tab-panel.active{display:block}.page-heading{margin:5px 0 28px}.page-heading>span,.section-heading span{display:block;margin-bottom:8px;color:var(--primary);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.page-heading h1{margin:0;font-size:clamp(32px,3vw,46px);line-height:1.08;letter-spacing:-.048em}.page-heading p{margin:12px 0 0;color:var(--muted);font-size:14px}.card{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:22px;align-items:start}.publisher-form{padding:26px}.card-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}.card-heading b{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:11px}.card-heading h2{margin:0;font-size:17px}.form-grid{display:grid;gap:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label.wide{grid-column:1/-1}.publisher-form textarea{min-height:118px;resize:vertical}.publisher-form input[type=checkbox]{width:auto;min-height:0}.divider{display:flex;align-items:center;gap:12px;margin:24px 0 15px;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.divider:after{content:"";height:1px;flex:1;background:#edf0f5}.mode-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden}.mode-switch label{position:relative}.mode-switch input{position:absolute;opacity:0}.mode-switch span{min-height:62px;display:flex;flex-direction:column;justify-content:center;padding:10px 16px;border-right:1px solid #cbd5e1;color:#64748b}.mode-switch label:last-child span{border-right:0}.mode-switch input:checked+span{background:var(--primary-soft);color:var(--primary)}.mode-switch b{font-size:12px}.mode-switch small{margin-top:3px;font-size:9px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:23px}.side-card{position:sticky;top:20px;padding:22px;box-shadow:none}.side-card h2{margin:0 0 16px;font-size:16px}.side-card ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}.side-card li{display:flex;gap:9px;color:#64748b;font-size:11px}.side-card li:before{content:"";width:15px;height:15px;flex:0 0 15px;border:1px solid #cbd5e1;border-radius:50%}.side-card li.done:before{border-color:#86efac;background:radial-gradient(circle,var(--success) 0 3px,#dcfce7 4px)}.muted{color:var(--muted)}
.csv-card{padding:26px}.csv-actions{display:flex;gap:10px;margin-top:18px}.csv-preview{min-height:220px;margin-top:18px;padding:18px;border:1px dashed #b8c3d5;border-radius:12px;background:#fafbff;overflow:auto}.csv-preview table{width:100%;border-collapse:collapse;font-size:10px}.csv-preview th,.csv-preview td{padding:9px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.method-card{min-height:205px;display:grid;grid-template-columns:auto 1fr;gap:15px;padding:24px;box-shadow:none}.method-card.featured{border-color:#c7d2fe;background:linear-gradient(145deg,#fff,#f6f7ff)}.method-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#655cf2,#4338ca);color:#fff;font-weight:900}.method-logo.dark{background:linear-gradient(145deg,#334155,#0f172a)}.method-card small{color:var(--primary);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.method-card h2{margin:6px 0;font-size:17px}.method-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.method-card>a,.method-card>button{grid-column:1/-1;justify-self:start;align-self:end}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 0 14px}.section-heading span{margin-bottom:4px}.section-heading h2{margin:0;font-size:21px}.connections-list{display:grid;gap:12px}.connection-card{display:grid;grid-template-columns:1fr auto;gap:10px 18px;padding:20px;box-shadow:none}.connection-main{display:flex;align-items:center;gap:12px}.connection-main .method-logo{width:38px;height:38px}.connection-main strong{display:block;font-size:13px}.connection-main small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.site-tags{display:flex;flex-wrap:wrap;gap:6px;padding-left:50px}.site-tags span{padding:5px 8px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;color:#64748b;font-size:9px}.connection-actions{grid-column:2;grid-row:1/span 2;display:flex;align-items:center}.connection-actions button{border:0;background:transparent;color:var(--danger);font-size:10px;font-weight:700}.empty-card{padding:60px 20px;text-align:center;color:var(--muted)}.history-card{padding:12px 24px}.history-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px 0;border-bottom:1px solid #edf0f4}.history-item:last-child{border-bottom:0}.history-item strong{font-size:12px}.history-item p{margin:4px 0 0;color:var(--muted);font-size:10px}.history-item time{color:#94a3b8;font-size:9px}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.5);backdrop-filter:blur(5px)}.modal{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:27px;border:1px solid #dfe4ed;border-radius:15px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.24)}.modal h2{margin:0 0 5px}.modal>p{margin:0 0 22px;color:var(--muted);font-size:11px}.modal label{margin-top:16px}.modal textarea{min-height:105px;resize:vertical}.modal-close{position:absolute;right:20px;top:18px;width:34px;height:34px;border:0;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:20px}.secret-field{-webkit-text-security:disc;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:20px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.review-summary div{padding:12px;background:#fff}.review-summary span{display:block;color:#94a3b8;font-size:9px;text-transform:uppercase}.review-summary strong{display:block;margin-top:4px;font-size:11px}.modal details{border:1px solid var(--line);border-radius:9px;overflow:hidden}.modal summary{padding:10px;background:#f8fafc;font-size:10px;font-weight:750}.modal pre{max-height:220px;overflow:auto;margin:0;padding:14px;background:#0f172a;color:#dbeafe;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.toast{position:fixed;right:24px;bottom:24px;z-index:200;max-width:min(420px,calc(100vw - 40px));padding:13px 16px;border:1px solid #bbf7d0;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.16);color:#166534;font-size:11px;font-weight:700}.toast.error{border-color:#fecaca;color:#991b1b}
@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr}.sidebar{width:220px}.content-grid{grid-template-columns:1fr}.side-card{position:static}.form-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.setup-page{padding:14px}.setup-card{padding:24px}.two-col,.form-grid.two,.form-grid.three,.method-grid{grid-template-columns:1fr}.app-shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand-button{padding:3px 4px 8px}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav button{min-height:42px;justify-content:center;padding:4px;font-size:10px}.sidebar nav button b,.security-note{display:none}.workspace{grid-column:auto}.workspace>header{height:52px;padding:0 15px}.admin-email{display:none}.workspace main{padding:16px}.page-heading h1{font-size:29px}.publisher-form,.csv-card{padding:18px}.method-card{min-height:auto}.connection-card{grid-template-columns:1fr}.connection-actions{grid-column:1;grid-row:auto;padding-left:50px}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions button{width:100%}.review-summary{grid-template-columns:1fr}}
