*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:linear-gradient(160deg,#A07A80 0%,#7a5560 100%);min-height:100vh;padding:1rem}
:root{
  --tb:#3A0E1E;
  --sc:#3A0E1E;
  --vm:#A07A80;
  --sl:#E7C7CF;
  --lm:#F5E9ED;
  --lm2:#fdf5f7;
  --shadow:0 4px 16px rgba(58,14,30,0.10);
  --shadow-sm:0 2px 8px rgba(58,14,30,0.07);
  --radius:20px;
  --radius-sm:14px;
}
button{font-family:inherit;outline:none;cursor:pointer}
.container{max-width:680px;margin:0 auto}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* HEADER */
.header-card{background:var(--lm);border-radius:var(--radius);padding:1rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border:1.5px solid #3A0E1E;box-shadow:var(--shadow)}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--tb)!important;color:var(--lm)!important;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;border:none!important;box-shadow:var(--shadow-sm)}
.brand-name{font-size:15px;font-weight:500;color:var(--tb)}
.brand-crm{font-size:11px;color:var(--vm);margin-top:1px;letter-spacing:0.04em}
.brand-doctor{font-size:11px;color:var(--sc);margin-top:2px;font-style:italic}
.clock-pill{font-size:13px;font-weight:500;padding:5px 14px;border-radius:20px;background:var(--tb)!important;color:var(--lm)!important;border:none!important;letter-spacing:0.04em}
.hdr-btn{font-size:11px!important;border-radius:20px!important;padding:5px 14px!important;font-weight:500!important;border:1.5px solid var(--sc)!important;background:transparent!important;color:var(--sc)!important}

/* TURNOS */
.shift-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem}
.shift-btn{padding:6px 16px!important;border-radius:20px!important;border:1.5px solid var(--sl)!important;background:var(--lm2)!important;font-size:12px!important;color:var(--sc)!important;font-weight:500!important;transition:all 0.15s;box-shadow:var(--shadow-sm)}
.shift-btn.active{background:var(--sc)!important;color:var(--lm)!important;border-color:var(--sc)!important;box-shadow:var(--shadow)}

/* PROGRESSO */
.progress-card{background:var(--lm);border:1.5px solid #3A0E1E;border-radius:var(--radius);padding:1.1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.phase-name{font-size:16px;font-weight:500;color:var(--sc)}
.phase-pct{font-size:26px;font-weight:500;color:var(--tb);line-height:1}
.prog-bg{height:6px;border-radius:4px;background:rgba(160,122,128,0.25);overflow:hidden;margin-bottom:6px}
.prog-fill{height:100%;border-radius:4px;background:var(--sc);transition:width 0.6s}
.era-dots{display:flex;gap:6px;align-items:center}
.era-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--sc)}
.shift-label{font-size:11px;color:var(--vm);margin-left:4px}

/* FEEDBACK */
.feedback-card{background:var(--lm2);border-radius:var(--radius);padding:1rem 1.5rem;margin-bottom:1rem;border-left:4px solid #3A0E1E;border-top:1px solid #3A0E1E;border-right:1px solid #3A0E1E;border-bottom:1px solid #3A0E1E;box-shadow:var(--shadow-sm)}
.feedback-song{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:var(--vm);margin-bottom:4px}
.feedback-text{font-size:13px;font-style:italic;color:var(--tb);line-height:1.5}

/* MÉTRICAS */
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1rem}
.mc{background:var(--lm);border-radius:var(--radius-sm);padding:14px 12px;border:1px solid #3A0E1E;box-shadow:var(--shadow-sm);text-align:center}
.mc-icon{font-size:20px;margin-bottom:4px}
.mc-label{font-size:9px;color:var(--vm);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:4px}
.mc-val{font-size:24px;font-weight:500;color:var(--tb);line-height:1}
.mc-sub{font-size:10px;color:var(--vm);margin-top:4px}

/* ALERTAS */
.alerts-wrap{margin-bottom:1rem}
.alert{display:flex;align-items:flex-start;gap:8px;padding:9px 14px;border-radius:var(--radius-sm);margin-bottom:6px;font-size:13px;box-shadow:var(--shadow-sm)}
.alert-warn{background:#ead5da;border-left:3px solid #3A0E1E;color:var(--tb)}
.alert-danger{background:#f5d5d5;border-left:3px solid #a0333d;color:#5a1a1a}
.alert-info{background:var(--lm);border-left:3px solid var(--vm);color:var(--tb)}
.alert-ok{background:var(--lm2);border-left:3px solid var(--sc);color:var(--tb)}
.al-song{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:1px;color:var(--sc)}

/* FORMULÁRIO */
.form-card{background:var(--lm2);border:1px solid #3A0E1E;border-radius:var(--radius);padding:1.1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.form-label-hd{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--tb);margin-bottom:14px}
.form-section-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:var(--vm);margin-bottom:6px;margin-top:12px}
.divider{height:0.5px;background:var(--sl);margin:12px 0}
.form-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:4px;align-items:flex-start}
.fg{display:flex;flex-direction:column;gap:5px}
.fg label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:var(--vm)}
.cid-input,.age-input{height:34px;font-size:13px;padding:0 10px;border-radius:20px;border:1.5px solid var(--sl);background:var(--lm);color:var(--tb);font-family:inherit}
.cid-input{width:90px;text-transform:uppercase}.age-input{width:60px}
.chip-group{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex!important;align-items:center;justify-content:center;padding:6px 14px!important;border-radius:20px!important;border:1.5px solid var(--sl)!important;background:var(--lm)!important;font-size:12px!important;font-weight:500!important;color:var(--sc)!important;white-space:nowrap;transition:all 0.12s;user-select:none;box-shadow:var(--shadow-sm)}
.chip:hover{background:var(--lm2)!important;border-color:var(--vm)!important}
.chip-verde.on{background:#3a6b20!important;border-color:#3a6b20!important;color:#fff!important}
.chip-amarelo.on{background:#C8860A!important;border-color:#C8860A!important;color:#fff!important}
.chip-vermelho.on{background:#a0333d!important;border-color:#a0333d!important;color:#fff!important}
.chip-era.on{background:var(--tb)!important;border-color:var(--tb)!important;color:var(--lm)!important}
.add-btn{height:38px!important;padding:0 24px!important;border-radius:20px!important;border:none!important;font-size:13px!important;font-weight:500!important;margin-top:10px;background:var(--tb)!important;color:#fff!important;font-family:inherit;box-shadow:var(--shadow)}
.add-btn:disabled{opacity:0.38!important;cursor:not-allowed!important;box-shadow:none}

/* PACIENTES */
.patients-card{background:var(--lm2);border:1px solid #3A0E1E;border-radius:var(--radius);padding:1.1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.patients-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.patients-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--tb)}
.rv-badge-hd{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--tb)!important;color:var(--lm)!important;border:none!important;display:none}
.prow{display:flex;align-items:center;gap:6px;padding:10px 0;border-bottom:0.5px solid var(--sl);flex-wrap:wrap}
.prow:last-child{border-bottom:none;padding-bottom:0}
.pname{font-size:13px;color:var(--tb);flex:1;min-width:80px}
.pcid{font-size:12px;color:var(--vm);font-style:italic}
.pill{font-size:11px;padding:3px 10px;border-radius:20px;white-space:nowrap}
.ptime{font-size:11px;color:var(--vm);font-style:italic}
.act-btns{display:flex;gap:4px;flex-wrap:wrap}
.ab{font-size:11px!important;padding:4px 9px!important;border-radius:20px!important;border:1px solid var(--sl)!important;background:var(--lm)!important;color:var(--sc)!important;font-family:inherit}
.rv-pending-card{background:var(--lm);border:1.5px solid #3A0E1E;border-radius:var(--radius);padding:1.1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.rv-pending-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--tb);margin-bottom:10px}
.rv-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:0.5px solid var(--sl);font-size:13px;color:var(--tb)}
.rv-row:last-child{border-bottom:none}
.rv-pri{font-size:10px!important;font-weight:500!important;padding:3px 10px!important;border-radius:20px!important;white-space:nowrap;background:var(--tb)!important;color:var(--lm)!important;border:none!important}
.empty{font-size:13px;color:var(--vm);text-align:center;padding:1.5rem 0}
.footer-phrase{text-align:center;font-size:12px;font-style:italic;color:var(--lm2);margin-top:0.5rem;margin-bottom:1rem;opacity:0.85;text-shadow:0 1px 4px rgba(58,14,30,0.3)}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(58,14,30,0.4);z-index:100;align-items:center;justify-content:center;padding:1rem}
.modal-box{background:var(--lm2);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:420px;border:1.5px solid #3A0E1E;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}
.modal-title{font-size:14px;font-weight:500;color:var(--tb);margin-bottom:8px}
.modal-desc{font-size:13px;color:var(--vm);margin-bottom:1rem;line-height:1.5}
.modal-actions{display:flex;gap:8px;margin-top:1rem;justify-content:flex-end}
.mbtn-c{height:34px!important;padding:0 18px!important;border-radius:20px!important;font-size:12px!important;font-weight:500!important;border:1.5px solid var(--sl)!important;background:transparent!important;color:var(--tb)!important;font-family:inherit}
.mbtn-ok{height:34px!important;padding:0 18px!important;border-radius:20px!important;font-size:12px!important;font-weight:500!important;border:1.5px solid var(--tb)!important;background:var(--tb)!important;color:#fff!important;font-family:inherit}

/* ABAS */
.tab-row{display:flex;gap:6px;margin-bottom:1rem;background:var(--lm);border:1.5px solid #3A0E1E;border-radius:24px;padding:4px;box-shadow:var(--shadow-sm)}
.tab-btn{flex:1;padding:7px 8px;border-radius:20px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--sc);transition:all 0.15s;white-space:nowrap}
.tab-btn.active{background:var(--sc);color:var(--lm);box-shadow:var(--shadow-sm)}

/* DETALHES */
.obs-input{width:100%;min-height:56px;font-size:12px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--sl);background:var(--lm);color:var(--tb);font-family:inherit;resize:vertical;line-height:1.4}
.pobs{width:100%;font-size:11px;color:var(--vm);font-style:italic;margin-top:2px;padding-left:2px;overflow-wrap:anywhere}
.ab-alta{color:#2d7a2d!important;border-color:#2d7a2d!important;font-weight:500!important}
.ab-int{color:#a0333d!important;border-color:#a0333d!important;font-weight:500!important}
button:focus-visible,.chip:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--tb);outline-offset:2px}

/* HISTÓRICO */
.hist-card{background:var(--lm);border:1px solid var(--sl);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.hist-card:last-child{margin-bottom:0}
.hist-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.hist-era{font-size:14px;font-weight:500;color:var(--tb)}
.hist-sub{font-size:11px;color:var(--vm);margin-top:2px}
.hist-count{font-size:20px;font-weight:500;color:var(--tb);line-height:1;white-space:nowrap}
.hist-count span{font-size:14px}
.hist-stats{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--vm)}
.hist-stat span{font-weight:500;color:var(--tb)}
.hist-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hist-badge{font-size:10px;padding:3px 10px;border-radius:20px;background:var(--tb);color:var(--lm)}
.hist-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}
.hist-pts{margin-top:8px;border-top:0.5px solid var(--sl)}
.cid-pill{background:var(--lm);color:var(--tb);border:1px solid var(--sl);font-size:12px}

/* CONQUISTAS */
.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:1rem}
.badge-card{background:var(--lm);border:1px solid #3A0E1E;border-radius:var(--radius-sm);padding:14px 12px;text-align:center;box-shadow:var(--shadow-sm)}
.badge-card.locked{opacity:0.55;border-style:dashed}
.badge-card.locked .badge-icon{filter:grayscale(1)}
.badge-icon{font-size:28px;margin-bottom:6px}
.badge-name{font-size:12px;font-weight:500;color:var(--tb)}
.badge-desc{font-size:10px;color:var(--vm);margin-top:3px;line-height:1.4}
.badge-ok{font-size:10px;margin-top:6px;font-weight:500;color:var(--sc)}

/* AVISO FLUTUANTE */
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);max-width:calc(100% - 2rem);display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:20px;background:var(--tb);color:var(--lm);font-size:12px;box-shadow:0 6px 20px rgba(58,14,30,0.35);opacity:0;pointer-events:none;transition:all 0.2s;z-index:200}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{border:1.5px solid var(--sl);background:transparent;color:var(--lm);font-size:11px;font-weight:500;padding:4px 12px;border-radius:20px;white-space:nowrap}

@media (max-width:480px){
  body{padding:0.6rem}
  .metrics-grid{gap:6px}
  .mc{padding:12px 6px}
  .form-card,.patients-card,.rv-pending-card,.progress-card,.feedback-card{padding-left:1rem;padding-right:1rem}
}

/* NOME + LOGIN */
.nome-input{width:100%;height:34px;font-size:13px;padding:0 12px;border-radius:20px;border:1.5px solid var(--sl);background:var(--lm);color:var(--tb);font-family:inherit}
.login-overlay{background:linear-gradient(160deg,#A07A80 0%,#7a5560 100%);z-index:300}
.login-overlay .modal-box{max-width:340px}
body.bloqueado .container{display:none}
