:root{
  --brand-navy:#0b3867;
  --brand-blue:#1268b3;
  --brand-cyan:#25c2e0;
  --brand-cyan-soft:#e6f8fc;
  --ink:#132b43;
  --muted:#5d7082;
  --surface:#ffffff;
  --canvas:#f5f9fc;
  --surface-alt:#f0f7fb;
  --border:#d9e6ee;
  --border-strong:#b9d5e4;
  --success:#16865a;
  --success-soft:#e5f5ed;
  --warning:#9a6508;
  --warning-soft:#fff6df;
  --danger:#b42318;
  --danger-soft:#fceae8;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
}
*{box-sizing:border-box}
body{margin:0;min-width:320px;color:var(--ink);background:var(--canvas)}
button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh}
.auth-view{min-height:100vh;display:grid;place-content:center;gap:28px;padding:24px;background:radial-gradient(circle at 15% 0,var(--brand-cyan-soft),transparent 30%),var(--canvas)}
.brand{display:flex;align-items:center;gap:11px}.brand-login{justify-content:center}.brand strong{display:block;font-size:1.05rem;letter-spacing:-.015em}.brand small{display:block;color:var(--muted);margin-top:2px}.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:11px;background:#fff;box-shadow:0 3px 12px #0b38671a}.auth-card{width:min(100%,398px);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 46px #123a5f14}.auth-card h1,.page-heading h1{margin:0;letter-spacing:-.04em}.auth-card>p:not(.eyebrow){margin:10px 0 22px;color:var(--muted);line-height:1.55}.eyebrow{margin:0 0 8px;color:var(--brand-blue);font-size:.72rem;font-weight:800;letter-spacing:.09em}.auth-card label,.form-grid label{display:block;margin:14px 0 0;font-size:.84rem;font-weight:700}.auth-card input,.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .16s,box-shadow .16s}.auth-card input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1268b31f}.primary,.secondary,.ghost-button,.date-navigation button{border:0;border-radius:10px;padding:11px 14px;font-weight:750;transition:background .16s,color .16s,border-color .16s}.primary{color:#fff;background:var(--brand-blue);box-shadow:0 2px 5px #1268b326}.primary:hover{background:var(--brand-navy)}.secondary{color:var(--brand-navy);background:var(--surface-alt);border:1px solid var(--border)}.secondary:hover{background:var(--brand-cyan-soft);border-color:var(--border-strong)}.ghost-button{background:transparent;color:var(--muted)}.ghost-button:hover{color:var(--brand-navy);background:var(--surface-alt)}.text-button{width:100%;margin-top:12px;border:0;background:transparent;color:var(--brand-blue);font-weight:700}.auth-card .primary{width:100%;margin-top:20px}.form-message{min-height:18px;margin:12px 0 0;color:var(--danger);font-size:.86rem}.topbar{min-height:70px;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .brand-logo{width:38px;height:38px}.page{width:min(100% - 40px,1120px);margin:auto;padding:34px 0 60px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:22px}.page-heading h1{font-size:clamp(2rem,5vw,3rem)}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.summary-grid article{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:0 2px 4px #0b386708}.summary-grid article:first-child{border-top:3px solid var(--brand-cyan)}.summary-grid article:nth-child(2){border-top:3px solid var(--brand-blue)}.summary-grid article:nth-child(3){border-top:3px solid var(--brand-navy)}.summary-grid span{display:block;color:var(--muted);font-size:.84rem}.summary-grid strong{display:block;margin-top:7px;font-size:1.35rem;letter-spacing:-.025em}.agenda-card{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 2px 5px #0b386708}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid var(--border)}.agenda-toolbar h2{margin:0;font-size:1rem;text-transform:capitalize}.date-navigation{display:flex;gap:6px}.date-navigation button{padding:8px 10px;background:var(--surface-alt);color:var(--brand-navy)}.date-navigation button:hover{background:var(--brand-cyan-soft)}.agenda-content{min-height:420px}.empty-state{display:grid;min-height:370px;place-content:center;text-align:center;padding:30px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:7px}.appointment-list{padding:0 20px 18px}.time-row{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}.time-row:last-child{border-bottom:0}.time{padding-top:9px;color:var(--muted);font-size:.87rem;font-weight:700}.event-card{padding:13px 14px;border-radius:12px;background:var(--surface-alt);border-left:4px solid var(--brand-cyan)}.event-card.blocked{border-left-color:var(--warning);background:var(--warning-soft)}.event-title{display:flex;justify-content:space-between;gap:10px;font-weight:800}.event-card p{margin:5px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.status{display:inline-block;padding:3px 7px;border-radius:999px;background:#e8f3fb;color:var(--brand-blue);font-size:.7rem}.status.agendado{background:var(--surface-alt);color:var(--muted)}.status.concluido{background:var(--success-soft);color:var(--success)}.status.cancelado{background:var(--danger-soft);color:var(--danger)}dialog{width:min(100% - 24px,620px);padding:0;border:0;border-radius:18px;box-shadow:0 18px 70px #0b264059}dialog::backdrop{background:#102c4980}.modal-card{padding:24px;background:var(--surface)}.modal-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.modal-heading h2{margin:0;letter-spacing:-.025em}.icon-button{border:0;background:var(--surface-alt);width:32px;height:32px;border-radius:9px;font-size:1.4rem;line-height:1;color:var(--muted)}.icon-button:hover{background:var(--brand-cyan-soft);color:var(--brand-navy)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px;margin-top:8px}.full{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-grid small{color:var(--muted);font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.toast{position:fixed;z-index:2;right:20px;bottom:20px;max-width:330px;padding:13px 16px;border-radius:12px;background:var(--brand-navy);color:#fff;transform:translateY(130%);transition:transform .22s ease;box-shadow:0 10px 30px #0b386740}.toast.show{transform:translateY(0)}@media(max-width:640px){.auth-view{padding:18px}.auth-card{padding:26px 22px}.page{width:min(100% - 28px,1120px);padding-top:25px}.page-heading{align-items:start;flex-direction:column}.heading-actions{width:100%}.heading-actions button{flex:1}.summary-grid{grid-template-columns:1fr;gap:9px}.summary-grid article{padding:14px 16px}.agenda-toolbar{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.modal-card{padding:20px}.modal-actions .secondary,.modal-actions .primary{flex:1}.topbar{padding:0 16px}}
select{display:block;width:100%;margin-top:6px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:10px}.form-section{padding:15px 0;border-bottom:1px solid var(--border)}.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem}.section-label span,.hint{color:var(--muted);font-size:.8rem}.inline-button{border:0;background:transparent;color:var(--brand-blue);font-weight:700;font-size:.82rem}.service-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:9px}.selected-services{display:grid;gap:7px;margin-top:10px}.service-chip{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-alt);font-size:.88rem}.service-chip span{flex:1}.service-chip button{border:0;background:transparent;color:var(--danger);font-size:1.15rem}.appointment-row{width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.appointment-row:hover .event-card{background:var(--brand-cyan-soft)}.danger-button{border:1px solid #efc2bd;border-radius:10px;padding:11px 14px;background:var(--danger-soft);color:var(--danger);font-weight:750}.details-content{margin-top:14px;color:var(--muted);line-height:1.5}.details-content p{margin:10px 0}.details-content ul{padding-left:20px}.wrap{flex-wrap:wrap}.wrap button{flex:1}@media(max-width:640px){.service-add{grid-template-columns:1fr}.form-section{padding:13px 0}.wrap button{min-width:100%}}
