.patient-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px}.patient-directory,.patient-health,.patient-sheet{background:white;border:1px solid var(--line);border-radius:10px;min-width:0}.patient-directory{align-self:start;position:sticky;top:85px}.patient-directory-head{padding:17px}.patient-directory-head h2{margin-bottom:14px;font-size:14px}.patient-directory-head small{color:#80969d;margin-left:8px}.patient-directory-head input{width:100%;font-size:12px}.patient-directory-list{max-height:66vh;overflow:auto}.patient-owner{display:flex;flex-direction:column;text-align:left;width:100%;padding:16px 18px;border:0;border-top:1px solid #edf2f4;border-radius:0;gap:7px;font-weight:400}.patient-owner span{font-size:12px}.patient-owner small{color:#7b939a}.patient-owner.active{background:#e5f3f5;box-shadow:inset 3px 0 #087c8b}.patient-pet-switch{display:flex;padding:12px 18px;gap:8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.patient-pet-switch button{border:0}.patient-pet-switch .active{background:#e2f2f4;color:#087c8b}.patient-pet-switch small{color:#759298;margin-left:5px}.patient-hero{display:flex;justify-content:space-between;align-items:center;padding:23px;gap:16px;flex-wrap:wrap;background:#f4fafb}.patient-eyebrow{font-size:11px;color:#79959c}.patient-hero h1{margin:7px 0;font-size:27px}.patient-hero h1 span{font-size:12px;font-weight:400;margin-left:12px;color:#718a92}.patient-hero p{margin:0;font-size:12px;color:#637f88}.patient-tabs{display:flex;gap:15px;padding:0 22px;border-bottom:1px solid var(--line);overflow-x:auto}.patient-tabs button{border:0;background:transparent;border-radius:0;padding:16px 5px;white-space:nowrap;border-bottom:3px solid transparent}.patient-tabs button.active{color:#007887;border-bottom-color:#008a98}.patient-content{padding:20px;background:#f8fbfc}.patient-overview{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.patient-sheet{padding:18px;margin-bottom:16px}.patient-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.patient-section-head h2{font-size:15px}.patient-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.patient-pairs label{display:block;font-size:11px;color:#7b9199;margin-bottom:6px}.patient-pairs strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.patient-note{font-size:12px;color:#738d94;border-top:1px solid var(--line);padding-top:16px}.patient-timeline>article{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.event-date{font-size:11px;color:#7d939a;line-height:1.7}.event-date span{display:block;color:#07818d;margin-top:5px}.event-content h3{font-size:14px;margin-bottom:6px}.event-content p{font-size:12px;color:#667f87;white-space:pre-wrap;overflow-wrap:anywhere}.patient-content>.patient-timeline{padding:0 16px;background:white;border:1px solid var(--line);border-radius:8px}@media(max-width:1000px){.patient-workspace{grid-template-columns:205px minmax(0,1fr);gap:12px}.patient-overview{grid-template-columns:1fr}.patient-directory-head{padding:12px}.patient-content{padding:12px}.patient-tabs{gap:10px;padding:0 12px}.patient-hero{padding:18px}}@media(max-width:700px){.patient-workspace{grid-template-columns:1fr}.patient-directory{position:static}.patient-directory-list{max-height:170px}.patient-tabs{gap:6px}.patient-tabs button{font-size:12px}}
.patient-directory-head .directory-sort{display:flex;align-items:center;gap:8px;margin-top:12px;color:#647b83;font-size:12px}
.directory-sort select{flex:1;min-width:0;font-size:12px;padding:7px}
.patient-owner .directory-pets{display:flex;flex-wrap:wrap;gap:5px;width:100%}
.patient-owner .directory-pet{display:inline-block;max-width:100%;padding:4px 7px;border:1px solid #dce8e8;border-radius:5px;background:#f5f9f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#34565e}
.patient-owner .directory-pet small{font-size:11px;margin-left:4px}
.patient-owner .directory-pet-more{font-size:11px;color:#637f88}
.patient-owner strong{overflow-wrap:anywhere}
/* Full-width reception sheet: all three sections visible on desktop. */
#modal:has(.intake-grid){width:calc(100vw - 24px);max-width:1800px;max-height:calc(100dvh - 20px)}
#modal:has(.intake-grid) .modal-head{padding:10px 16px}
#modal:has(.intake-grid) .modal-foot{padding:8px 16px}
#modal:has(.intake-grid) .modal-body{padding:12px 16px;max-height:calc(100dvh - 120px);overflow:auto}
.intake-grid{display:grid;grid-template-columns:.9fr 1.25fr 1fr;gap:16px;align-items:start}
.intake-grid .reception-panel{min-width:0;margin:0;padding:0 12px 0 0;border:0;border-right:1px solid var(--line)}
.intake-grid .reception-panel:last-child{border-right:0;padding-right:0}
.intake-grid .reception-panel h3{margin:0 0 10px;font-size:15px}
.intake-grid .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.intake-grid .field{min-width:0;font-size:12px;gap:4px;margin:0}
.intake-grid input,.intake-grid select{width:100%;height:31px;min-height:31px;padding:4px 7px;font-size:12px}
.intake-grid textarea{width:100%;min-height:44px;height:44px;padding:5px 7px;font-size:12px;resize:vertical}
.intake-grid input[readonly]{font-family:Consolas,monospace;background:#f2f7f7;font-size:12px}
.source-options{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 12px!important}
.source-options legend{font-size:12px;margin-bottom:7px}
.source-options label{display:inline-flex;align-items:center;gap:5px;font-size:12px}
.source-options input[type=checkbox]{width:14px;height:14px;min-height:14px;margin:0;accent-color:#008579}
@media(min-width:900px) and (max-height:720px){.intake-grid .form-grid{gap:5px 8px}.intake-grid .field{gap:2px}.intake-grid input,.intake-grid select{height:28px;min-height:28px}.intake-grid textarea{height:37px;min-height:37px}#modal:has(.intake-grid) .modal-body{padding:9px 14px}}
@media(max-width:899px){.intake-grid{grid-template-columns:1fr}.intake-grid .reception-panel{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.intake-grid input,.intake-grid select{height:36px}}
.source-field{position:relative}
.source-dropdown{position:relative;min-width:0}
.source-dropdown summary{border:1px solid #cad8da;border-radius:5px;background:#fff;padding:6px 9px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:30px}
.source-dropdown summary::after{content:' ▾';float:right;color:#647b83}
.source-dropdown[open] .source-menu{position:absolute;left:0;right:0;top:100%;z-index:20;max-height:240px;overflow:auto;background:white;box-shadow:0 8px 22px #173b4826;border:1px solid #c6d7d9;border-radius:6px;padding:6px}
.source-menu label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;padding:7px 6px;font-size:12px;cursor:pointer}
.source-menu label:hover{background:#edf7f5}
.source-menu input[type=checkbox]{width:15px;height:15px;min-height:15px;margin:0;accent-color:#008579}
.pet-photo-editor{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:center;min-height:52px}
.pet-photo-editor img,.pet-photo-editor [data-photo-placeholder]{width:52px;height:52px;flex-shrink:0;object-fit:cover;border-radius:7px;background:#edf5f4;border:1px solid #d6e4e1}
.pet-photo-editor [data-photo-placeholder]{align-content:center;text-align:center;font-size:11px;color:#607b79}
.pet-photo-editor [hidden]{display:none!important}
.pet-photo-editor button{font-size:12px;padding:5px 9px;margin-right:6px}
.pet-photo-editor small{display:block;color:#607b79;margin-top:4px;font-size:11px}
.pet-avatar{width:68px;height:68px;border-radius:9px;object-fit:cover;border:1px solid #d5e5e3;margin:0 12px 8px 0;float:left}
@media(min-width:900px){#modal:has(.intake-grid){margin:10px auto}.intake-grid .reception-panel h3{margin-bottom:6px}.intake-grid .pet-photo-editor{min-height:48px}.intake-grid .pet-photo-editor img,.intake-grid .pet-photo-editor [data-photo-placeholder]{width:46px;height:46px}}

.pet-photo-section{border-top:1px solid var(--line);padding-top:12px;margin-top:10px}
.pet-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.pet-photo-grid .pet-photo-editor{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:stretch;min-width:0}
.pet-photo-grid .pet-photo-editor strong{font-size:12px;text-align:center}
.pet-photo-grid .pet-photo-editor img,.pet-photo-grid .pet-photo-editor [data-photo-placeholder]{width:100%;height:85px;object-fit:contain;border-radius:6px}
.pet-photo-grid .pet-photo-editor button{padding:5px 6px;margin:0;font-size:12px}
.pet-photo-grid .pet-photo-editor>div{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.pet-photo-grid .pet-photo-editor small{width:100%;text-align:center;line-height:1.4}
.pet-photo-gallery{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pet-photo-gallery:empty{display:none}
.intake-section-title{grid-column:1/-1;margin:5px 0 0;padding:5px 0 0;border-top:1px solid #d9e4e5;font-size:12px;font-weight:600;color:#34525b}
.intake-health-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.directory-dates{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px}
.directory-dates label{display:grid;grid-template-columns:55px minmax(0,1fr);align-items:center;gap:5px}
.directory-dates input{min-width:0;padding:5px;height:32px}
.directory-dates>div{display:flex;gap:5px;flex-wrap:wrap}
.directory-dates button{padding:5px 8px;font-size:12px}
.directory-dates small{color:#526c75}
.directory-dates [role=alert]{color:#a5372b}
.patient-workspace{grid-template-columns:330px minmax(0,1fr)}
.patient-owner{padding:10px 13px;gap:5px}
.patient-owner .directory-owner-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;min-width:0}
.directory-owner-line strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.patient-owner .directory-phone{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:#47636d}
.patient-owner .directory-pets{gap:4px 6px}
.patient-owner .directory-pet{padding:2px 5px;line-height:1.5;background:#f5f9f9}
.patient-owner .directory-pet small{color:#58747b}
.patient-owner .directory-owner-meta{display:flex;gap:10px;justify-content:space-between;min-width:0;width:100%;color:#637b83;font-size:11px}
.directory-owner-meta time{white-space:nowrap;font-variant-numeric:tabular-nums}
.patient-owner .directory-owner-meta>span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-dates{grid-template-columns:1fr 1fr}
.directory-dates>strong,.directory-dates>div,.directory-dates>[role=alert]{grid-column:1/-1}
.directory-dates label{display:flex;flex-direction:column;align-items:stretch;gap:4px}
@media(max-width:1000px) and (min-width:701px){.patient-workspace{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:700px){.patient-workspace{grid-template-columns:1fr}.patient-directory-list{max-height:300px}}
.intake-grid.archive-grid{grid-template-columns:1fr 1.25fr}
@media(max-width:899px){.intake-grid.archive-grid{grid-template-columns:1fr}}
.intake-form .reception-panel>h3{color:#183e48;border-bottom:2px solid #d9e9e6;padding-bottom:8px}
.intake-form .field>span,.intake-form .source-field>span{color:#435c66}
.intake-form .required{color:#a5372b}
.intake-form input::placeholder,.intake-form textarea::placeholder{color:#687d85;font-size:11px}
.intake-form :is(input,select,textarea,button,summary):focus-visible{outline:2px solid #008579;outline-offset:2px}
.intake-form .modal-foot{display:flex;align-items:center;gap:8px;background:#f4f8f8}
.intake-submit-hint{margin-right:auto;font-size:12px;color:#4d676e}
.intake-form .pet-photo-editor small{color:#526e71}
@media(min-width:900px) and (max-height:760px){.intake-form .form-grid{gap:4px 10px}.intake-form .intake-section-title{margin-top:3px;padding-top:4px}.intake-form .field{gap:2px}.intake-form textarea{height:35px;min-height:35px}}
@media(max-width:899px){.intake-form .modal-foot{flex-wrap:wrap}.intake-submit-hint{flex-basis:100%}.intake-form :is(input,select,button,summary){min-height:40px}.intake-form .source-menu label{min-height:40px}}
.pet-photo-gallery figure{margin:0;text-align:center;font-size:11px;color:#607b79}
.pet-photo-gallery img{width:76px;height:76px;object-fit:contain;border-radius:6px;background:#edf5f4;border:1px solid #d5e5e3}
@media(pointer:coarse){.pet-photo-grid .pet-photo-editor button{min-height:44px}}
