/* ═══════════════════════════════════════════════════════════════
   INTERNATO UNINTA — TEMA "DESIGNER"
   Baseado no protótipo aprovado (Claude Designer)
   Paleta: verde #19623f→#23805a · acento amarelo #F5C400 · fundo #f6fbf8
   Mantém TODOS os nomes de classe/IDs do inventário de migração.
   ═══════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}

:root{
  /* Verdes do protótipo */
  --g:#1a6b47;          /* verde principal (compatibilidade JS/HTML) */
  --gd:#19623f;         /* verde profundo (início do gradiente) */
  --gm:#1a6b47;         /* verde médio */
  --gl:#23805a;         /* verde claro (fim do gradiente) */
  --gb:#e8f5ee;         /* verde pastel (fundos de ícone/pill) */
  --grad:linear-gradient(160deg,#19623f 0%,#1a6b47 55%,#23805a 100%);
  --navy:#13241c;       /* texto escuro / nav antiga (compatibilidade) */
  /* Acentos */
  --y:#F5C400;--yb:#fdf7d6;--ydark:#9a7a00;
  --r:#c43d3d;--rb:#fdeaea;
  --pink:#f6c9c0;--pinksoft:#fbe4df;--pinkdark:#e89a8c;
  --mint:#d8f0e4;
  /* Neutros do protótipo */
  --t:#1f3329;          /* texto principal */
  --t2:#7c8a82;         /* texto secundário */
  --t3:#9aa8a1;         /* texto terciário / labels */
  --br:rgba(26,107,71,.10);   /* borda padrão dos cards */
  --brsoft:rgba(26,107,71,.07);
  --sf:#f6fbf8;         /* fundo geral (protótipo) */
  --w:#fff;
  /* Sombras do protótipo */
  --sh:0 10px 24px -16px rgba(26,107,71,.5);
  --shsoft:0 8px 20px -14px rgba(26,107,71,.5);
  --shcard:0 4px 12px -8px rgba(20,40,30,.3);
  --shnav:0 16px 36px -12px rgba(20,40,30,.34);
  --shg:0 14px 26px -14px rgba(26,107,71,.6);
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
}

html,body{height:100%;background:var(--gd);font-family:'Poppins',sans-serif;color:var(--t);overscroll-behavior:none;overflow:hidden;position:fixed;width:100%;}
#app{max-width:430px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--sf);overflow:hidden}

.screen{display:none;flex:1;flex-direction:column;overflow:hidden}
.screen.active{display:flex}

/* ── STATUS BAR + HEADER (gradiente do protótipo, colado ao topo,
      cantos arredondados só embaixo) ─────────────────────────── */
.sb{height:calc(var(--st) + 6px);background:var(--gd);flex-shrink:0}
.topbar{background:var(--grad);padding:14px 18px 18px;margin:0;border-radius:0 0 26px 26px;display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:none}
.topbar::before{content:'';position:absolute;top:-30px;right:0;width:170px;height:170px;background:rgba(255,255,255,.05);border-radius:50%;pointer-events:none}
.topbar>*{position:relative;z-index:1}
.tb-back{color:#fff;font-size:22px;cursor:pointer;border:none;line-height:1;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.tb-logo{width:40px;height:40px;background:rgba(255,255,255,.15);border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tb-title{color:#fff;font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.01em;font-family:'Fraunces',serif}
.tb-sub{color:rgba(255,255,255,.72);font-size:12px;margin-top:2px;font-family:'Poppins',sans-serif}
.tb-sp{flex:1}
.tb-av{width:44px;height:44px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;cursor:pointer;flex-shrink:0}

/* ── CONTEÚDO ─────────────────────────────────────────────────── */
.content{flex:1;padding:16px 18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--sf);scrollbar-width:none}
.content::-webkit-scrollbar{display:none}

/* ── NAV FLUTUANTE BRANCA (protótipo) ─────────────────────────── */
.bnav{position:relative;background:var(--w);border:1px solid rgba(26,107,71,.08);display:flex;margin:0 16px calc(var(--sb) + 14px);border-radius:24px;padding:11px 6px;flex-shrink:0;box-shadow:var(--shnav)}
.bn{flex:1;border:none;background:none;padding:2px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;position:relative}
.bn-ic{font-size:20px;line-height:1}
.bn-ic i{font-size:23px;color:var(--t3);transition:color .15s}
.bn.active .bn-ic i{color:var(--g)}
.bn-lb{font-size:10.5px;color:var(--t3);font-weight:600;transition:color .15s}
.bn.active .bn-lb{color:var(--g);font-weight:700}
.bn-dot{position:absolute;top:-2px;right:22px;width:7px;height:7px;background:var(--y);border-radius:50%;display:none}
.bn-dot.show{display:block}

/* ── CARDS (borda fina verde + sombra suave, protótipo) ───────── */
.card{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:15px 16px;box-shadow:var(--sh)}
.card-g{background:var(--grad);border:none;border-radius:20px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shg)}
.card-g::before{content:'';position:absolute;top:-30px;right:20px;width:140px;height:140px;background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.sec{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t3)}
.sec i{text-transform:none}

/* ── BOTÕES ───────────────────────────────────────────────────── */
.btn{width:100%;border:none;border-radius:14px;padding:14px;font-size:14px;font-weight:700;font-family:'Poppins',sans-serif;cursor:pointer;transition:opacity .15s,transform .1s;text-align:center}
.btn:active{opacity:.85;transform:scale(.99)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-p{background:var(--grad);color:#fff;box-shadow:var(--shg)}
.btn-s{background:var(--w);color:var(--g);border:1px solid rgba(26,107,71,.25)}

/* ── PILLS / BADGES (caps pequenos do protótipo) ──────────────── */
.pill{font-size:10px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:9px;text-transform:uppercase}
.pill-g{background:var(--gb);color:var(--g)}
.pill-y{background:var(--yb);color:var(--ydark)}
.pill-r{background:var(--rb);color:var(--r)}

/* ── BANNERS ──────────────────────────────────────────────────── */
.ban{border-radius:14px;padding:12px 15px;font-size:12.5px;font-weight:500;line-height:1.45}
.ban-g{background:var(--gb);color:var(--g)}
.ban-y{background:var(--yb);color:#5b4a00;border:1px solid rgba(245,196,0,.5)}
.ban-r{background:var(--rb);color:var(--r)}

/* ── FORMULÁRIOS ──────────────────────────────────────────────── */
.flabel{font-size:11px;font-weight:600;color:var(--t3);margin-bottom:5px;display:block;letter-spacing:.02em}
.finput{background:var(--sf);border:1.5px solid var(--br);border-radius:13px;padding:12px 14px;font-size:16px;font-family:'Poppins',sans-serif;color:var(--t);width:100%;outline:none;transition:border-color .15s}
.finput:focus{border-color:var(--gl)}
.fdiv{height:1px;background:var(--brsoft)}

/* ── AVATAR ───────────────────────────────────────────────────── */
.av{border-radius:50%;background:var(--gb);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--g);flex-shrink:0}

/* ── GRID DE MÓDULOS ──────────────────────────────────────────── */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mcard{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:16px 15px;cursor:pointer;transition:transform .18s;display:flex;flex-direction:column;gap:6px;box-shadow:var(--sh);min-height:104px;justify-content:center}
.mcard:active{transform:scale(.96)}
.mbadge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:7px;align-self:flex-start;text-transform:uppercase}

/* ── ÍCONES PHOSPHOR EM CAIXAS (protótipo usa quadrados 12-14px) ─ */
.ic-circle{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ic-circle i{font-size:24px;line-height:1}
.c-green{background:var(--gb);color:var(--g)}
.c-pink{background:var(--pinksoft);color:#c2624f}
.c-mint{background:var(--mint);color:var(--g)}
.c-navy{background:var(--gd);color:#fff}
.c-yellow{background:var(--yb);color:var(--ydark)}

/* ── SPINNER ──────────────────────────────────────────────────── */
.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── LOGIN ────────────────────────────────────────────────────── */
#sc-login{background:var(--grad);overflow-y:auto;position:relative}
#sc-login::before{content:'';position:absolute;top:40px;right:0;width:180px;height:180px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.login-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 24px 30px;position:relative;z-index:1}
.login-logo{width:88px;height:88px;background:#fff;border-radius:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.login-box{background:var(--w);border-radius:30px 30px 0 0;padding:30px 24px;display:flex;flex-direction:column;gap:14px;margin-top:auto;box-shadow:0 -8px 30px rgba(0,0,0,.1)}

/* ── SAÍDA ────────────────────────────────────────────────────── */
.saida-item{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:15px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh)}
.saida-status-bar{height:4px;border-radius:4px;width:100%}

/* ── CHAT ─────────────────────────────────────────────────────── */
.msg-wrap{display:flex;flex-direction:column;gap:2px;max-width:78%}
.msg-wrap.al{align-self:flex-end;align-items:flex-end}
.msg-wrap.pr{align-self:flex-start;align-items:flex-start}
.bubble{padding:11px 13px;border-radius:16px;font-size:13.5px;line-height:1.4;word-break:break-word}
.bubble.al{background:var(--g);color:#fff;border-bottom-right-radius:5px;box-shadow:0 6px 14px -8px rgba(26,107,71,.5)}
.bubble.pr{background:var(--w);border:none;box-shadow:var(--shcard);border-bottom-left-radius:5px}
.msg-meta{font-size:10px;color:var(--t3);display:flex;gap:4px;align-items:center}
.msg-ptag{font-size:9px;background:var(--gb);color:var(--g);padding:2px 6px;border-radius:7px;font-weight:600}
.conv-card{background:var(--w);border:1px solid var(--br);border-radius:16px;padding:13px 14px;display:flex;gap:11px;cursor:pointer;transition:transform .15s;box-shadow:var(--shsoft)}
.conv-card:active{transform:scale(.98)}
.conv-card.unread{border-color:rgba(245,196,0,.55)}
#chat-msgs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}
#chat-msgs::-webkit-scrollbar{display:none}
#chat-header{position:absolute;top:0;left:0;right:0;z-index:10}
#sc-chat{overflow:hidden !important}
#chat-input-bar{flex-shrink:0;position:sticky;bottom:0}

/* ── TOAST ────────────────────────────────────────────────────── */
#toast{position:fixed;top:calc(var(--st) + 14px);left:50%;transform:translateX(-50%) translateY(-80px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:30px;font-size:13px;font-weight:500;z-index:300;transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;max-width:90vw;white-space:normal;text-align:center;box-shadow:0 8px 24px rgba(20,40,30,.3)}
#toast.show{transform:translateX(-50%) translateY(0)}

/* ── LOADING ──────────────────────────────────────────────────── */
#loading{position:fixed;inset:0;background:var(--grad);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:999;transition:opacity .3s}
#loading.hide{opacity:0;pointer-events:none}

/* ── ANIMAÇÃO DE ENTRADA ──────────────────────────────────────── */
.screen.active .content>*{animation:fadeUp .22s ease both}
.screen.active .content>*:nth-child(1){animation-delay:.00s}
.screen.active .content>*:nth-child(2){animation-delay:.04s}
.screen.active .content>*:nth-child(3){animation-delay:.08s}
.screen.active .content>*:nth-child(4){animation-delay:.12s}
.screen.active .content>*:nth-child(5){animation-delay:.16s}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── PCARD (listas de plantão) ────────────────────────────────── */
.pcard{background:var(--w);border:1px solid var(--br);border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.pcard-hd{background:var(--gb);padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--g)}
.prow{padding:12px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--brsoft)}
.prow:last-child{border-bottom:none}

/* ── ABAS DE ALA (pílula branca, ativo verde) ─────────────────── */
.alatabs{display:flex;gap:4px;background:var(--w);border:1px solid var(--br);border-radius:14px;padding:4px;box-shadow:var(--shsoft)}
.alatab{flex:1;text-align:center;font-size:12.5px;font-weight:700;padding:9px 4px;border-radius:11px;cursor:pointer;color:var(--t3);border:none;background:none;font-family:'Poppins',sans-serif;transition:background .15s,color .15s}
.alatab.active{background:var(--g);color:#fff}

/* ── TOGGLE ───────────────────────────────────────────────────── */
.tog{width:44px;height:26px;background:rgba(26,107,71,.15);border-radius:13px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;border:none}
.tog.on{background:var(--g)}
.tog::after{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tog.on::after{transform:translateX(18px)}

/* ── EMPTY STATES ─────────────────────────────────────────────── */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 0;color:var(--t2)}
.empty-ic{font-size:46px;color:var(--gl)}
.empty-txt{font-size:14px;font-weight:600}
.empty-sub{font-size:12px;text-align:center;max-width:220px;line-height:1.6;color:var(--t3)}

/* ── SCANNER QR ───────────────────────────────────────────────── */
.scan-ov{position:relative;width:100%;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#000}
#qr-video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.scan-box{width:62%;aspect-ratio:1;border:2.5px solid var(--y);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.45);position:relative}
.scan-line{position:absolute;left:8px;right:8px;height:2px;background:linear-gradient(90deg,transparent,var(--y),transparent);animation:scanline 2s ease-in-out infinite;top:10%}
@keyframes scanline{0%,100%{top:10%}50%{top:80%}}
.sc{position:absolute;width:18px;height:18px;border-color:var(--y);border-style:solid}
.sc-tl{top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:4px 0 0 0}
.sc-tr{top:-2px;right:-2px;border-width:3px 3px 0 0;border-radius:0 4px 0 0}
.sc-bl{bottom:-2px;left:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 4px}
.sc-br{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 4px 0}
.scan-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff;font-size:12px;font-weight:500}
/* ── HEADER COMPACTO AO ROLAR (dashboard) ─────────────────────── */
#sc-dash .topbar{transition:padding .25s ease}
#sc-dash .topbar .tb-hero{overflow:hidden;max-height:120px;opacity:1;transition:max-height .28s ease,opacity .2s ease,margin .28s ease}
#sc-dash.compact .topbar .tb-hero{max-height:0;opacity:0;margin-top:-16px;pointer-events:none}

/* ── CHIPS DE FILTRO (tela de avisos) ─────────────────────────── */
.chip{border:1px solid var(--br);background:var(--w);color:var(--t2);font-size:12px;font-weight:600;padding:7px 14px;border-radius:20px;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;box-shadow:var(--shsoft)}
.chip.active{background:var(--g);border-color:var(--g);color:#fff}
