:root{--app-max:760px}.app-shell{max-width:var(--app-max);margin:0 auto;padding:1rem}.app-hero{padding:clamp(2.5rem,7vw,4.5rem) 0 1.5rem}.app-hero h1{max-width:14ch;margin-top:0;line-height:1.05}.app-card{background:#fff;border:1px solid var(--line,#d9e1de);border-radius:1.25rem;padding:1rem;margin:1rem 0;box-shadow:0 8px 24px rgba(32,52,47,.06)}.app-grid{display:grid;gap:.75rem}.app-field{min-width:0}.app-field input,.app-field select,.app-field textarea{width:100%;box-sizing:border-box}.app-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:end}.app-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-choice,.app-action{min-height:56px;border:2px solid #55756c;border-radius:1rem;background:#fff;padding:.8rem;font:inherit;font-weight:700;color:#263c36;cursor:pointer}.app-choice[aria-pressed=true]{background:#e8f0ed}.app-action{display:flex;align-items:center;justify-content:center;text-decoration:none;background:#55756c;color:#fff;width:100%}.app-action.secondary{background:#fff;color:#36574e}.app-field{display:grid;gap:.35rem;font-weight:700}.app-field input,.app-field select,.app-field textarea{font:inherit;min-height:52px;border:1px solid #8aa099;border-radius:.8rem;padding:.75rem;background:#fff;color:#1e312c}.app-field textarea{min-height:92px;resize:vertical}.app-muted{color:#536b64;font-size:.95rem}.app-pet{display:flex;gap:.8rem;align-items:center}.app-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e8f0ed;font-size:1.8rem}.app-entry{padding:.8rem 0;border-top:1px solid #e1e7e5}.app-entry:first-child{border-top:0}.app-entry dl{margin:.4rem 0;display:grid;grid-template-columns:auto 1fr;gap:.25rem .6rem}.app-entry dd{margin:0}.app-nav{display:flex;gap:.5rem;flex-wrap:wrap}.app-nav a{min-height:44px;display:inline-flex;align-items:center}.app-status{min-height:1.5em;font-weight:700}.app-summary{white-space:pre-wrap;background:#f7faf9;border-radius:1rem;padding:1rem}.app-actions{display:grid;gap:.65rem}.app-hidden{display:none!important}@media(min-width:620px){.app-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:420px){.app-shell{padding:.8rem}.app-choice,.app-action{min-height:60px}.app-hero{padding-top:2rem}}.app-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-photo-box{display:grid;gap:.6rem}.app-photo-preview{display:block;max-width:100%;max-height:280px;object-fit:contain;border-radius:1rem;border:1px solid #d9e1de}.app-photo-thumb{width:88px;height:88px;object-fit:cover;border-radius:.8rem;margin-top:.5rem}.app-report-photo{max-width:220px;max-height:220px;object-fit:contain;border-radius:.8rem;margin:.5rem 0}@media print{.site-header,.site-footer,.app-hero,.app-actions,.text-link{display:none!important}.app-card{box-shadow:none;border:0}.app-report-photo{max-width:2.5in;max-height:2.5in}}.app-photo-approval{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}@media(max-width:420px){.app-photo-approval{grid-template-columns:1fr}}.app-remove-pet{margin-left:auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1.15rem;border:2px solid #55756c;border-radius:1rem;background:#fff;color:#36574e;font:inherit;font-size:.95rem;font-weight:800;line-height:1.1;cursor:pointer;white-space:nowrap;box-shadow:none}.app-remove-pet:hover{background:#edf4f1;border-color:#45665d}.app-remove-pet:active{transform:translateY(1px)}.app-remove-pet:focus-visible{outline:3px solid #55756c;outline-offset:2px}@media(max-width:420px){.app-pet{flex-wrap:wrap}.app-remove-pet{margin-left:66px}}
@media(max-width:620px){.app-form-pair{grid-template-columns:1fr}}

/* Unified app controls */
.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .9rem;border:2px solid #55756c;border-radius:.85rem;background:#fff;color:#36574e;font:inherit;font-weight:800;line-height:1;text-decoration:none;cursor:pointer}.text-link:hover{background:#edf4f1;text-decoration:none}.text-link:active{transform:translateY(1px)}

/* High-contrast interaction states: state is conveyed by fill + border, never color alone. */
.app-choice:hover,.app-action.secondary:hover,.text-link:hover,.app-remove-pet:hover{background:#dbe8e3;color:#18362e;border-color:#18362e}.app-choice[aria-pressed=true]{background:#18362e;color:#fff;border-color:#18362e;box-shadow:inset 0 0 0 2px #fff}.app-action:hover{background:#294f45;border-color:#294f45}.app-action:active,.app-choice:active,.text-link:active,.app-remove-pet:active{background:#18362e;color:#fff;border-color:#18362e;transform:translateY(1px)}.app-choice:focus-visible,.app-action:focus-visible,.text-link:focus-visible,.app-remove-pet:focus-visible{outline:4px solid #b05d00;outline-offset:3px}
@media(forced-colors:active){.app-choice[aria-pressed=true],.app-action:active,.text-link:active,.app-remove-pet:active{outline:3px solid Highlight;outline-offset:2px}.app-choice,.app-action,.text-link,.app-remove-pet{forced-color-adjust:auto}}

.app-report-pet{display:flex;align-items:center;gap:1rem;margin:.75rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid #d9e1de}.app-report-pet h2{margin:.15rem 0}.app-report-pet .eyebrow{margin:0}.app-report-species{margin:.15rem 0 0}.app-report-avatar{width:72px;height:72px;flex:0 0 72px;font-size:2.25rem}@media print{.app-report-pet{display:flex!important}.app-report-avatar{width:58px;height:58px;flex-basis:58px;font-size:1.8rem}}

.app-checkin-time{display:inline-flex;align-items:center;min-height:36px;margin:.1rem 0 .55rem;padding:.4rem .7rem;border-radius:999px;background:#e8f0ed;color:#294f45;font-weight:800;font-size:.9rem;font-variant-numeric:tabular-nums}@media(max-width:420px){.app-checkin-time{font-size:.85rem}}

/* Vet-ready structured report */
.app-summary{white-space:normal;display:grid;gap:.85rem;background:#f7faf9}.app-report-entry{background:#fff;border:1px solid #d9e1de;border-radius:1rem;padding:1rem;break-inside:avoid}.app-report-entry time{display:block;font-weight:900;color:#294f45;margin-bottom:.7rem}.app-report-observations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.app-report-observation{padding:.55rem .65rem;border-radius:.7rem;background:#edf4f1}.app-report-observation span,.app-report-observation strong{display:block}.app-report-observation span{font-size:.75rem;color:#536b64}.app-report-note{margin:.75rem 0 0}.app-report-entry .app-report-photo{display:block;margin:.8rem 0 0;max-width:240px}@media(max-width:520px){.app-report-observations{grid-template-columns:1fr}.app-report-entry .app-report-photo{max-width:100%}}@media print{.app-summary{padding:0;background:#fff}.app-report-entry{border:1px solid #ccd8d4;margin-bottom:.12in}.app-report-observations{grid-template-columns:repeat(3,1fr)}}

/* Optional support after a useful result, kept out of the clinical record */
.app-support{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;border-top:1px solid var(--line,#d9e1de);background:#f7faf9}.app-support>div{flex:1}.app-support h3{margin:0 0 .4rem;font-size:1.125rem}.app-support p{margin:0;font-size:1rem;line-height:1.5}.app-support .app-action{width:auto;flex-shrink:0;font-size:1rem}@media(max-width:600px){.app-support{flex-direction:column;align-items:flex-start}.app-support .app-action{width:100%}}@media print{.app-support{display:none!important}}
