:root{--navy:#073b61;--blue:#0b527f;--ice:#eef5f8;--line:#d7e2e8;--green:#21845b;--amber:#d88a17;--red:#c84646;--text:#173042;--muted:#667b89}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7f9;color:var(--text)}header{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:22px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}header h1{margin:0;font-size:22px}.brand{display:flex;align-items:center;gap:12px}.paw{font-size:30px}.wrap{max-width:1180px;margin:28px auto;padding:0 18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 25px #1730420d;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.specialty{border:2px solid transparent;background:var(--ice);padding:18px;border-radius:14px;cursor:pointer;text-align:left}.specialty:hover,.specialty.active{border-color:var(--blue);background:#e5f2f8}.specialty strong{display:block;color:var(--navy);font-size:17px}.specialty small{color:var(--muted)}label{font-size:13px;font-weight:700;color:var(--muted)}input,select{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:white}.formrow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:end}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--navy);color:#fff}.btn.secondary{background:#e7eef2;color:var(--navy)}.btn.success{background:var(--green)}.btn.danger{background:var(--red)}.btn:disabled{opacity:.45;cursor:not-allowed}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dow{text-align:center;font-size:12px;font-weight:800;color:var(--muted);padding:8px}.day{min-height:125px;border:1px solid var(--line);border-radius:10px;padding:8px;background:white}.day.off{background:#f5f5f5;color:#aaa}.date{font-weight:800;margin-bottom:6px}.slot{display:block;width:100%;border:0;border-radius:7px;padding:6px;margin:5px 0;text-align:left;font-size:11px;cursor:pointer;background:#e8f2f7;color:var(--navy)}.slot.full{background:#f4dede;color:#8b3131}.slot.pending{background:#fff0cf;color:#845500}.slot b{display:block}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.modal{position:fixed;inset:0;background:#0007;display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modalbox{background:white;border-radius:16px;padding:22px;width:min(520px,100%)}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted)}.badge{padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800}.PENDENTE{background:#fff0cf;color:#845500}.APROVADO{background:#dff3e9;color:#17613f}.actions{display:flex;gap:6px;flex-wrap:wrap}.hidden{display:none}.notice{padding:12px;border-radius:9px;background:#eaf4fa;margin:10px 0;font-size:13px}@media(max-width:760px){.calendar{grid-template-columns:repeat(2,1fr)}.dow{display:none}.formrow{grid-template-columns:1fr}.day{min-height:auto}header{align-items:flex-start;flex-direction:column}}
.welcome{border-left:5px solid #0b7fa6}.pill{display:inline-block;background:#e7f4f8;color:#0b668b;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.06em}.welcome h2{margin:10px 0 6px}.welcome p{color:#5c6e78;line-height:1.6;margin-bottom:0}header>div:last-child{display:flex;align-items:center;gap:10px}

.cancelbadge{display:inline-block;padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px}.okcancel{background:#dff3e9;color:#17613f}.midcancel{background:#fff0cf;color:#845500}.latecancel{background:#f4dede;color:#8b3131}.CANCELADO{background:#eceff1;color:#58656d}.session-bar{display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:10px 20px;background:#edf5f6;color:#163b47}.session-bar button,.session-bar a{font:inherit;cursor:pointer}#apiError{padding:16px;background:#fff0f0;color:#8a1f1f}
