/* Visual do protótipo aprovado: branco e verde, Playfair nos títulos, DM Sans no texto. */
:root{
  --bg:hsl(140 30% 98%); --surface:#ffffff; --fg:hsl(150 25% 12%); --muted:hsl(150 10% 38%);
  --line:hsl(145 18% 86%); --accent:hsl(150 63% 30%); --on-accent:#ffffff; --soft:hsl(145 55% 94%); --mid:hsl(145 45% 82%);
  --ok:hsl(150 60% 26%); --ok-bg:hsl(150 55% 91%); --warn:hsl(35 85% 30%); --warn-bg:hsl(42 95% 89%);
  --bad:hsl(2 70% 40%); --bad-bg:hsl(4 85% 93%); --wait:hsl(215 30% 34%); --wait-bg:hsl(215 35% 92%);
  --off:hsl(150 6% 45%); --off-bg:hsl(150 8% 92%);
  --display:"Playfair Display",Georgia,serif; --body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root{
  --bg:hsl(150 18% 8%); --surface:hsl(150 14% 12%); --fg:hsl(140 20% 93%); --muted:hsl(145 10% 66%);
  --line:hsl(150 10% 24%); --accent:hsl(148 55% 62%); --on-accent:hsl(150 30% 8%); --soft:hsl(150 30% 16%); --mid:hsl(150 25% 28%);
  --ok:hsl(150 55% 68%); --ok-bg:hsl(150 40% 16%); --warn:hsl(42 90% 68%); --warn-bg:hsl(38 50% 16%);
  --bad:hsl(4 85% 74%); --bad-bg:hsl(2 50% 19%); --wait:hsl(215 45% 78%); --wait-bg:hsl(215 25% 20%);
  --off:hsl(150 6% 62%); --off-bg:hsl(150 8% 18%);
  color-scheme:dark } }
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--body);padding-inline:16px;padding-block:env(safe-area-inset-top,0px) 56px}
h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0;text-wrap:balance}
h1{font-size:1.6rem} h2{font-size:1.3rem}
p{margin:0}
button,input{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1080px;margin-inline:auto;display:flex;flex-direction:column;gap:18px}
.top{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-block:16px;border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column}.brand b{font-family:var(--display);font-size:1.2rem}.brand span{color:var(--muted);font-size:.85rem}
.seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--soft);padding:4px;border-radius:999px}
.seg button{border:0;background:transparent;padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:500}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.btn{border:0;background:var(--accent);color:var(--on-accent);padding:11px 18px;border-radius:12px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--mid)}
.btn.small{padding:6px 11px;font-size:.88rem;border-radius:9px}
.btn:disabled{opacity:.6;cursor:wait}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.col{display:flex;flex-direction:column;gap:14px;min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}
.muted{color:var(--muted)} .hint{color:var(--muted);font-size:.88rem}
.err{color:var(--bad);font-weight:500}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}
.ok{background:var(--ok-bg);color:var(--ok)} .warn{background:var(--warn-bg);color:var(--warn)}
.bad{background:var(--bad-bg);color:var(--bad)} .wait{background:var(--wait-bg);color:var(--wait)} .off{background:var(--off-bg);color:var(--off)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.tile b{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums;line-height:1.1}
.tile span{font-size:.85rem;color:var(--muted)}
.tile.alert{background:var(--bad-bg);border-color:transparent}.tile.alert b,.tile.alert span{color:var(--bad)}
.weeknav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.weeknav b{font-variant-numeric:tabular-nums}
.day{display:flex;flex-direction:column;gap:8px}
.day h3,.sec h3{font-family:var(--body);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ap{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left;cursor:pointer;width:100%}
.ap.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.ap.help{border-left:5px solid var(--bad)}
.ap.apagada{opacity:.65}
.ap time{font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}
.ap .who{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center;min-width:0}
.ap .who b{overflow-wrap:anywhere}
.sec{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}
dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.file{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px}
.file span{overflow-wrap:anywhere;min-width:0}
.meter{display:flex;flex-direction:column;gap:6px}
.meter .bar{height:8px;background:var(--soft);border-radius:999px;overflow:hidden}
.meter .bar div{height:100%;background:var(--accent)}
.meter.alerta .bar div{background:var(--bad)}
input[type=email],input[type=password],input[type=search]{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px}
label.f{display:flex;flex-direction:column;gap:6px;font-weight:500}
.login{max-width:400px;width:100%;margin:8vh auto 0}
.plist{display:flex;flex-direction:column;gap:6px}
.plist button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.plist button[aria-pressed="true"]{border-color:var(--accent);background:var(--soft)}
.lock{background:var(--wait-bg);color:var(--wait);padding:10px 14px;border-radius:12px;font-size:.92rem}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);padding:10px 18px;border-radius:16px;font-weight:500;max-width:calc(100% - 32px);text-align:center}
@media (max-width:780px){.split{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* abas Telefones e Pendências */
.alertbox{background:var(--bad-bg);color:var(--bad);padding:10px 14px;border-radius:12px}
.editbox{background:var(--soft);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;width:100%}
.consultas{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.crow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.cinfo{min-width:0;flex:1 1 260px;overflow-wrap:anywhere}
.tnum{font-variant-numeric:tabular-nums}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.sech{font-family:var(--body);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:var(--surface);padding:7px 13px;border-radius:999px;cursor:pointer;font-weight:500}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
input[type=text],input[type=tel]{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px}
.top .seg{border-radius:16px}
textarea{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;color:inherit;resize:vertical;min-height:120px}
.anot{border-left:3px solid var(--mid);padding-left:12px;display:flex;flex-direction:column;gap:4px}
.quote{background:var(--soft);border-radius:12px;padding:10px 14px;font-style:italic}
.sel{user-select:all;overflow-wrap:anywhere}
input[type=datetime-local]{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px}
