:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#183633;background:#f7f9f8;font-synthesis:none;--green:#0d8178;--dark:#103e37;--muted:#6b7d7a;--border:#dce6e2}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #40b4a5;outline-offset:4px}[hidden]{display:none!important}.login-layout{min-height:100svh;display:grid;grid-template-columns:47% 53%}.brand-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 90%,#1a6355 0,transparent 50%),linear-gradient(135deg,#123f38,#0c302b);color:white;padding:48px 64px 32px;display:flex;flex-direction:column}.brand-panel:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff08;border-radius:50%;right:-330px;top:-230px;pointer-events:none}.brand{display:inline-flex;align-items:center;gap:12px;width:fit-content}.brand img{flex:none}.brand>span{font-size:31px;font-weight:650;letter-spacing:-1px;line-height:1}.brand small{display:block;font-weight:400;font-size:15px;letter-spacing:1px;margin-top:6px;color:#d4e8e1}.brand-story{margin:auto 0;padding-top:65px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#b1d5c9;font-weight:600;display:flex;align-items:center;gap:11px}.tiny-line{height:1px;width:25px;background:#53bc9e}.brand-story h1{font-size:clamp(38px,3.7vw,62px);line-height:1.16;letter-spacing:-2px;font-weight:550;margin:24px 0}.brand-story h1>span{color:#7cd2ba}.brand-story>p{font-size:17px;line-height:1.7;color:#bfd6ce;font-weight:350;margin:0}.network-art{height:255px;width:340px;position:relative;margin:24px auto 10px;max-width:100%}.orbit{position:absolute;border:1px solid #72c4ad27;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%)}.orbit-one{width:180px;height:180px}.orbit-two{width:290px;height:220px;transform:translate(-50%,-50%) rotate(-22deg)}.network-node,.network-center{position:absolute;display:grid;place-items:center;border:1px solid #6ebba244;background:#1c5146;box-shadow:0 8px 25px #05251f25}.network-center{width:88px;height:88px;border-radius:24px;left:calc(50% - 44px);top:72px;transform:rotate(-7deg)}.network-center img{transform:rotate(7deg)}.network-node{width:53px;height:53px;border-radius:17px;color:#a6dfcb}.network-node svg{width:28px;height:28px}.node-top{top:0;left:calc(50% + 36px);transform:rotate(9deg)}.node-left{top:113px;left:10px;transform:rotate(-9deg)}.node-right{top:143px;right:7px;transform:rotate(9deg)}.network-dot{position:absolute;width:7px;height:7px;background:#62b69d;border-radius:50%;box-shadow:0 0 0 6px #62b69d0d}.dot-one{left:62px;top:36px}.dot-two{left:178px;top:214px}.network-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;color:#a3c8b9;letter-spacing:.7px}.brand-footer{font-size:10px;color:#a9c6bb;display:flex;align-items:center;gap:8px;line-height:1.6;margin-top:34px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#75c9a6;flex:none}.access-panel{position:relative;display:flex;flex-direction:column;align-items:center;padding:36px 55px 25px;background:#fbfcfa}.environment-badge{display:inline-flex;align-items:center;gap:7px;color:#697d71;font-weight:600;letter-spacing:1.1px;font-size:9px;background:#eef3ee;border:1px solid #e0e9df;border-radius:20px;padding:8px 11px;white-space:nowrap}.environment-badge>span{width:5px;height:5px;background:#82a47b;border-radius:50%}.access-panel>.environment-badge{align-self:flex-end}.login-content{width:100%;max-width:410px;margin:auto;padding:35px 0}.welcome-icon{width:45px;height:45px;display:grid;place-items:center;background:#e9f3ee;color:#2b8c77;border:1px solid #d9ebe0;border-radius:13px;margin-bottom:24px}.welcome-icon svg{width:25px;height:25px}.section-kicker{display:block;font-size:10px;letter-spacing:1.8px;color:#547f70;font-weight:650}.login-content h2{font-size:31px;letter-spacing:-1.1px;font-weight:600;margin:12px 0 10px;color:#173d32}.login-description{font-size:14px;color:#73827b;line-height:1.6;margin:0 0 29px}.google-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;height:51px;background:white;border:1px solid #d8e2dc;border-radius:9px;font-size:13px;font-weight:600;color:#344d43;transition:border-color .2s,background .2s}.google-button:hover{background:#f4f8f4;border-color:#a7beb1}.google-button svg{stroke:none;width:19px;height:19px}.soon-tag{font-size:9px;background:#f0f3ef;color:#667a6b;padding:4px 6px;border-radius:4px;font-weight:400}.divider{display:flex;align-items:center;gap:14px;font-size:10px;color:#7b8982;margin:25px 0}.divider:before,.divider:after{content:"";height:1px;background:#e1e7e1;flex:1}label{display:block;color:#344c40;font-size:12px;font-weight:600;margin-bottom:9px}.input-wrap{position:relative;display:flex;align-items:center;margin-bottom:20px}.input-wrap>svg{position:absolute;left:15px;color:#8b9c90;width:18px;height:18px;pointer-events:none}input{height:50px;width:100%;background:white;border:1px solid #dbe4dd;border-radius:8px;padding:0 45px;color:#274738;font-size:13px;transition:border-color .2s}input::placeholder{color:#7c8b82}input:focus{border-color:#3a9c81;outline:3px solid #3a9c8114;outline-offset:0}.password-toggle{position:absolute;right:4px;border:0;background:none;color:#7d8d83;width:42px;height:42px;display:grid;place-items:center;border-radius:5px}.password-toggle svg{width:18px;height:18px}.form-help{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;color:#7b8b80;margin:-2px 0 23px}.text-button{border:0;padding:4px 0;background:none;color:#207b64;font-size:11px;font-weight:600}.text-button:hover{text-decoration:underline}.primary-button{width:100%;height:50px;border:1px solid #127465;background:#147d69;color:white;border-radius:8px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 4px 10px #147d6915;transition:background .2s}.primary-button:hover{background:#0e6858}.primary-button svg{width:18px;height:18px}.local-note{display:flex;align-items:flex-start;gap:11px;border-top:1px solid #e2e8e1;margin-top:28px;padding-top:22px;color:#7b8c7e}.local-note svg{width:18px;height:18px;flex:none;margin-top:2px}.local-note p{font-size:10px;line-height:1.8;margin:0}.local-note strong{font-weight:500;color:#5f7865}.access-footer{width:100%;display:flex;justify-content:space-between;font-size:9px;color:#839286;gap:16px}.inline-notice,.form-message{font-size:12px;line-height:1.6;padding:12px 14px;border-radius:8px;margin:12px 0 18px}.inline-notice{color:#38624e;background:#edf4ee;border:1px solid #d4e5d8}.form-message{color:#8b392d;background:#fff3ef;border:1px solid #efd5cb}.dashboard-page{display:flex;min-height:100svh;background:#f4f7f7}.sidebar{background:var(--dark);color:#dceae6;width:248px;flex:none;padding:30px 22px;display:flex;flex-direction:column}.sidebar nav{margin-top:42px}.sidebar nav a{display:flex;gap:14px;align-items:center;padding:14px;border-radius:8px;font-size:14px}.nav-active{background:#087f77;color:white}.sidebar-bottom{margin-top:auto;font-size:10px;display:flex;gap:8px;padding-top:40px}.dashboard-main{flex:1;min-width:0}.topbar{min-height:78px;background:#fff;border-bottom:1px solid var(--border);padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.topbar-divider{color:#b5c6be;margin:0 12px}.account{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{width:32px;height:32px;background:var(--dark);color:white;display:grid;place-items:center;border-radius:50%;font-size:11px}.dashboard-content{padding:40px 36px}.dashboard-content>h1{font-size:32px;letter-spacing:-1px;margin:12px 0}.page-subtitle{color:var(--muted);font-size:14px}.empty-dashboard{background:white;border:1px solid var(--border);border-radius:14px;margin-top:30px;padding:56px 38px;text-align:center}.empty-dashboard .welcome-icon{margin:0 auto 24px;width:60px;height:60px}.empty-dashboard h2{font-size:27px;letter-spacing:-.8px;margin:14px 0}.empty-dashboard>p{font-size:14px;color:var(--muted);line-height:1.8;max-width:530px;margin:0 auto}.integration-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px;margin:38px auto}.integration-preview>div{border:1px solid var(--border);border-radius:9px;padding:22px 12px;background:#fafcfb}.integration-preview strong{font-size:13px;display:block;margin:13px 0 7px}.integration-preview small{font-size:11px;color:var(--muted)}.integration-marker{display:block;margin:0 auto;width:9px;height:9px;background:#c2d5cc;border-radius:50%;box-shadow:0 0 0 6px #eff5f1}.empty-dashboard>.empty-footnote{font-size:11px;color:#7f9187}@media(min-height:900px){.brand-story{padding-top:20px}.network-art{margin-top:40px;margin-bottom:40px}.login-content{padding-top:60px;padding-bottom:60px}}@media(min-width:1600px){.brand-panel{padding-left:90px;padding-right:90px}.brand-story h1{font-size:64px}}@media(max-width:1050px){.brand-panel{padding-left:35px;padding-right:35px}.access-panel{padding-left:35px;padding-right:35px}.brand-story h1{font-size:43px}.network-art{width:290px}.form-help{font-size:9px}.sidebar{width:210px}.topbar .environment-badge{display:none}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.brand-panel{padding:25px 26px 30px}.brand-story{padding-top:26px;margin:0}.brand-story h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:16px 0 12px}.brand-story h1 br{display:none}.brand-story h1 br:after{content:" "}.brand-story h1 span{display:block}.brand-story>p{font-size:13px}.brand-story>p br{display:none}.network-art,.brand-footer{display:none}.brand>span{font-size:26px}.brand img{width:43px;height:43px}.brand small{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.5px}.access-panel{padding:22px 26px}.login-content{padding:24px 0 30px;max-width:430px}.welcome-icon{display:none}.login-content h2{font-size:27px}.access-footer{max-width:430px;font-size:9px}.sidebar{width:80px;padding:20px 12px}.sidebar .brand>span,.sidebar-bottom{display:none}.sidebar nav a{font-size:0;padding:14px;gap:0}.sidebar nav svg{width:23px;height:23px;flex:none}.sidebar .brand img{width:45px;height:45px}.topbar{padding:15px 18px;align-items:flex-start}.topbar>span{font-size:11px}.topbar-divider{margin:0 4px}.account{gap:8px}.account>#user-name{display:none}.dashboard-content{padding:28px 18px}.dashboard-content>h1{font-size:27px}.empty-dashboard{padding:30px 18px}.empty-dashboard h2{font-size:23px}.integration-preview{grid-template-columns:1fr;margin:26px auto}.integration-preview>div{padding:16px}.empty-dashboard .welcome-icon{display:grid}.page-subtitle{line-height:1.6}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.google-button-container{min-height:44px;width:100%;display:flex;justify-content:center;align-items:center;color:#647b70;font-size:12px}.google-button-container[aria-busy=true]{opacity:.6;pointer-events:none}#google-retry{margin:10px 0}

/* Fit the login to the viewport by reducing decoration before form space. */
.login-page .login-layout{min-height:100dvh}
.login-page .brand-story{padding-top:0}
.login-page .login-content{padding:20px 0}
@media(max-height:900px){
  .login-page .login-content:has(.inline-notice:not([hidden]),.form-message:not([hidden])) .welcome-icon,
  .login-page .login-content:has(.inline-notice:not([hidden]),.form-message:not([hidden])) .local-note{display:none}
  .login-page .brand-panel{padding-top:28px;padding-bottom:24px}
  .login-page .network-art{margin:16px auto 0;height:230px}
  .login-page .brand-footer{margin-top:16px}
  .login-page .access-panel{padding-top:20px;padding-bottom:18px}
  .login-page .login-content{padding:16px 0}
  .login-page .welcome-icon{margin-bottom:14px;width:36px;height:36px}
  .login-page .login-description{margin-bottom:18px}
  .login-page .divider{margin:16px 0}
  .login-page .input-wrap{margin-bottom:14px}
  .login-page .form-help{margin-bottom:14px}
  .login-page .local-note{margin-top:18px;padding-top:14px}
}
@media(max-width:760px){
  .login-page .login-layout{grid-template-rows:auto 1fr}
  .login-page .brand-panel{padding:16px 26px}
  .login-page .brand-story{display:none}
  .login-page .access-panel{padding:14px 26px}
  .login-page .login-content{padding:14px 0}
}
@media(max-height:700px){
  .login-page .access-panel:has(.inline-notice:not([hidden]),.form-message:not([hidden]))>.environment-badge{display:none}
  .login-page .network-art,.login-page .welcome-icon,.login-page .local-note{display:none}
  .login-page .login-content h2{margin:8px 0;font-size:27px}
  .login-page .login-description{margin-bottom:14px}
  .login-page .divider{margin:12px 0}
  .login-page .input-wrap{margin-bottom:10px}
  .login-page label{margin-bottom:6px}
  .login-page .inline-notice,.login-page .form-message{padding:8px 12px;margin:8px 0;line-height:1.4}
  .login-page .login-content:has(.inline-notice:not([hidden]),.form-message:not([hidden])) .section-kicker,
  .login-page .login-content:has(.inline-notice:not([hidden]),.form-message:not([hidden])) .login-description{display:none}
}
@media(max-height:500px){
  .login-page .login-content:has(.inline-notice:not([hidden]),.form-message:not([hidden])) h2{display:none}
  .login-page .inline-notice,.login-page .form-message{font-size:10px;padding:6px 10px;margin:6px 0}
  .login-page .brand-story,.login-page .brand-footer,
  .login-page .environment-badge,.login-page .access-footer,
  .login-page .section-kicker,.login-page .login-description{display:none}
  .login-page .brand-panel{padding:18px 26px}
  .login-page .access-panel{padding:12px 26px}
  .login-page .login-content{padding:0}
  .login-page .login-content h2{font-size:23px;margin:0 0 10px}
  .login-page input,.login-page .primary-button,.login-page .google-button{height:40px}
  .login-page .divider{margin:8px 0}
  .login-page .form-help{margin:0 0 8px}
}

