:root {
  --cream: #E5DFD3;
  --cream-2: #F3EFE8;
  --cream-3: #FAF8F4;
  --brown: #442617;
  --brown-2: #6E4B38;
  --tan: #AC9D90;
  --ink: #2E2926;
  --muted: #756E68;
  --line: rgba(68, 38, 23, .12);
  --line-strong: rgba(68, 38, 23, .2);
  --white: #FFFFFF;
  --success: #466252;
  --warning: #936D38;
  --danger: #8A4941;
  --info: #5B6470;
  --shadow: 0 18px 50px rgba(68, 38, 23, .08);
  --shadow-soft: 0 8px 30px rgba(68, 38, 23, .06);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --sidebar: 258px;
  --topbar: 78px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream-2);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.boot-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 16px;
  background: radial-gradient(circle at 70% 20%, rgba(172,157,144,.24), transparent 35%), var(--cream-2);
  color: var(--brown);
}
.boot-mark {
  width: 72px; height: 72px; border-radius: 50%;
  border: 1px solid var(--line-strong);
  display: grid; place-items: center;
  font: 28px Georgia, serif;
  letter-spacing: .05em;
}
.boot-line { width: 92px; height: 1px; background: var(--brown); animation: pulse 1.4s infinite ease-in-out; }
.boot-screen p { margin: 0; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
@keyframes pulse { 0%,100%{opacity:.25; transform:scaleX(.55)} 50%{opacity:1; transform:scaleX(1)} }

/* Login */
.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr);
  background: var(--cream-2);
}
.login-brand {
  padding: 64px clamp(44px, 7vw, 110px);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--brown);
  color: var(--cream);
}
.login-brand::before {
  content:"";
  position:absolute;
  width: 520px; height: 520px;
  border: 1px solid rgba(229,223,211,.18);
  border-radius:50%;
  right:-180px; top:-180px;
}
.login-brand::after {
  content:"";
  position:absolute;
  width: 310px; height:310px;
  border: 1px solid rgba(229,223,211,.1);
  border-radius:50%;
  right:55px; top:45px;
}
.brand-lockup { position:relative; z-index:2; }
.brand-name { font: 42px/1.05 Georgia, "Times New Roman", serif; letter-spacing: .02em; }
.brand-os { margin-top: 7px; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; opacity:.72; }
.brand-message { position:relative; z-index:2; max-width:620px; }
.brand-message .eyebrow { opacity:.64; color: var(--cream); }
.brand-message h1 { margin: 16px 0 18px; font: 52px/1.04 Georgia, serif; font-weight:400; letter-spacing:-.03em; }
.brand-message p { max-width:500px; color:rgba(229,223,211,.72); line-height:1.65; margin:0; }
.brand-footer { position:relative; z-index:2; font-size:12px; color:rgba(229,223,211,.55); }
.login-panel { display:grid; place-items:center; padding:40px; background:var(--cream-3); }
.login-card { width:min(440px,100%); }
.login-card .mobile-brand { display:none; }
.login-card h2 { font: 36px Georgia,serif; font-weight:400; color:var(--brown); margin:0 0 8px; }
.login-card > p { color:var(--muted); line-height:1.55; margin:0 0 34px; }
.dev-note { display:flex; gap:10px; align-items:flex-start; padding:14px 16px; background:#EFE9DF; border:1px solid var(--line); border-radius:14px; margin-bottom:24px; font-size:13px; color:var(--brown-2); }
.dev-dot { width:8px; height:8px; border-radius:50%; background:var(--warning); flex:none; margin-top:5px; }
.field { display:grid; gap:8px; margin-bottom:16px; }
.field label { font-size:12px; font-weight:650; color:var(--brown); letter-spacing:.03em; }
.field input, .field select, .field textarea {
  width:100%; border:1px solid var(--line-strong); background:var(--white); color:var(--ink);
  padding:13px 14px; border-radius:12px; outline:none; transition:.18s;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--brown-2); box-shadow:0 0 0 3px rgba(68,38,23,.07); }
.field textarea { min-height:90px; resize:vertical; }
.primary-btn, .secondary-btn, .ghost-btn, .icon-btn, .text-btn {
  border:0; border-radius:12px; transition:.18s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.primary-btn { padding:12px 16px; background:var(--brown); color:var(--cream-3); font-weight:650; }
.primary-btn:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(68,38,23,.18); }
.primary-btn:disabled { opacity:.55; transform:none; cursor:not-allowed; box-shadow:none; }
.secondary-btn { padding:11px 14px; color:var(--brown); background:var(--cream-2); border:1px solid var(--line); font-weight:600; }
.secondary-btn:hover { background:#ECE5DB; }
.ghost-btn { padding:10px 12px; background:transparent; color:var(--muted); }
.ghost-btn:hover { background:rgba(68,38,23,.05); color:var(--brown); }
.text-btn { padding:6px 0; background:transparent; color:var(--brown); font-weight:650; }
.login-card .primary-btn { width:100%; min-height:48px; margin-top:8px; }
.form-error { min-height:22px; color:var(--danger); font-size:13px; margin-top:10px; }

/* Shell */
.shell { min-height:100vh; display:grid; grid-template-columns:var(--sidebar) 1fr; }
.sidebar {
  height:100vh; position:sticky; top:0; padding:26px 18px 20px;
  background:var(--brown); color:var(--cream); display:flex; flex-direction:column; z-index:20;
}
.sidebar-brand { padding:4px 12px 24px; border-bottom:1px solid rgba(229,223,211,.12); }
.sidebar-brand .name { font:27px Georgia,serif; letter-spacing:.02em; }
.sidebar-brand .sub { margin-top:5px; font-size:9px; letter-spacing:.23em; text-transform:uppercase; opacity:.62; }
.dev-badge { margin:18px 8px 10px; padding:10px 11px; border:1px solid rgba(229,223,211,.14); background:rgba(229,223,211,.07); border-radius:12px; font-size:11px; color:rgba(229,223,211,.78); display:flex; gap:8px; align-items:center; }
.dev-badge i { display:block; width:7px;height:7px;border-radius:50%;background:#D3A563; box-shadow:0 0 0 4px rgba(211,165,99,.11); }
.nav { display:grid; gap:4px; margin-top:14px; }
.nav-section-label { padding:15px 12px 6px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:rgba(229,223,211,.42); }
.nav-item { width:100%; border:0; background:transparent; color:rgba(229,223,211,.67); padding:11px 12px; border-radius:11px; display:flex; align-items:center; gap:11px; text-align:left; font-size:13px; }
.nav-item:hover { color:var(--cream); background:rgba(229,223,211,.07); }
.nav-item.active { color:var(--cream); background:rgba(229,223,211,.11); }
.nav-icon { width:19px; height:19px; border:1px solid currentColor; border-radius:6px; display:grid; place-items:center; font-size:9px; opacity:.88; }
.nav-item.disabled { opacity:.36; cursor:default; }
.nav-item.disabled:hover { background:transparent; }
.sidebar-bottom { margin-top:auto; border-top:1px solid rgba(229,223,211,.12); padding-top:14px; }
.profile-mini { display:flex; align-items:center; gap:10px; padding:8px 10px; }
.avatar { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--brown);font:15px Georgia,serif; flex:none; }
.profile-mini strong { display:block; font-size:12px; font-weight:650; }
.profile-mini span { display:block; margin-top:2px; font-size:10px; color:rgba(229,223,211,.53); }
.logout-btn { width:100%; margin-top:5px; border:0; background:transparent; color:rgba(229,223,211,.58); padding:10px; border-radius:10px; text-align:left; }
.logout-btn:hover { background:rgba(229,223,211,.07); color:var(--cream); }

.main { min-width:0; }
.topbar { height:var(--topbar); padding:0 clamp(20px,3vw,42px); display:flex; align-items:center; gap:16px; position:sticky; top:0; z-index:15; background:rgba(243,239,232,.9); backdrop-filter: blur(14px); border-bottom:1px solid var(--line); }
.mobile-menu { display:none; }
.search-wrap { flex:1; max-width:600px; position:relative; }
.search-input { width:100%; border:1px solid transparent; background:rgba(255,255,255,.72); border-radius:14px; padding:11px 16px 11px 41px; outline:none; color:var(--ink); }
.search-input:focus { border-color:var(--line-strong); background:var(--white); }
.search-glyph { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:14px; }
.top-actions { margin-left:auto; display:flex; align-items:center; gap:9px; }
.new-btn { border:0; background:var(--brown); color:var(--cream-3); border-radius:12px; padding:10px 14px; font-weight:650; }
.new-btn:hover { box-shadow:0 8px 22px rgba(68,38,23,.16); }
.top-profile { display:flex; align-items:center; gap:9px; padding-left:8px; }
.top-profile .avatar { width:32px;height:32px;background:var(--brown);color:var(--cream); }

.content { padding:34px clamp(20px,3.5vw,52px) 60px; max-width:1500px; margin:0 auto; }
.page-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; margin-bottom:28px; }
.page-title-wrap .eyebrow { margin-bottom:8px; }
.page-title { margin:0; font:40px/1.08 Georgia,serif; font-weight:400; color:var(--brown); letter-spacing:-.025em; }
.page-subtitle { margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.eyebrow { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--brown-2); font-weight:700; }
.demo-banner { display:flex; align-items:center; gap:10px; padding:12px 15px; background:#EFE8DD; border:1px solid rgba(147,109,56,.18); border-radius:14px; color:#77592F; font-size:12px; margin-bottom:22px; }
.demo-banner .dot { width:7px;height:7px;border-radius:50%; background:#B48648; flex:none; }

.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.metric { background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:18px; padding:20px; min-height:128px; box-shadow:var(--shadow-soft); }
.metric-label { color:var(--muted); font-size:12px; }
.metric-value { margin-top:15px; font:34px Georgia,serif; color:var(--brown); }
.metric-foot { margin-top:8px; font-size:11px; color:var(--muted); }
.metric .status-mark { width:9px; height:9px; border-radius:50%; display:inline-block; background:var(--success); margin-right:6px; }

.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr); gap:18px; }
.card { background:rgba(255,255,255,.78); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-soft); overflow:hidden; }
.card-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px 15px; }
.card-head h3 { margin:0; font:21px Georgia,serif; font-weight:400; color:var(--brown); }
.card-head p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.card-body { padding:0 22px 22px; }
.card-divider { height:1px; background:var(--line); margin:0 22px; }

.schedule-list { display:grid; }
.schedule-row { display:grid; grid-template-columns:72px 1fr auto; gap:14px; padding:16px 0; align-items:start; border-bottom:1px solid var(--line); }
.schedule-row:last-child { border-bottom:0; }
.schedule-time { font-weight:700; color:var(--brown); font-size:13px; padding-top:2px; }
.schedule-main strong { display:block; font-size:13px; color:var(--ink); }
.schedule-main span { display:block; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.status-chip, .priority-chip { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:700; white-space:nowrap; }
.status-chip::before, .priority-chip::before { content:""; width:6px;height:6px;border-radius:50%; background:currentColor; opacity:.8; }
.status-confirmado { color:var(--success); background:rgba(70,98,82,.10); }
.status-aguardando_confirmacao { color:var(--warning); background:rgba(147,109,56,.11); }
.status-agendado { color:var(--info); background:rgba(91,100,112,.1); }
.status-chegou, .status-em_atendimento { color:#556B7A; background:rgba(85,107,122,.11); }
.status-finalizado { color:var(--success); background:rgba(70,98,82,.10); }
.status-cancelado, .status-nao_compareceu { color:var(--danger); background:rgba(138,73,65,.1); }
.status-concluida { color:var(--success); background:rgba(70,98,82,.10); }
.status-aberta { color:var(--warning); background:rgba(147,109,56,.10); }
.priority-urgente { color:var(--danger); background:rgba(138,73,65,.11); }
.priority-importante { color:#8B6430; background:rgba(139,100,48,.11); }
.priority-atencao { color:#6E685A; background:rgba(110,104,90,.1); }
.priority-informativo { color:var(--info); background:rgba(91,100,112,.09); }

.pending-list { display:grid; gap:10px; }
.pending-item { border:1px solid var(--line); border-radius:14px; padding:14px; background:rgba(250,248,244,.6); }
.pending-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pending-item h4 { margin:0; font-size:13px; color:var(--ink); }
.pending-item p { margin:7px 0 0; font-size:11px; color:var(--muted); line-height:1.5; }
.pending-meta { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; font-size:10px; color:var(--muted); }
.empty-state { padding:32px 14px; text-align:center; color:var(--muted); }
.empty-state .empty-mark { width:44px;height:44px;border-radius:50%; border:1px solid var(--line-strong); margin:0 auto 12px; display:grid;place-items:center;color:var(--brown); }
.empty-state strong { display:block; color:var(--brown); margin-bottom:5px; font:18px Georgia,serif; font-weight:400; }
.empty-state span { font-size:11px; }

/* Agenda */
.agenda-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.date-nav { display:flex; align-items:center; gap:8px; }
.icon-btn { width:38px;height:38px;background:var(--white);border:1px solid var(--line);color:var(--brown); }
.icon-btn:hover { background:var(--cream-3); }
.week-strip { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-bottom:18px; }
.day-pill { border:1px solid var(--line); background:rgba(255,255,255,.62); border-radius:14px; padding:12px 8px; text-align:center; color:var(--muted); }
.day-pill:hover { border-color:var(--line-strong); }
.day-pill .dow { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.day-pill .num { margin-top:6px; font:20px Georgia,serif; color:var(--brown); }
.day-pill.active { background:var(--brown); color:rgba(229,223,211,.72); border-color:var(--brown); }
.day-pill.active .num { color:var(--cream); }
.day-pill.today:not(.active) { border-color:rgba(68,38,23,.35); }
.agenda-panel { background:rgba(255,255,255,.76); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.agenda-header { padding:18px 20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.agenda-header h3 { margin:0; font:22px Georgia,serif; font-weight:400; color:var(--brown); }
.agenda-rows { padding:4px 18px 12px; }
.agenda-row { display:grid; grid-template-columns:88px minmax(180px,.8fr) minmax(210px,1.1fr) minmax(130px,.55fr) auto; gap:16px; align-items:center; min-height:76px; border-bottom:1px solid var(--line); }
.agenda-row:last-child { border-bottom:0; }
.agenda-row .time { font-weight:700; color:var(--brown); font-size:13px; }
.agenda-row .time small { display:block; color:var(--muted); font-size:10px; margin-top:3px; font-weight:500; }
.agenda-row strong { font-size:13px; }
.agenda-row .sub { margin-top:4px; font-size:10px; color:var(--muted); }
.agenda-actions { display:flex; justify-content:flex-end; gap:5px; }
.agenda-actions .ghost-btn { font-size:10px; padding:8px 9px; border:1px solid var(--line); }

/* Pendências */
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.filter-btn { border:1px solid var(--line); background:rgba(255,255,255,.65); color:var(--muted); padding:8px 11px; border-radius:999px; font-size:10px; font-weight:650; }
.filter-btn.active { color:var(--cream); background:var(--brown); border-color:var(--brown); }
.pending-table { display:grid; gap:10px; }
.pending-card { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:14px; align-items:start; background:rgba(255,255,255,.76); border:1px solid var(--line); border-radius:16px; padding:16px; }
.priority-bar { width:4px; min-height:54px; border-radius:999px; background:var(--tan); }
.pending-card[data-priority="urgente"] .priority-bar { background:var(--danger); }
.pending-card[data-priority="importante"] .priority-bar { background:#A07840; }
.pending-card[data-priority="atencao"] .priority-bar { background:#8B8374; }
.pending-card[data-priority="informativo"] .priority-bar { background:#788491; }
.pending-card h3 { margin:0; font-size:13px; }
.pending-card p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.pending-card .meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; color:var(--muted); font-size:10px; }
.pending-card .actions { display:flex; align-items:center; gap:7px; }

/* Patients */
.patient-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.patient-card { background:rgba(255,255,255,.76); border:1px solid var(--line); border-radius:17px; padding:18px; }
.patient-card-head { display:flex; align-items:center; gap:12px; }
.patient-card .avatar { width:42px;height:42px; background:var(--cream); color:var(--brown); }
.patient-card h3 { margin:0; font-size:13px; }
.patient-card .tag { margin-top:4px; display:inline-block; color:var(--warning); background:rgba(147,109,56,.09); padding:4px 6px; border-radius:7px; font-size:9px; font-weight:700; }
.patient-details { display:grid; gap:7px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.patient-details b { color:var(--ink); font-weight:600; }

/* Dropdown / Search */
.dropdown { position:absolute; top:58px; right:clamp(20px,3vw,42px); width:250px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:7px; z-index:60; }
.dropdown button { width:100%; border:0; background:transparent; text-align:left; padding:10px 11px; border-radius:9px; color:var(--ink); font-size:12px; }
.dropdown button:hover { background:var(--cream-2); }
.dropdown small { display:block; color:var(--muted); margin-top:2px; font-size:9px; }
.search-results { position:absolute; top:48px; left:0; right:0; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); overflow:hidden; max-height:390px; overflow-y:auto; z-index:70; }
.search-result { padding:12px 14px; border-bottom:1px solid var(--line); cursor:pointer; }
.search-result:last-child { border-bottom:0; }
.search-result:hover { background:var(--cream-3); }
.search-result b { display:block; font-size:12px; }
.search-result span { display:block; margin-top:3px; font-size:10px; color:var(--muted); }

/* Modal */
.modal-backdrop { position:fixed; inset:0; background:rgba(33,25,21,.38); backdrop-filter:blur(4px); z-index:100; display:grid; place-items:center; padding:20px; }
.modal { width:min(620px,100%); max-height:90vh; overflow:auto; background:var(--cream-3); border:1px solid rgba(255,255,255,.55); border-radius:22px; box-shadow:0 28px 80px rgba(43,27,20,.24); }
.modal-head { padding:21px 22px 17px; border-bottom:1px solid var(--line); display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.modal-head h2 { margin:0; font:26px Georgia,serif; font-weight:400; color:var(--brown); }
.modal-head p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.modal-close { border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;padding:3px 7px;border-radius:8px; }
.modal-close:hover { background:var(--cream); color:var(--brown); }
.modal-body { padding:21px 22px; }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.modal-footer { padding:15px 22px 21px; display:flex; justify-content:flex-end; gap:9px; }
.form-hint { margin-top:-3px; color:var(--muted); font-size:9px; }

/* Toast */
.toast-region { position:fixed; right:22px; bottom:22px; z-index:160; display:grid; gap:8px; }
.toast { min-width:280px; max-width:420px; background:var(--brown); color:var(--cream); border-radius:13px; padding:13px 15px; box-shadow:var(--shadow); font-size:12px; animation:toastIn .2s ease; }
.toast.error { background:#704039; }
.toast.success { background:#40594B; }
@keyframes toastIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.loading-block { min-height:160px; display:grid; place-items:center; color:var(--muted); font-size:12px; }
.spinner { width:24px;height:24px;border:2px solid var(--line-strong); border-top-color:var(--brown); border-radius:50%; animation:spin .8s linear infinite; margin:0 auto 9px; }
@keyframes spin { to{transform:rotate(360deg)} }

@media (max-width: 1100px) {
  :root { --sidebar:220px; }
  .metrics { grid-template-columns:repeat(2,1fr); }
  .dashboard-grid { grid-template-columns:1fr; }
  .agenda-row { grid-template-columns:72px 1fr 1fr auto; }
  .agenda-row > :nth-child(4) { display:none; }
  .patient-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 780px) {
  .login-page { grid-template-columns:1fr; }
  .login-brand { display:none; }
  .login-panel { min-height:100vh; padding:28px 22px; }
  .login-card .mobile-brand { display:block; margin-bottom:48px; color:var(--brown); }
  .login-card .mobile-brand .brand-name { font-size:30px; }
  .shell { display:block; }
  .sidebar { position:fixed; left:-280px; width:260px; transition:.24s ease; box-shadow:20px 0 50px rgba(33,25,21,.12); }
  .sidebar.open { left:0; }
  .main { width:100%; }
  .mobile-menu { display:inline-flex; width:38px;height:38px;border:1px solid var(--line);background:var(--white);border-radius:11px;align-items:center;justify-content:center; }
  .topbar { padding:0 15px; height:68px; }
  .search-wrap { max-width:none; }
  .top-profile { display:none; }
  .new-btn { padding:10px 11px; font-size:0; }
  .new-btn::after { content:"+"; font-size:18px; }
  .content { padding:24px 15px 45px; }
  .page-head { align-items:flex-start; }
  .page-title { font-size:34px; }
  .metrics { grid-template-columns:repeat(2,1fr); gap:9px; }
  .metric { min-height:112px; padding:16px; }
  .metric-value { font-size:29px; }
  .week-strip { overflow-x:auto; grid-template-columns:repeat(7,64px); padding-bottom:5px; }
  .agenda-row { grid-template-columns:58px 1fr auto; gap:10px; padding:13px 0; }
  .agenda-row > :nth-child(3), .agenda-row > :nth-child(4) { display:none; }
  .agenda-actions { flex-direction:column; }
  .pending-card { grid-template-columns:8px 1fr; }
  .pending-card .actions { grid-column:2; justify-content:flex-start; }
  .patient-grid { grid-template-columns:1fr; }
  .modal-grid { grid-template-columns:1fr; }
  .dropdown { right:15px; top:58px; }
}

@media (max-width: 480px) {
  .metrics { grid-template-columns:1fr 1fr; }
  .metric { min-height:105px; }
  .metric-label { font-size:10px; }
  .metric-value { font-size:27px; }
  .page-head { margin-bottom:20px; }
  .page-title { font-size:31px; }
  .topbar .search-input { padding-right:8px; font-size:12px; }
}


/* V0.2 — ficha da paciente e agenda refinada */
.agenda-day-summary{display:flex;gap:8px;flex-wrap:wrap;margin:-5px 0 16px}.agenda-day-summary span{background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;color:var(--muted)}.agenda-day-summary b{color:var(--brown);font-size:11px}.agenda-patient-link{cursor:pointer;border-radius:10px;padding:7px 8px;margin-left:-8px;transition:.15s ease}.agenda-patient-link:hover{background:var(--cream-2)}
.patient-card-button{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}.patient-card-button:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 12px 28px rgba(68,38,23,.06)}.patient-card-button{transition:.18s ease}.patient-open-hint{margin-top:5px;color:var(--brown);font-weight:700;font-size:10px}
.patient-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.patient-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.patient-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 24px;background:linear-gradient(120deg,rgba(255,255,255,.86),rgba(229,223,211,.52));border:1px solid var(--line);border-radius:20px}.patient-hero-main{display:flex;align-items:center;gap:17px}.patient-avatar-large{width:62px;height:62px;border-radius:18px;background:var(--brown);color:var(--cream);display:grid;place-items:center;font:22px Georgia,serif}.patient-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.patient-name-line h2{margin:0;color:var(--brown);font:30px Georgia,serif;font-weight:400}.patient-hero-main p{margin:7px 0 0;color:var(--muted);font-size:11px}.patient-state{padding:7px 10px;border-radius:999px;font-size:10px;font-weight:700}.patient-state.active{background:rgba(64,89,75,.09);color:#40594B}.patient-state.inactive{background:rgba(112,64,57,.09);color:#704039}.patient-tabs{display:flex;gap:4px;overflow-x:auto;margin:14px 0 18px;padding:4px;background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:13px}.patient-tabs button{border:0;background:transparent;padding:9px 13px;border-radius:9px;color:var(--muted);font-size:10px;font-weight:650;white-space:nowrap}.patient-tabs button.active{background:var(--white);color:var(--brown);box-shadow:0 4px 12px rgba(68,38,23,.05)}.patient-tabs button:disabled{opacity:.5}.patient-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.patient-metrics article{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:15px;padding:15px}.patient-metrics span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.patient-metrics strong{display:block;margin-top:9px;color:var(--brown);font:20px Georgia,serif;font-weight:400}.patient-metrics small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35}.patient-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.72fr);gap:14px}.patient-side{display:grid;gap:14px;align-content:start}.compact-card .card-head{padding:17px 18px 13px}.info-list{padding:2px 18px 17px;display:grid;gap:10px}.info-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:9px}.info-list>div:last-child{border-bottom:0;padding-bottom:0}.info-list span{font-size:9px;color:var(--muted)}.info-list b{font-size:10px;text-align:right}.note-box{margin:0 18px 18px;background:var(--cream-2);border-radius:11px;padding:12px;color:var(--muted);font-size:10px;line-height:1.6}.patient-timeline{padding:9px 19px 19px}.timeline-item{display:grid;grid-template-columns:12px 90px 1fr;gap:12px;position:relative;padding:13px 0}.timeline-item:not(:last-child):before{content:'';position:absolute;left:5px;top:28px;bottom:-13px;width:1px;background:var(--line-strong)}.timeline-marker{width:11px;height:11px;border-radius:50%;margin-top:4px;background:var(--tan);border:3px solid var(--cream-3);box-shadow:0 0 0 1px var(--line-strong);z-index:1}.timeline-marker.agenda{background:#85755e}.timeline-marker.pendencia{background:#a07840}.timeline-marker.atendimento{background:#40594b}.timeline-date{font-size:9px;color:var(--muted);line-height:1.35}.timeline-date span{display:block;margin-top:3px}.timeline-content strong{font-size:11px;color:var(--ink)}.timeline-content p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.5}.mini-appointment-list{padding:0 12px 12px;display:grid;gap:6px}.mini-appointment-list button{border:0;background:var(--cream-2);border-radius:10px;padding:10px;display:grid;grid-template-columns:42px 1fr;gap:9px;text-align:left;color:inherit}.mini-appointment-list button:hover{background:var(--cream)}.mini-appointment-list>button>span{font:15px Georgia,serif;color:var(--brown)}.mini-appointment-list b{display:block;font-size:9px}.mini-appointment-list small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.small-empty{padding:12px;color:var(--muted);font-size:10px}.appointment-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.appointment-detail-grid>div{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:11px;padding:11px}.appointment-detail-grid span,.detail-note span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.appointment-detail-grid b{font-size:10px}.detail-note{margin-top:12px;background:var(--cream-2);border-radius:11px;padding:12px}.detail-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1100px){.patient-metrics{grid-template-columns:repeat(2,1fr)}.patient-layout{grid-template-columns:1fr}.patient-side{grid-template-columns:repeat(2,1fr)}.patient-side .compact-card:last-child{grid-column:1/-1}}
@media(max-width:780px){.patient-toolbar{align-items:flex-start}.patient-toolbar-actions{justify-content:flex-end}.patient-hero{align-items:flex-start}.patient-state{display:none}.patient-name-line h2{font-size:25px}.patient-avatar-large{width:52px;height:52px;border-radius:15px;font-size:18px}.patient-metrics{grid-template-columns:repeat(2,1fr)}.patient-side{grid-template-columns:1fr}.patient-side .compact-card:last-child{grid-column:auto}.timeline-item{grid-template-columns:12px 72px 1fr}.appointment-detail-grid{grid-template-columns:1fr}}
@media(max-width:480px){.patient-toolbar{display:grid}.patient-toolbar-actions{justify-content:stretch}.patient-toolbar-actions button{flex:1}.patient-hero{padding:17px}.patient-hero-main{align-items:flex-start}.patient-name-line{display:block}.patient-name-line .tag{display:inline-block;margin-top:5px}.patient-metrics{grid-template-columns:1fr 1fr}.patient-tabs{margin-top:10px}.timeline-item{grid-template-columns:12px 1fr}.timeline-date{grid-column:2}.timeline-content{grid-column:2}.timeline-item:not(:last-child):before{bottom:-22px}}


/* V0.2.1 — correção mobile real */
.mobile-bottom-nav { display:none; }

@media (max-width: 780px) {
  body { background: var(--cream-3); }
  .shell { padding-bottom: 76px; }
  .topbar {
    height: 62px;
    padding: 0 12px;
    gap: 8px;
    background: rgba(250,248,244,.96);
  }
  .mobile-menu { width:40px; height:40px; flex:0 0 40px; }
  .search-wrap { min-width:0; }
  .search-input {
    height:40px;
    padding: 9px 11px 9px 35px;
    border-radius:12px;
    font-size:14px;
  }
  .search-glyph { left:12px; }
  .new-btn { width:40px; height:40px; padding:0; flex:0 0 40px; }
  .content {
    padding: 18px 12px 28px;
    max-width:none;
  }
  .page-head { margin-bottom:14px; }
  .page-title-wrap { min-width:0; }
  .eyebrow { font-size:9px; }
  .page-title {
    font-size:30px;
    line-height:1.02;
    letter-spacing:-.025em;
  }
  .page-subtitle {
    margin-top:7px;
    font-size:12px;
    line-height:1.45;
  }
  .demo-banner {
    margin-bottom:14px;
    padding:10px 12px;
    border-radius:12px;
    font-size:10px;
    line-height:1.45;
  }

  /* ficha */
  .patient-toolbar {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    margin-bottom:10px;
  }
  .patient-toolbar > button { align-self:flex-start; min-height:42px; }
  .patient-toolbar-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }
  .patient-toolbar-actions button {
    min-height:44px;
    width:100%;
    font-size:12px;
  }
  .patient-hero {
    display:block;
    padding:16px;
    border-radius:16px;
  }
  .patient-hero-main { gap:12px; align-items:flex-start; }
  .patient-avatar-large {
    width:50px; height:50px; min-width:50px;
    border-radius:14px;
    font-size:18px;
  }
  .patient-name-line { display:block; }
  .patient-name-line h2 {
    font-size:24px;
    line-height:1.05;
    overflow-wrap:anywhere;
  }
  .patient-name-line .tag { margin-top:6px; }
  .patient-hero-main p {
    margin-top:7px;
    font-size:11px;
    line-height:1.5;
    overflow-wrap:anywhere;
  }
  .patient-tabs {
    width:calc(100vw - 24px);
    margin:10px 0 12px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .patient-tabs::-webkit-scrollbar { display:none; }
  .patient-tabs button {
    min-height:38px;
    padding:9px 14px;
    font-size:11px;
  }
  .patient-metrics {
    grid-template-columns:1fr 1fr !important;
    gap:8px;
    margin-bottom:10px;
  }
  .patient-metrics article {
    padding:13px;
    min-height:105px;
    border-radius:14px;
  }
  .patient-metrics span { font-size:8px; line-height:1.3; }
  .patient-metrics strong { font-size:20px; margin-top:7px; }
  .patient-metrics small { font-size:9px; line-height:1.35; }
  .patient-layout {
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:100%;
  }
  .patient-layout > * { width:100%; min-width:0; }
  .patient-side {
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:100%;
  }
  .card { border-radius:16px; }
  .card-head { padding:16px 15px 12px; }
  .card-head h3 { font-size:21px; }
  .card-head p { font-size:10px; line-height:1.45; }
  .patient-timeline { padding:5px 14px 14px; }
  .timeline-item {
    grid-template-columns:12px 1fr !important;
    gap:9px 10px;
    padding:11px 0;
  }
  .timeline-date {
    grid-column:2 !important;
    font-size:9px;
    font-weight:650;
  }
  .timeline-content { grid-column:2 !important; }
  .timeline-content strong { font-size:12px; line-height:1.35; }
  .timeline-content p { font-size:10px; line-height:1.5; }
  .timeline-item:not(:last-child):before { bottom:-18px; }
  .info-list { padding:2px 15px 15px; gap:9px; }
  .info-list > div { align-items:flex-start; }
  .info-list span { font-size:9px; }
  .info-list b {
    max-width:62%;
    font-size:10px;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
  .note-box {
    margin:0 15px 15px;
    padding:12px;
    font-size:10px;
    line-height:1.55;
  }
  .mini-appointment-list { padding:0 10px 10px; }
  .mini-appointment-list button {
    grid-template-columns:48px 1fr;
    padding:11px;
    min-height:58px;
  }

  /* agenda */
  .agenda-toolbar {
    align-items:stretch;
    gap:9px;
    margin-bottom:12px;
  }
  .agenda-toolbar > .primary-btn { width:100%; min-height:44px; }
  .date-nav { width:100%; display:grid; grid-template-columns:42px 1fr 42px; }
  .date-nav .secondary-btn { width:100%; }
  .week-strip {
    margin-left:-12px;
    margin-right:-12px;
    padding:0 12px 7px;
    grid-template-columns:repeat(7,62px);
    gap:7px;
  }
  .day-pill { padding:10px 6px; border-radius:13px; }
  .agenda-day-summary {
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-left:-12px;
    margin-right:-12px;
    padding:0 12px 4px;
    scrollbar-width:none;
  }
  .agenda-day-summary::-webkit-scrollbar { display:none; }
  .agenda-day-summary span { flex:none; }
  .agenda-panel { border-radius:16px; }
  .agenda-header { padding:15px; gap:10px; }
  .agenda-header h3 { font-size:20px; line-height:1.1; }
  .agenda-rows { padding:2px 12px 8px; }
  .agenda-row {
    display:grid;
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:10px;
    align-items:start;
    padding:13px 0;
    min-height:0;
  }
  .agenda-row > :nth-child(3),
  .agenda-row > :nth-child(4) { display:block !important; grid-column:2; }
  .agenda-row > :nth-child(5) { grid-column:2; }
  .agenda-row .time { grid-row:1 / span 4; padding-top:6px; }
  .agenda-row .time small { margin-top:4px; }
  .agenda-patient-link { margin:0; padding:3px 0; }
  .agenda-row strong { font-size:12px; }
  .agenda-row .sub { font-size:9px; }
  .agenda-actions {
    flex-direction:row !important;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:6px;
    margin-top:2px;
  }
  .agenda-actions .ghost-btn { min-height:36px; padding:7px 10px; font-size:10px; }

  /* pendências */
  .pending-card { padding:13px; gap:10px; border-radius:14px; }
  .pending-card .actions { width:100%; }
  .pending-card .actions button { min-height:40px; }

  /* pacientes */
  .patient-grid { gap:10px; }
  .patient-card { padding:15px; border-radius:15px; }
  .patient-card h3 { font-size:14px; }

  /* modais */
  .modal-backdrop { padding:0; align-items:end; }
  .modal {
    width:100%;
    max-height:92dvh;
    border-radius:20px 20px 0 0;
    border-bottom:0;
  }
  .modal-head { padding:18px 16px 14px; }
  .modal-head h2 { font-size:23px; }
  .modal-body { padding:16px; }
  .modal-footer {
    padding:12px 16px calc(16px + env(safe-area-inset-bottom));
  }
  .modal-footer button { min-height:44px; flex:1; }

  /* navegação inferior */
  .mobile-bottom-nav {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:45;
    min-height:66px;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:rgba(250,248,244,.97);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 25px rgba(68,38,23,.06);
    backdrop-filter:blur(16px);
  }
  .mobile-bottom-nav button {
    border:0;
    background:transparent;
    min-width:0;
    min-height:52px;
    border-radius:11px;
    color:var(--muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    font-size:9px;
    font-weight:650;
  }
  .mobile-bottom-nav button .mobile-nav-icon {
    font-size:17px;
    line-height:1;
  }
  .mobile-bottom-nav button.active {
    color:var(--brown);
    background:rgba(68,38,23,.06);
  }
  .toast-region { left:12px; right:12px; bottom:84px; }
  .toast { min-width:0; max-width:none; width:100%; }
}

@media (max-width: 390px) {
  .patient-metrics { grid-template-columns:1fr 1fr !important; }
  .patient-metrics article { padding:11px; }
  .patient-metrics strong { font-size:18px; }
  .page-title { font-size:28px; }
}

/* =========================================================
   V0.3 — IDENTIDADE OFICIAL ANNA MOURA
   Espelha o portal de cuidados pós-procedimento V2.2.9
   ========================================================= */
:root{
  --cream:#f1ebe3;--cream-2:#f7f3ed;--cream-3:#fffdf9;
  --brown:#4a2e24;--brown-2:#79645a;--tan:#aa988c;
  --ink:#35231c;--muted:#79645a;
  --line:rgba(74,46,36,.13);--line-strong:rgba(74,46,36,.22);
  --white:#fff;--success:#556d5d;--danger:#955d55;--warning:#9a7b54;--info:#79645a;
  --shadow:0 24px 80px rgba(62,42,32,.10);--shadow-soft:0 12px 34px rgba(62,42,32,.065);
  --radius-xl:32px;--radius-lg:24px;--radius-md:18px;--radius-sm:13px;
  --serif:"Bodoni 72","Didot","Iowan Old Style","Times New Roman",serif;
  --sans:"Avenir Next","Helvetica Neue","Segoe UI",Arial,sans-serif;
}
html,body{background:#f7f3ed}
body{font-family:var(--sans);color:#35231c}
.boot-screen{background:#f7f3ed;color:#79645a;gap:18px}
.boot-logo{width:190px;max-width:52vw;height:auto;object-fit:contain}.boot-line{background:#4a2e24}.boot-screen p{font-size:11px;letter-spacing:.08em;color:#79645a}

/* Login igual ao portal */
.login-page{grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);background:#f7f3ed}
.login-brand{padding:54px;background:linear-gradient(135deg,#d8ccc0 0%,#b9a99c 48%,#8f7a6c 100%);color:#fff}
.login-brand::before{content:"";position:absolute;inset:-10%;width:auto;height:auto;border:0;border-radius:0;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.62),transparent 34%),radial-gradient(circle at 74% 72%,rgba(58,35,27,.22),transparent 36%);filter:blur(5px)}
.login-brand::after{display:none}.brand-lockup,.brand-message,.brand-footer{position:relative;z-index:2}.brand-logo{width:215px;height:auto;filter:brightness(.32) sepia(.35)}.brand-logo.mobile{width:170px;display:block;margin:0 auto 14px}.brand-os{margin-top:10px;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:rgba(53,35,28,.66)}
.brand-message .eyebrow{color:#fff;opacity:.8}.brand-message h1{font-family:var(--serif);font-size:62px;line-height:.98;color:#fff}.brand-message p{color:rgba(255,255,255,.86);font-size:15px;line-height:1.75}.brand-footer{color:rgba(255,255,255,.72)}
.login-panel{background:#fffdf9}.login-card h2{font-family:var(--serif);font-size:42px;color:#4a2e24}.login-card>p{color:#79645a}.dev-note{background:#f1ebe3;border-color:var(--line);color:#79645a}.dev-dot{background:#9a7b54}
.field label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#79645a}.field input,.field select,.field textarea{border-color:var(--line-strong);background:#fff;color:#35231c;border-radius:15px;padding:14px 15px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#aa988c;box-shadow:0 0 0 4px rgba(170,152,140,.13)}
.primary-btn,.secondary-btn,.ghost-btn,.icon-btn,.new-btn{border-radius:999px}.primary-btn,.new-btn{background:#4a2e24;color:#fff}.secondary-btn{background:#fff;border:1px solid var(--line-strong);color:#4a2e24}.ghost-btn{color:#4a2e24}.primary-btn:hover,.new-btn:hover{box-shadow:var(--shadow-soft)}

/* Navegação igual ao painel do portal */
.sidebar{background:#39251e;color:#f6efe9;padding:30px 20px 22px}.sidebar-brand{padding:0 10px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-brand img{width:160px;max-height:70px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.93}.sidebar-brand .sub{font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.48);margin-top:9px}
.dev-badge{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:rgba(255,255,255,.65);border-radius:14px}.nav-item{border-radius:14px;color:rgba(255,255,255,.66);padding:12px 13px;font-weight:560}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:#f5eee7;color:#4a2e24;box-shadow:0 7px 22px rgba(0,0,0,.12)}.nav-icon{border:0;width:18px;height:18px;font-size:12px}.nav-section-label{color:rgba(255,255,255,.4)}
.sidebar-bottom{border-color:rgba(255,255,255,.12)}.profile-mini .avatar{background:#d4c6ba;color:#4a2e24}.logout-btn{color:rgba(255,255,255,.7)}
.topbar{height:82px;background:rgba(247,243,237,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.search-input{background:rgba(255,253,249,.85);border:1px solid var(--line);border-radius:999px}.search-input:focus{background:#fff}.top-profile .avatar{background:#d4c6ba;color:#4a2e24}.new-btn{padding:10px 18px;min-height:44px}
.content{padding-top:36px}.page-title{font-family:var(--serif);font-size:42px;color:#4a2e24}.page-subtitle{color:#79645a}.eyebrow{color:#aa988c;font-size:10px;letter-spacing:.23em}.demo-banner{background:#f1ebe3;border-color:var(--line);color:#79645a;border-radius:18px}
.metric,.card,.agenda-panel,.patient-card,.operational-card{background:#fffdf9;border:1px solid var(--line);box-shadow:0 8px 28px rgba(62,42,32,.035);border-radius:24px}.metric-value,.card h3,.patient-hero h2,.modal h2{font-family:var(--serif);font-weight:400;color:#4a2e24}.metric-value{font-size:43px}.card-head h3{font-size:27px}.card-head p,.metric-foot,.sub,.page-inline-note{color:#79645a}.patient-card:hover,.operational-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}
.status-chip,.priority-chip,.tag{border-radius:999px}.tag{background:#f1ebe3;color:#79645a;border:1px solid var(--line)}
.patient-tabs{background:transparent;border-bottom:1px solid var(--line);gap:4px}.patient-tabs button{border-radius:999px;background:transparent;color:#79645a}.patient-tabs button.active{background:#4a2e24;color:#fff}.patient-tabs button:disabled{opacity:.38}
.patient-hero{background:linear-gradient(135deg,#fffdf9,#f1ebe3);border:1px solid var(--line);border-radius:30px}.patient-avatar-large{background:#d4c6ba;color:#4a2e24}.patient-state{border-radius:999px}
.modal{background:#fffdf9;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.modal-head,.modal-footer{border-color:var(--line)}.modal-close{background:#f1ebe3;color:#4a2e24;border-radius:50%}.modal-body{background:#fffdf9}
.dropdown{background:#fffdf9;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.dropdown button:hover{background:#f7f3ed}
.mobile-bottom-nav{background:rgba(255,253,249,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr)}.mobile-bottom-nav button{color:#aa988c}.mobile-bottom-nav button.active{color:#4a2e24}

/* Atendimentos V0.3 */
.operational-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:17px}.page-inline-note{margin:7px 0 0;line-height:1.55;font-size:13px}.flow-legend{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:11px 15px;background:rgba(255,253,249,.62);border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%;font-size:10px;color:#79645a}.flow-legend span{display:flex;align-items:center;gap:7px}.flow-dot{width:7px;height:7px;border-radius:50%;display:block}.flow-dot.admin{background:#aa988c}.flow-dot.tech{background:#79645a}.flow-dot.sign{background:#556d5d}.operational-list{display:grid;gap:10px}.operational-card{display:grid;grid-template-columns:100px minmax(190px,1.3fr) minmax(155px,.7fr) minmax(150px,.7fr) auto;align-items:center;gap:18px;padding:17px 19px}.operational-date span{display:block;font-family:var(--serif);font-size:21px;color:#4a2e24}.operational-date small,.operational-money span,.operational-state small{display:block;margin-top:3px;color:#79645a;font-size:10px}.operational-person{border:0;background:transparent;text-align:left;padding:0;color:#4a2e24;cursor:pointer}.operational-person strong{display:block;font-size:14px}.operational-person span{display:block;color:#79645a;font-size:11px;margin-top:4px}.operational-money strong{display:block;color:#4a2e24;font-size:13px}.operational-actions{display:flex;justify-content:flex-end}.secondary-btn.small{min-height:36px;padding:7px 12px;font-size:10px}.check-field{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:#f7f3ed;border-radius:17px;padding:14px;cursor:pointer}.check-field input{margin-top:3px}.check-field b{display:block;color:#4a2e24;font-size:12px}.check-field small{display:block;color:#79645a;font-size:10px;line-height:1.45;margin-top:3px}.modal-wide{width:min(920px,calc(100vw - 30px))}.technical-body{display:grid;gap:14px}.technical-section{border:1px solid var(--line);background:#fff;border-radius:21px;padding:19px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-title h3{font-family:var(--serif);font-size:23px;font-weight:400;color:#4a2e24;margin:0}.section-title span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#aa988c}.photo-upload{display:grid;grid-template-columns:minmax(180px,1.4fr) .7fr .8fr auto;gap:8px;align-items:center}.photo-upload input,.photo-upload select,.incident-form textarea{border:1px solid var(--line-strong);border-radius:14px;background:#fff;padding:10px 12px;color:#35231c}.photo-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.photo-token{border:1px solid var(--line);background:#f7f3ed;border-radius:15px;padding:9px 11px}.photo-token span{display:block;color:#4a2e24;font-size:11px;font-weight:650;text-transform:capitalize}.photo-token small{display:block;color:#79645a;font-size:9px;margin-top:2px}.incident-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.incident-form textarea{min-height:78px;resize:vertical}.incident-list{display:grid;gap:8px;margin-top:12px}.incident-card{border:1px solid var(--line);border-radius:17px;padding:12px 13px;display:flex;justify-content:space-between;gap:15px;align-items:center}.incident-card b{display:block;color:#4a2e24;font-size:11px}.incident-card small{display:block;color:#79645a;font-size:9px;margin-top:4px}.incident-card p{font-size:10px;color:#79645a;margin:6px 0 0}.mini-operational-list{display:grid;gap:8px;margin-top:12px}.mini-operational-list button{border:1px solid var(--line);background:#f7f3ed;border-radius:16px;padding:10px;display:grid;grid-template-columns:52px 1fr;gap:10px;text-align:left;color:#4a2e24}.mini-operational-list button:disabled{opacity:.65;cursor:default}.mini-operational-list button>span{font-family:var(--serif);font-size:16px}.mini-operational-list b{display:block;font-size:10px}.mini-operational-list small{display:block;color:#79645a;font-size:9px;margin-top:3px}

@media(max-width:820px){
  .login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:28px 20px}.login-card .mobile-brand{display:block;margin-bottom:34px}.login-card h2{font-size:37px}.content{padding:24px 15px 94px}.page-title{font-size:36px}.sidebar-brand img{width:150px}.operational-toolbar{align-items:stretch;flex-direction:column}.operational-toolbar .primary-btn{width:100%}.flow-legend{width:100%;border-radius:18px}.operational-card{grid-template-columns:68px 1fr;gap:11px;padding:16px}.operational-money,.operational-state,.operational-actions{grid-column:2}.operational-actions{justify-content:flex-start}.photo-upload{grid-template-columns:1fr}.incident-form{grid-template-columns:1fr}.modal-wide{width:calc(100vw - 20px)}.technical-section{padding:15px}.section-title{align-items:flex-start}.mobile-bottom-nav{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:480px){.brand-logo.mobile{width:155px}.patient-toolbar-actions{display:grid;grid-template-columns:1fr;width:100%}.patient-toolbar-actions .primary-btn,.patient-toolbar-actions .secondary-btn{width:100%}.operational-card{grid-template-columns:60px 1fr}.operational-date span{font-size:18px}}


/* V0.4 — Ficha clínica, tratamento e evolução */
.patient-module-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:18px;align-items:start}.module-main,.module-side{padding:24px}.clinical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clinical-grid article{background:#fbf8f2;border:1px solid rgba(68,38,23,.1);border-radius:16px;padding:18px}.clinical-grid article>span,.clinical-note>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#8c786a;margin-bottom:10px;font-weight:700}.clinical-chips{display:flex;flex-wrap:wrap;gap:7px}.clinical-chips span{padding:7px 10px;border-radius:999px;background:#eee7dc;color:#442617;font-size:13px}.clinical-note{margin-top:16px;background:#f7f1e8;border-radius:16px;padding:18px}.clinical-note p{margin:0;line-height:1.65;color:#4b403a}.governance-list{display:grid;gap:14px}.governance-list div{padding-bottom:14px;border-bottom:1px solid rgba(68,38,23,.08)}.governance-list div:last-child{border-bottom:0}.governance-list b,.governance-list span{display:block}.governance-list b{color:#442617;margin-bottom:5px}.governance-list span{color:#75665c;font-size:13px;line-height:1.5}.module-foot{margin-top:18px;padding-top:14px;border-top:1px solid rgba(68,38,23,.08);font-size:12px;color:#8c786a}.module-stack{display:grid;gap:18px}.module-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 2px}.module-toolbar h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;color:#442617;margin:4px 0}.module-toolbar p{margin:0;color:#75665c}.plan-card{padding:24px}.plan-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.plan-head h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;color:#442617;margin:4px 0}.plan-head p{margin:6px 0 0;color:#75665c;max-width:720px;line-height:1.55}.plan-progress{text-align:right;min-width:74px}.plan-progress strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:26px;color:#442617}.plan-progress span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8c786a}.progress-track{height:7px;background:#eee7dc;border-radius:999px;overflow:hidden;margin:18px 0}.progress-track i{display:block;height:100%;background:#442617;border-radius:inherit}.plan-stages{display:grid;gap:10px}.plan-stage{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(68,38,23,.1);border-radius:14px;background:#fffdf9}.stage-order{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e9e0d4;color:#442617;font-weight:800}.stage-main b,.stage-main span,.stage-count b,.stage-count span{display:block}.stage-main b{color:#442617}.stage-main span,.stage-count span{font-size:12px;color:#8c786a;margin-top:3px}.stage-count{text-align:right;min-width:64px}.stage-count b{color:#442617}.plan-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.evolution-card{padding:8px 24px}.evolution-row{display:grid;grid-template-columns:70px 28px 1fr;min-height:120px}.evolution-date{padding-top:23px;text-align:right}.evolution-date b,.evolution-date span{display:block}.evolution-date b{font-size:15px;color:#442617}.evolution-date span{font-size:11px;color:#9b8c81;margin-top:3px}.evolution-line{position:relative}.evolution-line:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#ddd1c4}.evolution-line i{position:absolute;top:29px;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#442617;box-shadow:0 0 0 4px #eee7dc}.evolution-content{padding:20px 0 24px 12px;border-bottom:1px solid rgba(68,38,23,.08)}.evolution-row:last-child .evolution-content{border-bottom:0}.evolution-top{display:flex;align-items:center;gap:10px}.evolution-top small{color:#8c786a}.evolution-content h4{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#442617;margin:8px 0 5px}.evolution-content p{margin:0;color:#65584f;line-height:1.6}.patient-visible{display:inline-block;margin-top:10px;font-size:11px;background:#edf1e6;color:#48603c;padding:6px 9px;border-radius:999px}.module-callout{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:#efe7dc;border-radius:16px;color:#442617}.module-callout b{white-space:nowrap}.module-callout span{color:#75665c;line-height:1.5}.check-row{display:flex;gap:10px;align-items:flex-start;color:#65584f;font-size:13px;margin-top:8px}.check-row input{margin-top:2px}
@media(max-width:900px){.patient-module-grid{grid-template-columns:1fr}.clinical-grid{grid-template-columns:1fr}.module-toolbar{align-items:flex-start;flex-direction:column}.module-toolbar .primary-btn{width:100%}.plan-head{flex-direction:column}.plan-progress{text-align:left}.plan-stage{grid-template-columns:34px minmax(0,1fr) auto}.plan-stage .ghost-btn{grid-column:2/-1;justify-self:start}.plan-actions{display:grid;grid-template-columns:1fr 1fr}.evolution-card{padding:4px 15px}.evolution-row{grid-template-columns:54px 22px 1fr}.evolution-date{padding-top:22px}.evolution-content{padding-left:9px}.module-callout{flex-direction:column;gap:5px}}
@media(max-width:560px){.patient-tabs{margin-bottom:16px}.patient-tabs button{min-width:max-content}.plan-card,.module-main,.module-side{padding:18px}.plan-actions{grid-template-columns:1fr}.stage-count{min-width:50px}.evolution-row{grid-template-columns:48px 18px 1fr}.evolution-date b{font-size:13px}.evolution-content h4{font-size:18px}.clinical-chips span{font-size:12px}}


/* V0.5 — Agenda operacional */
.agenda-section-tabs{display:flex;gap:6px;padding:5px;margin-bottom:16px;width:max-content;max-width:100%;overflow-x:auto;background:rgba(255,253,249,.72);border:1px solid var(--line);border-radius:16px}.agenda-section-tabs button,.agenda-view-switch button{border:0;background:transparent;color:#806e63;font-weight:700;font-size:11px;padding:10px 14px;border-radius:11px;white-space:nowrap}.agenda-section-tabs button.active,.agenda-view-switch button.active{background:#442617;color:#f5efe6}.agenda-section-tabs span{margin-left:5px;min-width:19px;height:19px;display:inline-grid;place-items:center;border-radius:999px;background:rgba(68,38,23,.08);font-size:9px}.agenda-section-tabs button.active span{background:rgba(255,255,255,.16)}.agenda-view-switch{display:flex;gap:3px;margin-left:8px;padding:3px;background:#eee7dc;border-radius:11px}.agenda-top-actions{display:flex;gap:8px;flex-wrap:wrap}.day-blocks{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px}.block-mini{min-width:205px;background:#eee7dc;border-left:4px solid #9b735b;border-radius:12px;padding:9px 11px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.block-mini span{font-size:10px;color:#442617;font-weight:800}.block-mini b{font-size:10px;color:#442617}.block-mini small{grid-column:1/-1;color:#806e63;font-size:9px}.week-board{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto;padding-bottom:10px}.week-column{background:#fffdf9;border:1px solid var(--line);border-radius:18px;min-height:420px;overflow:hidden}.week-column.today{border-color:#9f887a;box-shadow:0 0 0 1px rgba(68,38,23,.08)}.week-column-head{width:100%;border:0;background:#f7f1e8;padding:13px 10px;text-align:center;color:#442617}.week-column-head span,.week-column-head small{display:block;color:#8c786a;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.week-column-head b{display:block;font-family:var(--serif);font-size:24px;margin:3px 0}.week-column-body{padding:8px;display:grid;gap:7px}.week-appointment{border:1px solid var(--line);border-left-width:4px;background:#fff;border-radius:12px;padding:10px;text-align:left;color:#442617}.week-appointment span,.week-appointment strong,.week-appointment small,.week-appointment i{display:block}.week-appointment span{font-size:10px;font-weight:800}.week-appointment strong{font-size:11px;margin-top:5px}.week-appointment small{font-size:9px;color:#806e63;margin-top:3px}.week-appointment i{font-style:normal;font-size:8px;color:#806e63;margin-top:7px}.status-border-confirmado{border-left-color:#556d5d}.status-border-aguardando_confirmacao,.status-border-agendado{border-left-color:#a48057}.status-border-chegou,.status-border-em_atendimento{border-left-color:#6c665d}.status-border-cancelado,.status-border-nao_compareceu{border-left-color:#9c6258}.week-empty{padding:15px 5px;color:#a3968d;text-align:center;font-size:10px}.month-board{background:#fffdf9;border:1px solid var(--line);border-radius:20px;overflow:hidden}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-weekdays{background:#f4eee6;border-bottom:1px solid var(--line)}.month-weekdays span{text-align:center;padding:9px;color:#806e63;font-size:9px;font-weight:800;text-transform:uppercase}.month-day{min-height:118px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdf9;text-align:left;padding:9px;color:#442617}.month-day:nth-child(7n){border-right:0}.month-day.outside{opacity:.38;background:#faf7f2}.month-day.today{box-shadow:inset 0 0 0 2px #9f887a}.month-day-head{display:flex;justify-content:space-between;align-items:center}.month-day-head b{font-family:var(--serif);font-size:16px}.month-day-head span{font-size:8px;background:#442617;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center}.month-items{display:grid;gap:4px;margin-top:8px}.month-items small{font-size:8px;line-height:1.25;color:#6f5e54;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-items em{font-size:8px;color:#9a8679;font-style:normal}.month-block{display:inline-block;margin-top:5px;color:#986e54;font-size:8px}.block-list,.waitlist-list{display:grid;gap:10px}.block-card,.waitlist-card{background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.block-card span{font-size:9px;color:#806e63;text-transform:uppercase;letter-spacing:.05em}.block-card h3{font-family:var(--serif);font-weight:400;color:#442617;margin:5px 0;font-size:20px}.block-card p{margin:0;color:#806e63;font-size:10px}.waitlist-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto auto}.waitlist-person strong,.waitlist-person span,.waitlist-card>div>b,.waitlist-card>div>small{display:block}.waitlist-person strong{color:#442617;font-size:13px}.waitlist-person span,.waitlist-card>div>small{color:#806e63;font-size:9px;margin-top:4px}.waitlist-card>div>b{font-size:11px;color:#442617}.danger-btn{border:1px solid rgba(137,74,64,.25);background:#fff6f3;color:#8b4f46;padding:9px 14px;border-radius:12px;font-weight:700;font-size:10px;min-height:38px}.danger-btn:hover{background:#f9e9e4}
@media(max-width:760px){.agenda-section-tabs{width:100%}.agenda-toolbar{align-items:stretch}.date-nav{width:100%;flex-wrap:wrap}.agenda-view-switch{margin-left:0;flex:1}.agenda-view-switch button{flex:1}.agenda-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.agenda-top-actions .primary-btn{grid-column:1/-1}.week-board{grid-template-columns:repeat(7,78vw)}.month-board{overflow-x:auto}.month-weekdays,.month-grid{min-width:700px}.block-card{align-items:flex-start}.waitlist-card{grid-template-columns:1fr;gap:10px}.waitlist-card .agenda-actions{justify-content:flex-start}.block-card{display:grid}.block-card button{width:max-content}}

/* Financeiro operacional */
.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-metrics article{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-soft)}
.finance-metrics span{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}
.finance-metrics strong{display:block;color:var(--brown);font:26px Georgia,serif;font-weight:400}
.finance-charge-list{display:grid;gap:16px}
.finance-charge{overflow:hidden}
.finance-charge-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px}
.finance-charge-head h3{margin:4px 0 6px;color:var(--brown);font:26px Georgia,serif;font-weight:400}
.finance-charge-head p{margin:0;color:var(--muted);font-size:13px}
.finance-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}
.finance-columns>div{padding:20px 22px}
.finance-columns>div+div{border-left:1px solid var(--line)}
.finance-columns h4{margin:0 0 14px;color:var(--brown);font-size:13px}
.finance-installments,.finance-payments{display:grid;gap:8px}
.finance-installment,.finance-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.finance-installment:last-child,.finance-payment:last-child{border-bottom:0}
.finance-installment b,.finance-payment b{display:block;font-size:13px;color:var(--ink)}
.finance-installment span,.finance-payment span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.finance-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.finance-table{display:grid}
.finance-table-row{width:100%;display:grid;grid-template-columns:minmax(0,1.5fr) .7fr .7fr auto;gap:18px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:17px 22px;color:var(--ink)}
.finance-table-row:last-child{border-bottom:0}
.finance-table-row:hover{background:var(--cream-3)}
.finance-table-row b{display:block;font-size:13px}
.finance-table-row span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.finance-table-row .finance-open{color:var(--brown);font-weight:700;margin:0}
.field small{color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:900px){
 .finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance-columns{grid-template-columns:1fr}
 .finance-columns>div+div{border-left:0;border-top:1px solid var(--line)}
 .finance-table-row{grid-template-columns:1fr 1fr}
 .finance-table-row .finance-open{grid-column:1/-1}
}
@media(max-width:560px){
 .finance-metrics{grid-template-columns:1fr 1fr;gap:10px}
 .finance-metrics article{padding:15px}
 .finance-metrics strong{font-size:20px}
 .finance-charge-head{display:grid;padding:18px}
 .finance-charge-head .primary-btn{width:100%}
 .finance-columns>div{padding:16px 18px}
 .finance-installment,.finance-payment{align-items:flex-start}
 .finance-row-actions{flex-direction:column}
 .finance-table-row{grid-template-columns:1fr;gap:9px;padding:16px 18px}
}


/* V0.7 — Contas, acessos e senha */
.hidden-access-form{display:none!important}.login-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f1ebe3;border:1px solid var(--line);border-radius:999px;padding:4px;margin:0 0 24px}.login-mode-switch button{border:0;background:transparent;color:#79645a;border-radius:999px;padding:10px 12px;font-size:11px;font-weight:700}.login-mode-switch button.active{background:#4a2e24;color:#fff}.password-help{display:block;color:#79645a;font-size:10px;line-height:1.45;margin:-2px 0 14px}.form-success{margin-top:13px;color:#556d5d;font-size:12px;line-height:1.5}.profile-mini-button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;padding:8px;border-radius:14px}.profile-mini-button:hover{background:rgba(255,255,255,.06)}.profile-arrow{margin-left:auto;color:rgba(255,255,255,.5);font-size:20px}.top-profile{border:0;background:transparent;padding:0;cursor:pointer}.team-guide,.access-explain{display:flex;gap:10px;align-items:flex-start;background:#f1ebe3;border:1px solid var(--line);border-radius:17px;padding:14px 16px;color:#79645a;font-size:11px;line-height:1.5;margin-bottom:16px}.team-guide b,.access-explain b{color:#4a2e24;min-width:max-content}.team-list{display:grid;gap:10px}.team-card{background:#fffdf9;border:1px solid var(--line);border-radius:22px;padding:17px 19px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center}.team-card.inactive{opacity:.58}.team-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#d4c6ba;color:#4a2e24;font-family:var(--serif);font-size:18px}.team-main h3{font-family:var(--serif);font-weight:400;font-size:22px;color:#4a2e24;margin:0}.team-main p{margin:4px 0;color:#79645a;font-size:11px}.team-name-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.creator-tag{background:#4a2e24;color:#fff}.team-meta{display:flex;gap:7px 13px;flex-wrap:wrap;margin-top:8px}.team-meta span{color:#79645a;font-size:9px}.creator-access{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f1ebe3;color:#4a2e24;font-size:10px;font-weight:800}.account-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:16px}.account-profile,.password-card{padding:24px}.account-profile h3,.password-card h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:5px 0;color:#4a2e24}.account-profile>p,.password-card>p{color:#79645a;font-size:12px;line-height:1.55}.account-profile-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:11px}.account-profile-row span{color:#79645a}.account-profile-row b{color:#4a2e24}.password-card form{display:grid;gap:12px;margin-top:18px}.password-card .primary-btn{justify-self:start}.check-row{display:flex;gap:10px;align-items:center;color:#4a2e24;font-size:12px}.check-row input{accent-color:#4a2e24}
@media(max-width:760px){.account-grid{grid-template-columns:1fr}.team-card{grid-template-columns:44px 1fr}.team-actions{grid-column:2}.team-actions .secondary-btn{width:100%}.team-guide{flex-direction:column}.login-mode-switch{margin-top:4px}.password-card .primary-btn{width:100%}}


/* Estoque */
.stock-toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}.stock-metrics{margin-top:18px}.stock-total{font-size:28px}.stock-list{display:grid;gap:14px}.stock-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:18px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-soft)}.stock-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.stock-title h3{margin:0;font:22px Georgia,serif;color:var(--brown);font-weight:400}.stock-main>p{color:var(--muted);font-size:12px;margin:6px 0 18px}.stock-status{font-size:10px;font-weight:700;padding:6px 9px;border-radius:999px;white-space:nowrap}.stock-ok{color:var(--success);background:rgba(70,98,82,.1)}.stock-warning{color:var(--warning);background:rgba(147,109,56,.12)}.stock-alert{color:var(--danger);background:rgba(138,73,65,.11)}.stock-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stock-numbers>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(250,248,244,.65)}.stock-numbers span,.stock-lot-row span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.stock-numbers b,.stock-lot-row b{font-size:12px;color:var(--ink)}.stock-lots{border-left:1px solid var(--line);padding-left:18px}.stock-lots-head{display:flex;justify-content:space-between;color:var(--brown);font-size:12px;margin-bottom:8px}.stock-lot-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.stock-lot-row:last-child{border-bottom:0}.stock-lot-row>div:nth-child(2){text-align:right}.stock-use-section{background:rgba(239,233,223,.55);border-radius:15px;padding:16px!important}.stock-use-form{display:grid;gap:10px}.stock-use-note{font-size:11px;color:var(--muted);margin:8px 0 0}
@media(max-width:900px){.stock-card{grid-template-columns:1fr}.stock-lots{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px}.stock-numbers{grid-template-columns:1fr 1fr}.stock-lot-row{grid-template-columns:1fr auto}.stock-lot-row .ghost-btn{grid-column:1/-1;justify-self:start}}
@media(max-width:560px){.stock-toolbar-actions{width:100%}.stock-toolbar-actions button{flex:1}.stock-numbers{grid-template-columns:1fr}.stock-lot-row{grid-template-columns:1fr}.stock-lot-row>div:nth-child(2){text-align:left}}


/* V0.8.1 — correção menu mobile e logo em rotas internas */
.sidebar { overflow: hidden; }
.nav {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-right: 3px;
  padding-bottom: 10px;
}
.nav::-webkit-scrollbar { width: 4px; }
.nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 999px; }
.sidebar-bottom { flex: 0 0 auto; }
@media (max-width: 780px) {
  .sidebar {
    height: 100dvh;
    max-height: 100dvh;
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
  .nav { flex: 1 1 auto; }
}


/* V0.9 — financeiro estratégico */
.finance-master-toolbar{align-items:flex-start;gap:20px}
.finance-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}
.finance-period{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 16px;background:rgba(255,255,255,.55);border:1px solid var(--line,#ded5ca);border-radius:18px}
.finance-period label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted,#8a786c)}
.finance-period input{min-height:42px;border:1px solid var(--line,#ded5ca);border-radius:12px;background:#fff;padding:0 12px;color:var(--brown,#442617);font:inherit}
.finance-period>span{padding-bottom:12px;color:var(--muted,#8a786c)}
.finance-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}
.finance-tabs::-webkit-scrollbar{display:none}
.finance-tabs button{white-space:nowrap;border:1px solid var(--line,#ded5ca);background:rgba(255,255,255,.6);color:var(--brown,#442617);border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}
.finance-tabs button.active{background:var(--brown,#442617);color:#fff;border-color:var(--brown,#442617)}
.finance-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-kpi{background:#fff;border:1px solid var(--line,#ded5ca);border-radius:22px;padding:20px;min-height:132px;display:flex;flex-direction:column;gap:7px;box-shadow:0 12px 30px rgba(68,38,23,.035)}
.finance-kpi span,.finance-balance-card>span{font-size:13px;color:var(--muted,#8a786c)}
.finance-kpi strong{font-family:Georgia,'Times New Roman',serif;font-size:28px;color:var(--brown,#442617);line-height:1.05}
.finance-kpi small,.finance-balance-card small{color:var(--muted,#8a786c);line-height:1.35}
.finance-kpi.primary{background:linear-gradient(145deg,#442617,#5c3827);border-color:transparent}
.finance-kpi.primary span,.finance-kpi.primary strong,.finance-kpi.primary small{color:#f7f1e9}
.finance-kpi.profit{background:#f5efe6}
.finance-kpi.cash{background:#eee5da}
.finance-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-balance-card{padding:18px;display:flex;flex-direction:column;gap:7px}
.finance-balance-card strong{font-family:Georgia,'Times New Roman',serif;font-size:23px;color:var(--brown,#442617)}
.finance-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.finance-account-card{padding:20px;display:flex;flex-direction:column;gap:8px}
.finance-account-card>div span{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted,#8a786c)}
.finance-account-card h3{margin:4px 0 0;font-size:18px;color:var(--brown,#442617)}
.finance-account-card>strong{font-family:Georgia,'Times New Roman',serif;font-size:30px;color:var(--brown,#442617)}
.finance-account-card>small{color:var(--muted,#8a786c)}
.finance-strategic-list{display:flex;flex-direction:column}
.finance-strategic-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(120px,.6fr) minmax(150px,.7fr) auto;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line,#e4ddd5)}
.finance-strategic-row:last-child{border-bottom:0}
.finance-entry-type{display:flex;flex-direction:column;gap:5px;min-width:0}
.finance-entry-type .tag{width:max-content}
.finance-entry-type b{font-size:15px;color:var(--brown,#442617);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-entry-type small,.finance-strategic-row>div>span,.finance-strategic-row>div>small{display:block;color:var(--muted,#8a786c);font-size:12px;margin-top:3px}
.finance-strategic-row>div>b{color:var(--brown,#442617)}

@media(max-width:1100px){
  .finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .finance-master-toolbar{display:flex;flex-direction:column}
  .finance-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .finance-toolbar-actions button{width:100%;min-height:46px}
  .finance-period{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:12px}
  .finance-period label{min-width:0}
  .finance-period input{width:100%;min-width:0;padding:0 8px;font-size:13px}
  .finance-period .secondary-btn{grid-column:1/-1;width:100%}
  .finance-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
  .finance-kpi{padding:15px;min-height:120px}
  .finance-kpi strong{font-size:21px;word-break:break-word}
  .finance-balance-grid{grid-template-columns:1fr 1fr;gap:10px}
  .finance-account-grid{grid-template-columns:1fr}
  .finance-strategic-row{grid-template-columns:1fr auto;gap:10px 14px;padding:15px 14px}
  .finance-entry-type{grid-column:1/-1}
  .finance-strategic-row .finance-row-actions{justify-self:end}
}
@media(max-width:390px){
  .finance-kpi-grid,.finance-balance-grid{grid-template-columns:1fr}
}


/* V0.9.1 — autoauditoria */
.audit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.audit-summary-grid .card{padding:22px;display:flex;flex-direction:column;gap:8px}.audit-summary-grid span{color:var(--muted)}.audit-summary-grid strong{font-family:var(--serif);font-size:30px;color:var(--brown)}.audit-policy{padding:20px 22px;display:flex;gap:14px;align-items:flex-start}.audit-policy b{color:var(--brown);white-space:nowrap}.audit-policy span{color:var(--muted);line-height:1.55}.audit-list{display:flex;flex-direction:column}.audit-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:start;padding:18px 20px;border-bottom:1px solid var(--line)}.audit-row:last-child{border-bottom:0}.audit-row b{color:var(--brown);display:block;margin-bottom:5px}.audit-row p{margin:0 0 6px;color:var(--muted);line-height:1.45}.audit-row small{color:var(--muted-soft)}.audit-severity{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.audit-row.critico .audit-severity{color:#8c2f2f}.audit-row.importante .audit-severity{color:#8a5a2b}.audit-row.atencao .audit-severity{color:#8b7449}.audit-fixed{background:#edf3ea!important}.audit-review{background:#f4e9e6!important}.audit-footnote{font-size:13px;color:var(--muted);padding:0 4px}.finance-kpi.profit-realized{background:#f7f3eb}
@media(max-width:780px){.audit-summary-grid{grid-template-columns:1fr 1fr}.audit-summary-grid .card{padding:16px}.audit-summary-grid strong{font-size:24px}.audit-policy{flex-direction:column}.audit-row{grid-template-columns:1fr;gap:8px}.audit-row>div:last-child{justify-self:start}}

/* V0.9.2 — auditoria financeira + drawer mobile */
.profile-mini-button{color:inherit}
.profile-mini-button strong{color:var(--cream)}
.logout-btn{font-size:13px}
.sidebar-backdrop{display:none}
.field-hint{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4}
.finance-entry-impact{padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--cream-2);color:var(--muted);font-size:11px;line-height:1.5}

@media(max-width:780px){
  body.sidebar-open{overflow:hidden;touch-action:none}
  .sidebar{z-index:80;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .sidebar-backdrop{
    display:block;position:fixed;inset:0;z-index:70;border:0;padding:0;margin:0;
    background:rgba(34,24,20,.32);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
    opacity:0;pointer-events:none;transition:opacity .22s ease;
  }
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
  .mobile-bottom-nav{z-index:45}
}

/* V0.9.3 — cadastro pendente e matriz administrativa de acessos */
.access-gate-card{max-width:520px}.access-state-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#efe6dc;color:#4a2e24;font-family:var(--serif);font-size:25px;margin-bottom:14px}.access-approval-note{display:flex;gap:12px;align-items:flex-start;background:#f1ebe3;border:1px solid var(--line);border-radius:17px;padding:14px 16px;margin:18px 0;color:#79645a;font-size:11px;line-height:1.5}.access-approval-note b{color:#4a2e24;min-width:max-content}.access-signout{margin-top:10px;width:100%}
.team-section-tabs{display:flex;gap:6px;flex-wrap:wrap;background:#f1ebe3;border:1px solid var(--line);border-radius:18px;padding:5px}.team-section-tabs button{border:0;background:transparent;color:#79645a;border-radius:13px;padding:10px 14px;font-size:10px;font-weight:800;cursor:pointer}.team-section-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(74,46,36,.08);margin-left:5px}.team-section-tabs button.active{background:#4a2e24;color:#fff}.team-section-tabs button.active span{background:rgba(255,255,255,.18)}
.request-section{display:grid;gap:12px}.access-request-list{display:grid;gap:10px}.access-request-list.history{opacity:.82}.access-request-card{background:#fffdf9;border:1px solid var(--line);border-radius:22px;padding:17px 19px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center}.request-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e6dacf;color:#4a2e24;font-family:var(--serif);font-size:18px}.request-main h3{font-family:var(--serif);font-weight:400;font-size:21px;color:#4a2e24;margin:0}.request-main p{margin:4px 0;color:#79645a;font-size:11px}.request-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.request-history-title{margin-top:12px}
.permission-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px}.permission-profiles{background:#fffdf9;border:1px solid var(--line);border-radius:22px;padding:16px;align-self:start;display:grid;gap:7px}.permission-profile-btn{border:1px solid transparent;background:transparent;border-radius:15px;padding:12px;text-align:left;cursor:pointer;color:#4a2e24}.permission-profile-btn b{display:block;font-size:12px}.permission-profile-btn span{display:block;color:#79645a;font-size:9px;line-height:1.45;margin-top:4px}.permission-profile-btn.active{background:#f1ebe3;border-color:var(--line)}.permission-panel{background:#fffdf9;border:1px solid var(--line);border-radius:22px;padding:20px}.permission-panel-head h3{font-family:var(--serif);font-size:27px;font-weight:400;color:#4a2e24;margin:4px 0}.permission-panel-head p{font-size:11px;color:#79645a;margin:0 0 16px}.permission-module{border-top:1px solid var(--line);padding:15px 0 3px}.permission-module-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:8px}.permission-module-title b{font-size:11px;color:#4a2e24}.permission-module-title span{font-size:9px;color:#937e73}.permission-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:10px 8px;border-radius:12px}.permission-row:hover{background:#faf6f0}.permission-row>span{display:grid;gap:3px}.permission-row b{font-size:10px;color:#4a2e24}.permission-row small{font-size:8px;color:#8f7b71}.permission-row input{width:18px;height:18px;accent-color:#4a2e24}.permission-row.locked{opacity:.55}
.permission-user-modal .modal-body{max-height:68vh;overflow:auto}.user-permission-groups{display:grid;gap:9px}.permission-details{border:1px solid var(--line);border-radius:16px;background:#fffdf9;overflow:hidden}.permission-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:13px 15px;font-size:11px;font-weight:800;color:#4a2e24;background:#faf6f0}.permission-details summary::-webkit-details-marker{display:none}.permission-details summary span{font-size:9px;color:#8f7b71;font-weight:600}.user-permission-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:16px;align-items:center;padding:11px 15px;border-top:1px solid var(--line)}.user-permission-row>span{display:grid;gap:3px}.user-permission-row b{font-size:10px;color:#4a2e24}.user-permission-row small{font-size:8px;color:#8f7b71}.user-permission-row select{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 9px;color:#4a2e24;font-size:9px}.team-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.access-request-card{grid-template-columns:44px 1fr}.request-actions{grid-column:2;justify-content:stretch}.request-actions button{flex:1}.permission-layout{grid-template-columns:1fr}.permission-profiles{display:flex;overflow-x:auto}.permission-profile-btn{min-width:190px}.user-permission-row{grid-template-columns:1fr}.team-section-tabs{display:grid;grid-template-columns:1fr 1fr}.team-section-tabs button:last-child:nth-child(3){grid-column:1/-1}.access-approval-note{flex-direction:column}}
.stock-expiry-home{display:grid;gap:8px;padding-top:14px}.stock-expiry-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.stock-expiry-row:last-child{border-bottom:0}.stock-expiry-row div{display:grid;gap:3px}.stock-expiry-row b{font-size:11px;color:#4a2e24}.stock-expiry-row span{font-size:9px;color:#8f7b71}.stock-expiry-row strong{font-size:10px;color:#8b5e45}.home-finance-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:14px}.home-finance-summary div{background:#faf6f0;border:1px solid var(--line);border-radius:14px;padding:12px}.home-finance-summary span{display:block;font-size:9px;color:#8f7b71}.home-finance-summary b{display:block;margin-top:5px;color:#4a2e24;font-size:14px}@media(max-width:760px){.mobile-bottom-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.home-finance-summary{grid-template-columns:1fr 1fr}}

/* V0.10 — pendências contextuais */
.pending-clickable { cursor:pointer; transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; }
.pending-clickable:hover { border-color:rgba(68,38,23,.28); box-shadow:0 8px 22px rgba(68,38,23,.07); background:rgba(255,255,255,.9); }
.pending-clickable:focus-visible { outline:2px solid rgba(124,74,49,.38); outline-offset:2px; }
.pending-clickable:active { transform:translateY(1px); }
.pending-open-hint { margin-left:auto; color:var(--brown, #7C4A31); font-weight:700; white-space:nowrap; }
.pending-card .meta .pending-open-hint { margin-left:0; }
@media (max-width: 640px){
  .pending-open-hint { width:100%; margin-left:0; padding-top:2px; }
}

/* V0.10 — clínica, pacotes, CRM e relatórios */
.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.anamnese-card{padding:20px}.anamnese-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.anamnese-status small{color:var(--muted);font-size:10px}.anamnese-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.anamnese-grid article{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(250,248,244,.58)}.anamnese-grid span,.anamnese-flags span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.anamnese-grid b{font-size:12px;line-height:1.5}.anamnese-flags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.anamnese-flags>div{border:1px solid var(--line);border-radius:12px;padding:12px}.anamnese-flags b{font-size:12px}
.consent-list{display:grid;gap:10px}.consent-card{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:16px;cursor:pointer;background:rgba(255,255,255,.78)}.consent-card h3{font-size:13px;margin:8px 0 4px}.consent-card p,.consent-card small{font-size:10px;color:var(--muted);margin:0}.consent-card>div:last-child{display:grid;justify-items:end;gap:8px}.consent-term{border:1px solid var(--line);background:rgba(250,248,244,.72);border-radius:16px;padding:18px;line-height:1.7;font-size:12px;max-height:50vh;overflow:auto}.signature-box{margin-top:14px;border-left:3px solid var(--brown,#7C4A31);padding:10px 14px;background:rgba(124,74,49,.05);display:grid;gap:3px}.signature-box span,.signature-box small{font-size:10px;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.package-card{padding:18px}.package-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.package-card-head h3{font-size:14px;margin:8px 0 4px}.package-card-head p{font-size:10px;color:var(--muted);margin:0}.package-balance{text-align:right;display:grid}.package-balance strong{font-size:28px;font-weight:500}.package-balance span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.package-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:var(--muted);margin-top:10px}.package-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-token{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center}.session-token>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cream,#E4DFD3);font-size:11px;font-weight:700}.session-token.realizada>span{background:rgba(88,119,86,.14)}.session-token b{display:block;font-size:11px}.session-token small{font-size:9px;color:var(--muted)}.session-token p{font-size:9px;color:var(--muted);margin:4px 0 0}
.crm-money{font-size:20px!important}.crm-board{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}.crm-column{border:1px solid var(--line);background:rgba(250,248,244,.55);border-radius:16px;min-height:320px}.crm-column>header{padding:12px 12px 10px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.crm-column>header span{border-radius:20px;background:var(--cream,#E4DFD3);padding:2px 7px}.crm-column-body{display:grid;gap:8px;padding:10px}.crm-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;text-align:left;display:grid;gap:5px;cursor:pointer}.crm-card:hover{border-color:rgba(68,38,23,.28);box-shadow:0 5px 16px rgba(68,38,23,.06)}.crm-card.overdue{border-left:3px solid #9f5b55}.crm-card strong{font-size:11px}.crm-card span,.crm-card small,.crm-card i{font-size:9px;color:var(--muted);font-style:normal}.crm-card b{font-size:11px}.crm-empty{font-size:10px;color:var(--muted);padding:12px;text-align:center}.crm-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crm-detail-grid>div{border:1px solid var(--line);border-radius:12px;padding:11px}.crm-detail-grid span{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.crm-detail-grid b{font-size:11px}.crm-update-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.crm-update-form button{align-self:end}.crm-history-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}.crm-history-head h3{font-size:13px;margin:0}.crm-history{display:grid;gap:8px}.crm-history>div{border-left:2px solid var(--cream,#E4DFD3);padding:8px 12px}.crm-history span,.crm-history b{font-size:9px;margin-right:6px}.crm-history p{font-size:10px;color:var(--muted);margin:4px 0 0}
.reports-toolbar{align-items:end}.report-filters{display:flex;gap:7px;flex-wrap:wrap}.report-filters input{min-height:38px;border:1px solid var(--line);border-radius:10px;background:white;padding:0 10px;color:var(--ink)}.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-kpis article{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:15px;padding:15px;display:grid;gap:5px}.report-kpis span,.report-kpis small{font-size:9px;color:var(--muted)}.report-kpis strong{font-size:21px;font-weight:500}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:15px}.report-breakdown div{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;justify-content:space-between}.report-breakdown span{font-size:10px;color:var(--muted)}.top-procedures{display:grid;padding:12px 15px 16px}.top-procedures>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.top-procedures span{font-size:9px;color:var(--muted)}.top-procedures b{font-size:10px}.top-procedures strong{font-size:11px}
.status-pendente{background:rgba(160,120,64,.12)!important;color:#805f2f!important}.status-assinado,.status-concluido{background:rgba(87,119,86,.12)!important;color:#4f734f!important}.status-recusado,.status-revogado,.status-expirado,.status-cancelado{background:rgba(145,77,72,.11)!important;color:#8b4e49!important}.status-ativo{background:rgba(87,119,86,.12)!important;color:#4f734f!important}
@media(max-width:980px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.package-grid,.reports-grid{grid-template-columns:1fr}.crm-detail-grid,.crm-update-form{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.anamnese-grid,.anamnese-flags,.session-grid,.crm-detail-grid,.crm-update-form,.report-kpis,.report-breakdown{grid-template-columns:1fr}.consent-card{align-items:flex-start}.consent-card>div:last-child{justify-items:start}.package-card-head{gap:10px}.package-actions{justify-content:flex-start;flex-wrap:wrap}.reports-toolbar{align-items:stretch}.report-filters{width:100%}.report-filters input{flex:1;min-width:120px}.crm-board{grid-template-columns:repeat(6,78vw)}.toolbar-actions{justify-content:flex-start}}

/* V0.10 — Fotos Clínicas */
.photo-compare{padding:22px}.photo-compare-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 16px}.photo-compare-selects select{width:100%}.photo-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-compare-image{position:relative;border:0;background:#efe8e0;border-radius:18px;overflow:hidden;min-height:280px;padding:0;cursor:pointer}.photo-compare-image img{display:block;width:100%;height:100%;min-height:280px;max-height:460px;object-fit:cover}.photo-compare-image span{display:grid;place-items:center;min-height:280px;color:#7c6659}.photo-compare-image i{position:absolute;left:12px;bottom:12px;background:rgba(68,38,23,.88);color:white;border-radius:999px;padding:7px 10px;font-size:11px;font-style:normal;letter-spacing:.08em}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-card{border:1px solid rgba(68,38,23,.1);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(68,38,23,.05)}.photo-thumb{display:block;position:relative;width:100%;height:210px;border:0;padding:0;background:#eee5dd;cursor:pointer;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb span{display:grid;place-items:center;height:100%;color:#7c6659}.photo-thumb em{position:absolute;left:10px;top:10px;background:rgba(68,38,23,.86);color:white;border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal}.photo-card-body{padding:14px;display:grid;gap:12px}.photo-card-body>div:first-child{display:grid;gap:3px}.photo-card-body span,.photo-card-body small{font-size:12px;color:#7c6659}.photo-card-body p{margin:0;font-size:13px;line-height:1.45;color:#5c493f}.publish-check{display:flex;gap:10px;align-items:flex-start;border-top:1px solid rgba(68,38,23,.08);padding-top:12px;cursor:pointer}.publish-check input{margin-top:3px;accent-color:#442617}.publish-check span{display:grid;gap:2px}.publish-check b{font-size:13px;color:#442617}.publish-check.readonly{cursor:default;opacity:.72}.modal-photo{width:min(920px,94vw)}.photo-full{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:16px;background:#eee5dd}

/* V0.10 — Marketing Intelligence */
.marketing-toolbar{align-items:flex-end}.marketing-tabs{margin-bottom:0}.marketing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.marketing-kpis article{background:#fff;border:1px solid rgba(68,38,23,.1);border-radius:18px;padding:18px;display:grid;gap:6px}.marketing-kpis span{font-size:12px;color:#7c6659}.marketing-kpis strong{font-size:25px;color:#442617}.marketing-kpis small{font-size:12px;color:#8a7669}.marketing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.marketing-funnel{display:flex;align-items:center;gap:10px;padding:20px}.marketing-funnel div{flex:1;display:grid;gap:5px;text-align:center;background:#f7f1eb;border-radius:16px;padding:14px 8px}.marketing-funnel div span{font-size:11px;color:#7c6659}.marketing-funnel div b{font-size:22px;color:#442617}.marketing-funnel>i{width:22px;height:1px;background:rgba(68,38,23,.25)}.marketing-rank,.trend-list{display:grid;padding:8px 18px 18px}.marketing-rank>div,.trend-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(68,38,23,.08)}.marketing-rank>div:last-child,.trend-list>div:last-child{border-bottom:0}.marketing-rank>div>span,.trend-list>div>span{width:26px;height:26px;border-radius:50%;background:#efe5dc;display:grid;place-items:center;font-size:11px;color:#442617}.marketing-rank>div>div{display:grid;gap:2px}.marketing-rank small{font-size:11px;color:#7c6659}.marketing-content-list,.marketing-campaign-list{display:grid;gap:14px}.marketing-content-card,.marketing-campaign-card{padding:18px;display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(420px,2fr) auto;gap:18px;align-items:center}.marketing-content-card h3,.marketing-campaign-card h3{margin:8px 0 4px}.marketing-content-card p,.marketing-campaign-card p{margin:0;color:#7c6659;font-size:13px}.marketing-content-metrics,.marketing-campaign-metrics{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px}.marketing-campaign-metrics{grid-template-columns:repeat(6,minmax(75px,1fr))}.marketing-content-metrics div,.marketing-campaign-metrics div{background:#f7f1eb;border-radius:12px;padding:9px;display:grid;gap:3px;text-align:center}.marketing-content-metrics span,.marketing-campaign-metrics span{font-size:10px;color:#7c6659}.marketing-content-metrics b,.marketing-campaign-metrics b{font-size:13px;color:#442617}.external-trends{display:grid;padding:8px 18px 18px}.external-trends article{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(68,38,23,.08)}.external-trends article:last-child{border-bottom:0}.external-trends article>div{display:grid;gap:3px}.external-trends small{font-size:11px;color:#7c6659}.external-trends p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#5c493f}.trend-direction{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#efe5dc;color:#442617;font-weight:700}.trend-direction.alta{background:#e7efe7}.trend-direction.queda{background:#f3e5e1}

@media(max-width:980px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-grid{grid-template-columns:1fr}.marketing-content-card,.marketing-campaign-card{grid-template-columns:1fr}.marketing-content-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.marketing-campaign-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.photo-compare-selects,.photo-compare-grid{grid-template-columns:1fr}.photo-compare-image,.photo-compare-image img,.photo-compare-image span{min-height:230px}.photo-gallery{grid-template-columns:1fr}.photo-thumb{height:250px}.marketing-kpis{grid-template-columns:1fr 1fr}.marketing-funnel{display:grid;grid-template-columns:1fr 1fr}.marketing-funnel>i{display:none}.marketing-content-metrics,.marketing-campaign-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-toolbar .report-filters{width:100%;grid-template-columns:1fr 1fr auto}}

/* V0.11 — Mapa anatômico, manutenção e fotografia padronizada */
.compare-warning{color:var(--warning);font-weight:700}
.stock-section-tabs{display:flex;gap:8px;padding:6px;background:rgba(68,38,23,.045);border:1px solid var(--line);border-radius:16px;width:max-content;max-width:100%;overflow:auto}
.stock-section-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:11px;font-weight:700;white-space:nowrap}
.stock-section-tabs button.active{background:var(--white);color:var(--brown);box-shadow:var(--shadow-soft)}
.stock-section-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:999px;background:rgba(68,38,23,.08);font-size:11px}

.anatomy-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:start}
.anatomy-history{padding:0;overflow:hidden;position:sticky;top:94px}
.anatomy-history .card-head{padding:18px 18px 12px}
.anatomy-history-list{display:grid;gap:6px;padding:0 10px 12px;max-height:650px;overflow:auto}
.anatomy-history-item{width:100%;display:grid;grid-template-columns:34px 1fr;gap:10px;text-align:left;align-items:center;padding:11px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink)}
.anatomy-history-item:hover{background:rgba(68,38,23,.035)}
.anatomy-history-item.active{background:rgba(68,38,23,.065);border-color:var(--line-strong)}
.anatomy-history-icon{width:32px;height:32px;border-radius:10px;background:var(--cream-2);display:grid;place-items:center;color:var(--brown);font-weight:700}
.anatomy-history-item b{display:block;font-size:13px;line-height:1.35}
.anatomy-history-item small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.35}
.anatomy-editor{padding:0;overflow:hidden}
.anatomy-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.anatomy-editor-head h3{margin:3px 0 4px;color:var(--brown);font-size:20px}
.anatomy-editor-head p{margin:0;color:var(--muted);font-size:12px}
.anatomy-view-tabs{display:flex;gap:7px;padding:12px 18px;border-bottom:1px solid var(--line);overflow:auto;background:rgba(250,248,244,.68)}
.anatomy-view-tabs button{border:1px solid var(--line);background:var(--white);color:var(--muted);padding:9px 12px;border-radius:11px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:8px}
.anatomy-view-tabs button span{font-size:10px;min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:var(--cream-2)}
.anatomy-view-tabs button.active{background:var(--brown);color:var(--cream);border-color:var(--brown)}
.anatomy-view-tabs button.active span{background:rgba(255,255,255,.13)}
.anatomy-workspace{display:grid;grid-template-columns:minmax(310px,1fr) minmax(220px,300px);min-height:620px}
.anatomy-canvas{position:relative;display:grid;place-items:center;min-height:620px;background:radial-gradient(circle at 50% 43%,rgba(172,157,144,.11),transparent 43%),linear-gradient(180deg,#fbfaf7,#f3eee6);overflow:hidden;touch-action:manipulation;user-select:none}
.anatomy-canvas.editable{cursor:crosshair}
.anatomy-canvas.locked{cursor:default}
.anatomy-figure{width:min(88%,470px);height:580px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 16px 18px rgba(68,38,23,.04))}
.anatomy-figure.flip{transform:scaleX(-1)}
.anatomy-point{position:absolute;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;z-index:4;box-shadow:0 4px 12px rgba(68,38,23,.22);transition:transform .15s ease}
.anatomy-point:hover{transform:translate(-50%,-50%) scale(1.15)}
.anatomy-point span{pointer-events:none}
.anatomy-point.point-aplicacao{width:25px;height:25px;border:2px solid white;background:var(--brown);color:white}
.anatomy-point.point-area{width:38px;height:38px;border:2px solid rgba(68,38,23,.65);background:rgba(172,157,144,.38);color:var(--brown);box-shadow:none}
.anatomy-point.point-observacao{width:27px;height:27px;border:2px solid white;background:var(--warning);color:white}
.anatomy-click-hint,.anatomy-lock-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:11px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid var(--line);color:var(--muted);pointer-events:none;white-space:nowrap;backdrop-filter:blur(8px)}
.anatomy-lock-hint{color:var(--brown);font-weight:700}
.anatomy-sidepanel{border-left:1px solid var(--line);background:var(--white);padding:18px;display:flex;flex-direction:column;gap:18px;max-height:620px;overflow:auto}
.anatomy-legend{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:10px}
.anatomy-legend span{display:flex;align-items:center;gap:5px}
.legend-point{display:inline-block;width:10px;height:10px;border-radius:50%}.legend-point.application{background:var(--brown)}.legend-point.area{background:rgba(172,157,144,.5);border:1px solid var(--brown)}.legend-point.note{background:var(--warning)}
.anatomy-product-summary h4,.anatomy-point-list h4{margin:0 0 10px;font-size:12px;color:var(--brown);text-transform:uppercase;letter-spacing:.06em}
.anatomy-product-summary>div:not(.small-empty){display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 0;border-bottom:1px solid var(--line)}
.anatomy-product-summary span{font-size:12px}.anatomy-product-summary b{font-size:12px;color:var(--brown)}.anatomy-product-summary small{grid-column:1/-1;color:var(--muted);font-size:10px}
.anatomy-point-list{min-height:0}
.anatomy-point-list>button{width:100%;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:9px 0;color:var(--ink)}
.anatomy-point-list>button>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--brown);color:white;font-size:10px;font-weight:800}
.anatomy-point-list b{display:block;font-size:12px}.anatomy-point-list small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:2px}
.quantity-pair{display:grid;grid-template-columns:1fr 92px;gap:8px}
.modal-spacer{flex:1}

.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.equipment-card{padding:18px;display:flex;flex-direction:column;gap:16px}
.equipment-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.equipment-card-head h3{margin:8px 0 3px;color:var(--brown)}.equipment-card-head p{margin:0;color:var(--muted);font-size:11px}
.equipment-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.equipment-dates>div{background:var(--cream-3);border:1px solid var(--line);border-radius:12px;padding:11px}.equipment-dates span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.equipment-dates b{display:block;margin-top:5px;font-size:13px}.equipment-dates b.overdue{color:var(--danger)}.equipment-dates b.due-soon{color:var(--warning)}
.maintenance-history{border-top:1px solid var(--line)}.maintenance-history>button{width:100%;border:0;background:transparent;border-bottom:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:100px 1fr;text-align:left;gap:10px;color:var(--ink)}.maintenance-history>button:hover{background:rgba(68,38,23,.025)}.maintenance-history>button>span{font-size:11px;font-weight:700;color:var(--brown)}.maintenance-history b{display:block;font-size:11px}.maintenance-history small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.equipment-add-maint{margin-top:auto}

@media (max-width:1100px){
  .anatomy-layout{grid-template-columns:1fr}.anatomy-history{position:static}.anatomy-history-list{display:flex;overflow:auto;max-height:none}.anatomy-history-item{min-width:230px}.anatomy-workspace{grid-template-columns:minmax(0,1fr) 260px}
}
@media (max-width:760px){
  .anatomy-editor-head{flex-direction:column}.anatomy-workspace{display:block;min-height:0}.anatomy-canvas{min-height:520px}.anatomy-figure{height:485px;width:94%}.anatomy-sidepanel{border-left:0;border-top:1px solid var(--line);max-height:none}.anatomy-history-list{padding-bottom:10px}.anatomy-history-item{min-width:210px}.anatomy-click-hint,.anatomy-lock-hint{font-size:10px;max-width:88%;text-align:center;white-space:normal}.equipment-grid{grid-template-columns:1fr}.stock-section-tabs{width:100%}.stock-section-tabs button{flex:1}.equipment-dates{grid-template-columns:1fr}.quantity-pair{grid-template-columns:1fr 82px}
}
.anatomy-stage{position:relative;display:block;max-height:590px;max-width:92%;}
.anatomy-stage.facial{width:min(88%,410px);aspect-ratio:360/520}
.anatomy-stage.corporal{width:min(72%,310px);aspect-ratio:360/720}
.anatomy-stage .anatomy-figure{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:760px){.anatomy-stage.facial{width:min(92%,340px)}.anatomy-stage.corporal{width:min(72%,260px)}}

/* V0.12 — Documentos oficiais + anamnese guiada */
.anamnese-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.anamnese-overview-card{padding:20px;display:grid;gap:16px}
.anamnese-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.anamnese-card-head h3{margin:5px 0 0;color:var(--brown);font-size:18px}
.anamnese-progress-row{display:grid;gap:8px}.anamnese-progress-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.anamnese-progress-row b{color:var(--brown)}
.anamnese-progress-track{height:8px;border-radius:999px;background:rgba(68,38,23,.09);overflow:hidden}.anamnese-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--brown);transition:width .22s ease}
.anamnese-card-meta{display:flex;gap:8px;flex-wrap:wrap}.anamnese-card-meta>span{font-size:11px;padding:7px 9px;border-radius:999px;background:var(--cream-3);color:var(--muted);border:1px solid var(--line)}.anamnese-card-meta .clinical-review-flag{background:#fff4e5;color:#8d5a18;border-color:#edd4ad;font-weight:700}
.anamnese-split-note{display:grid;gap:3px;padding:12px 14px;border-radius:14px;background:rgba(68,38,23,.045);border:1px solid var(--line)}.anamnese-split-note b{font-size:12px;color:var(--brown)}.anamnese-split-note span{font-size:11px;line-height:1.45;color:var(--muted)}
.anamnese-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.status-nao_iniciada{background:#eee9e3;color:#77695f}.status-rascunho{background:#fff4e5;color:#8d5a18}.status-aguardando_validacao{background:#eee6f5;color:#6d4a7f}.status-validada{background:#e6f0e8;color:#315f3a}.status-substituida{background:#ececec;color:#666}
.modal-anamnese{width:min(1040px,96vw);max-height:94vh;overflow:hidden;display:flex;flex-direction:column}.anamnese-modal-head{flex:0 0 auto}.anamnese-modal-body{overflow:auto;min-height:0;padding-top:16px}
.anamnese-progress-shell{padding:12px 22px 14px;border-bottom:1px solid var(--line);background:rgba(250,248,244,.92);flex:0 0 auto}.anamnese-progress-text{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:11px;color:var(--muted)}.anamnese-progress-text span:first-child{font-weight:700;color:var(--brown)}
.anamnese-step-tabs{display:flex;gap:7px;overflow:auto;margin-top:12px;padding-bottom:2px}.anamnese-step-tabs button{border:1px solid var(--line);background:white;border-radius:12px;padding:8px 10px;display:flex;gap:7px;align-items:center;color:var(--muted);white-space:nowrap;font-size:11px}.anamnese-step-tabs button>span{max-width:150px;overflow:hidden;text-overflow:ellipsis}.anamnese-step-tabs button.active{background:var(--brown);color:white;border-color:var(--brown)}
.anamnese-patient-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--cream-3);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:16px}.anamnese-patient-strip>div{display:grid;gap:2px}.anamnese-patient-strip span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.anamnese-patient-strip b{font-size:13px;color:var(--brown)}
.anamnese-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.anamnese-question{border:1px solid var(--line);border-radius:15px;padding:13px;background:white;display:grid;gap:10px;align-content:start}.anamnese-question.full{grid-column:1/-1}.anamnese-question>label{font-size:12px;font-weight:700;color:var(--ink);line-height:1.35;display:flex;gap:7px;align-items:flex-start}.anamnese-question input[type=text],.anamnese-question input:not([type]),.anamnese-question textarea{width:100%}.critical-question{border-color:#ead6b7;background:#fffbf4}.review-dot{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#8d5a18;color:white;font-size:10px}
.yn-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.yn-group label,.choice-chips label{cursor:pointer}.yn-group input,.choice-chips input{position:absolute;opacity:0;pointer-events:none}.yn-group span,.choice-chips span{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:11px;border:1px solid var(--line);background:var(--cream-3);color:var(--muted);font-size:12px;font-weight:700;padding:8px 10px;transition:.15s ease}.yn-group input:checked+span,.choice-chips input:checked+span{background:var(--brown);border-color:var(--brown);color:white;box-shadow:0 6px 16px rgba(68,38,23,.12)}
.choice-chips{display:flex;gap:7px;flex-wrap:wrap}.choice-chips span{min-width:64px}.choice-chips.multi input:checked+span{background:#7a5a48;color:white}
.anamnese-detail{display:none;gap:6px;border-top:1px dashed var(--line);padding-top:9px}.anamnese-detail.show{display:grid}.anamnese-detail label{font-size:10px;color:var(--muted);font-weight:700}.anamnese-detail input{width:100%}
.anamnese-notes{margin-top:14px}.anamnese-footer{flex:0 0 auto}.footer-spacer{flex:1}
.anamnese-history-list{display:grid;gap:9px}.anamnese-history-list article{border:1px solid var(--line);border-radius:13px;padding:12px 14px;display:grid;gap:6px}.anamnese-history-list article>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.anamnese-history-list small{color:var(--muted);font-size:11px}
.consent-model-box{border:1px solid var(--line);border-radius:16px;background:var(--cream-3);padding:14px;display:grid;gap:12px}.consent-model-box>div:first-child{display:grid;gap:3px}.consent-model-box span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.consent-model-box b{color:var(--brown);font-size:14px}.consent-model-box small{font-size:10px;color:var(--muted)}.consent-model-box details{background:white;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.consent-model-box summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--brown)}.consent-term.compact{max-height:250px;overflow:auto;margin-top:10px;font-size:11px;line-height:1.5}.manual-consent-fields{display:none;margin-top:12px}

@media(max-width:820px){.anamnese-overview-grid{grid-template-columns:1fr}.anamnese-question-grid{grid-template-columns:1fr}.anamnese-question.full{grid-column:auto}.anamnese-card-head{align-items:center}.anamnese-step-tabs button>span{display:none}.anamnese-patient-strip{align-items:flex-start}.anamnese-footer{gap:8px}.anamnese-footer .primary-btn,.anamnese-footer .secondary-btn{min-height:42px}}
@media(max-width:520px){.modal-anamnese{width:100vw;max-height:100dvh;border-radius:0}.anamnese-progress-shell{padding-left:14px;padding-right:14px}.anamnese-modal-body{padding:14px}.anamnese-question{padding:12px}.yn-group span,.choice-chips span{min-height:42px}.anamnese-card-actions>*{flex:1 1 auto}.anamnese-patient-strip{display:grid}.anamnese-progress-text{font-size:10px}}

/* V0.12 — check-in documental */
.readiness-card{padding:18px}.readiness-card .card-head{align-items:flex-start}.readiness-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;background:#f1ece8;color:#765e50;white-space:nowrap}.readiness-badge.ok{background:#edf5ef;color:#446a50}.readiness-list{display:grid;gap:8px;margin-top:14px}.readiness-row{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:10px 1fr auto;gap:10px;text-align:left;align-items:center;cursor:pointer}.readiness-row:hover{background:var(--soft)}.readiness-row div{display:grid;gap:2px}.readiness-row b{font-size:13px}.readiness-row span{font-size:12px;color:var(--muted)}.readiness-row strong{font-size:15px;color:var(--muted)}.readiness-dot{width:9px;height:9px;border-radius:50%;display:block;background:#b8aaa2}.readiness-dot.ok{background:#6e9879}.readiness-dot.warn{background:#c69b5a}.readiness-dot.pending{background:#b86f66}.readiness-note{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;line-height:1.45;color:var(--muted)}

/* V0.12.1 — Protocolos ativos */
.protocol-count{min-width:84px;text-align:center;padding:10px 14px;border:1px solid var(--line,#e7ddd6);border-radius:14px;background:var(--surface,#fff)}
.protocol-count strong{display:block;font-size:24px;line-height:1}.protocol-count span{font-size:12px;opacity:.65}
.protocol-search-card{padding:16px}.protocol-search-card .field{margin:0}
.protocol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.protocol-card{text-align:left;cursor:pointer;width:100%;padding:18px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;background:var(--surface,#fff);color:inherit}
.protocol-card:hover{transform:translateY(-1px)}
.protocol-card-top,.protocol-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.protocol-card-top>span:last-child,.protocol-card-foot span{font-size:12px;opacity:.62}
.protocol-card h3{margin:16px 0 6px;font-size:17px}.protocol-card p{margin:0 0 18px;opacity:.7;line-height:1.45}
.protocol-card-foot b{font-size:12px}.protocol-text{line-height:1.65}
@media(max-width:760px){.protocol-grid{grid-template-columns:1fr}.protocol-count{display:none}}

/* V0.12.2 - Protocolos de procedimento x pós-procedimento */
.protocol-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.protocol-type-btn{appearance:none;border:1px solid var(--line,#e7ddd6);background:var(--surface,#fff);border-radius:16px;padding:15px 16px;text-align:left;color:inherit;cursor:pointer;transition:.15s ease}
.protocol-type-btn:hover{transform:translateY(-1px);border-color:#cdb9ad}.protocol-type-btn.active{border-color:#765545;box-shadow:0 0 0 1px #765545 inset;background:linear-gradient(180deg,rgba(118,85,69,.07),rgba(118,85,69,.025))}
.protocol-type-btn span{display:block;font-weight:700;font-size:14px;margin-bottom:4px}.protocol-type-btn small{font-size:12px;opacity:.65}
.protocol-context-card{display:flex;gap:10px;align-items:baseline;padding:14px 16px}.protocol-context-card strong{white-space:nowrap}.protocol-context-card span{font-size:13px;opacity:.68;line-height:1.45}
.protocol-card-procedure p{font-size:13px;line-height:1.55;min-height:62px}.protocol-card-post p{min-height:42px}
.procedure-summary-large{font-size:17px;line-height:1.65;padding:18px;border:1px solid var(--line,#e7ddd6);border-radius:14px;background:rgba(118,85,69,.035)}
@media(max-width:760px){.protocol-type-switch{grid-template-columns:1fr}.protocol-context-card{display:block}.protocol-context-card strong{display:block;margin-bottom:5px}}
