@charset "UTF-8";:root{--color-primary: #0f766e;--color-primary-dark: #0b5c56;--color-primary-light: #e6f4f2;--color-accent: #f97316;--color-accent-dark: #ea6a0a;--color-accent-text: #c2410c;--color-danger: #b91c1c;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-text: #1f2937;--color-text-muted: #5b6472;--color-bg: #ffffff;--color-bg-alt: #f7faf9;--color-border: #e3e8e6;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}img,svg{display:block;max-width:100%}.container{max-width:1080px;margin:0 auto;padding:0 24px}.eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:var(--color-accent-text);margin:0 0 10px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.btn-lg{padding:14px 28px;font-size:1.05rem}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-block{display:flex;width:100%}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 10px 24px -12px #f9731699}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark);transform:translateY(-1px)}.btn-accent:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-primary-light)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-bg)}.btn-danger-solid{background:var(--color-danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#991b1b}.link-muted{color:var(--color-text-muted);text-decoration:none;font-weight:500}.link-muted:hover{color:var(--color-text)}.page-heading{margin-bottom:32px}.page-heading h1{font-size:1.6rem;letter-spacing:-.01em}.page-heading p{color:var(--color-text-muted);margin-top:6px}.page-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.loading-text{color:var(--color-text-muted);padding:24px 0}.table-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;overflow-x:auto}table{width:100%;border-collapse:collapse}table th,table td{text-align:left;padding:12px 20px;font-size:.9rem;white-space:nowrap}table th{color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}table tbody tr{border-bottom:1px solid var(--color-border);cursor:pointer}table tbody tr:last-child{border-bottom:none}table tbody tr:hover{background:var(--color-bg-alt)}table .cell-name{font-weight:600;color:var(--color-text)}table .linha-morto .cell-name{color:var(--color-text-muted)}.badge-morto{display:inline-block;margin-left:8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:#f1f1f1;color:#6b7280}.card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:28px}.lembretes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.lembretes-list li{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid var(--color-border);border-radius:10px}.lembretes-list li.resolvido{opacity:.55}.lembrete-tipo{flex-shrink:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:4px 10px;border-radius:999px;white-space:nowrap}.tipo-consulta{background:var(--color-primary-light);color:var(--color-primary-dark)}.tipo-ficha{background:#fff2e2;color:var(--color-accent-text)}.lembrete-info{flex:1;min-width:0}.lembrete-info a{font-weight:600;text-decoration:none}.lembrete-info a:hover{text-decoration:underline}.lembrete-info p{color:var(--color-text-muted);font-size:.85rem;margin-top:2px}.lembrete-vet{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.lembrete-data{flex-shrink:0;font-size:.8rem;color:var(--color-text-muted)}.lembrete-actions{display:flex;gap:8px;flex-shrink:0}.agendar-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agendar-inline input{padding:6px 10px;font-size:.85rem}.calendar-nav{display:flex;align-items:center;gap:16px;margin-bottom:20px}.calendar-title{font-size:1.1rem;font-weight:700;text-transform:capitalize;margin-right:auto}.calendar-grid{background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;margin-bottom:24px}.calendar-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.calendar-weekday{padding:10px;text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week:last-child .calendar-day{border-bottom:none}.calendar-day{min-height:100px;padding:8px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.calendar-day:nth-child(7n){border-right:none}.calendar-day.fora-do-mes{background:var(--color-bg-alt)}.calendar-day.fora-do-mes .calendar-day-number{color:var(--color-text-muted)}.calendar-day.hoje{background:var(--color-primary-light)}.calendar-day-number{font-size:.8rem;font-weight:700}.calendar-lembrete{display:flex;flex-direction:column;gap:1px;padding:3px 6px;border-radius:6px;background:var(--color-primary-light);color:var(--color-primary-dark);text-decoration:none}.calendar-lembrete:hover{filter:brightness(.96)}.calendar-lembrete.tipo-ficha{background:#fff2e2;color:var(--color-accent-text)}.calendar-agendamento{display:flex;flex-direction:column;gap:1px;padding:3px 6px 3px 5px;border-radius:6px;border-left:3px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark);text-decoration:none}.calendar-agendamento:hover{filter:brightness(.96)}.calendar-agendamento.em-conflito{border-left-color:#b91c1c}.calendar-lembrete-nome{font-size:.72rem;font-weight:700}.calendar-lembrete-vet{font-size:.65rem;opacity:.8}.calendar-conflito-badge{color:#b91c1c;font-weight:700}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;font-size:.8rem;color:var(--color-text-muted)}.calendar-legend-label{font-weight:700;color:var(--color-text)}.calendar-legend-item{display:flex;align-items:center;gap:6px}.calendar-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-legend-swatch-consulta{background:var(--color-primary)}.calendar-legend-swatch-ficha{background:var(--color-accent)}.sem-data-card{max-width:640px}.sem-data-card h2{font-size:1.1rem;margin-bottom:16px}@media(max-width:860px){.calendar-day{min-height:72px}.calendar-lembrete-vet{display:none}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:64px 24px;border:1px dashed var(--color-border);border-radius:12px;background:#fff;color:var(--color-text-muted)}.empty-state h2{color:var(--color-text);font-size:1.1rem}.empty-state p{max-width:420px}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);margin-bottom:6px}.empty-icon svg{width:24px;height:24px}fieldset{border:none;padding:0;margin:0 0 28px}fieldset legend{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);padding:0;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field:last-child{margin-bottom:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-label{font-size:.9rem;font-weight:600;color:var(--color-text)}.field-optional{font-weight:400;color:var(--color-text-muted)}.checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:.9rem;font-weight:500}.checkbox-field input{width:auto}.tutor-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px}.tutor-card p{color:var(--color-text-muted);font-size:.85rem;margin-top:2px}.tutor-resultados{list-style:none;padding:0;margin:-10px 0 16px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.tutor-resultados li+li{border-top:1px solid var(--color-border)}.tutor-resultados button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;background:#fff;border:none;text-align:left;font:inherit;cursor:pointer}.tutor-resultados button:hover{background:var(--color-bg-alt)}.tutor-resultados button span{color:var(--color-text-muted);font-size:.85rem}.novo-tutor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.field-hint{font-size:.8rem;color:var(--color-text-muted)}.field-hint strong{color:var(--color-primary)}input:not([type=checkbox]):not([type=radio]),select{font:inherit;padding:11px 14px;border-radius:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-text)}input:not([type=checkbox]):not([type=radio]):focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}input:not([type=checkbox]):not([type=radio]):invalid:not(:placeholder-shown),select:invalid:not(:placeholder-shown){border-color:var(--color-danger)}input:not([type=checkbox]):not([type=radio]).ng-invalid.ng-touched:not(:focus),select.ng-invalid.ng-touched:not(:focus){border-color:var(--color-danger)}.field-error{display:block;color:var(--color-danger);font-size:.8rem;margin-top:2px}.form-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:8px;padding:12px 14px;font-size:.9rem;margin-bottom:20px}.form-success{background:var(--color-primary-light);border:1px solid var(--color-primary);color:var(--color-primary-dark);border-radius:8px;padding:12px 14px;font-size:.9rem;margin-bottom:20px}@media(max-width:560px){.field-row{grid-template-columns:1fr;gap:0}}
