/* GoPilot Apps — design system de gopilot.com.br sobre Bootstrap 5.3 */
@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}

:root,[data-bs-theme=dark]{
  --green:#40e49f;--green-hover:#7eeec0;--aqua:#18e1c7;--slate:#2b3e4c;
  --base:#111111;--surface:#252b2b;--text:#edf3ef;--muted:#a8b6b2;--line:#ffffff12;

  --bs-body-font-family:Manrope,Arial,sans-serif;
  --bs-body-bg:var(--base);--bs-body-color:var(--text);
  --bs-secondary-color:var(--muted);--bs-border-color:var(--line);
  --bs-link-color:var(--green);--bs-link-hover-color:var(--green-hover);
  --bs-link-color-rgb:64,228,159;--bs-link-hover-color-rgb:126,238,192;
  --bs-primary:var(--green);--bs-primary-rgb:64,228,159;
  --bs-border-radius:7px;--bs-border-radius-lg:12px;
  --bs-focus-ring-color:#40e49f55;
}
html{font-synthesis:none}
body{background:var(--base);color:var(--text);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:0}
p{margin:0}
::selection{background:var(--green);color:#222}
a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px;box-shadow:none}
.text-gp-muted{color:var(--muted)!important}
.skip-link{position:fixed;top:-70px;left:15px;background:var(--green);color:#172a21;padding:12px 16px;border-radius:7px;z-index:100;font-weight:600}
.skip-link:focus{top:10px}

/* ── Aurora (fundo do hero do site) ─────────────────────────── */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:radial-gradient(ellipse at 20% 44%,#18e1c71b,transparent 50%),
  linear-gradient(160deg,transparent 28%,#40e49f17 41%,#18e1c737 46%,transparent 51%,#40e49f10 53%,transparent 62%),#1a1d1c}
.aurora:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1115,transparent 30%,#11111180 70%,#111 100%)}
.aurora span{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 22s ease-in-out infinite alternate}
.aurora span:nth-child(1){width:46vw;height:46vw;left:-10vw;top:10vh;background:#18e1c726}
.aurora span:nth-child(2){width:38vw;height:38vw;right:-8vw;top:-12vh;background:#40e49f1f;animation-duration:28s}
.aurora span:nth-child(3){width:30vw;height:30vw;right:18vw;bottom:-14vh;background:#2b3e4c80;animation-duration:34s}
.aurora-soft{opacity:.55}
@keyframes drift{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}

/* ── Elementos do site ──────────────────────────────────────── */
.eyebrow-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #8edfb92b;border-radius:30px;background:#11111150;color:#cadbd1;font-size:11px;letter-spacing:.02em;backdrop-filter:blur(10px)}
.status-dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;box-shadow:0 0 8px #40e49f80;flex-shrink:0}
.section-label{display:flex;align-items:center;gap:9px;color:var(--green);font-size:12px;margin-bottom:18px}
.small-icon,.node-icon{display:grid;place-items:center;flex-shrink:0;border-radius:10px}
.small-icon{width:38px;height:38px;border:1px solid #40e49f26;background:#40e49f0a;color:var(--green)}
.node-icon{width:46px;height:46px;border:1px solid #ffffff10;background:#ffffff05;color:#afc2b6;transition:.25s}

.gp-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:14px 22px;border:1px solid transparent;border-radius:7px;background:var(--green);color:#172a21;font-size:13px;font-weight:650;text-decoration:none;transition:background .2s,box-shadow .2s}
.gp-btn:hover{background:var(--green-hover);color:#172a21;box-shadow:0 0 24px #40e49f22}
.gp-btn-ghost{background:#ffffff04;border-color:#ffffff25;color:#e4efe9;backdrop-filter:blur(10px)}
.gp-btn-ghost:hover{background:#ffffff0d;color:#fff}

/* Botão Google (diretrizes de marca: fundo branco, logo "G" colorido) */
.btn-google{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 24px 0 18px;border-radius:7px;background:#fff;color:#1f1f1f;font-size:14px;font-weight:600;text-decoration:none;border:1px solid #fff;box-shadow:0 10px 40px #0004,0 0 0 6px #40e49f0d;transition:transform .2s,box-shadow .2s}
.btn-google:hover{color:#1f1f1f;transform:translateY(-1px);box-shadow:0 14px 44px #0005,0 0 0 6px #40e49f1f}

.gp-alert{display:flex;text-align:left;gap:12px;align-items:flex-start;margin-top:26px;padding:14px 16px;border:1px solid #ff8a7a40;border-radius:10px;background:#ff6b5512;color:#ffd2ca;font-size:14px;line-height:1.6;max-width:520px}
.gp-alert svg{margin-top:2px;color:#ff9b8a}

/* ── Login ──────────────────────────────────────────────────── */
.login-shell{flex:1}
.login-logo{width:150px;height:auto;display:block;margin-bottom:40px}
.login-copy h1{font-size:clamp(42px,5vw,74px);letter-spacing:-.065em;line-height:1.06;margin:26px 0 22px}
.login-copy h1 span,.portal-heading h1 span{color:#c8dfd4}
.lead-copy{font-size:17px;color:#b4c6be;line-height:1.8;max-width:500px}
.login-note{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:12px;color:#9bad9f}
.login-note svg{color:var(--green)}

.insight-card{background:linear-gradient(135deg,#2b3831e8,#252a27f7);border:1px solid #94d4ae4a;border-radius:14px;box-shadow:0 15px 80px #0004,0 0 55px #40e49f0a;overflow:hidden;backdrop-filter:blur(20px)}
.login-preview{max-width:520px;margin-left:auto;transform:perspective(1100px) rotateY(-7deg)}
.insight-top{padding:12px 20px;border-bottom:1px solid #ffffff0c;display:flex;align-items:center;gap:15px}
.insight-top img{width:66px;height:auto}
.insight-top>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#bfd0c5;margin-left:auto}
.preview-list li{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid #ffffff08}
.preview-list li .small-icon{border-color:#ffffff10;background:#ffffff05;color:#8fa79a}
.preview-list li.is-active .small-icon{border-color:#40e49f30;background:#40e49f10;color:var(--green)}
.preview-list strong{display:block;font-size:14px;font-weight:550}
.preview-list small{display:block;font-size:11px;color:#a1b1a7;margin-top:3px}
.preview-status{margin-left:auto;font-size:10px;color:#8ea195;border:1px solid #ffffff14;border-radius:20px;padding:4px 10px;white-space:nowrap}
.is-active .preview-status{color:#71e8aa;border-color:#40e49f40;background:#40e49f0a}
.insight-bottom{padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#acc3b4;background:#40e49f05}
.insight-bottom span{display:flex;align-items:center;gap:7px}
.insight-bottom span:first-child{color:#71e8aa}

.login-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 44px;border-top:1px solid var(--line);font-size:12px;color:#97a99e}
.login-footer a{display:inline-flex;align-items:center;gap:6px;color:#bfd0c5;text-decoration:none}
.login-footer a:hover{color:var(--green)}

/* ── Header (igual ao site) ─────────────────────────────────── */
.site-header{height:76px;position:sticky;top:0;z-index:50;background:#111111c9;border-bottom:1px solid var(--line);backdrop-filter:blur(24px)}
.nav-wrap{max-width:1360px;margin:auto;padding:0 32px;display:flex;height:100%;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:112px;height:auto;display:block}
.brand-tag{font-size:11px;color:var(--green);border:1px solid #40e49f33;background:#40e49f0a;border-radius:20px;padding:3px 10px;letter-spacing:.02em}
.user-chip{display:flex;align-items:center;gap:10px;min-height:44px;padding:5px 12px 5px 6px;border:1px solid #ffffff18;background:#ffffff05;border-radius:30px;color:#dbe7e0;font-size:13px}
.user-chip:hover{background:#ffffff0d}
.user-chip:after{display:none}
.user-chip img,.user-chip .avatar{width:30px;height:30px;border-radius:50%;object-fit:cover}
.user-chip .avatar{display:grid;place-items:center;background:#40e49f1a;color:var(--green);font-weight:650;font-size:13px}
.gp-dropdown{--bs-dropdown-bg:#1c2120;--bs-dropdown-border-color:#ffffff18;--bs-dropdown-link-color:#dbe7e0;--bs-dropdown-link-hover-bg:#40e49f12;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-link-active-bg:#40e49f20;--bs-dropdown-divider-bg:#ffffff14;min-width:250px;border-radius:12px;box-shadow:0 20px 50px #0006;font-size:14px;margin-top:8px!important}

/* ── Portal ─────────────────────────────────────────────────── */
.portal-main{flex:1;padding:64px 0 80px}
.portal-main .container-xxl,.portal-footer .container-xxl{max-width:1280px;padding-left:32px;padding-right:32px}
.portal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:52px}
.portal-heading h1{font-size:clamp(38px,4.4vw,60px);letter-spacing:-.06em}
.portal-heading p{color:var(--muted);font-size:16px;line-height:1.8;max-width:540px;margin-top:18px}
.portal-stats{display:flex;gap:10px}
.portal-stats div{min-width:110px;padding:14px 18px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff04}
.portal-stats strong{display:block;font-size:28px;font-weight:500;letter-spacing:-.04em;color:var(--green)}
.portal-stats div+div strong{color:#c8dfd4}
.portal-stats span{font-size:12px;color:var(--muted)}
.group-title{font-size:13px;font-weight:600;letter-spacing:.02em;color:#9fb3a7;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.group-title:after{content:'';flex:1;height:1px;background:var(--line)}

.app-card{position:relative;display:flex;flex-direction:column;padding:24px;border:1px solid #ffffff19;border-radius:14px;background:linear-gradient(120deg,#2c3530,#252d2a);box-shadow:0 6px 20px #0002;transition:border-color .25s,box-shadow .25s,transform .25s,background .25s}
.app-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.app-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#71e8aa}
.app-status.muted{color:#8ea195}
.app-kicker{font-size:12px;color:#a6b7ad;margin-bottom:6px}
.app-card h3{font-size:26px;letter-spacing:-.04em}
.app-card p{font-size:14px;color:#b0bfb5;line-height:1.75;margin-top:10px}
.app-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.app-tags span{font-size:11px;color:#cadbd1;border:1px solid #ffffff16;border-radius:20px;padding:4px 10px;background:#ffffff04}
.app-open{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:24px;font-size:13px;font-weight:600;color:var(--green);text-decoration:none}
.app-card.is-active{background:linear-gradient(130deg,#304238,#27382e 55%,#232b28)}
.app-card.is-active .node-icon{color:var(--green);background:#40e49f0c;border-color:#40e49f2a}
.app-card.is-active:hover{border-color:#40e49f90;box-shadow:0 0 0 1px #40e49f30,0 18px 50px #0004,0 0 40px #40e49f10;transform:translateY(-3px)}
.app-card.is-active:hover .app-open svg{transform:translate(2px,-2px)}
.app-open svg{transition:transform .2s}
.app-card.is-soon{padding:20px;background:#ffffff03;border-style:dashed;border-color:#ffffff16}
.app-card.is-soon .app-card-top{margin-bottom:18px}
.app-card.is-soon .node-icon{width:40px;height:40px}
.app-card.is-soon h3{font-size:19px;color:#d3ded8}
.app-card.is-soon p{font-size:13px;margin-top:6px;color:#98a99f}
.empty-state{padding:48px;text-align:center;border:1px dashed #ffffff20;border-radius:14px;color:var(--muted)}

.portal-footer{border-top:1px solid var(--line);padding:22px 0;font-size:12px;color:#97a99e}
.portal-footer span{display:inline-flex;align-items:center;gap:8px}

/* ── Erro ───────────────────────────────────────────────────── */
.error-shell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 22px}
.error-shell .login-logo{margin:0 auto 36px}
.error-shell h1{font-size:clamp(40px,5vw,64px);margin:24px 0 16px}

/* ── Responsivo ─────────────────────────────────────────────── */
@media(max-width:991.98px){.login-copy{text-align:center}.login-logo{margin:0 auto 32px}.lead-copy,.gp-alert{margin-left:auto;margin-right:auto}.login-copy .d-flex,.login-note{justify-content:center}.login-preview{margin:0 auto;transform:none}}
@media(max-width:760px){
  .site-header{height:68px}.nav-wrap{padding:0 18px}.brand img{width:96px}
  .portal-main{padding:40px 0 56px}.portal-main .container-xxl,.portal-footer .container-xxl{padding-left:18px;padding-right:18px}
  .portal-heading{flex-direction:column;align-items:flex-start;margin-bottom:36px}.portal-heading p{font-size:14px}
  .login-copy h1{font-size:clamp(36px,10vw,48px)}.lead-copy{font-size:15px}
  .login-footer{padding:18px 22px;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
