.safety-unknown{--safety-ink:#536674;--safety-bg:#eef2f5;--safety-line:#adbac3}.safety-green{--safety-ink:#28583f;--safety-bg:#ebf5ee;--safety-line:#80aa8d}.safety-yellow{--safety-ink:#765311;--safety-bg:#fff6df;--safety-line:#c6a455}.safety-red{--safety-ink:#942f33;--safety-bg:#fceeee;--safety-line:#ce8488}
button.contact-safety-badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;margin:3px 0;border:1px solid var(--safety-line);border-radius:6px;background:var(--safety-bg);color:var(--safety-ink);font-size:12px;font-weight:650;line-height:20px;white-space:normal;text-align:left}
.contact-safety-form{grid-column:1/-1;min-width:0}.contact-safety-form fieldset{border:0;padding:0;margin:0 0 8px}.contact-safety-form legend{font-size:12px;margin-bottom:5px}.safety-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}#modal .safety-option{display:flex;align-items:flex-start;gap:6px;padding:7px;border:1px solid #dce4e7;border-radius:7px;background:#fff;color:#344e58;cursor:pointer}#modal .safety-option:has(input:checked){background:var(--safety-bg);color:var(--safety-ink);border-color:var(--safety-line)}#modal .contact-safety-form input[type=radio],#modal .contact-safety-form input[type=checkbox]{width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:3px 0;accent-color:#327c74}.safety-option strong{font-size:13px}.safety-option small,.safety-traits small{display:block;font-size:11px;line-height:16px;color:#576d76}.safety-traits{margin:8px 0}.safety-traits summary{cursor:pointer;font-size:12px;min-height:30px;padding:5px 0}.safety-traits summary span{display:block;color:#637781;font-size:11px}.safety-traits>label{display:flex;gap:8px;padding:5px 0;font-size:13px}.contact-safety-form>.field{margin:7px 0}.safety-help,.safety-legacy{font-size:11px;line-height:17px;color:#61747c;margin:6px 0}.safety-history{max-height:240px;overflow:auto}.safety-history li{margin:8px 0;font-size:13px}.contact-safety-badge:focus-visible,.safety-option:focus-within{outline:2px solid #24776f;outline-offset:2px}@media(pointer:coarse){button.contact-safety-badge{min-height:36px}}

#modal .safety-option{border-left:3px solid var(--safety-line)}
.contact-safety-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%;vertical-align:middle}.contact-safety-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:18px;color:#526973;overflow-wrap:anywhere;max-width:280px}

/* Keep the desktop intake visible without shrinking text or clipping fields. */
@media(min-width:900px) and (max-height:760px){
 #modal:has(.intake-grid) .modal-head{padding:6px 16px}
 .intake-form .intake-title-art{width:38px;height:38px}
 #modal:has(.intake-grid) .modal-body{max-height:calc(100dvh - 110px);padding:8px 12px}
 .intake-form .intake-grid .form-grid{gap:4px 10px}
 .intake-form .reception-panel>h3{margin-bottom:6px;padding:4px 12px}
 .intake-form .intake-section-title{margin:0;padding:3px 6px}
 .intake-form .contact-safety-form legend{display:none}
 .intake-form .contact-safety-form fieldset{margin:0}
 #modal .intake-grid .safety-option{padding:5px 6px}
 .intake-form .safety-traits{margin:3px 0}
 .intake-form .safety-traits summary{padding:2px 0;min-height:22px}
 .intake-form .safety-traits summary span{display:inline;margin-left:8px}
 .intake-form .safety-help{margin:3px 0;line-height:15px}
 .intake-form .safety-traits[open]{position:relative}
 .intake-form .safety-traits[open]>label{padding:2px 0}
}

.safety-traits-heading{font-size:12px;margin:4px 0}
.safety-trait-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
#modal .safety-trait-options>label{display:flex;align-items:center;gap:4px;margin:0;padding:3px 4px;border:1px solid #dce4e7;border-radius:5px;font-size:12px;cursor:pointer;line-height:18px}
#modal .safety-trait-options>label:has(input:checked){background:#edf5f3;border-color:#74a69d;color:#275d54}
@media(min-width:900px) and (max-height:760px){.intake-form .safety-trait-options{grid-template-columns:repeat(3,minmax(0,1fr))}.intake-form .reception-panel:last-child .safety-option small{font-size:11px;line-height:14px}.intake-form .safety-help{font-size:10px}}
@media(max-width:480px){.safety-trait-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(min-width:900px) and (max-height:760px){#modal:has(.intake-grid) .modal-body{padding-bottom:3px}}

/* Use the available window height; compact spacing belongs only to short windows. */
@media(min-width:900px){
 #modal:has(.intake-grid){height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);margin:10px auto}
 #modal .intake-form{height:100%;max-height:none}
 #modal:has(.intake-grid) .modal-body{flex:1;min-height:0;max-height:none}
 .intake-form .contact-safety-form legend{display:none}
}
@media(min-width:900px) and (min-height:761px){
 #modal:has(.intake-grid) .modal-body{padding:14px 12px}
 .intake-form .intake-grid .form-grid{gap:clamp(6px,calc((100dvh - 740px)/20),12px) 12px}
 .intake-form .intake-grid .field{gap:5px;font-size:13px}
 .intake-form .intake-grid input:not([type=radio]):not([type=checkbox]),.intake-form .intake-grid select{height:36px;min-height:36px;font-size:13px}
 .intake-form .intake-grid textarea{height:48px;min-height:48px;font-size:13px}
 .intake-form .reception-panel>h3{padding:9px 12px;margin-bottom:10px}
 .intake-form .intake-section-title{margin:6px 0 2px;padding:5px 7px}
 #modal .intake-grid .safety-option{padding:8px 6px}
 .intake-form .safety-help{font-size:11px}
}

/* A single spacious arrival description replaces the two seldom-used notes fields. */
#modal textarea[data-visit-reason]{height:94px;min-height:67px;line-height:1.6;padding:10px 11px}
#modal .intake-form textarea[data-visit-reason]{height:clamp(67px,calc((100dvh - 680px) * 0.666667),107px);min-height:67px;padding:8px 10px}
@media(min-width:900px) and (max-height:760px){#modal .intake-form textarea[data-visit-reason]{height:59px;min-height:59px}}

#modal:has(.return-intake-grid){width:calc(100vw - 24px);max-width:1680px;max-height:calc(100dvh - 24px);background:#f1f5f6}
.return-intake-form{display:flex;flex-direction:column;max-height:calc(100dvh - 26px)}
#modal:has(.return-intake-grid) .modal-body{flex:1;min-height:0;max-height:none;padding:14px;overflow:auto}
.return-intake-form .modal-head,.return-intake-form .modal-foot{background:#fff;flex-shrink:0;padding:12px 18px}
.return-intake-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:14px;align-items:start}
.return-intake-grid>section{border:1px solid #dce5e8;border-radius:9px;padding:12px;background:#fff;min-width:0}
.return-intake-grid h3{padding:0 0 10px;border-bottom:1px solid #e1ebeb;color:#315a5e;margin-bottom:12px}
.return-intake-grid .form-grid{gap:10px}.return-intake-grid .field{gap:4px}.return-intake-grid :is(input,select){padding:7px;font-size:13px;min-width:0}
.arrival-identity{padding:12px 0}.arrival-identity>strong{display:flex;align-items:center;gap:8px;font-size:18px}.arrival-identity p{font-size:12px;color:#5c737a;margin:5px 0}
.return-intake-grid .pet-photo-section{margin:0;padding-top:10px}.return-intake-grid .pet-photo-editor img,.return-intake-grid .pet-photo-editor [data-photo-placeholder]{height:72px}
.return-intake-grid .contact-safety-form legend{display:none}.arrival-more{margin-top:14px;padding-top:12px;border-top:1px solid #e1ebeb}.arrival-more summary{cursor:pointer;font-size:13px;margin-bottom:10px}.photo-history-batch{border-bottom:1px solid #e1ebeb;padding-bottom:12px}.photo-history-batch .pet-photo-gallery img{width:140px;height:140px}
@media(max-width:899px){.return-intake-grid{grid-template-columns:1fr}.return-intake-grid :is(button,input,select){min-height:40px}}

.arrival-birthday{padding:10px;border:1px solid #dce8e5;border-radius:7px;background:#f4f8f7}.arrival-birthday p{margin:6px 0 0;color:#526e68}

.followup-plan-row>label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px}.followup-plan-row>label>input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;flex:0 0 16px}
