/* Painel da clínica (tokens de ../styles.css) */
body{background:var(--areia);font-size:15px}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login form{background:var(--offwhite);width:min(400px,100%);padding:44px 36px;border-radius:6px;box-shadow:0 30px 60px -40px rgba(46,43,40,.5)}
.login img.logo-s{width:220px;height:auto;display:block;margin:0 auto 22px}
.login h1{font-size:28px;text-align:center;margin-bottom:22px}

.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.lateral{background:var(--salvia-esc);color:var(--areia);padding:26px 18px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.lateral img.logo-s{width:170px;height:auto;display:block;margin:0 0 26px 4px}
.lateral a{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-radius:6px;text-decoration:none;font-size:14px;letter-spacing:.06em}
.lateral a:hover{background:rgba(250,247,242,.08)}
.lateral a.ativo{background:var(--offwhite);color:var(--grafite)}
.lateral .badge{background:var(--rose);color:var(--grafite);border-radius:999px;font-size:11px;padding:1px 8px;min-width:22px;text-align:center}
.lateral .usuario{margin-top:auto;font-size:13px;border-top:1px solid rgba(217,195,174,.25);padding-top:16px}
.lateral .usuario button{background:none;border:0;color:var(--rose);font:inherit;font-size:12px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:6px 0}
.principal{padding:30px 34px 60px;min-width:0}
.demo-faixa{background:var(--rose);color:#6b5753;font-size:13px;padding:9px 16px;border-radius:6px;margin-bottom:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.demo-faixa button{background:none;border:0;text-decoration:underline;cursor:pointer;font:inherit;color:inherit}

.barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.barra h1{font-size:34px;margin-right:auto}
.barra h1::first-letter{text-transform:uppercase}
.bt{font:inherit;font-size:13px;border:1px solid var(--nude);background:var(--offwhite);color:var(--grafite);border-radius:999px;padding:8px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.bt:hover{border-color:var(--salvia-esc)}
.bt.primario{background:var(--salvia-esc);border-color:var(--salvia-esc);color:var(--offwhite)}
.bt.perigo{color:#a5503a;border-color:#e2c2b8}
.bt.peq{padding:5px 12px;font-size:12px}

.principal input,.principal select,.principal textarea,dialog input,dialog select,dialog textarea{
  width:100%;font:inherit;font-size:14px;border:1px solid var(--linha);background:#fff;border-radius:6px;padding:9px 12px;margin:0;color:var(--grafite)}
.principal input[type=checkbox],dialog input[type=checkbox]{width:auto}
.principal label,dialog label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia);margin:14px 0 5px}
.barra input,.barra select{width:auto}

.principal form,dialog form{background:none;padding:0;border-radius:0}

.cartao{background:var(--offwhite);border-radius:8px;padding:22px 24px;margin-bottom:16px}
.cartao h3{font-size:22px;margin-bottom:12px}
.colunas-ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:start}
.coluna h3{font-size:20px;margin-bottom:4px}
.coluna .reg{font-size:12px;color:#8a8178;margin-bottom:12px}
.ag{background:#fff;border-radius:6px;padding:14px 16px;margin-bottom:10px;border-left:3px solid var(--nude)}
.ag.pendente{border-color:var(--dourado)}
.ag.confirmado{border-color:var(--salvia)}
.ag.concluido{border-color:var(--salvia-esc);opacity:.75}
.ag.cancelado,.ag.faltou{border-color:#c9a59b;opacity:.55}
.ag .h{font-family:var(--serif);font-size:20px;font-weight:500}
.ag .p{font-weight:400}
.ag .s{font-size:13px;color:var(--texto)}
.ag .acoes{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;align-items:center}
.ag select{width:auto;padding:4px 8px;font-size:12px;border-radius:999px}
.vazio{color:#8a8178;font-size:14px;padding:8px 0}

.st{display:inline-block;font-size:11px;letter-spacing:.08em;border-radius:999px;padding:2px 10px;background:var(--areia)}
.st.pendente{background:#f3e6cf;color:#7a5a24}
.st.confirmado{background:#e2e9df;color:var(--salvia-esc)}
.st.concluido{background:var(--salvia-esc);color:var(--offwhite)}
.st.cancelado,.st.faltou{background:#f0dcd6;color:#8a4b3c}

table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--linha);vertical-align:middle}
th{font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia)}
tr.clicavel{cursor:pointer}
tr.clicavel:hover td{background:#fff}
.tabela{overflow-x:auto}

.abas{display:flex;gap:4px;border-bottom:1px solid var(--nude);margin-bottom:20px;flex-wrap:wrap}
.abas button{font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;padding:10px 16px;cursor:pointer;color:var(--texto);border-bottom:2px solid transparent;margin-bottom:-1px}
.abas button.ativo{color:var(--grafite);border-color:var(--salvia-esc)}
.grade{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.grade .larga{grid-column:1/-1}
.checks{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px}
.checks label{display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-size:14px;color:var(--grafite);margin:0}
.rodape-form{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.meta{font-size:12px;color:#8a8178;margin-top:10px}

dialog{border:0;border-radius:10px;padding:28px 28px 22px;width:min(560px,94vw);background:var(--offwhite);box-shadow:0 40px 80px -30px rgba(46,43,40,.6)}
dialog::backdrop{background:rgba(46,43,40,.45)}
dialog h2{font-size:28px;margin-bottom:6px}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--grafite);color:var(--offwhite);padding:11px 20px;border-radius:999px;font-size:14px;z-index:100;opacity:0;transition:.3s;pointer-events:none}
.toast.on{opacity:1}
.toast.erro{background:#a5503a}

.menu-movel{display:none}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;inset:0 auto 0 0;width:250px;z-index:50;transform:translateX(-100%);transition:.25s}
  .lateral.aberta{transform:none}
  .menu-movel{display:inline-flex}
  .principal{padding:18px 16px 60px}
  .grade{grid-template-columns:1fr}
  .barra h1{font-size:26px;width:100%}
}
