/* Easivo Go — identidade visual oficial. Camada apenas visual, sem alterar fluxos. */
:root{
  --easivo-navy:#101a33;
  --easivo-navy-deep:#071124;
  --easivo-blue:#3567ec;
  --easivo-blue-bright:#4d7cff;
  --easivo-gold:#f6b719;
  --easivo-gold-soft:#fff4cf;
  --easivo-canvas:#f3f6fb;
  --easivo-card:#fff;
  --easivo-text:#17233b;
  --easivo-muted:#65728a;
  --easivo-line:#dce4f0;
  --easivo-radius:20px;
  --easivo-shadow:0 10px 30px rgba(20,38,78,.075);
}

body{background:var(--easivo-canvas);color:var(--easivo-text)}
.main{background:
  radial-gradient(circle at 92% -8%,rgba(53,103,236,.10),transparent 31rem),
  linear-gradient(180deg,#f7f9fd 0,var(--easivo-canvas) 520px)!important}

/* Marca e navegação: o produto passa a ter assinatura própria. */
.sidebar{background:
  radial-gradient(circle at 12% 0,rgba(53,103,236,.28),transparent 230px),
  linear-gradient(180deg,var(--easivo-navy-deep),var(--easivo-navy))!important;
  border-right:1px solid rgba(255,255,255,.08)}
.sidebar .brand{display:flex;align-items:center;gap:11px;padding:0 10px 24px!important;color:#fff;letter-spacing:-.8px}
.sidebar .brand:before{content:"";width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:url('easivo-go-symbol.svg') center/28px no-repeat,#0c1b39;box-shadow:0 9px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.09)}
.sidebar .brand span{color:var(--easivo-gold)!important}
.sidebar .profile{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;border:1px solid rgba(255,255,255,.10);box-shadow:0 12px 25px rgba(0,0,0,.11)}
.sidebar .nav{gap:5px}
.sidebar .nav button{position:relative;color:#cbd5e8!important;border:1px solid transparent;border-radius:12px!important;font-weight:650}
.sidebar .nav button:hover{background:rgba(255,255,255,.075)!important;color:#fff!important}
.sidebar .nav button.active{background:linear-gradient(90deg,rgba(53,103,236,.28),rgba(53,103,236,.11))!important;border-color:rgba(111,146,255,.22);color:#fff!important;box-shadow:inset 3px 0 0 var(--easivo-gold)!important}

/* Cabeçalhos com ritmo mais editorial e menos genérico. */
.topbar{position:relative}
.topbar h1{color:var(--easivo-navy);font-weight:850;letter-spacing:-.045em!important}
.topbar h1:after{content:"";display:block;width:32px;height:4px;margin-top:9px;border-radius:20px;background:linear-gradient(90deg,var(--easivo-gold),#ffd66e)}
.topbar p{color:var(--easivo-muted)!important}
.round-action{border-color:var(--easivo-line)!important;background:rgba(255,255,255,.88)!important;color:var(--easivo-blue)!important;box-shadow:0 7px 18px rgba(24,49,101,.07)!important}
.round-action:hover{border-color:#b9c9ef!important;background:#fff!important;transform:translateY(-1px)}

/* Superfícies: borda sutil, cantos consistentes e elevação funcional. */
.card,.agenda-filter,.agenda-team-filter,.availability-card{border-color:var(--easivo-line)!important;border-radius:var(--easivo-radius)!important;box-shadow:var(--easivo-shadow)!important}
.section-label,.eyebrow{color:var(--easivo-blue)!important;font-weight:850!important;letter-spacing:.12em!important}

/* Início: peça principal reconhecível, com linguagem do site institucional. */
.home-hero{min-height:210px;padding:28px!important;align-items:end!important;background:
  radial-gradient(circle at 89% 18%,rgba(246,183,25,.34),transparent 18%),
  radial-gradient(circle at 77% 118%,rgba(77,124,255,.48),transparent 34%),
  linear-gradient(128deg,#0b1732 0,#162d65 48%,#3567ec 100%)!important;
  border:1px solid rgba(255,255,255,.13)!important;border-radius:26px!important;box-shadow:0 22px 48px rgba(17,38,88,.25)!important}
.home-hero:before{content:"";position:absolute;right:34px;top:29px;width:76px;height:76px;border-radius:24px;background:url('easivo-go-symbol.svg') center/56px no-repeat,rgba(7,17,36,.38);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 16px 36px rgba(0,0,0,.18);transform:rotate(3deg)}
.home-hero:after{right:-45px!important;bottom:-116px!important;width:285px!important;height:285px!important;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.home-hero h2{max-width:650px;color:#fff;font-weight:850;letter-spacing:-.045em}
.home-hero p{color:#dce6ff!important}
.home-hero .eyebrow{color:#ffd66e!important}
.home-hero .btn.accent{background:linear-gradient(180deg,#ffc94d,var(--easivo-gold))!important;color:#111b35!important;box-shadow:0 10px 24px rgba(246,183,25,.25)!important}
.home-hero .hero-secondary{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;backdrop-filter:blur(8px)}

.home-metrics{gap:12px!important}
.home-metrics .card{position:relative;overflow:hidden;text-align:left!important;border-top:0!important;background:linear-gradient(150deg,#fff,#f8faff)!important}
.home-metrics .card:after{content:"";position:absolute;right:-24px;bottom:-28px;width:70px;height:70px;border-radius:50%;background:rgba(53,103,236,.055)}
.home-metrics .card>span{background:#edf2ff!important;color:var(--easivo-blue)!important;border:1px solid #dce6ff}
.home-metrics .card:nth-child(4)>span{background:var(--easivo-gold-soft)!important;color:#8a6100!important;border-color:#ffe29a}
.home-metrics strong{color:var(--easivo-navy);font-weight:850}
.quick-new button{border:1px solid var(--easivo-line)!important;background:linear-gradient(150deg,#fff,#f7f9fd)!important;transition:.18s ease!important}
.quick-new button:hover{border-color:#b9c9ef!important;box-shadow:0 10px 22px rgba(35,70,145,.10);transform:translateY(-2px)}
.quick-new button b{color:var(--easivo-blue)!important}

/* Agenda: filtros e disponibilidade ganham hierarquia sem aumentar a tela. */
.agenda-filter{overflow:hidden;background:linear-gradient(145deg,#fff,#f6f8fe)!important}
.agenda-filter-head{padding-bottom:13px;border-bottom:1px solid var(--easivo-line)}
.agenda-filter-head span{color:var(--easivo-blue)!important}
.agenda-filter-head>b{color:var(--easivo-navy);background:var(--easivo-gold-soft)!important;border:1px solid #ffe39b}
.agenda-filter-presets button{border-color:var(--easivo-line)!important;background:#fff!important;color:var(--easivo-muted)!important;font-weight:750}
.agenda-filter-presets button.active{background:var(--easivo-navy)!important;border-color:var(--easivo-navy)!important;color:#fff!important;box-shadow:0 8px 18px rgba(16,26,51,.18)}
.availability-card{border-left:4px solid var(--easivo-gold)!important;background:linear-gradient(90deg,#fffdf6,#fff 32%)!important}
.agenda-tool{border-color:var(--easivo-line)!important;background:#fff!important;box-shadow:0 7px 17px rgba(26,50,97,.055)!important}
.agenda-tool.primary{background:linear-gradient(145deg,#edf3ff,#fff)!important;border-color:#cbd9ff!important}
.agenda-tool i{color:var(--easivo-blue)!important;background:#edf2ff!important}
.agenda-day{overflow:hidden;padding-top:0!important}
.agenda-date{margin:0 -20px 8px!important;padding:15px 20px!important;background:linear-gradient(90deg,var(--easivo-navy),#1b346c);color:#fff!important}
.agenda-date span{color:#dbe5ff!important}
.appointment{border-radius:14px;padding-left:12px!important;padding-right:12px!important}
.appointment:hover{background:#f7f9ff!important}
.time{color:var(--easivo-blue)!important}

@media(max-width:900px){
  .main{padding-top:18px!important}
  .topbar h1:after{width:25px;height:3px;margin-top:6px}
  .mobile-nav{background:rgba(255,255,255,.96)!important;border-top:1px solid var(--easivo-line)!important;box-shadow:0 -12px 32px rgba(18,34,68,.12)!important;backdrop-filter:blur(18px)}
  .mobile-nav .nav button{position:relative;color:#6c778b!important}
  .mobile-nav .nav button.active{background:#edf2ff!important;color:var(--easivo-blue)!important;box-shadow:inset 0 0 0 1px #dfe7fb}
  .mobile-nav .nav button.active:before{content:"";position:absolute;top:2px;left:50%;width:22px;height:3px;border-radius:4px;background:var(--easivo-gold);transform:translateX(-50%)}
  .home-hero{min-height:225px;padding:20px!important;align-items:end!important}
  .home-hero:before{right:18px;top:18px;width:50px;height:50px;border-radius:15px;background-size:38px}
  .home-hero-copy{padding-top:50px}
  .home-metrics{gap:9px!important}
  .home-metrics .card{min-height:92px!important}
  .agenda-date{margin-left:-13px!important;margin-right:-13px!important;padding-left:14px!important;padding-right:14px!important}
}

body[data-theme="dark"]{
  --easivo-canvas:#091222;--easivo-card:#111c31;--easivo-text:#f4f7fc;--easivo-muted:#a7b3c8;--easivo-line:#2b3953;
}
body[data-theme="dark"] .main{background:radial-gradient(circle at 92% -8%,rgba(53,103,236,.17),transparent 31rem),linear-gradient(180deg,#0a1426,#091222 520px)!important}
body[data-theme="dark"] .topbar h1,body[data-theme="dark"] .home-metrics strong{color:#f5f8ff}

/* Hero compacto: status, data e ações sem competir entre si. */
.home-hero{min-height:0!important;align-items:center!important;padding:24px 26px!important}
.home-hero-copy{min-width:0;padding-top:0!important}
.home-hero-status{display:flex!important;width:max-content;margin:0 0 10px!important;padding:6px 10px!important;background:rgba(8,24,60,.34)!important}
.home-hero .eyebrow{display:block;margin-bottom:9px;font-size:12px;line-height:1.25}
.home-hero h2{margin:0 0 6px!important;line-height:1.08}
.home-hero-actions{align-self:flex-end}
.home-hero-actions .btn{min-width:145px}

@media(max-width:620px){
  .home-hero{display:block!important;min-height:0!important;padding:19px!important;border-radius:22px!important}
  .home-hero:before{display:none!important}
  .home-hero:after{right:-105px!important;bottom:-150px!important;width:260px!important;height:260px!important;opacity:.55}
  .home-hero-copy{padding:0!important}
  .home-hero-status{margin-bottom:9px!important;font-size:10px!important}
  .home-hero .eyebrow{margin-bottom:12px!important;font-size:11px!important}
  .home-hero h2{max-width:none;font-size:25px!important;line-height:1.08!important}
  .home-hero p{font-size:13px!important;line-height:1.4!important}
  .home-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:17px!important}
  .home-hero-actions .btn{min-width:0!important;height:46px!important;border-radius:14px!important;font-size:12px!important}
  .home-hero .hero-secondary{background:#fff!important;border-color:#fff!important;color:var(--easivo-blue)!important;backdrop-filter:none}
}
body[data-theme="dark"] .card,body[data-theme="dark"] .agenda-filter,body[data-theme="dark"] .agenda-team-filter,body[data-theme="dark"] .availability-card{background:#111c31!important;border-color:#2b3953!important}
body[data-theme="dark"] .home-metrics .card,body[data-theme="dark"] .quick-new button{background:linear-gradient(145deg,#132039,#101a2d)!important;border-color:#2b3953!important}
body[data-theme="dark"] .home-metrics .card>span,body[data-theme="dark"] .agenda-tool i{background:#1b2d51!important;border-color:#2b4475!important;color:#79a0ff!important}
body[data-theme="dark"] .quick-new button{color:#eef3ff!important}
body[data-theme="dark"] .round-action,body[data-theme="dark"] .agenda-tool,body[data-theme="dark"] .agenda-filter-presets button{background:#111c31!important;border-color:#2b3953!important;color:#a9bbdc!important}
body[data-theme="dark"] .availability-card{background:linear-gradient(90deg,#2a2416,#111c31 34%)!important}
body[data-theme="dark"] .appointment:hover{background:#17243d!important}

@media(prefers-reduced-motion:reduce){.round-action,.quick-new button{transform:none!important}}

/* Movimento com presença: curto, funcional e sempre opcional. */
@keyframes easivo-page-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes easivo-card-in{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes easivo-modal-in{
  from{opacity:0;transform:translateY(22px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes easivo-backdrop-in{from{background-color:rgba(6,13,29,0)}to{background-color:rgba(6,13,29,.62)}}
@keyframes easivo-number-in{
  0%{opacity:0;transform:translateY(8px)}
  70%{transform:translateY(-2px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes easivo-gold-sweep{
  0%{opacity:0;transform:translateX(-180%)}
  8%{opacity:1}
  42%{opacity:1;transform:translateX(360%)}
  50%,100%{opacity:0;transform:translateX(360%)}
}

.main>.topbar{animation:easivo-page-in .42s cubic-bezier(.22,.8,.3,1) both}
.main>.home-hero,.main>.agenda-filter,.main>.agenda-team-filter,.main>.availability-card,.main>.finance-filter{
  animation:easivo-card-in .48s .05s cubic-bezier(.2,.82,.28,1) both;
}
.main>.home-metrics,.main>.agenda-toolbar,.main>.blocked-strip{
  animation:easivo-card-in .5s .11s cubic-bezier(.2,.82,.28,1) both;
}
.main>.home-content,.main>.agenda-stack,.main>.settings-sections,.main>.client-list,.main>.services-list{
  animation:easivo-card-in .52s .17s cubic-bezier(.2,.82,.28,1) both;
}
.home-metrics .card{animation:easivo-card-in .46s cubic-bezier(.2,.82,.28,1) both}
.home-metrics .card:nth-child(1){animation-delay:.09s}.home-metrics .card:nth-child(2){animation-delay:.14s}.home-metrics .card:nth-child(3){animation-delay:.19s}.home-metrics .card:nth-child(4){animation-delay:.24s}
.home-metrics strong,.home-kpis strong,.finance-kpis strong{animation:easivo-number-in .48s .22s cubic-bezier(.2,.8,.3,1) both}
.agenda-day{animation:easivo-card-in .46s cubic-bezier(.2,.82,.28,1) both}
.agenda-day:nth-child(2){animation-delay:.06s}.agenda-day:nth-child(3){animation-delay:.11s}.agenda-day:nth-child(4){animation-delay:.16s}

.modal{animation:easivo-backdrop-in .22s ease-out both;backdrop-filter:blur(5px)}
.modal-card{transform-origin:50% 32%;animation:easivo-modal-in .34s cubic-bezier(.18,.86,.3,1) both}
.modal-card>*{animation:easivo-page-in .34s .07s ease-out both}

.btn,.round-action,.text-btn,.agenda-filter-presets button,.agenda-tool,.mobile-nav button,.sidebar .nav button{
  transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
.btn:hover,.round-action:hover,.agenda-tool:hover{transform:translateY(-2px)}
.btn:active,.round-action:active,.text-btn:active,.agenda-filter-presets button:active,.agenda-tool:active,.mobile-nav button:active{transform:scale(.96)!important;transition-duration:.08s!important}
.appointment{transition:transform .18s ease,background-color .18s ease,border-color .18s ease!important}
.appointment:hover{transform:translateX(3px)}
.home-hero{isolation:isolate}
.home-hero:before{transition:transform .45s cubic-bezier(.2,.8,.3,1),box-shadow .45s ease}
.home-hero:hover:before{transform:rotate(-3deg) scale(1.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 20px 42px rgba(0,0,0,.24)}
.home-hero .btn.accent{position:relative;overflow:hidden}
.home-hero .btn.accent:after{content:"";position:absolute;inset:-30% auto -30% 0;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);transform:translateX(-180%);will-change:transform,opacity;animation:easivo-gold-sweep 5.2s 1.1s linear infinite;pointer-events:none}
.home-hero-status{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;padding:6px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(6,17,40,.22);color:#fff;font-size:10px;font-weight:800;letter-spacing:.035em;backdrop-filter:blur(7px)}
.home-hero-status-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:rgba(255,208,91,.16);color:#ffd05b}.home-hero-status-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(prefers-reduced-motion:reduce){
  .main>*,.home-metrics .card,.home-metrics strong,.home-kpis strong,.finance-kpis strong,.agenda-day,.modal,.modal-card,.modal-card>*{animation:none!important}
  .btn,.round-action,.text-btn,.agenda-filter-presets button,.agenda-tool,.mobile-nav button,.sidebar .nav button,.appointment,.home-hero:before{transition:none!important;transform:none!important}
  .home-hero .btn.accent:after{display:none!important}
}

/* Saída de sessão sempre visível em Mais/Ajustes, inclusive no celular. */
.account-session-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;max-width:900px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--easivo-line);border-radius:17px;background:linear-gradient(135deg,#fff,#f6f8fd);box-shadow:var(--easivo-shadow);animation:easivo-card-in .42s ease-out both}
.account-session-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#edf2ff;color:var(--easivo-blue)}
.account-session-icon svg{width:21px;height:21px}.account-session-card small,.account-session-card b{display:block}.account-session-card small{margin-bottom:3px;color:var(--easivo-blue);font-size:9px;font-weight:850;letter-spacing:.1em}.account-session-card b{overflow:hidden;color:var(--easivo-navy);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.account-session-card>button{padding:9px 12px;border:1px solid #e2b8b8;border-radius:11px;background:#fff7f7;color:#a42c2c;font-size:12px;font-weight:800}
.account-session-card>button:hover{background:#ffeded;border-color:#d99797}
.logout-confirm{text-align:center}.logout-confirm-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:#edf2ff;color:var(--easivo-blue)}.logout-confirm-icon svg{width:27px;height:27px}.logout-confirm p{margin:0 0 7px;font-weight:750}.logout-confirm>small{display:block;color:var(--easivo-muted);line-height:1.45}.logout-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.btn.danger{background:#b63232!important;color:#fff!important;box-shadow:0 7px 16px rgba(182,50,50,.18)!important}
body[data-theme="dark"] .account-session-card{background:linear-gradient(135deg,#142139,#101a2d);border-color:#2b3953}body[data-theme="dark"] .account-session-card b{color:#f4f7fc}body[data-theme="dark"] .account-session-card>button{background:#2b1a22;border-color:#66323c;color:#ffb6bd}
@media(max-width:620px){.account-session-card{grid-template-columns:40px minmax(0,1fr);padding:12px}.account-session-icon{width:40px;height:40px}.account-session-card>button{grid-column:1/-1;width:100%;min-height:42px}.logout-confirm-actions{grid-template-columns:1fr}}
