:root{--bg:#fbf9fa;--surface:#ffffff;--border:#e8e2e5;--text:#1c1a1b;--muted:#6f6669;--accent:#b0396b;--accent-soft:#fdeef4;--ok:#1f7a52;--warn:#a8620f;--danger:#b3261e;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#161314;--surface:#211d1f;--border:#363032;--text:#f3eff0;--muted:#a89ea2;--accent:#f08cb4;--accent-soft:#3a222d;--ok:#6ed3a5;--warn:#e0a75b;--danger:#f2867f}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}.shell{display:flex;min-height:100vh;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{font-weight:700;letter-spacing:-.02em;color:var(--accent);text-decoration:none;font-size:1.05rem}.nav{display:flex;gap:4px;flex:1 1;flex-wrap:wrap}.nav a{padding:7px 12px;border-radius:var(--radius);text-decoration:none;color:var(--muted);font-weight:500}.nav a:hover{background:var(--bg);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}main{padding:22px 20px 60px;max-width:1180px;width:100%;margin:0 auto;flex:1 1}h1{font-size:1.5rem;margin:0 0 4px;letter-spacing:-.02em}h2{font-size:1.05rem;margin:0 0 12px}.sub{color:var(--muted);margin:0 0 22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:900px){.grid2{grid-template-columns:1.6fr 1fr}}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scroll-x{overflow-x:auto}label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:4px;font-weight:500}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field{margin-bottom:12px}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1;min-width:120px}button{font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:#fff;cursor:pointer;min-height:40px}button:hover{filter:brightness(1.08)}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:transparent;border-color:var(--border);color:var(--text)}button.small{padding:5px 10px;font-size:.82rem;min-height:0}.erro{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);margin-bottom:12px}.aviso,.erro{padding:9px 12px;border-radius:var(--radius);font-size:.88rem}.aviso{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);margin-bottom:14px}.vazio{color:var(--muted);padding:26px 12px;text-align:center}.slot{display:grid;grid-template-columns:62px 1fr;grid-gap:10px;gap:10px;border-top:1px solid var(--border);min-height:44px;align-items:stretch}.slot-hora{color:var(--muted);font-size:.8rem;padding-top:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot-corpo{padding:4px 0;display:flex;flex-direction:column;gap:4px}.appt{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;padding:7px 10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.appt.done{background:color-mix(in srgb,var(--ok) 11%,transparent);border-left-color:var(--ok)}.appt.no_show{background:color-mix(in srgb,var(--danger) 10%,transparent);border-left-color:var(--danger);opacity:.75}.appt.canceled{opacity:.5;border-left-color:var(--muted);background:transparent}.appt-nome{font-weight:600}.appt-meta{color:var(--muted);font-size:.84rem}.appt-acoes{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tag{font-size:.72rem;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.tag.encaixe{border-color:var(--warn);color:var(--warn)}.tag.atrasado{border-color:var(--danger);color:var(--danger)}.tag.proximo{border-color:var(--warn);color:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px}.kpi-label{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.kpi-valor{font-size:1.35rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi-nota{color:var(--muted);font-size:.78rem;margin-top:2px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:30px;width:100%;max-width:380px}.landing{max-width:1080px;margin:0 auto;padding:0 20px 60px}.lp-topo{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.lp-entrar{color:var(--muted);text-decoration:none;font-weight:500}.lp-hero{padding:48px 0 40px;max-width:680px}.lp-hero h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.15;letter-spacing:-.03em;margin-bottom:14px}.lp-hero p{color:var(--muted);font-size:1.05rem;margin-bottom:22px}.lp-dores{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:18px;gap:18px;padding:24px 0 48px}.lp-dor h3{font-size:1rem;margin:0 0 6px;color:var(--accent)}.lp-dor p{color:var(--muted);margin:0;font-size:.94rem}.lp-planos{padding-top:24px}.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px;align-items:start}.lp-plano h3{margin-bottom:2px}.lp-preco{font-size:1.9rem;font-weight:700;letter-spacing:-.03em;margin:0 0 12px}.lp-preco span{font-size:.9rem;font-weight:500;color:var(--muted)}.lp-plano ul{margin:0 0 18px;padding-left:18px;color:var(--muted)}.lp-plano li{margin-bottom:5px}.lp-rodape{margin-top:56px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}