:root{
  --ink:#173126;--muted:#62756b;--line:#dce5df;--surface:#fff;--soft:#f3f8f4;
  --brand:#25a95a;--brand-dark:#167a42;--danger:#b34141;--warning:#8a6420;
  --shadow:0 26px 70px rgba(22,49,38,.11);--radius:20px;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#f6f9f7;
}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 8% 0%,rgba(136,231,166,.22),transparent 28%),
  radial-gradient(circle at 94% 8%,rgba(177,199,255,.22),transparent 27%),#f6f9f7}
a{color:var(--brand-dark)}button,input{font:inherit}
:where(a[href],button:not(:disabled):not([aria-disabled="true"]),[role="button"]:not([aria-disabled="true"]),summary,select:not(:disabled),label[for],input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled),input[type="file"]:not(:disabled)){cursor:pointer!important}
:where(button:disabled,[aria-disabled="true"],select:disabled,input:disabled){cursor:not-allowed!important}
.topbar{height:82px;padding:0 max(22px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(216,226,220,.9);background:rgba(255,255,255,.78);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{filter:drop-shadow(0 12px 20px rgba(37,169,90,.22))}.brand span{display:grid;gap:2px}.brand strong{font-size:18px;line-height:1}.brand small{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--muted);font-weight:700}
.pilot-chip,.account-chip{padding:9px 12px;border-radius:999px;background:#edf7ef;color:#287248;font-size:12px;font-weight:750;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-shell,.dashboard-shell{width:min(1160px,calc(100% - 36px));margin:0 auto}.auth-shell{min-height:calc(100vh - 132px);display:grid;grid-template-columns:1.05fr .82fr;align-items:center;gap:76px;padding:64px 0}
.auth-copy h1,.hero-panel h1{margin:14px 0 18px;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;max-width:770px}.auth-copy>p,.hero-panel p{font-size:17px;line-height:1.65;color:var(--muted);max-width:650px}
.eyebrow{display:inline-flex;color:var(--brand-dark);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.trust-list{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:14px;color:#355044}.trust-list li{display:flex;align-items:center;gap:12px}.trust-list span,.step{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e5f6e9;color:var(--brand-dark);font-weight:800;font-size:12px}
.auth-card,.connection-card,.message-card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card{padding:40px}.card-heading h2{font-size:34px;letter-spacing:-.03em;margin:8px 0}.card-heading p{margin:0 0 24px;color:var(--muted);line-height:1.5}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#496055}.form input{width:100%;height:50px;border:1px solid #cfdcd4;border-radius:11px;padding:0 14px;background:#fff;color:var(--ink);outline:0}.form input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(37,169,90,.12)}
.primary,.secondary,.disabled-button{min-height:46px;border-radius:11px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;font-weight:780;text-decoration:none;border:0;cursor:pointer}.primary{background:linear-gradient(180deg,#30ba66,var(--brand-dark));color:white;box-shadow:0 14px 24px rgba(30,142,75,.2)}.secondary{background:#fff;border:1px solid #cedbd3;color:#294c3a}.disabled-button{background:#eef2ef;color:#7d8d84;cursor:not-allowed}.link-button{width:max-content}.switch-auth{font-size:13px;text-align:center;color:var(--muted);margin:20px 0 0}.switch-auth a{font-weight:800}
.alert{border-radius:13px;padding:13px 15px;margin:0 0 20px;font-size:14px;line-height:1.45;border:1px solid}.alert.error{background:#fff5f4;border-color:#efceca;color:#953b35}.alert.success{background:#effbf2;border-color:#bfe6c9;color:#1d7444}.alert.warn{background:#fffaf0;border-color:#ead9b1;color:var(--warning)}.oauth-live:empty{display:none}
.launch-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin:0 0 20px;border:1px solid #b8e1c6;border-radius:20px;background:linear-gradient(135deg,#effcf4 0%,#fff 70%);box-shadow:0 18px 42px rgba(27,120,65,.08)}.launch-panel h2{margin:4px 0 7px;font-size:clamp(22px,3vw,30px);line-height:1.1}.launch-panel p{margin:0;color:var(--muted)}
.gate-shell{width:100%;min-height:calc(100vh - 132px);display:grid;place-items:center;padding:48px max(24px,env(safe-area-inset-left))}.gate-card{width:100%;max-width:440px;margin-inline:auto;padding:44px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);text-align:center}.gate-lock{width:58px;height:58px;margin:0 auto 24px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#e6f8eb,#d5f0df);box-shadow:inset 0 0 0 1px rgba(37,169,90,.14)}.gate-lock span{position:relative;width:22px;height:18px;border:3px solid var(--brand-dark);border-radius:6px}.gate-lock span:before{content:"";position:absolute;width:12px;height:11px;border:3px solid var(--brand-dark);border-bottom:0;border-radius:8px 8px 0 0;left:2px;top:-13px}.gate-card h1{font-size:38px;letter-spacing:-.04em;margin:9px 0 12px}.gate-card>p{color:var(--muted);line-height:1.55;margin:0 0 26px}.gate-card .alert{text-align:left}.gate-form{text-align:left}.gate-wait{margin:22px 0 10px;padding:22px;border-radius:16px;background:#f2f7f3;border:1px solid #d7e4da;display:grid;gap:7px}.gate-wait span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted)}.gate-wait strong{font-variant-numeric:tabular-nums;font-size:42px;line-height:1;letter-spacing:-.03em;color:var(--ink)}.gate-card .gate-note{font-size:12px;margin:18px 0 0;color:#7b8d83}
.dashboard-shell{padding:58px 0 72px}.hero-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:44px;margin-bottom:36px}.hero-panel h1{font-size:clamp(36px,4.6vw,62px)}.security-badge{min-width:230px;padding:20px;border:1px solid #cfe2d5;border-radius:17px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center}.security-badge>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:#dff5e5;color:var(--brand-dark);display:grid;place-items:center;font-size:20px;font-weight:900}.security-badge strong{font-size:14px}.security-badge small{font-size:11px;color:var(--muted);margin-top:3px}
.connections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}.connection-card{overflow:hidden;box-shadow:0 18px 48px rgba(22,49,38,.08)}.connection-card.connected{border-color:#b9ddc5}.provider-head{padding:22px 24px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);background:#fbfdfb}.provider-logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900}.provider-logo.yellow{background:#fff2a8;color:#755a00}.provider-logo.blue{background:#e4efff;color:#195db2}.provider-logo.google{background:linear-gradient(135deg,#e8f0fe 0 48%,#e6f4ea 48% 72%,#fef7e0 72%);color:#174ea6}.provider-title{display:grid;gap:3px}.provider-title strong{font-size:16px}.provider-title small{font-size:11px;color:var(--muted)}.status-dot{width:11px;height:11px;border-radius:50%;background:#c3cec7;margin-left:auto;box-shadow:0 0 0 5px #edf1ee}.status-dot.ok{background:#28ae60;box-shadow:0 0 0 5px #e3f5e9}.connection-body{padding:25px;min-height:185px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px}.connection-body p{margin:0;color:var(--muted);line-height:1.55}.connection-body .account-name{font-size:18px;color:var(--ink);font-weight:800}.connection-body .muted{font-size:12px}.button-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button-row form{margin:0}.text-danger{border:0;background:transparent;color:var(--danger);font-weight:750;padding:8px;cursor:pointer}
.explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.explain-grid article{padding:24px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.62)}.explain-grid h2{font-size:16px;margin:18px 0 8px}.explain-grid p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.logout-form{margin-top:24px;text-align:right}.message-shell{min-height:calc(100vh - 132px);display:grid;place-items:center;padding:40px 18px}.message-card{width:min(520px,100%);padding:44px;text-align:center}.message-card h1{font-size:34px;letter-spacing:-.03em}.message-card p{color:var(--muted);line-height:1.6}.message-card .link-button{margin-top:16px}.message-icon{width:52px;height:52px;border-radius:16px;margin:0 auto;display:grid;place-items:center;font-size:24px;font-weight:900}.message-icon.error{background:#fff0ee;color:var(--danger)}.message-icon.success{background:#e3f7e9;color:var(--brand-dark)}.footer{text-align:center;color:#819087;font-size:11px;padding:20px}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;gap:32px;padding:42px 0}.auth-copy h1{font-size:44px}.hero-panel{grid-template-columns:1fr;align-items:start}.connections-grid,.explain-grid{grid-template-columns:1fr}.security-badge{min-width:0;width:100%;max-width:300px}}
@media(max-width:560px){.topbar{height:72px;padding:0 16px}.brand small{display:none}.account-chip{max-width:45vw}.auth-shell,.dashboard-shell{width:min(100% - 24px,1160px)}.auth-card{padding:28px 22px}.auth-copy h1,.hero-panel h1{font-size:38px}.gate-shell{padding:28px max(18px,env(safe-area-inset-left))}.gate-card{padding:34px 22px}.gate-card h1{font-size:32px}.dashboard-shell{padding-top:38px}.provider-head,.connection-body{padding:20px}.button-row{align-items:stretch}.button-row>*{width:100%}.button-row button,.button-row a{width:100%}.logout-form{text-align:stretch}.logout-form button{width:100%}.launch-panel{align-items:stretch;flex-direction:column}.launch-panel .link-button{justify-content:center;width:100%}}
