:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171c1a;background:#f1f5f4;font-size:14px;--green:#17c64c;--muted:#9cabbc;--line:#d8dfe5;--gradient:linear-gradient(100deg,#0692ad,#16c849)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #008ea7;outline-offset:3px}button{border:0;background:none}a{color:#078f84}#app{max-width:470px;margin:28px auto 0;background:white;min-height:calc(100dvh - 28px);position:relative;padding-bottom:95px;box-shadow:0 8px 50px #2648360c}.desktop-brand{position:fixed;top:40px;left:max(28px,calc(50% - 460px));display:flex;flex-direction:column;gap:9px;color:#6b7f75}.desktop-brand b{font-size:37px;letter-spacing:-2px;color:#253e32}.desktop-brand b span{color:var(--green)}.desktop-brand small{font-size:10px;letter-spacing:1.3px;margin-top:12px}.top{height:86px;padding:18px 23px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(12px);z-index:5}.top h1{font-size:21px;font-weight:650;margin:0;text-align:center;line-height:1.2}.circle{width:45px;height:45px;display:inline-grid;place-items:center;border-radius:50%;background:#edf3f6;color:var(--green);flex-shrink:0;font-size:25px}.circle.green{background:var(--green);color:white}.circle svg{width:21px;height:21px}main{padding:0 23px 25px}.nav{position:fixed;bottom:0;width:470px;max-width:100%;height:78px;padding-bottom:env(safe-area-inset-bottom,5px);display:flex;justify-content:space-around;align-items:center;background:#fffffff5;border-top:1px solid #ececec;z-index:9}.nav button{display:flex;flex-direction:column;align-items:center;gap:7px;color:#969b99;font-size:11px;width:20%;padding:10px 0}.nav svg{width:22px;height:22px}.nav .active{color:var(--green)}.status{display:flex;justify-content:space-between;font-size:10px;color:#668273;margin:4px 0 12px}.dot{display:inline-block;border-radius:100%;width:7px;height:7px;background:var(--green);margin-right:5px}.local{font-size:10px;color:#879b8c;text-align:center;margin-bottom:12px}.greeting{font-size:17px;text-align:center;margin:4px 0 18px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat{border:1px solid #99c9b6;border-radius:10px;text-align:left;padding:10px 12px;min-height:58px}.stat b{display:block;font-size:13px}.stat span{color:#687a71;font-size:12px}.section-title{font-size:16px;font-weight:500;margin:22px 0 12px}.empty{text-align:center;color:#789185;padding:44px 20px;line-height:1.8;font-size:13px}.empty svg{width:65px;height:65px;color:#9baeb0;margin-bottom:12px}.search{width:100%;border:1px solid #e3e7e6;background:#fafbfa;border-radius:9px;padding:11px 13px;margin:5px 0 14px;outline-color:var(--green)}.row{display:flex;align-items:center;text-align:left;width:100%;border-bottom:1px solid #e5e9e6;padding:16px 0;gap:13px}.row .icon{flex-shrink:0;width:37px;height:40px;display:grid;place-items:center}.row .icon svg{width:27px;height:27px}.row .wound-icon{background:var(--green);border-radius:8px;color:white}.row strong{display:block;font-size:13px;font-weight:600;line-height:1.5}.row small{display:block;color:#6b756f;font-size:11px;line-height:1.7}.row .chev{margin-left:auto;color:#a7b3ab}.patient-intro{display:flex;gap:15px;align-items:center;padding:4px 0 18px}.patient-intro svg{width:37px;height:37px;color:#9dacbd;flex-shrink:0}.patient-intro div{font-size:13px;line-height:1.65;flex:1}.patient-intro b{font-weight:600}.tabs{display:flex;gap:5px;margin:0 0 20px;overflow:auto;scrollbar-width:none}.tabs button{padding:8px 11px;border-radius:7px;color:#8090a3;font-weight:600;font-size:12px;white-space:nowrap}.tabs .active{background:var(--green);color:white}.field{display:block;border:1px solid #c2cdd8;border-bottom:2px solid #a2b2c4;border-radius:12px;margin:0 0 19px;min-height:65px;padding:9px 12px;background:white;width:100%;text-align:left}.field:focus-within{border-bottom-color:var(--green)}.field>span{display:block;color:#98aabd;font-size:11px;font-weight:600;margin-bottom:6px}.field input,.field textarea,.field select{border:0;outline:0;width:100%;padding:0;background:transparent;color:#26332d;min-height:22px;resize:vertical}.field textarea{min-height:60px}.field.pick{position:relative}.field.pick:after{content:'⌄';position:absolute;right:12px;bottom:16px;color:#abb7b1}.field .value{color:#26332d;font-weight:400;font-size:14px;min-height:22px;padding-right:13px}.field-stack{padding-top:5px}.field-stack>.field{margin-bottom:25px}.primary,.secondary,.danger{display:block;width:100%;padding:13px 20px;border-radius:30px;text-align:center;text-decoration:none;font-weight:550;font-size:13px;margin:10px 0}.primary{background:var(--gradient);color:white}.secondary{background:#edf5f0;color:#37815b}.danger{background:#dd2020;color:white}.card{border:1px solid #afb5b1;border-radius:12px;padding:13px;margin:0 0 20px}.card h3{font-size:13px;margin:0 0 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.card .field:last-child{margin-bottom:0}.edit{border-radius:5px;background:var(--green);color:white;font-size:10px;padding:4px 9px;font-weight:400}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;font-weight:550;margin:0 0 15px}.toggle-row:last-child{margin:0}.toggle{appearance:none;width:37px;height:21px;border-radius:20px;background:#c9cdcb;position:relative;cursor:pointer;flex-shrink:0;transition:.15s}.toggle:after{content:'';position:absolute;left:3px;top:3px;background:white;width:15px;height:15px;border-radius:50%;transition:.15s}.toggle:checked{background:var(--green)}.toggle:checked:after{left:19px}.progress{display:flex;gap:12px;padding:0 0 20px}.progress button{flex:1;height:8px;background:#ececec;border-radius:3px;padding:0}.progress .done{background:var(--green)}.photos{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:15px}.photo{position:relative;aspect-ratio:1.2;border:1.5px dashed #9c9f9c;border-radius:21px;background:#f4f4f4;overflow:hidden;display:grid;place-items:center;min-width:0}.photo .add-photo{width:100%;height:100%;font-size:35px;color:#929792;font-weight:200}.photo img{width:100%;height:100%;object-fit:cover;position:absolute}.remove-photo{position:absolute;right:5px;top:5px;background:#fff;border-radius:50%;width:25px;height:25px;color:#d52121;z-index:1}.photo time{position:absolute;bottom:0;left:0;background:#ffffffc9;font-size:9px;width:100%;padding:5px}.range{display:flex;gap:2px;margin:12px 0 4px}.range button{background:#eaecea;flex:1;padding:7px 1px;font-size:11px}.range button:first-child{border-radius:8px 0 0 8px}.range button:last-child{border-radius:0 8px 8px 0}.range button.selected{background:var(--green);color:white}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#757d77;gap:6px;margin:5px 0 15px}.hint{font-size:11px;line-height:1.7;color:#779481;margin:12px 0}.pause{position:fixed;bottom:93px;margin-left:350px;border-radius:50%;background:var(--green);color:white;width:49px;height:49px;font-size:21px;z-index:6;box-shadow:0 3px 12px #19c64b30}.summary-row{display:grid;grid-template-columns:46% 54%;gap:0;font-size:11px;padding:7px 6px;margin:2px 0;background:#efefef;line-height:1.5;overflow-wrap:anywhere}.summary-row b{font-weight:500}.summary-row span{color:#556258}.success{min-height:calc(100dvh - 123px);background:var(--gradient);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px}.success .check{font-size:60px;font-weight:200}.success h2{text-align:center;line-height:1.5;margin:25px 0 45px}.success button{background:#fff;color:#405a4b;border-radius:30px;width:100%;padding:13px;margin:8px 0}.sheet-backdrop{position:fixed;inset:0;background:#0007;z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet{background:white;border-radius:25px 25px 0 0;width:470px;max-width:100%;max-height:82dvh;overflow:auto;padding:14px 20px 25px;box-shadow:0 -8px 40px #0001}.handle{width:42px;height:4px;border-radius:9px;background:#aaa;margin:0 auto 18px}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sheet-head h2{font-size:16px;margin:0}.option{width:100%;text-align:left;border-bottom:1px solid #f1f3f2;padding:15px 9px;font-size:13px;display:flex;justify-content:space-between;gap:8px}.option.selected{color:#0da43a;background:#f1fbf4}.option small{color:#16b449}.inline{display:flex;gap:8px;align-items:center}.inline>*{flex:1}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:95px;z-index:50;max-width:90%;padding:12px 22px;border-radius:12px;background:#263d30;color:white;box-shadow:0 4px 20px #0002;font-size:13px;display:none}.body-map{width:100%;height:540px;display:block}.body-map [data-zone]{fill:#929894;stroke:white;stroke-width:1.5;cursor:pointer;transition:.15s}.body-map [data-zone].selected{fill:#cb252b}.body-map [data-zone]:hover{fill:#68b781}.body-label{fill:#a2acaa;font-size:13px}.kv{padding:16px 0;border-bottom:1px solid #b5c3ce;line-height:1.8;font-size:13px}.kv b{display:block}.chart{width:100%;height:230px;overflow:visible;margin:16px 0}.chart text{font-size:10px;fill:#758a91}.thumbs{display:flex;gap:8px;overflow:auto}.thumbs img{width:85px;height:90px;object-fit:cover;border-radius:12px}.photo-view{max-width:100%;max-height:60vh;display:block;margin:auto}.measure-image{position:relative;touch-action:none}.measure-image img{display:block;width:100%}.measure-image svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.badge{border:1px solid #c6e4d1;border-radius:5px;color:#46805c;padding:3px 7px;font-size:10px}.days{display:flex;gap:4px;flex-wrap:wrap}.days button{border-radius:15px;background:#eee;padding:7px;font-size:10px}.days .selected{background:var(--green);color:white}.print-only{display:none}@media(max-width:900px){.desktop-brand{display:none}}@media(max-width:500px){body{background:white}#app{margin:0;min-height:100dvh;max-width:none;box-shadow:none}.top{height:84px}.nav{width:100%;height:76px}.pause{right:23px;margin:0}.sheet{max-height:88dvh}.success{min-height:calc(100dvh - 76px)}}@media print{body{background:white}#app{max-width:none;margin:0;padding:0;box-shadow:none}.desktop-brand,.nav,.top,.pause,.no-print,.tabs,#toast{display:none!important}.card{break-inside:avoid}.print-only{display:block}main{padding:0}.photo-view{max-height:400px}.thumbs img{width:140px;height:140px}}
.photo img{inset:0}.photo .add-photo svg{width:24px;height:24px}.sheet .primary svg{width:19px;height:19px;vertical-align:middle;margin-right:8px}
/* Shared custom-entry control in every selection sheet. */
.custom-option-row{display:flex;align-items:center;gap:10px;margin:12px 0}
.custom-option-row #custom-option{flex:1;min-width:0;height:43px;margin:0;border-radius:11px;padding:0 13px;background:white;border:1px solid #c2cdd8;border-bottom:2px solid #a2b2c4}
.custom-option-row #add-option{flex:0 0 44%;width:auto;height:43px;min-height:43px;display:flex;align-items:center;justify-content:center;margin:0;padding:0 15px;white-space:nowrap}
.nav button{width:25%}
/* Body geometry traced from the supplied front and back reference drawings. */
.localization{padding:0 12px 8px}
.body-map{display:block;width:100%;height:calc(100dvh - 225px);min-height:430px;max-height:900px}
.body-map [data-zone]{fill:#999;stroke:none;cursor:pointer}
.body-map [data-zone].selected,.body-map [data-zone].selected:hover{fill:#a51822}
.body-map [data-zone]:hover{fill:#838b85}
.body-map [data-zone]:focus-visible{outline:none;fill:#78877d}
.body-map [data-zone]:focus-visible.selected{fill:#a51822}
.body-orientation circle{fill:none;stroke:#18c849;stroke-width:3}
.body-orientation text{fill:#18c849;font-size:61px;font-weight:300;text-anchor:middle;dominant-baseline:central}
.body-controls{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:8px 0 0}
.body-side{background:#a2b1c3;color:white;border-radius:10px;font-size:16px;font-weight:500;flex:1;padding:9px 5px}
.body-side.active{background:var(--green)}
.body-clear{background:#a2b1c3;color:white}
.body-selection{font-size:10px;line-height:1.4;text-align:center;color:#6d8778;margin:7px 0 0;min-height:14px}
@media(max-width:500px){.body-map{height:calc(100dvh - 207px)}}
.body-map{height:calc(100dvh - 245px);min-height:300px}
.body-selection{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:500px){.body-map{height:calc(100dvh - 213px)}}
/* Report navigation and completion order use the same list on all screen sizes. */
.report-row .report-icon{color:var(--green)}
.report-copy{flex:1;min-width:0}
.report-person{display:block}
.report-person strong{display:inline}
.report-person small{display:inline;margin-left:6px;font-size:11px;color:#718178}
.report-person small:before{content:'· '}
.report-wound{display:block;font-size:12px;line-height:1.65;color:#44574b;margin-top:4px}
.report-finished{display:block;font-size:11px;line-height:1.6;color:#718178;margin-top:4px}
.report-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.report-toolbar .search{flex:1;min-width:190px;margin-bottom:0}
.report-sort{font-size:11px;color:#6d8778;white-space:nowrap}
.report-columns{display:none}
/* Dedicated desktop workspace. Mobile keeps its bottom navigation and single-column forms. */
@media screen and (min-width:1000px){
 :root{background:#f4f7f5}
 .desktop-brand{display:flex;z-index:12;left:30px;top:32px;gap:7px;width:180px}
 .desktop-brand b{font-size:34px}
 .desktop-brand>span{font-size:12px}
 .desktop-brand small{font-size:9px;margin-top:14px}
 #app{width:calc(100% - 256px);max-width:1500px;margin:0 0 0 240px;min-height:100dvh;padding:0 0 40px;background:#f4f7f5;box-shadow:none}
 .nav{position:fixed;inset:164px auto 0 0;width:240px;max-width:none;height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;padding:14px 19px;background:white;border-top:0;border-right:1px solid #e2eae5}
 .nav:before{content:'';position:fixed;left:0;top:0;width:239px;height:165px;background:white;z-index:-1}
 .nav button{width:100%;display:flex;flex-direction:row;align-items:center;gap:13px;padding:15px 17px;font-size:14px;font-weight:550;text-align:left;border-radius:11px;color:#63746a}
 .nav button.active{background:#eaf8ef;color:#0aa23c}
 .nav button:hover{background:#f0f7f2}
 .nav svg{width:23px;height:23px}
 .top{height:100px;padding:24px 36px;background:#f4f7f5f5;border-bottom:1px solid #e4ebe7;display:grid;grid-template-columns:45px 1fr 45px;gap:16px}
 .top h1{text-align:left;font-size:26px;letter-spacing:-.5px}
 .top .circle{background:#fff;border:1px solid #e0e9e3}
 .top .circle.green{background:var(--green);border-color:var(--green)}
 main{padding:30px 36px;max-width:1320px;margin:0 auto}
 .section-title{font-size:18px;margin:25px 0 17px}
 .local{text-align:left;margin:0 0 22px;font-size:11px}
 .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .stat{background:white;border-color:#d6e6db;border-radius:13px;min-height:108px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:border-color .15s}
 .stat:hover{border-color:#17c64c}
 .stat b{font-size:14px;font-weight:550;color:#62786a}
 .stat span{font-size:27px;font-weight:650;color:#213e2c}
 .empty{background:white;border:1px solid #e0e9e3;border-radius:14px;padding:55px 20px;margin:14px 0 22px}
 .row{background:white;padding:20px 22px;gap:17px;border-color:#e1e9e4}
 .row:hover{background:#f8fcf9}
 .row strong{font-size:14px}
 .row small{font-size:12px}
 #patient-list,#report-list{border:1px solid #e0e9e3;border-radius:0 0 13px 13px;overflow:hidden;background:white}
 #patient-list{border-radius:13px}
 #patient-list .row:last-child,#report-list .row:last-child{border-bottom:0}
 .reports-page .report-row,.report-columns{display:grid;grid-template-columns:28px minmax(100px,1fr) minmax(130px,1.3fr) minmax(140px,1fr) 16px;gap:16px;align-items:center}
 .reports-page .report-copy{display:contents}
 .report-columns{padding:15px 22px;font-size:11px;color:#708276;background:#eaf0ec;border:1px solid #e0e9e3;border-bottom:0;border-radius:13px 13px 0 0;font-weight:600}
 .reports-page .report-person strong,.reports-page .report-person small{display:block;margin:0}
 .reports-page .report-person small:before{content:''}
 .reports-page .report-person small{margin-top:4px}
 .reports-page .report-wound{margin:0;font-size:13px}
 .reports-page .report-finished{margin:0;font-size:12px}
 .report-toolbar{margin-bottom:25px;justify-content:space-between}
 .report-toolbar .search{max-width:440px}
 .report-sort{font-size:12px}
 .search{background:white;border-color:#d9e4dc;padding:13px 15px;max-width:520px}
 .primary,.secondary,.danger{max-width:350px;padding:14px 22px;font-size:13px}
 .field-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
 .field-stack>.field{margin:0;min-height:80px}
 .field-stack>.toggle-row,.field-stack>.primary{grid-column:1/-1;justify-self:start}
 .field-stack>.toggle-row{gap:28px;margin:0}
 .field>span{font-size:12px}
 .field input,.field textarea,.field .value{font-size:15px}
 .patient-intro{padding:0 0 26px;gap:19px}
 .patient-intro div{font-size:14px}
 .patient-intro>svg{width:46px;height:46px}
 .tabs{gap:9px;margin:0 0 26px}
 .tabs button{font-size:13px;padding:10px 19px}
 .kv{max-width:800px}
 .card{padding:20px;background:white;border-color:#d9e4dc;border-radius:12px;margin-bottom:22px}
 .card h3{font-size:14px}
 .progress{gap:14px;padding:0 0 49px;margin-bottom:16px}
 .progress button{height:7px;position:relative}
 .progress button:after{content:attr(data-label);position:absolute;top:17px;left:0;right:0;font-size:10px;text-align:left;color:#819388;line-height:1.4}
 .progress button.done:after{color:#218643}
 .wizard-content,.report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px}
 .wizard-content>.card,.report-summary>.card{margin:0}
 .wizard-content>.field{margin:0}
 #app[data-view="wizard"][data-step="0"] .wizard-content>.photos{grid-column:1;grid-row:1/span 3;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #app[data-view="wizard"][data-step="0"] .wizard-content>.card{grid-column:2}
 #app[data-view="wizard"][data-step="0"] .wizard-content>.hint{grid-column:1;grid-row:4}
 .photos .photo{aspect-ratio:1.25}
 .wizard-content>.primary,.wizard-content>.hint{grid-column:1/-1}
 #app[data-view="wizard"] main>.primary{margin-top:27px}
 .report-summary{margin-bottom:26px}
 .summary-row{font-size:12px;padding:9px 8px}
 .summary-row b{font-weight:550}
 .thumbs img{width:100px;height:100px}
 .pause{right:28px;bottom:26px;margin:0}
 #toast{bottom:27px;left:calc(50% + 110px)}
 .sheet-backdrop{align-items:center;padding:26px 26px 26px 260px}
 .sheet{width:570px;max-width:100%;max-height:86dvh;border-radius:21px;padding:20px 25px 25px}
 .sheet .primary,.sheet .secondary{max-width:none}
 .sheet .handle{display:none}
 .sheet .sheet-head{margin-bottom:20px}
 .sheet .search{max-width:none}
 .localization{max-width:650px;padding:12px 30px 25px}
 .body-map{height:calc(100dvh - 202px);min-height:350px;max-height:950px}
 .body-controls{gap:20px}
 .success{min-height:calc(100dvh - 40px);border-radius:0 0 20px 20px}
 .success button{max-width:380px}
 .chart{max-width:750px;display:block;height:300px;margin:16px 0 30px}
}
@media screen and (max-width:999px){
 .report-toolbar{display:block}
 .report-toolbar .search{width:100%;max-width:none}
 .report-sort{display:block;margin-top:10px;text-align:right}
}
@media screen and (min-width:1000px){.field-stack{padding-top:30px}}
/* One icon across the installed app, browser, desktop sidebar and home header. */
.brand-home{padding:0;width:72px;height:72px;display:block;flex-shrink:0;border-radius:18px;overflow:hidden}
.brand-home img{display:block;width:100%;height:100%}
.header-app-icon{display:block;object-fit:contain;border-radius:23%;margin:auto}
.install-brand{display:flex;align-items:center;gap:17px;margin:0 0 20px}
.install-brand img{border-radius:23%;flex-shrink:0}
.install-brand p{margin:0;font-size:13px;line-height:1.7;color:#526d5b}
@media screen and (min-width:1000px){.desktop-brand .brand-home{width:72px;height:72px}.top .header-app-icon{margin:0}}
.report-export-top{margin:0 0 23px}.report-export-actions{margin-top:22px}
@media screen and (min-width:1000px){.report-export-actions{display:flex;align-items:center;gap:14px}}
/* Mobile keeps the app icon for installation, but does not display it in the interface. */
.mobile-home-title{display:none}
.account-panel{display:none}
@media screen and (max-width:999px){
 .desktop-brand,img[alt="go.wund"]{display:none!important}
 .mobile-home-title{display:block;font-size:21px;font-weight:650}
 .install-brand{margin-bottom:10px}
}
.logged-out .desktop-brand{display:none!important}
#app[data-view="login"]{width:100%;max-width:none;margin:0;min-height:100dvh;padding:30px 18px;background:#f4f7f5;box-shadow:none}
.login-page{min-height:calc(100dvh - 60px);display:grid;place-items:center;padding:0}
.login-card{width:100%;max-width:410px;background:white;border:1px solid #dce7df;border-radius:20px;padding:30px}
.login-card h1{font-size:24px;margin:18px 0 5px}
.login-card>p{color:#718578;font-size:13px;margin:0 0 27px}
.login-app-icon{border-radius:23%}
.login-card .field{min-height:68px;margin-bottom:18px}
.login-card .primary{max-width:none}
#login-error{font-size:12px;color:#b82727;line-height:1.6}
.test-accounts{font-size:11px;line-height:1.6;color:#728477;background:#f3f7f4;padding:14px;border-radius:10px;margin-top:24px}
.test-accounts p:last-child{margin-bottom:0}
@media screen and (min-width:1000px){
 .account-panel{position:fixed;left:32px;bottom:25px;z-index:11;width:180px;display:flex;flex-direction:column;gap:7px;font-size:12px;color:#5d7466;border-top:1px solid #e0e9e3;padding-top:18px}
 .account-panel b{font-size:12px;color:#274333}
 .account-panel button{text-align:left;color:#368753;padding:6px 0}
 .nav{padding-bottom:150px}
 .report-export-actions{flex-wrap:wrap}
}
.nav button{width:20%}
@media screen and (min-width:1000px){.nav button{width:100%}}
.list-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:7px 0 12px}
.list-filter{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:63px;border:1px solid #d9e4dc;border-radius:9px;background:white;padding:8px 12px}
.list-filter>span{font-size:10px;color:#778d80;margin-bottom:5px}
.list-filter input,.list-filter select{display:block;width:100%;min-width:0;background:transparent;border:0;outline:none;padding:0;color:#294334;font:inherit;font-size:12px;min-height:23px}
.list-filter:focus-within{outline:2px solid #17c64c;outline-offset:0}
.filter-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0 18px;min-height:25px}
.filter-footer .report-sort{margin:0;text-align:left}
.filter-reset{font-size:11px;color:#43815a;padding:5px 0}
#report-filter-error{font-size:12px;line-height:1.6;color:#b82727;margin:0 0 15px}
#report-filter-error:empty{display:none}
.report-created{display:block;font-size:10px;color:#809086;margin-top:4px;line-height:1.6}
@media screen and (max-width:599px){.wound-filter-grid,.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wound-filter-grid>label:first-child,.wound-filter-grid>label:nth-child(2),.report-filter-grid>label:first-child{grid-column:1/-1}.list-filter input[type="date"]{font-size:12px}}
@media screen and (min-width:1000px){.list-filter{min-height:70px;padding:10px 14px}.list-filter>span{font-size:11px}.list-filter input,.list-filter select{font-size:13px}.filter-reset{font-size:12px}.report-created{font-size:10px}}
@media screen and (min-width:1250px){.report-filter-grid{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(150px,1fr) minmax(140px,.9fr) minmax(140px,.9fr)}}
.bandage-front{fill:var(--bandage-background,#fff)}
.nav button{--bandage-background:#fff}.nav button.active{--bandage-background:#fff}
.row.wound-icon,.wound-icon{--bandage-background:#17c64c}
.wound-top-actions{display:flex;justify-content:flex-end;margin:-12px 0 12px}
.wound-top-actions .healed-action{width:auto;margin:0;padding:10px 17px}
.wound-save-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.wound-save-actions>*{flex:1;min-width:155px}
.closure-badge{display:inline-block;font-size:10px;background:#e9f7ed;color:#26884a;padding:2px 7px;border-radius:5px;margin:4px 0}
@media screen and (min-width:1000px){.nav button.active{--bandage-background:#eaf8ef}.nav button:hover{--bandage-background:#f0f7f2}.wound-save-actions{grid-column:1/-1;width:100%}.wound-save-actions>*{max-width:350px}.wound-top-actions{margin:-16px 0 8px}.patient-intro{--bandage-background:#f4f7f5}}
.wound-top-actions{margin:0 0 14px}
@media screen and (min-width:1000px){.wound-top-actions{margin:-16px 0 8px}}
/* Photo-bound clinical findings: three steps, with touch-safe normalized markers. */
.fistula-list{display:grid;gap:12px}.fistula-entry{padding:14px 0;border-bottom:1px solid #dce7e2;display:flex;align-items:center;justify-content:space-between;gap:14px}.fistula-entry>span{overflow-wrap:anywhere}.fistula-entry small{display:block;color:#758d80;margin-top:5px}.fistula-entry>div{display:flex;gap:8px}.fistula-entry button{width:auto;margin:0;padding:10px 14px}.annotation-photo-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.annotation-photo-choices button{display:grid;gap:8px;margin:0}.annotation-photo-choices img{width:100%;height:130px;object-fit:contain;border-radius:8px}
.annotation-backdrop{position:fixed;inset:0;z-index:1000;background:#111613;display:flex;align-items:center;justify-content:center}.sheet.annotation-editor{margin:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;background:#080b09;color:#fff;padding:20px 24px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.annotation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.annotation-heading small{color:#a9bdb0}.annotation-heading h2{margin:4px 0 0;color:#fff;font-size:22px}.annotation-heading .circle{flex-shrink:0;color:#fff;background:#233329;border:1px solid #526558}.annotation-steps{display:flex;gap:28px;margin:20px 0 8px;padding-left:24px;font-size:13px;color:#91a699}.annotation-steps[hidden]{display:none}.annotation-steps li.active{color:#31e269;font-weight:700}.annotation-hint{font-size:13px;line-height:1.5;color:#c7d7cc;margin:8px 0 14px;min-height:20px}.annotation-image-shell{flex:1;min-height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;border-radius:10px}.annotation-image{position:relative;max-width:100%;max-height:100%;flex-shrink:0}.annotation-image img,.annotation-image svg{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none}.annotation-image img{object-fit:contain}.annotation-image svg{touch-action:none;cursor:crosshair}.clock-label{paint-order:stroke;stroke:#111;stroke-width:3px;stroke-linejoin:round}.annotation-controls{flex-shrink:0;padding-top:16px;max-width:720px;width:100%;align-self:center}.annotation-range{font-size:14px;display:block;color:#fff}.annotation-range output{float:right;font-weight:700;color:#ffe72c}.annotation-range input{width:100%;margin:14px 0 4px;accent-color:#20d65c}.annotation-controls .field{background:#18221c;border-color:#607a68;margin:0;box-shadow:none;min-height:65px}.annotation-controls .field span{color:#a9beb1}.annotation-controls input{color:#fff;color-scheme:dark}.annotation-size-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.annotation-endpoints{display:flex;gap:8px;align-items:center}.annotation-endpoints button{margin:0;background:#1d2e22;border:1px solid #496451;color:#e7f2eb;font-size:12px;flex:1}.annotation-endpoints button.selected{border-color:#ffe72c;color:#ffe72c}.annotation-controls .hint{margin:8px 0;color:#a6bbad;font-size:12px}.annotation-actions{display:flex;gap:12px;justify-content:space-between}.annotation-actions button{margin:0;flex:1}.annotation-actions .secondary{background:#25372b;color:#e4f0e8}#annotation-error{margin:4px 0 8px;color:#ffb3ab;min-height:0;font-size:13px}#annotation-error:empty{display:none}
@media(min-width:1000px){.sheet.annotation-editor{max-width:1400px;height:min(95dvh,1100px);border-radius:20px;padding:24px 32px}.annotation-backdrop{background:#111c17ed}.annotation-steps{gap:45px}}
@media(max-width:600px){.fistula-entry{display:block}.fistula-entry>div{margin-top:10px}.sheet.annotation-editor{padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))}.annotation-heading h2{font-size:19px}.annotation-steps{font-size:11px;gap:23px;margin-top:15px}.annotation-hint{font-size:12px;margin-bottom:10px}.annotation-size-row{grid-template-columns:1fr}.annotation-endpoints button{padding:8px 10px}.annotation-controls{padding-top:12px}.annotation-actions button{padding:12px 15px}.annotation-controls .field{min-height:60px}}
/* Keep the app viewport stable. Only the dedicated photo viewport provides zoom. */
html,body{touch-action:pan-x pan-y;overscroll-behavior-x:none}button,a{touch-action:manipulation}
.sheet .handle{position:relative;display:block;width:100%;height:30px;flex-shrink:0;background:transparent;margin:0 0 8px;padding:0;touch-action:none;cursor:grab}.sheet .handle::after{content:'';display:block;position:absolute;top:7px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:9px;background:#aaa}.sheet-dragging{transition:none!important;will-change:transform}.sheet-dragging .handle{cursor:grabbing}
@media(min-width:1000px){.sheet .handle{display:none}}
@media(max-width:999px){input,textarea,select,.field input,.field textarea,.field select,.search,.annotation-controls input{font-size:16px!important}.field .value{font-size:16px}.field input,.field select{min-height:25px}.sheet{padding-top:8px}.custom-option-row input{min-width:0}}
.photo-viewer-backdrop{position:fixed;inset:0;z-index:1000;background:#050906;display:flex;align-items:center;justify-content:center}.sheet.photo-viewer{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:18px 20px;border-radius:0;background:#080d0a;color:#fff;display:flex;flex-direction:column;overflow:hidden}.photo-viewer-heading{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding-bottom:14px}.photo-viewer-heading h2{margin:0;font-size:21px}.photo-viewer-heading .circle{background:#233329;color:#fff}.photo-viewport{flex:1;min-height:80px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;background:#000;border-radius:10px}.photo-viewport img{width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:center;will-change:transform}.photo-zoom-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;padding-top:12px}.photo-zoom-controls button{width:auto;margin:0;min-width:44px;background:#203c2a;color:#f3fff6;padding:10px 15px}.photo-zoom-controls output{min-width:55px;text-align:center;font-variant-numeric:tabular-nums}.photo-viewer .hint{color:#b3c5b9;margin:8px 0}.photo-viewer>a{margin:2px 0 0;align-self:center;width:auto;color:#e3f4e9;background:#203c2a}
@media(min-width:1000px){.sheet.photo-viewer{max-width:1200px;height:94dvh;border-radius:20px;padding:24px}.photo-viewer-backdrop{background:#111c17ed}}
@media(max-width:600px){.sheet.photo-viewer{padding:max(12px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))}.photo-zoom-controls{gap:8px}.photo-zoom-controls button{font-size:12px}}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.top h1{min-width:0}.patient-services{display:grid;gap:13px;margin:20px 0}.patient-services label{display:flex;align-items:center;gap:10px}.patient-services input{width:20px;height:20px;accent-color:var(--green)}.patient-matches{padding:14px;border-radius:12px;border:1px solid #b8dec9;background:#f1fbf5;margin-bottom:16px}.patient-matches b{font-size:13px}.patient-matches .row{padding:12px 0}.patient-matches .row:last-child{border-bottom:0}#patient-master-error{color:#b72b2b;font-size:13px;line-height:1.5}.due-report-row{background:#f0faf4;border:1px solid #c7e5d2;border-radius:12px;padding:16px;margin-bottom:10px}#manage-patient-results>.row svg{width:20px;height:20px;margin-left:auto;color:#119345;flex-shrink:0}
@media(max-width:600px){.top .header-actions{gap:7px}.top:has(.header-actions .circle:nth-child(2)) h1{font-size:19px}.top:has(.header-actions .circle:nth-child(2)){padding-left:18px;padding-right:18px}}
.open-report-item{background:#fff;border:1px solid #dae5de;border-radius:12px;overflow:hidden;margin-bottom:12px}.open-report-item>.row{padding:18px;border-bottom:0}.open-report-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 15px}.open-report-actions button{width:auto;max-width:none;padding:10px 18px;margin:0}.report-creator{display:block;white-space:normal;overflow-wrap:anywhere}.report-draft-status{display:block;color:#84651c;font-size:11px;padding-top:4px}.draft-owner{margin-top:0;font-size:12px}.draft-blocked{padding:12px 15px;border:1px solid #e5d6ad;border-radius:10px;background:#fffbef;color:#725a22}.draft-delete-button{margin-top:18px}
.body-preview{height:min(64dvh,680px);display:flex;flex-direction:column;min-height:300px}.body-preview #body-preview-map{flex:1;min-height:0;display:flex;justify-content:center}.body-preview .body-map{width:100%;height:100%;min-height:0;max-height:none}.body-preview .body-region{fill:#999;stroke:none;cursor:default}.body-preview .body-region.selected{fill:#a51822}.body-preview-controls{display:flex;justify-content:center;gap:12px;padding-top:14px;flex-shrink:0}.body-preview-controls .body-side{min-width:110px;padding:11px 18px}.sheet:has(.body-preview){max-height:90dvh}
@media(max-width:600px){.open-report-item>.row{padding:14px}.open-report-actions{padding:0 14px 14px}.open-report-actions button{flex:1;font-size:12px;padding:11px 12px}.body-preview{height:61dvh}}
/* Recovery uses the same quiet borders and rounded actions as the documentation. */
.nav button{width:25%}
.storage-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 23px;color:#658373;font-size:11px;line-height:1.5;min-height:33px}
.storage-status button{color:#078a6e;text-decoration:underline;white-space:nowrap;font-size:11px}
.storage-error{background:#fff0df;color:#883d12}
.local-recovery{border:1px solid #c7dfd1;border-radius:12px;padding:16px;margin-bottom:24px;background:#fff}
.recovery-row{display:flex;align-items:center;gap:12px;border-top:1px solid #dce8e1;padding:12px 0;font-size:13px}
.recovery-row>div{flex:1;min-width:0}.recovery-row small{display:block;color:#769181;margin-top:6px;overflow-wrap:anywhere}
.recovery-row .secondary{width:auto;margin:0;white-space:nowrap}.recovery-discard{color:#a33838;font-size:12px}
@media screen and (min-width:1000px){.nav button{width:100%}.account-button{display:none}.storage-status{padding:8px 36px}.recovery-row .secondary{max-width:180px}}
@media screen and (max-width:599px){.header-actions{gap:8px}.header-actions .circle{width:37px;height:37px}.recovery-row{flex-wrap:wrap}.recovery-row>div{flex-basis:100%}.storage-status{font-size:10px;padding:6px 20px}}
@media print{.storage-status,.local-recovery{display:none!important}}
