:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;--bg:#131a24;--fg:#f4f7fc;--muted:#aab9cd;--stroke:rgba(177,196,222,.20);--glass:rgba(38,49,65,.65);--accent:#91bcf7}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--fg);background:var(--bg);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a1ccff;outline-offset:3px}[hidden]{display:none!important}
body::before{content:"";position:fixed;inset:-22%;z-index:-3;pointer-events:none;background:radial-gradient(ellipse 38% 36% at 12% 7%,rgba(56,83,119,.43),transparent 75%),radial-gradient(ellipse 37% 38% at 98% 90%,rgba(79,57,106,.29),transparent 78%),radial-gradient(ellipse 29% 33% at 72% 17%,rgba(39,74,101,.18),transparent 82%),linear-gradient(140deg,#1c2735 0%,#131a24 48%,#171c2b 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(119deg,transparent 12%,rgba(185,207,233,.027) 31%,transparent 50%,rgba(154,176,216,.018) 78%,transparent 91%);mix-blend-mode:screen}
.background-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.42;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch' seed='12'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.67'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}
.app-shell{min-height:100dvh}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:28px 18px}.login-stack{width:min(100%,340px);display:grid;gap:33px}.brand{display:flex;align-items:center;gap:12px}.brand h1{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.045em;margin:0}.brand-mark{display:block;flex:none;width:36px;height:36px}.brand--login{justify-content:center;flex-direction:column;gap:14px}.brand--login .brand-mark{width:54px;height:54px}.brand--login h1{font-size:29px}.glass{background:var(--glass);border:1px solid var(--stroke);box-shadow:0 16px 48px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.045);-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}.login-card{border-radius:18px;padding:19px;display:grid;gap:12px}.login-card input{height:48px;width:100%;border:1px solid rgba(171,195,226,.25);background:rgba(12,19,30,.48);border-radius:10px;padding:0 15px;color:#f4f7fc;transition:border-color .18s,box-shadow .18s}.login-card input::placeholder{color:#95a7bf}.login-card input:focus{border-color:#91bcf7;box-shadow:0 0 0 3px rgba(110,164,229,.13);outline:none}.primary-button{height:46px;border:1px solid rgba(179,210,248,.21);border-radius:10px;color:white;background:linear-gradient(180deg,#527fb7,#3e699e);font-weight:600;box-shadow:0 4px 15px rgba(24,70,130,.18);transition:filter .18s,transform .18s,box-shadow .18s}.primary-button:hover{filter:brightness(1.1);box-shadow:0 7px 20px rgba(37,95,155,.28)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{opacity:.66;cursor:wait}.login-error{margin:0;color:#ffb5b5;font-size:12px;text-align:center;line-height:1.4}
.portal-screen{min-height:100dvh;animation:appear .28s ease-out both}.portal-header{min-height:118px;padding:27px 24px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(178,199,226,.085);background:linear-gradient(110deg,rgba(28,40,57,.52),rgba(22,30,43,.35));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.brand--header{justify-content:center;gap:15px}.brand--header h1{font-size:38px;line-height:1.15}.brand--header .brand-mark{width:58px;height:58px}.portal-body{max-width:1180px;margin:0 auto;padding:24px}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.app-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:131px;padding:15px;border-radius:14px;border:1px solid rgba(183,204,231,.18);background:linear-gradient(140deg,rgba(56,69,88,.57),rgba(35,45,61,.65));box-shadow:0 6px 22px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.04);-webkit-backdrop-filter:blur(19px) saturate(125%);backdrop-filter:blur(19px) saturate(125%);transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.app-card:not(.app-card--locked):hover{transform:translateY(-3px);border-color:rgba(190,218,248,.37);background:linear-gradient(140deg,rgba(64,80,103,.67),rgba(42,54,73,.74));box-shadow:0 14px 35px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.08)}.app-card:active:not(.app-card--locked){transform:translateY(-1px)}.app-card__top{display:flex;justify-content:space-between;align-items:flex-start}.app-card__icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:var(--icon-bg);color:var(--icon-fg);box-shadow:inset 0 1px rgba(255,255,255,.08)}.app-card__icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-card__arrow{width:16px;height:16px;color:#91a5bc;opacity:.8;transition:transform .2s ease,color .2s ease}.app-card:hover .app-card__arrow{transform:translate(2px,-2px);color:#d0e5fa}.app-card__text{display:grid;gap:4px}.app-card__title{font-size:14px;font-weight:650;line-height:1.3;letter-spacing:-.015em}.app-card__desc{font-size:12px;line-height:1.35;color:var(--muted)}.app-card--locked{background:rgba(30,38,51,.48);border-color:rgba(149,171,201,.12);opacity:.62;cursor:default}.app-card--locked .app-card__icon{--icon-bg:#303b4a;--icon-fg:#8a9bb0}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px){.app-card{min-height:126px}}@media(max-width:760px){.portal-header{min-height:105px;padding:22px 17px}.portal-body{padding:17px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.app-card{min-height:126px;padding:13px}}@media(max-width:480px){.app-grid{grid-template-columns:1fr;gap:10px}.app-card{min-height:111px;padding:13px}.portal-body{padding:13px}.portal-header{min-height:94px;padding:20px 13px;justify-content:center}.brand--header{gap:12px}.brand--header h1{font-size:34px}.brand--header .brand-mark{width:54px;height:54px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v5 — cartões horizontais em todos os tamanhos de tela.
   O quadrado colorido de 74px mantém 16px de distância nas três bordas
   (esquerda, superior e inferior) em cartões de 106px de altura. */
.app-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  justify-content: initial;
  min-height: 106px;
  padding: 15px;
}
.app-card__top { display: contents; }
.app-card__icon {
  grid-column: 1;
  grid-row: 1;
  width: 74px;
  height: 74px;
  border-radius: 16px;
}
.app-card__icon svg { width: 37px; height: 37px; }
.app-card__text {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 0;
  padding-right: 14px;
  gap: 5px;
}
.app-card__title { font-size: 14px; line-height: 1.32; }
.app-card__desc { font-size: 12px; line-height: 1.45; }
.app-card__arrow { position: absolute; top: 15px; right: 15px; }
.app-card--locked .app-card__text { padding-right: 0; }

@media (min-width: 1200px) {
  .app-card { min-height: 106px; }
}
@media (max-width: 760px) {
  .app-card { min-height: 106px; padding: 15px; }
}
@media (max-width: 480px) {
  .app-card {
    min-height: 106px;
    padding: 15px;
    grid-template-columns: 74px minmax(0, 1fr);
    column-gap: 18px;
  }
  .app-card__title { font-size: 15px; }
  .app-card__desc { font-size: 13px; }
}
@media (max-width: 350px) {
  .app-card {
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 96px;
    padding: 15px;
    column-gap: 14px;
  }
  .app-card__icon { width: 64px; height: 64px; border-radius: 14px; }
  .app-card__icon svg { width: 33px; height: 33px; }
}
