/* ===============================
RESET + BASE GLOBAL
================================ */

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html,body{
  height:100%;
}

body {
min-height: 100dvh;

background:
linear-gradient(
rgba(0,0,0,0.55),
rgba(0,0,0,0.55)
),
url("/assets/img/background.png") center / cover no-repeat;

padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}

/* ===============================
LAYOUT
================================ */

body.auth{
  display:flex;
  justify-content:center;
  align-items:center;
}

body.internal{
  display:block;
}

/* ===============================
CONTAINER GLOBAL
================================ */

.app-container{
  width:100%;
  min-height:calc(100dvh - 64px);
  padding:24px 16px;
  display:flex;
  justify-content:center;
}

/* ===============================
CARD PADRÃO
================================ */

.app-card{

  width:100%;
  max-width:420px;

  background:#ffffff;

  border-radius:22px;

  padding:22px 20px;

  margin-top:12px;

  box-shadow:
  0 8px 20px rgba(0,0,0,.12),
  0 20px 40px rgba(0,0,0,.06);

  transition:
  transform .15s ease,
  box-shadow .15s ease;

}

.app-card:active{
  transform:scale(.99);
}

/* ===============================
HEADER GLOBAL
================================ */

.app-topbar{

position:sticky;
top:0;

height:64px;

display:flex;
align-items:center;
justify-content:space-between;

padding-top: env(safe-area-inset-top);
padding-left:16px;
padding-right:16px;

background:rgba(255,255,255,0.88);
backdrop-filter:blur(14px);

border-bottom:1px solid rgba(0,0,0,.05);

z-index:100;

}

/* LOGO */

.app-topbar-title{
  display:flex;
  align-items:center;
}

.app-topbar-logo{
  height:38px;
  width:auto;
}

/* ACTIONS */

.app-topbar-actions{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
}

/* ===============================
NOTIFICAÇÃO
================================ */

.app-notification{

  width:32px;
  height:32px;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#0b7d6e;

  cursor:pointer;

}

.icon-bell{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
}

.app-notification:active{
  transform:scale(.9);
}


/* ===============================
AVATAR
================================ */

.app-avatar{

width:44px;
height:44px;

border-radius:50%;

background:#e9f5f2;

display:flex;
align-items:center;
justify-content:center;

font-size:16px;
font-weight:600;

color:#0b7d6e;

cursor:pointer;

}

.app-avatar:active{
  transform:scale(.92);
}

/* ===============================
MENU DO USUÁRIO
================================ */

.app-user-menu{

  position:absolute;

  top:50px;
  right:0;

  width:190px;

  background:#ffffff;

  border-radius:12px;

  padding:12px;

  box-shadow:0 10px 25px rgba(0,0,0,0.15);

  display:flex;
  flex-direction:column;
  gap:8px;

  z-index:200;

}

.app-user-menu a{

  text-decoration:none;

  color:#333;

  font-size:14px;

  padding:6px 0;

}

.app-user-info{
  display:flex;
  flex-direction:column;
  font-size:14px;
}

.app-user-info small{
  color:#777;
}

/* ===============================
LIST CARDS
================================ */

.app-list-card{

  display:flex;
  align-items:center;
  gap:14px;

  padding:16px;

  border-radius:18px;

  background:#f4f7f7;

  color:#0b7d6e;

  text-decoration:none;

  font-size:16px;

  cursor:pointer;

  border:2px solid #0b7d6e;

  transition:
  background .2s ease,
  color .2s ease,
  transform .15s ease,
  box-shadow .2s ease;

}

.app-list-card:active{
  transform:scale(.97);
}

.app-list-card:hover{

  background:#0b7d6e;
  color:#ffffff;

  box-shadow:0 8px 18px rgba(11,125,110,0.25);

}

.app-list-text{
  flex:1;
}

.app-list-card small{
  display:block;
  font-size:13px;
  color:#6a6a6a;
}

.app-list-card:hover small{
  color:#e7f4f2;
}

/* ===============================
UTILIDADES
================================ */

.hidden{
  display:none;
}

button,a{
  -webkit-tap-highlight-color:transparent;
}
.logo-link{
display:inline-block;
}

.logo-link img{
cursor:pointer;
transition:opacity .2s ease;
}

.logo-link img:hover{
opacity:.8;
}
.header-title{
text-decoration:none;
color:inherit;
}
/* ===============================
   NOTIFICAÇÃO GLOBAL
================================ */

.app-notification{
position:relative;
display:flex;
align-items:center;
}

.notification-badge{
position:absolute;
top:-6px;
right:-6px;

background:#2ecc71;
color:#fff;

font-size:10px;
font-weight:700;

min-width:16px;
height:16px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;
padding:0 4px;
}
/* ===============================
   SCROLL MOBILE (SUAVE)
================================ */

.flow-step{
  display:block;
}