/* Hub Invista — tipografia Urbanist (a mesma do "atende"), blocos no formato inclinado do logo Invista TV. */
:root{
  --paper:#f3f4f2;--card:#ffffff;--ink:#14161a;--muted:#5f6670;--line:#e3e5e1;
  --tv:#22894b;--tv-deep:#145c31;--atende:#1666b0;--atende-deep:#0d4478;
  --aprova:#8a3fa6;--aprova-deep:#5d2671;--conteudos:#c94069;--conteudos-deep:#8a1f42;--ads:#e8582a;--ads-deep:#8f2a0c;--equipamentos:#118f8f;--equipamentos-deep:#0a5c5c;--finance:#c9820a;--finance-deep:#8a5600;
  --danger:#b42318;--ok:#22894b;
  --font:"Urbanist","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root{--paper:#121418;--card:#1b1e24;--ink:#f1f2f0;--muted:#a3a9b2;--line:#2a2e36}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 var(--font);-webkit-font-smoothing:antialiased}
img{max-width:100%}
[hidden]{display:none!important}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--atende);outline-offset:3px;border-radius:6px}
.center{min-height:100vh;display:grid;place-items:center}
.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--tv);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-color-scheme:dark){.login-logo,.top-logo{filter:invert(1)}}

/* Entrada */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;position:relative;overflow:hidden}
.login::before,.login::after{content:"";position:absolute;width:520px;height:300px;border-radius:120px 24px 120px 24px;transform:skewX(-14deg);opacity:.9;z-index:0}
.login::before{background:var(--tv);top:-120px;left:-140px}
.login::after{background:var(--aprova);bottom:-130px;right:-150px}
.login-card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:38px 30px 30px;text-align:center;box-shadow:0 30px 60px -30px rgba(20,22,26,.35)}
.login-logo{height:36px;width:auto;margin-bottom:24px}
.login-card h1{margin:0 0 6px;font-size:30px;font-weight:800;letter-spacing:-.01em}
.login-card p{margin:0 0 24px;color:var(--muted)}
.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:15px 18px;border-radius:14px;border:1px solid #dadce0;background:#fff;color:#1f1f1f;font-weight:700;font-size:16px}
.google-btn:hover{background:#f8f9fa}
.google-btn svg{width:22px;height:22px}
.msg{min-height:1.4em;margin:14px 0 0!important;color:var(--danger);font-size:14px}

/* Topo */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1180px;margin:0 auto;padding:22px 28px 0}
.top-logo{height:26px;width:auto}
.top-user{display:flex;align-items:center;gap:10px;min-width:0}
.user-name{font-size:15px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36vw}
.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}
.wrap{max-width:1180px;margin:0 auto;padding:30px 28px 56px}

/* Abertura */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:stretch;margin-bottom:44px}
.greet{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6px}
.greet h1{margin:0;font-size:clamp(44px,6.4vw,84px);line-height:.95;font-weight:900;letter-spacing:-.035em}
.today{margin:16px 0 0;font-size:20px;color:var(--muted);font-weight:500}
.today b{color:var(--ink);font-weight:700}

.attention{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 22px 10px}
.att-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.att-head h2{margin:0;font-size:19px;font-weight:800}
.link{background:none;border:0;padding:4px 0;font-weight:700;color:var(--atende)}
.notices{list-style:none;margin:0;padding:0}
.notice{display:grid;grid-template-columns:6px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.notice:first-child{border-top:0}
.notice.can-edit{cursor:pointer}
.notice .bar{align-self:stretch;border-radius:4px;background:var(--c,var(--muted))}
.notice b{display:block;font-weight:700;line-height:1.25}
.notice small{display:block;color:var(--muted);font-size:14px;line-height:1.35;margin-top:2px}
.when{text-align:right;white-space:nowrap}
.when strong{display:block;font-size:15px;font-weight:800}
.when span{font-size:13px;color:var(--muted)}
.when.soon strong{color:var(--finance-deep)}
.when.late strong{color:var(--danger)}
@media (prefers-color-scheme:dark){.when.soon strong{color:#f0b54a}}
.notices .empty{padding:14px 0;color:var(--muted)}

/* Blocos dos sistemas: formato do logo (canto superior esquerdo e inferior direito arredondados, laterais inclinadas) */
.section-title{margin:0 0 16px;font-size:22px;font-weight:800}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px;padding:0 10px}
.tile{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:250px;padding:26px 26px 22px;color:#fff;text-decoration:none}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:46px 10px 46px 10px;transform:skewX(-7deg);background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 18px 34px -22px var(--c2);transition:transform .18s ease,box-shadow .18s ease}
a.tile:hover::before,a.tile:focus-visible::before{transform:skewX(-7deg) translateY(-4px);box-shadow:0 26px 40px -22px var(--c2)}
a.tile:focus-visible{outline:none}
a.tile:focus-visible::before{outline:3px solid var(--ink);outline-offset:4px}
.tile-logo{height:44px;display:flex;align-items:center;margin-bottom:auto}
.tile-logo img{max-height:40px;width:auto;max-width:100%}
.tile-logo img.mono{filter:brightness(0) invert(1)}
.tile p{margin:22px 0 16px;font-size:16px;line-height:1.4;color:rgba(255,255,255,.88);max-width:28ch}
.tile-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;font-size:15px}
.tile-foot .state{font-weight:700;font-size:13px;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.18)}
.tile.soon{cursor:default}
.tile.soon::before{filter:saturate(.55);opacity:.8}

/* Pessoas */
.panel{margin-top:48px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.panel h2{margin:0 0 2px;font-size:22px;font-weight:800}
.sub{margin:0;color:var(--muted)}
.people{display:flex;flex-direction:column}
.person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 6px;border:0;border-top:1px solid var(--line);background:none;text-align:left;width:100%}
.person:hover{background:rgba(127,127,127,.07)}
.person b{display:block;font-weight:700}
.person small{color:var(--muted);font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tag{font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.tag.off{color:var(--danger)}
.primary{border:0;border-radius:12px;padding:11px 18px;background:var(--ink);color:var(--paper);font-weight:800}
.primary:hover{opacity:.88}
.ghost{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:transparent}
.ghost.small{padding:7px 13px;font-size:14px;font-weight:600}
.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}
.foot{text-align:center;color:var(--muted);font-size:14px;padding:0 16px 30px}

/* Diálogos */
.dialog{border:1px solid var(--line);border-radius:22px;padding:0;width:min(480px,calc(100vw - 32px));background:var(--card);color:var(--ink)}
.dialog::backdrop{background:rgba(10,12,16,.55)}
.dialog form{padding:24px;display:flex;flex-direction:column;gap:12px}
.dialog h2{margin:0 0 4px;font-weight:800}
.dialog label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:700}
.dialog input,.dialog select{font:inherit;font-weight:500;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:inherit}
.dialog label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0}
legend{font-size:15px;font-weight:700;padding:0 4px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.checks label{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.dialog-actions{display:flex;align-items:center;gap:8px;margin-top:4px}
.spacer{flex:1}

@media (max-width:1020px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}.hero{grid-template-columns:1fr;gap:26px}.greet{padding-bottom:0}}
@media (max-width:600px){
  .top{padding:16px 18px 0}.wrap{padding:22px 18px 44px}.user-name{display:none}
  .today{font-size:17px}.tiles{grid-template-columns:1fr;padding:0 6px}.tile{min-height:0}
  .person{flex-direction:column;align-items:flex-start}.tags{justify-content:flex-start}.row2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== Vidro + degradê (estilo da referência do CRM: brilho no canto, reflexo em cima, borda clara) ===== */
:root{--glass:rgba(255,255,255,.55);--glass-line:rgba(255,255,255,.75);--glass-shadow:0 24px 48px -28px rgba(30,40,60,.35)}
@media (prefers-color-scheme:dark){:root{--glass:rgba(30,34,44,.55);--glass-line:rgba(255,255,255,.12);--glass-shadow:0 24px 48px -28px rgba(0,0,0,.7)}}
html{background:var(--paper)}body{background:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(900px 640px at 6% -10%,rgba(42,164,90,.38),transparent 62%),
  radial-gradient(780px 580px at 98% 2%,rgba(31,127,214,.34),transparent 60%),
  radial-gradient(860px 640px at 90% 100%,rgba(160,79,192,.34),transparent 62%),
  radial-gradient(720px 540px at 2% 96%,rgba(224,154,28,.28),transparent 60%)}
.app{position:relative}
.attention,.panel,.login-card{background:var(--glass);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),var(--glass-shadow)}
@media (prefers-color-scheme:dark){.attention,.panel,.login-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),var(--glass-shadow)}}
.notice{border-top-color:rgba(127,127,127,.18)}
.person{border-top-color:rgba(127,127,127,.18)}
.tag{background:rgba(255,255,255,.5);border-color:var(--glass-line)}
@media (prefers-color-scheme:dark){.tag{background:rgba(255,255,255,.06)}}
.ghost{background:rgba(255,255,255,.35);border-color:var(--glass-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media (prefers-color-scheme:dark){.ghost{background:rgba(255,255,255,.05)}}
/* Blocos: vidro tingido na cor do produto */
.tile::before{background:
  radial-gradient(120% 140% at 0% 0%,rgba(255,255,255,.34),transparent 46%),
  linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 55%),
  linear-gradient(150deg,var(--c1),var(--c2));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -14px 30px rgba(0,0,0,.18),0 22px 40px -24px var(--c2)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:46px 10px 46px 10px;transform:skewX(-7deg);pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 42%,transparent 54%);opacity:.9}
a.tile:hover::after{transform:skewX(-7deg) translateY(-4px)}
.tile-foot .state{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.primary{background:linear-gradient(135deg,#2aa45a,#1f7fd6 55%,#a04fc0);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 24px -12px rgba(31,127,214,.7)}
.login::before,.login::after{filter:blur(2px);opacity:.75}
.dialog{background:var(--glass);-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%);border-color:var(--glass-line)}
.dialog input,.dialog select{background:rgba(255,255,255,.6)}
@media (prefers-color-scheme:dark){.dialog input,.dialog select{background:rgba(255,255,255,.06)}}
.tile-foot .state.good::before,.tile-foot .state.warn::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px;background:#7dffb0;box-shadow:0 0 8px #7dffb0}
.tile-foot .state.warn::before{background:#ffd166;box-shadow:0 0 8px #ffd166}
.lock-logo{height:72px;width:auto;margin-bottom:18px;filter:invert(1)}
@media (prefers-color-scheme:dark){.lock-logo{filter:none}}
.primary.big{width:100%;padding:15px 18px;font-size:18px;margin:18px 0 10px}
#lock .ghost.small{margin-top:8px}

/* Andamento */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.chip{border:1px solid var(--glass-line,var(--line));background:rgba(255,255,255,.35);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer}
.chip span{opacity:.6;margin-left:4px}
.chip.on{background:var(--c);color:#fff;border-color:transparent}
.chip.on span{opacity:.85}
.and-grupo{margin-top:6px;border-top:1px solid rgba(127,127,127,.18)}
.and-grupo summary{cursor:pointer;list-style:none;padding:12px 4px;font-weight:800;font-size:16px}
.and-grupo summary::-webkit-details-marker{display:none}
.and-grupo summary span{color:var(--muted);font-weight:600;margin-left:4px}
.and-grupo.voce summary{color:var(--danger)}
.and-grupo ul{list-style:none;margin:0;padding:0 0 8px}
.and-item{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;border-left:4px solid var(--c);margin:4px 0;border-radius:6px}
.and-item.p1 .and-txt b::before{content:"● ";color:var(--danger)}
.and-ok{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--c);background:none;color:var(--c);font-weight:900;cursor:pointer;margin-top:2px}
.and-grupo.feito .and-ok{background:var(--c);color:#fff}
.and-grupo.feito .and-txt b{text-decoration:line-through;opacity:.7}
.and-txt{flex:1;text-align:left;border:0;background:none;color:inherit;padding:0;cursor:pointer}
.and-txt b{display:block;font-weight:700}
.and-txt small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.and-tags{flex:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tag.radar{color:var(--c);border-color:var(--c)}
.sub.small{font-size:13px;margin-top:10px}
.dialog textarea{font:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--paper,transparent);color:inherit}

.legenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin:-4px 0 6px;font-size:13px;color:var(--muted)}
.legenda span{display:inline-flex;align-items:center;gap:6px}
.legenda i{display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--c)}
.legenda .ponto{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger)}
.legenda .vazio{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--muted)}
