:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:#233a35;background:#f5f7f4;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0}a{color:#126656;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{border:0;border-radius:9px;padding:12px 20px;min-height:48px;cursor:pointer;background:#1c6354;color:#fff;text-decoration:none;display:inline-block;font-weight:650}button:hover,.button:hover{background:#164e43}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e9f0ed;color:#284e43}.danger{background:#a13e3e}.test-banner{background:#f4e8c7;color:#654f19;font-size:12px;text-align:center;padding:7px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:22px max(24px,calc((100vw - 1100px)/2));background:#fff;border-bottom:1px solid #dbe4de}.brand{font-size:22px;font-weight:750;text-decoration:none;color:#183b35;letter-spacing:.04em}.brand span{font-size:12px;display:block;letter-spacing:.16em;font-weight:450}nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}nav a{font-size:14px}main{max-width:1100px;margin:38px auto;padding:0 24px;min-height:65vh}.narrow{max-width:660px;margin:auto}h1{font-size:28px;line-height:1.4;letter-spacing:.03em;margin:8px 0 14px}h2{font-size:19px;margin:0 0 16px}h3{font-size:15px}.eyebrow{font-size:12px;color:#5d756c;letter-spacing:.15em}.lead{color:#65766e;margin:0 0 26px}.card{background:#fff;border:1px solid #dce5df;border-radius:14px;padding:25px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.grid .card{margin:0}label{display:block;margin:15px 0 6px;font-weight:600;font-size:14px}input,textarea,select{width:100%;border:1px solid #b7c9c0;border-radius:7px;padding:11px;background:#fff;color:#233a35}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:auto;margin-right:8px;accent-color:#1c6354}input[type=range]{padding:0}input[type=file]{font-size:13px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.muted{color:#63796e;font-size:13px}.warning{background:#fff5df;border:1px solid #e6ce93;border-radius:8px;padding:15px;color:#6f5215;margin:18px 0}.error{color:#973d3d;background:#fff0ed;border-radius:8px;padding:14px;margin:16px 0}.badge{font-size:12px;padding:4px 9px;border-radius:20px;white-space:nowrap;background:#e8f0ed;color:#365d50}.badge.warn{background:#fff0d4;color:#815f1b}.badge.ok{background:#deefe5;color:#225b3f}.amount{font-size:38px;line-height:1.3;font-weight:750;margin:12px 0 22px}.amount small{font-size:12px;font-weight:400}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:14px 10px;border-bottom:1px solid #e5eae6;text-align:left}th{font-size:12px;color:#5c7568}td button{min-height:40px;padding:7px 15px}.scroll{overflow-x:auto}.count{font-size:32px;font-weight:700;margin:10px 0}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos a{flex:1 1 140px;max-width:300px}.photos img{width:100%;max-height:300px;object-fit:contain;border:1px solid #e3e8e5;border-radius:7px}.message{padding:15px;background:#f2f6f3;border-radius:9px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.message.staff{background:#e8f1ed;margin-left:20px}details{border-top:1px solid #e0e8e2;margin:20px 0;padding-top:16px}summary{cursor:pointer;color:#536d61}.editor canvas{max-width:100%;max-height:500px;border:1px solid #cfdbd3;touch-action:none;background:#fff}.editor .controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}#notice{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#163e32;color:#fff;border-radius:9px;padding:12px 22px;max-width:90%;display:none}#notice.shown{display:block}footer{color:#74877b;text-align:center;padding:30px;font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:#fff;padding:10px;z-index:2}:focus-visible{outline:3px solid #b88125;outline-offset:3px}.result-symbol{font-size:40px;color:#1c6354}.checkline{font-weight:450;display:flex;align-items:flex-start}.checkline input{margin-top:7px;flex-shrink:0}.split{display:grid;grid-template-columns:2fr 1fr;gap:24px}.linklist{display:flex;gap:10px;flex-wrap:wrap}.empty{text-align:center;padding:35px;color:#697f73}.inline-error{color:#973d3d}.skeleton{opacity:.6}@media(max-width:720px){main{margin:24px auto;padding:0 16px}header{padding:16px}.card{padding:20px}h1{font-size:24px}.split{grid-template-columns:1fr}.test-banner{font-size:11px}.amount{font-size:34px}td,th{padding:12px 7px}}
/* Bright orange direction requested by the user. Dark ink keeps controls legible. */
:root{color:#422c22;background:#fff8f1}a{color:#a63c00}button,.button{background:#ff6500;color:#3b1705;box-shadow:0 3px 0 #dd5100}button:hover,.button:hover{background:#ff7d24;color:#3b1705}.secondary{background:#fff0df;color:#783500;box-shadow:none;border:1px solid #f4c8a1}.secondary:hover{background:#ffe1c3;color:#672800}.danger{background:#a33d32;color:#fff;box-shadow:none}.danger:hover{background:#8b2c23;color:#fff}header{border-top:5px solid #ff6500;border-bottom:1px solid #f3d9c4;background:#fff}.brand{color:#e64d00}.brand span{color:#825c43}.test-banner{background:#ffe3c3;color:#6b360e}.card{border-color:#f0dccb;box-shadow:0 4px 18px #a3520810}.eyebrow{color:#ad480c}.lead,.muted{color:#775e4d}.badge{background:#ffead6;color:#8b3b09}.badge.warn{background:#fff0bd;color:#765212}.badge.ok{background:#e1f1df;color:#305e30}.amount{color:#b33e00}.count{color:#d84700}input,textarea,select{border-color:#d7bba6;color:#422c22}input[type=checkbox]{accent-color:#ed5900}input[type=range]{accent-color:#ff6500}td,th{border-color:#f2e2d5}th{color:#80543a}.message{background:#fff3e8}.message.staff{background:#ffe6cf}.result-symbol{color:#e85700}#notice{background:#713102;color:#fff}footer{color:#866c59}.warning{background:#fff4d9}.empty{color:#806452}:focus-visible{outline-color:#bd4a00}
/* Shared orange branding and brush wordmark. */
:root{--au-orange:#ff6600;background:#fff0e2}header{background:#ff6600;border-top:0;border-bottom:5px solid #ed5800;padding-top:12px;padding-bottom:16px}.brand{display:block;color:#fff;line-height:1;text-align:center}.brand img{display:block;width:218px;height:110px;object-fit:contain;filter:brightness(0) invert(1)}.brand span{color:#fff;font-size:11px;letter-spacing:.12em;margin-top:0}.brand:hover{color:#fff}nav a{color:#fff;font-weight:650}nav .secondary{background:#fff;color:#9d3a00;border-color:#fff}.test-banner{background:#ffe2c3;color:#603211}.home-intro{background:#ff6600;border-radius:17px;padding:27px 28px;margin-bottom:22px;color:#fff;box-shadow:0 7px 0 #ed5b00}.home-intro .eyebrow,.home-intro .lead{color:#fff}.home-intro button{background:#fff;color:#a63d00;box-shadow:0 3px 0 #ffd4ad}.home-intro .secondary{background:#ffd5b5;border-color:#ffd5b5;color:#693006}.home-intro h1{font-size:31px}.grid>.card{border:1px solid #ffb47d;border-top:7px solid #ff6600;background:linear-gradient(150deg,#fff 50%,#fff0df)}.grid>.card .secondary{background:#ff6600;color:#3b1705;border-color:#ff6600}.card:has(.amount){border-top:7px solid #ff6600}.card .amount{background:#fff0df;padding:18px 20px;border-radius:10px;border-left:5px solid #ff6600}.narrow>h1{color:#b43d00}input,textarea,select{border-color:#a97a59}button,.button{background:#ff6600}.secondary{background:#ffe5cf}.danger{background:#a33d32;color:#fff}.actions .secondary{background:#ffe5cf}.home-intro .actions .secondary{background:#ffd5b5}.grid>.card .secondary:hover{background:#ff822d}.card h2{color:#9b3c00}footer{border-top:4px solid #ff6600;background:#ffe2c7;color:#754423;margin-top:35px}.badge{border:1px solid #ffc491}.badge.ok{border-color:#b5d4af}.card .result-symbol{color:#ff6600}@media(max-width:720px){header{gap:16px;padding:12px 16px 18px}.brand img{width:180px;height:92px}.brand span{font-size:10px}.home-intro{padding:24px 20px}.home-intro h1{font-size:27px}nav{gap:12px}}
.brand img{width:246px;height:122px}@media(max-width:720px){.brand img{width:210px;height:106px}}
.section-title{font-size:20px;color:#733512;margin:30px 0 15px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.flow-step{border-top:7px solid #ff6600;position:relative;margin:0;padding:22px}.flow-step:not(:last-child):after{content:'→';position:absolute;right:-17px;top:42%;font-size:24px;font-weight:700;color:#be4b00;z-index:1}.step-label{display:flex;gap:10px;align-items:center}.step-label h2{margin:0}.step-number{display:grid;place-items:center;background:#ff6600;color:#3b1705;width:32px;height:32px;border-radius:50%;font-weight:800;flex-shrink:0}.flow-step .count{margin:12px 0}.flow-step button{width:100%}.flow-step .muted{min-height:45px}.next-action{font-size:13px;min-height:45px}.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.attention-card{border-left:6px solid #f5ad63;margin:0}.attention-card.has-items{background:#fff2d8;border-left-color:#d46600}.attention-card .count{font-size:29px}.attention-card button{width:100%}.exception-list .warning{display:flex;justify-content:space-between;align-items:center;gap:15px}.exception-list button{flex-shrink:0}@media(max-width:620px){.flow-grid{grid-template-columns:1fr}.flow-step{padding:20px}.flow-step:not(:last-child):after{content:'↓';right:50%;top:auto;bottom:-24px;font-size:22px}.flow-step .muted,.next-action{min-height:0}.flow-step .count{float:right;margin-top:8px}.flow-step button{width:auto;min-width:140px}.attention-grid{grid-template-columns:1fr}.exception-list .warning{align-items:flex-start;flex-direction:column}}
/* Consistent navigation and card actions. */
#nav{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}.nav-primary{display:flex;align-items:center;gap:10px}.nav-primary .nav-button{display:flex;align-items:center;justify-content:center;min-width:100px;min-height:48px;padding:11px 18px;border:1px solid #ffe1c3;border-radius:10px;background:#fff0e0;color:#743000;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 3px 0 #df5200;white-space:nowrap}.nav-primary .nav-button:hover{background:#fff}.nav-primary .nav-button.is-active{background:#fff;color:#983800;border-color:#fff;box-shadow:0 3px 0 #9b3b00}.nav-utilities{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav-utilities #lock{min-height:48px;width:100%;padding:11px 18px;border-radius:10px;white-space:nowrap}.nav-utilities .lab-link{align-self:center;color:#602800;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px;line-height:1.5}.flow-step,.attention-card{display:flex;flex-direction:column}.attention-card{padding:24px;min-height:265px}.attention-card h2{margin:0 0 14px;line-height:1.5}.attention-card>.muted{min-height:44px;margin:0}.attention-card .count{margin:18px 0 22px;font-size:32px;line-height:1.4}.flow-step .status-list-button,.attention-card .status-list-button{display:block;min-height:48px;width:100%;margin-top:auto;padding:12px 20px;border:0;border-radius:9px;background:#ff6600;color:#3b1705;box-shadow:0 3px 0 #dd5100;font-weight:650}.flow-step .status-list-button:hover,.attention-card .status-list-button:hover{background:#ff7d24}.login-actions{justify-content:space-between}.login-actions button{min-width:130px}@media(max-width:1000px){header{gap:18px}.brand img{width:210px;height:106px}#nav{gap:14px}.nav-primary{gap:8px}.nav-primary .nav-button{min-width:88px;padding:11px 14px}}@media(max-width:720px){#nav{width:100%;justify-content:space-between;gap:12px}.nav-primary{flex:1;gap:8px}.nav-primary .nav-button{flex:1;min-width:0;padding:10px 12px}.nav-utilities #lock{padding:10px 14px}.attention-card{padding:22px;min-height:265px}}@media(max-width:480px){#nav{align-items:flex-start;flex-wrap:wrap}.nav-primary{flex-basis:100%}.nav-utilities{margin-left:auto;align-items:flex-end}.nav-utilities #lock{width:auto}.attention-card{min-height:245px}.flow-step .count{float:none}.flow-step .status-list-button{width:100%}}
#nav{align-items:flex-start}
/* Neutral off-white background lets the vivid orange carry the design. */
:root{background:#f4f5f7;color:#30343b}.card{background:#fff;border-color:#e1e5ea;box-shadow:0 4px 18px #25314408}.lead,.muted{color:#67717d}.section-title{color:#38424f}.grid>.card{background:#fff;border-color:#e1e5ea;border-top-color:#ff6600}input,textarea,select{color:#30343b;border-color:#aeb7c2}.empty{color:#687584}.attention-card{border-left-color:#f3ad70}.attention-card.has-items{background:#fff8eb}.nav-primary .nav-button{background:#fff;color:#753000;border-color:#fff}.nav-primary .nav-button.is-active{background:#fff4eb}.nav-utilities #lock{background:#fff}.brand span{color:#fff}footer{background:#e9edf2;color:#627080;border-top-color:#ff6600}
/* Landscape tablet dashboard: five equal cards, with a compact registration bar. */
.dashboard-group-headings{display:grid;grid-template-columns:3fr 2fr;gap:16px;margin:0 0 12px}.dashboard-group-headings h2{margin:0;font-size:17px;color:#38424f}.dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dashboard-grid>.card{display:grid;grid-template-rows:28px 36px 42px 40px 48px;row-gap:8px;min-height:0;margin:0;padding:14px;border-top:6px solid #ff6600;border-left:1px solid #e1e5ea;box-shadow:0 3px 12px #25314406}.dashboard-grid>.attention-card{border-top-color:#f4b26c}.dashboard-grid>.attention-card.has-items{border-top-color:#dd7800}.dashboard-grid .step-label{gap:7px;min-width:0}.dashboard-grid .step-label h2{margin:0;font-size:15px;line-height:1.35;white-space:nowrap}.dashboard-grid .step-number{height:26px;width:26px;font-size:13px}.dashboard-grid .muted,.dashboard-grid .next-action{margin:0;min-height:0;font-size:11.5px;line-height:18px}.dashboard-grid .count{margin:0;float:none;font-size:34px;line-height:42px}.dashboard-grid .count small{font-size:17px;font-weight:500}.dashboard-grid .status-list-button{margin:0;min-height:48px;height:48px;width:100%;padding:8px 10px;font-size:13px}.dashboard-grid .flow-step:not(:last-child):after{content:none}.dashboard-note{margin:12px 0;line-height:1.6}.exception-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exception-list .warning{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:6px;margin:0;padding:9px;font-size:11px;line-height:1.5}.exception-list button{min-height:34px;padding:5px 9px;font-size:12px}.exception-list:empty{display:none}@media(min-width:900px){header{padding-top:8px;padding-bottom:10px;gap:16px}.brand img{width:200px;height:100px}.brand span{font-size:10px}main{margin:18px auto;min-height:0}.home-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:20px;box-shadow:0 4px 0 #ed5b00}.home-intro h1{font-size:27px;margin:0 0 5px}.home-intro .lead{margin:0;font-size:13px}.home-intro .actions{margin:0;flex-shrink:0}footer{margin-top:18px;padding:10px;font-size:11px}}@media(min-width:900px) and (max-height:800px){.brand img{width:180px;height:88px}.home-intro{padding-top:15px;padding-bottom:15px}.home-intro h1{font-size:25px}.dashboard-grid{gap:12px}}@media(max-width:899px){.dashboard-group-headings{display:block}.dashboard-group-headings h2:last-child{display:none}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid>.attention-card{grid-template-rows:28px 36px 42px 40px 48px}.exception-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .step-label h2{font-size:14px}.dashboard-grid .step-number{width:24px;height:24px}.exception-list{grid-template-columns:1fr}}@media(max-width:380px){.dashboard-grid{grid-template-columns:1fr}}

/* Customer self-service: readable text and one clear primary action. Staff layouts are unchanged. */
.customer-mode{font-size:20px;line-height:1.8;color:#352b25}
.customer-mode header{justify-content:center;padding:10px 16px 12px;gap:0}
.customer-mode .brand img{width:176px;height:88px}
.customer-mode .brand span{font-size:14px;letter-spacing:.04em}
.customer-mode #nav:empty{display:none}
.customer-mode main{margin:28px auto;padding:0 20px}
.customer-mode .narrow{max-width:700px}
.customer-mode h1{font-size:30px;line-height:1.5;letter-spacing:0;margin-bottom:16px}
.customer-mode h2{font-size:24px;line-height:1.5}
.customer-mode .lead{color:#514339;font-size:20px;margin-bottom:24px}
.customer-mode .eyebrow{font-size:16px;letter-spacing:.05em;color:#71421e}
.customer-mode .card{padding:26px;border-radius:14px}
.customer-mode label{font-size:20px;margin-top:22px}
.customer-mode input,.customer-mode textarea{font-size:22px;min-height:60px;padding:12px;border:2px solid #95735a}
.customer-mode button,.customer-mode .button{font-size:22px;line-height:1.5;min-height:64px;padding:16px 20px;width:100%;white-space:normal;overflow-wrap:anywhere}
.customer-mode .actions{display:block}
.customer-mode button[type=submit]{margin-top:16px}
.customer-mode .checkline{gap:10px;line-height:1.7;align-items:flex-start}
.customer-mode input[type=checkbox]{width:28px;height:28px;min-height:28px;margin:4px 0 0;flex-shrink:0}
.customer-mode .muted,.customer-mode small{font-size:18px;color:#514339}
.customer-mode .badge{font-size:18px;white-space:normal;line-height:1.7;display:inline-block}
.customer-mode .amount{font-size:44px;overflow-wrap:anywhere;line-height:1.4;padding:18px;margin:12px 0 24px}
.customer-mode .warning,.customer-mode .error{font-size:20px;line-height:1.8;padding:18px}
.customer-mode .warning p{margin:8px 0}
.customer-mode summary{font-size:20px;color:#743800;min-height:56px;padding:10px 0;font-weight:650}
.customer-mode .photos{display:block}
.customer-mode .photos a{display:block;width:100%;max-width:none;margin-bottom:16px}
.customer-mode .photos img{max-height:460px;object-fit:contain;background:#f4f5f7}
.customer-mode .photo-hint{font-size:18px;color:#514339;margin-bottom:10px}
.customer-mode .message{font-size:20px;line-height:1.8;padding:18px}
.customer-mode .message.staff{margin-left:0}
.customer-mode .result-symbol{font-size:56px}
.customer-mode footer{font-size:16px}
@media(max-width:480px){
 .customer-mode main{padding:0 14px;margin:22px auto}
 .customer-mode .card{padding:20px 18px}
 .customer-mode h1{font-size:28px}
 .customer-mode h2{font-size:22px}
 .customer-mode .amount{font-size:38px;padding:14px}
 .customer-mode .brand img{width:152px;height:76px}
 .customer-mode .photos img{max-height:400px}
}

.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.9;color:#352b25;background:#fff;padding:18px;border:1px solid #ddd;border-radius:8px;max-width:640px}

/* Explicit phrase spans provide the same wrapping rule in Safari and other browsers. */
.customer-mode h1,.customer-mode p,.customer-mode label,.customer-mode button,.customer-mode summary{word-break:auto-phrase;overflow-wrap:anywhere}
.customer-mode .customer-phrase{display:inline-block;max-width:100%;word-break:normal;overflow-wrap:anywhere;vertical-align:baseline}

.customer-mode .checkline .customer-copy{min-width:0;flex:1}

.photo-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.photo-inputs label{font-size:18px}.photo-inputs input[type=file]{min-height:52px;font-size:16px}@media(max-width:620px){.photo-inputs{grid-template-columns:1fr}}

.auto-editor [hidden]{display:none!important}.auto-editor #corrected{display:block;margin:0 auto;max-width:100%;max-height:440px}.photo-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-decisions button{font-size:19px;min-height:60px}.auto-editor #photo-status{font-size:18px}.auto-editor h2{text-align:center;font-size:24px}@media(max-width:620px){.photo-decisions{grid-template-columns:1fr}}

.auto-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.auto-compare figure{margin:0;padding:14px;border-radius:12px}.original-panel{background:#edf0f3;border:2px solid #b5c1cc}.corrected-panel{background:#fff1e3;border:2px solid #ff6600}.auto-compare figcaption{font-size:24px;font-weight:750;text-align:center;color:#364652;line-height:1.4}.auto-compare .corrected-panel figcaption{color:#9b3600}.auto-compare figcaption span{display:block;font-size:14px;font-weight:400;margin:5px 0 10px}.auto-image-stage{height:320px;display:flex;align-items:center;justify-content:center}.auto-editor .auto-image-stage canvas{width:auto;height:auto;max-width:100%;max-height:320px;object-fit:contain;border:0}.auto-editor .photo-decisions{margin-top:12px}.auto-editor #photo-status{margin:0 0 12px}.auto-editor{padding:18px}.auto-editor #photo-preview>p{margin:10px 0;font-size:16px}@media(max-width:620px){.auto-compare{grid-template-columns:1fr}.auto-image-stage{height:340px}.auto-editor .auto-image-stage canvas{max-height:340px}}
.auto-editor .auto-image-stage #corrected{max-height:320px;max-width:100%;width:auto;height:auto;margin:0}@media(max-width:620px){.auto-editor .auto-image-stage #corrected{max-height:340px}}

/* Give separate actions visible space, including controls outside .actions. */
.actions,.photo-decisions{gap:16px}
.nav-primary,.nav-utilities{gap:14px}
.card>button,.card>a.button,.card>details>button{margin-inline-end:12px;margin-block:8px}
form>button{margin-block-start:16px;margin-inline-end:12px}
.actions>button,.actions>.button{margin:0}
.customer-mode button,.customer-mode .button{min-height:64px}
.customer-mode .actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}
.customer-mode form>button{margin-block-start:20px;margin-inline-end:0}
.customer-mode details+details{margin-block-start:18px}
@media(max-width:620px){
 .customer-mode .actions{flex-direction:column;align-items:stretch;gap:18px}
 .customer-mode .actions>button,.customer-mode .actions>.button{width:100%;margin:0}
 .customer-mode form>button{display:block;width:100%}
}

.customer-mode .customer-inquiry-choice{margin-top:22px}
.customer-mode .customer-inquiry-choice>summary{display:flex;align-items:center;justify-content:center;min-height:64px;padding:16px 20px;border:2px solid #c7cdd4;border-radius:10px;background:#fff;font-size:22px;font-weight:650;text-align:center;cursor:pointer;list-style:none}
.customer-mode .customer-inquiry-choice>summary::-webkit-details-marker{display:none}
.customer-mode .customer-inquiry-choice[open]>summary{margin-bottom:20px}
.customer-mode .customer-inquiry-choice>summary:focus-visible{outline:3px solid #ff6600;outline-offset:4px}

/* Align each checkbox with the first line of its own label. */
label.checkline{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;font-size:18px;line-height:1.6}
.customer-mode label.checkline{font-size:20px;line-height:1.6;gap:12px;align-items:start}
label.checkline input[type=checkbox]{font:inherit;width:28px;height:28px;min-height:28px;padding:0;margin:calc((1.6em - 28px)/2) 0 0}
label.checkline>span{min-width:0;line-height:inherit}
.slip-customer-name{font-size:28px;font-weight:750;line-height:1.4;margin:8px 0 14px;overflow-wrap:anywhere}

/* Staff use landscape iPads: readable copy and compact page chrome. */
body:not(.customer-mode){font-size:18px;line-height:1.55}
body:not(.customer-mode) main{max-width:1440px;margin:12px auto;padding:0 16px}
body:not(.customer-mode) .card{padding:18px;margin-bottom:14px}
body:not(.customer-mode) :is(.muted,.next-action,small,th){font-size:18px;line-height:1.5}
body:not(.customer-mode) :is(label,button,.button,.nav-button){font-size:20px}
body:not(.customer-mode) :is(input,textarea,select){font-size:20px;padding:10px;min-height:50px}
body:not(.customer-mode) label.checkline input[type=checkbox]{padding:0;min-height:28px}
body:not(.customer-mode) .eyebrow{font-size:16px}
body:not(.customer-mode) .lead{font-size:20px}
body:not(.customer-mode) .badge{font-size:18px}
body:not(.customer-mode) h2{font-size:24px}
body:not(.customer-mode) .slip-identification :is(h1,.slip-customer-name){font-size:28px;line-height:1.35;margin:0;font-weight:750}
body:not(.customer-mode) .slip-identification{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:24px;row-gap:8px;margin-bottom:12px}
body:not(.customer-mode) .slip-identification>.muted{margin:0}
body:not(.customer-mode) .slip-summary .amount{font-size:36px;padding:10px 14px;margin:10px 0}
body:not(.customer-mode) .pickup-card label{margin-top:12px}
body:not(.customer-mode) .pickup-card textarea{min-height:96px}
body:not(.customer-mode) .pickup-card #pickup-guidance-status{margin:8px 0}
body:not(.customer-mode) .pickup-card .eyebrow{display:none}
body:not(.customer-mode) .dashboard-grid>.card{margin:0;padding:12px;grid-template-rows:minmax(50px,auto) minmax(72px,auto) 42px minmax(72px,auto) 52px;row-gap:6px}
body:not(.customer-mode) .dashboard-grid .step-label h2{font-size:18px;white-space:normal}
body:not(.customer-mode) .dashboard-grid :is(.muted,.next-action){font-size:18px;line-height:1.4}
body:not(.customer-mode) .dashboard-grid .status-list-button{font-size:18px;height:52px;min-height:52px}
body:not(.customer-mode) .dashboard-group-headings h2{font-size:20px}
body:not(.customer-mode) .exception-list .warning{font-size:18px}
body:not(.customer-mode) .home-intro .lead{font-size:18px}
@media(min-width:900px){
 body:not(.customer-mode) header{padding:8px 16px;gap:16px}
 body:not(.customer-mode) .brand img{width:156px;height:74px}
 body:not(.customer-mode) .brand span{font-size:14px;letter-spacing:0}
 body:not(.customer-mode) .home-intro{padding:14px 18px;margin-bottom:14px}
 body:not(.customer-mode) .staff-slip-layout:has(.pickup-card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
 .staff-slip-layout:has(.pickup-card)>section{display:contents}
 .staff-slip-layout:has(.pickup-card) .slip-summary{grid-column:1;grid-row:1}
 .staff-slip-layout:has(.pickup-card) .pickup-card{grid-column:2;grid-row:1}
 .staff-slip-layout:has(.pickup-card)>aside{grid-column:1/-1}
 body:not(.customer-mode) .staff-slip-layout .photos a{max-width:180px}
 body:not(.customer-mode) .staff-slip-layout .photos img{max-height:130px}
 body:not(.customer-mode) .staff-slip-layout .card{padding:16px}
}

body:not(.customer-mode) .auto-compare figcaption span{font-size:18px;line-height:1.4}
body:not(.customer-mode) .auto-editor #photo-preview>p{font-size:18px}
body:not(.customer-mode) .nav-primary .nav-button{font-size:20px;padding:10px 14px}
body:not(.customer-mode) :is(.nav-utilities .lab-link,footer){font-size:18px}
@media(min-width:900px){
 body:not(.customer-mode) .narrow:has(#new-slip-form){max-width:1100px}
 body:not(.customer-mode) #new-slip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
 body:not(.customer-mode) #new-slip-form>.staff-form-field label{margin-top:0}
 body:not(.customer-mode) #new-slip-form>:is(p,.checkline,.actions){grid-column:1/-1;margin-top:0;margin-bottom:0}
 body:not(.customer-mode) main:has(#intake){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 body:not(.customer-mode) main:has(#intake)>:is(.eyebrow,h1,h2,.lead,p,.actions){grid-column:1/-1;margin:0}
 body:not(.customer-mode) main:has(#intake)>.card{margin:0}
}

/* Adjacent receipt and pickup panels share one visual frame. */
body:not(.customer-mode) .staff-slip-layout :is(.slip-summary,.pickup-card){border-top:7px solid #ff6600;border-radius:14px}
@media(min-width:900px){
 body:not(.customer-mode) .staff-slip-layout:has(.pickup-card){align-items:stretch}
 body:not(.customer-mode) .staff-slip-layout :is(.slip-summary,.pickup-card){align-self:stretch;margin-bottom:0;padding:16px}
}

/* Shared panel design across staff and customer screens. */
:root{--panel-accent:#ff6600;--panel-line:7px;--panel-radius:14px;--staff-panel-padding:16px;--customer-panel-padding:20px}
body .card,body .card:has(.amount){border-top:var(--panel-line) solid var(--panel-accent);border-radius:var(--panel-radius)}
body:not(.customer-mode) .card,body:not(.customer-mode) .dashboard-grid>.card,body:not(.customer-mode) .staff-slip-layout .card{border-top:var(--panel-line) solid var(--panel-accent);border-radius:var(--panel-radius);padding:var(--staff-panel-padding)}
body.customer-mode .card{padding:var(--customer-panel-padding);border-top:var(--panel-line) solid var(--panel-accent);border-radius:var(--panel-radius)}
@media(min-width:900px){
 body:not(.customer-mode) .grid{align-items:stretch}
 body:not(.customer-mode) .flow-grid,body:not(.customer-mode) .attention-grid{align-items:stretch}
}

.pickup-datetime{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.pickup-datetime>div{min-width:0}
@media(max-width:620px){.pickup-datetime{grid-template-columns:1fr}}

/* iPad date controls have an intrinsic width; constrain both fields equally. */
body:not(.customer-mode) .pickup-datetime{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-items:start;min-width:0}
body:not(.customer-mode) .pickup-datetime>div{display:flex;flex-direction:column;min-width:0;max-width:100%}
body:not(.customer-mode) .pickup-datetime label{font-size:20px;line-height:1.5;min-height:30px;margin:12px 0 6px}
body:not(.customer-mode) .pickup-datetime :is(input,select){box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;height:56px;min-height:56px;margin:0;padding:10px 12px;border:2px solid #aeb7c2;border-radius:8px;background-color:#fff;font:inherit;font-size:20px;line-height:1.4;color:#30343b;-webkit-appearance:none;appearance:none}
body:not(.customer-mode) .pickup-datetime input::-webkit-date-and-time-value{min-width:0;margin:0;text-align:left}
body:not(.customer-mode) .pickup-datetime input::-webkit-datetime-edit{min-width:0;padding:0}
body:not(.customer-mode) .pickup-datetime select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#67717d 50%),linear-gradient(135deg,#67717d 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
@media(max-width:620px){body:not(.customer-mode) .pickup-datetime{grid-template-columns:1fr}}

/* Mail previews are an inspection list, expanded only when needed. */
body:not(.customer-mode) main:has(#intake)>.lab-mail{grid-column:1/-1}
.lab-mail>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:6px 16px;align-items:center;list-style:none;cursor:pointer;font-size:20px;line-height:1.5}
.lab-mail>summary::-webkit-details-marker{display:none}
.lab-mail-kind{font-weight:700;grid-column:1;grid-row:1}
.lab-mail>summary>.badge{grid-column:2;grid-row:1}
.lab-mail-meta{grid-column:1/3;grid-row:2;font-size:18px;color:#67717d}
.lab-mail>summary::after{content:'＋';grid-column:3;grid-row:1/3;justify-self:center;font-size:24px;color:#a63c00}
.lab-mail[open]>summary::after{content:'−'}
.lab-mail>summary:focus-visible{outline:3px solid #ff6600;outline-offset:5px;border-radius:4px}
.lab-mail-body{border-top:1px solid #e1e5ea;margin-top:14px;padding-top:14px}
.lab-mail-body>.button{margin-top:16px}
.lab-mail .mail-preview{max-width:100%;box-sizing:border-box}

/* Filtering and results are separate blocks on every list screen. */
:root{--filter-results-gap:16px}
main input[type=search]{display:block;margin-block-end:var(--filter-results-gap)}
body:not(.customer-mode) main>form.card{margin-bottom:var(--filter-results-gap)}
body:not(.customer-mode) main>form.card+.card{margin-top:0}

.customer-mode .privacy-notice{margin-top:24px;padding-top:20px;border-top:1px solid #dce1e7}
.customer-mode .privacy-notice h2{font-size:24px}
.customer-mode .privacy-notice h3{font-size:22px;margin:22px 0 10px}
.customer-mode .privacy-notice p{font-size:20px;line-height:1.7;margin:10px 0 18px}
.customer-mode .privacy-details{padding-top:8px}
.customer-mode .privacy-notice a{display:inline-block;min-height:48px;font-size:24px;font-weight:700}
.customer-mode .privacy-draft{border-left:4px solid #ff6600;padding-left:14px}

/* Preview mirrors email styles through the allowed stylesheet, without relaxing CSP. */
.mail-preview{white-space:normal}
.mail-preview .mail-paragraph{margin:0 0 18px;font-size:20px;line-height:1.7}
.mail-preview .mail-phrase{display:inline-block;max-width:100%}
.mail-preview .mail-pickup-frame{margin:20px 0 24px;padding:20px;background:#fff5ec;border:3px solid #ff6600;border-radius:14px}
.mail-preview .mail-highlight-label{margin:0 0 10px;font-size:20px}
.mail-preview .mail-pickup-year{margin:0 0 4px;font-size:20px}
.mail-preview .mail-pickup-day{margin:0 0 10px;font-size:42px;line-height:1.4;font-weight:800;color:#9b3600}
.mail-preview .mail-pickup-time{margin:0;font-size:36px;line-height:1.4;font-weight:700;color:#9b3600}
.mail-preview .mail-important-frame{margin:18px 0 24px;padding:18px;background:#fff0df;border-left:5px solid #ff6600}
.mail-preview .mail-important-label{margin:0 0 8px;font-size:18px}
.mail-preview .mail-important-value{margin:0;font-size:32px;line-height:1.5;font-weight:700;color:#9b3600}
.mail-preview .mail-contact{margin:0 0 18px}
.mail-preview .mail-phone{display:inline-block;padding:8px 0;font-size:28px;line-height:1.5;font-weight:700;color:#9b3600}
.mail-preview .mail-message{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:20px;line-height:1.7;color:#352b25;overflow-wrap:anywhere}

.staff-customer-context{grid-column:1/-1;border-bottom:1px solid #e1e5ea;padding-bottom:12px}
.staff-customer-context p{margin:0 0 8px}

/* Staff slip lists: readable type and generous touch targets on iPad. */
body:not(.customer-mode) #slip-table table{font-size:24px;line-height:1.5;color:#352b25}
body:not(.customer-mode) #slip-table :is(td,th){padding:14px 12px;vertical-align:middle}
body:not(.customer-mode) #slip-table th{font-size:20px;font-weight:700;color:#514339}
body:not(.customer-mode) #slip-table td:nth-child(-n+3){font-weight:650}
body:not(.customer-mode) #slip-table .badge{display:inline-block;font-size:20px;line-height:1.5;white-space:normal;padding:6px 12px}
body:not(.customer-mode) #slip-table td button{font-size:22px;line-height:1.5;min-height:56px;min-width:88px;padding:10px 18px}

/* Inquiry work uses the same paired panels as pickup work on a landscape iPad. */
body:not(.customer-mode) .staff-inquiries{min-width:0;display:grid;gap:16px;align-content:stretch}
body:not(.customer-mode) .staff-inquiries .inquiry-card{margin:0;min-width:0}
body:not(.customer-mode) .staff-inquiries .eyebrow{display:none}
body:not(.customer-mode) .staff-inquiries h2{margin:0 0 12px}
body:not(.customer-mode) .staff-inquiries .message{font-size:20px;line-height:1.6;padding:12px;margin:10px 0}
body:not(.customer-mode) .staff-inquiries .message.staff{margin-left:0}
body:not(.customer-mode) .staff-inquiries label{margin:12px 0 6px}
body:not(.customer-mode) .staff-inquiries textarea{min-height:112px;line-height:1.6}
body:not(.customer-mode) .staff-inquiries .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;align-items:stretch}
body:not(.customer-mode) .staff-inquiries .actions button{min-height:64px;padding:12px;line-height:1.5;white-space:normal}
body:not(.customer-mode) .staff-inquiries form>.muted{margin:12px 0 0}
@media(min-width:900px){
 body:not(.customer-mode) .staff-slip-layout:has(.staff-inquiries){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
 .staff-slip-layout:has(.staff-inquiries)>section{display:contents}
 body:not(.customer-mode) .staff-slip-layout:has(.staff-inquiries) .slip-summary{grid-column:1;grid-row:1;margin-bottom:0;align-self:stretch;min-width:0}
 .staff-slip-layout:has(.staff-inquiries) .staff-inquiries{grid-column:2;grid-row:1}
 .staff-slip-layout:has(.staff-inquiries)>aside{grid-column:1/-1;grid-row:auto;min-width:0}
 body:not(.customer-mode) .staff-slip-layout:has(.staff-inquiries) .pickup-card{grid-column:1/-1;grid-row:auto}
 .staff-slip-layout:has(.staff-inquiries)>section>.card:not(.slip-summary):not(.pickup-card){grid-column:1/-1}
 body:not(.customer-mode) .staff-slip-layout:has(.staff-inquiries) .slip-summary>p{margin:8px 0}
 body:not(.customer-mode) .staff-slip-layout:has(.staff-inquiries) .slip-summary>.warning{padding:12px;margin:12px 0}
}
@media(max-width:620px){body:not(.customer-mode) .staff-inquiries .actions{grid-template-columns:1fr}}

.test-login-entry{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e1e5ea}
body:not(.customer-mode) .test-login-entry button{width:100%;min-height:64px;font-size:24px}
.test-login-entry .muted{margin:12px 0 0}

/* Optional touch cropping; the default view shows only the final lightweight photo. */
.compact-photo-editor .final-photo-panel{margin:0;padding:14px;border-radius:12px}
.compact-photo-editor .photo-workspace{max-width:820px;margin:0 auto}
.compact-photo-editor .photo-workspace.is-adjusting{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.compact-photo-editor .final-photo-panel figcaption{font-size:24px;font-weight:750;text-align:center;color:#9b3600}
.compact-photo-editor .final-photo-panel figcaption span{display:block;font-size:18px;font-weight:400;margin:4px 0 10px}
.compact-photo-editor .auto-image-stage{height:330px}
#crop-controls{min-width:0;padding:14px;background:#fff7ef;border:2px solid #ff6600;border-radius:12px}
#crop-controls h2{margin-bottom:6px}#crop-controls p{font-size:18px;margin:0 0 12px}
.crop-image-stage{height:330px;display:flex;align-items:center;justify-content:center;padding:23px}
#crop-stage{display:inline-block;position:relative;max-width:100%;line-height:0;touch-action:none}
#crop-stage canvas{display:block;max-width:100%;max-height:284px;width:auto;height:auto;border:0}
#crop-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#crop-stage polygon{fill:#ff66001c;stroke:#ff6600;stroke-width:3px;vector-effect:non-scaling-stroke}
#crop-stage .crop-handle{position:absolute;z-index:1;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;border:3px solid #fff;background:#ff6600;box-shadow:0 0 0 2px #9b3600;touch-action:none;cursor:move}
#crop-stage .crop-handle:disabled{cursor:wait}.crop-tools{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}.crop-tools button{font-size:18px;min-height:52px}
@media(max-width:720px){.compact-photo-editor .photo-workspace.is-adjusting{grid-template-columns:1fr}.crop-image-stage{height:380px}#crop-stage canvas{max-height:334px}.compact-photo-editor .photo-decisions{grid-template-columns:1fr}}
.compact-photo-editor #corrected{cursor:zoom-in}#photo-zoom{width:min(96vw,1000px);max-width:96vw;max-height:94vh;padding:16px;border:2px solid #ff6600;border-radius:14px;background:#fff7ef}#photo-zoom::backdrop{background:#0009}#photo-zoom>button{margin-bottom:14px}.photo-zoom-scroll{overflow:auto;max-height:74vh;background:#eee}.photo-zoom-scroll img{display:block;max-width:none;height:auto;margin:0 auto}
@media(max-width:720px){.crop-image-stage{height:auto;min-height:230px}}
/* A dedicated full-screen crop view keeps the paper edges visible on iPad. */
#crop-controls{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px 24px;border:0;border-radius:0;background:#fff7ef;overflow:auto}
#crop-controls[open]{display:flex;flex-direction:column;gap:12px}#crop-controls::backdrop{background:#33200dd9}
.crop-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.crop-dialog-head h2{text-align:left;margin:0;font-size:26px}.crop-dialog-head p{margin:4px 0 0;font-size:18px}.crop-dialog-head button{flex-shrink:0;min-height:52px}
#crop-controls .crop-image-stage{height:auto;min-height:0;flex:1;display:flex;padding:25px;overflow:hidden}
#crop-controls #crop-stage{max-height:100%}#crop-controls #crop-stage canvas{max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px);max-width:100%;display:block}
#crop-controls .crop-tools{margin:0;justify-content:space-between;gap:16px;flex-shrink:0}#crop-controls .crop-tools button{font-size:20px;min-height:56px}
#crop-loupe{position:absolute;z-index:4;right:26px;top:104px;width:220px;padding:8px;border:2px solid #ff6600;border-radius:12px;box-shadow:0 3px 16px #0003;background:#fff;pointer-events:none;line-height:1.3;text-align:center}
#crop-loupe.loupe-left{right:auto;left:26px}#crop-loupe strong{display:block;font-size:18px;margin-bottom:6px}#crop-loupe canvas{display:block;width:100%;height:auto;border:0;max-height:none}
@media(max-width:620px){#crop-controls{padding:12px}.crop-dialog-head{gap:10px}.crop-dialog-head h2{font-size:23px}.crop-dialog-head p{font-size:17px}#crop-controls .crop-tools button{font-size:18px;padding:10px 12px}#crop-loupe{top:132px;right:12px;width:150px}#crop-loupe.loupe-left{left:12px}#crop-loupe strong{font-size:16px}}

/* Keep the source canvas and its overlay in exactly the same measured box. */
#crop-controls #crop-stage{flex:0 0 auto;max-height:none;max-width:none}
#crop-controls #crop-stage canvas{width:100%;height:100%;max-width:none;max-height:none}

/* Central result dialog shared by staff and customer actions. */
dialog#notice{position:fixed;inset:0;transform:none;z-index:100;margin:auto;width:calc(100% - 40px);max-width:640px;max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:3px solid #d36a16;border-radius:18px;background:#fff7e9;color:#50301b;box-shadow:0 16px 60px #0004;font-size:22px;line-height:1.7;text-align:center;overflow-wrap:anywhere}
dialog#notice:not([open]){display:none}dialog#notice::backdrop{background:#21150c99}#notice strong{display:block;font-size:28px;line-height:1.5}#notice p{margin:14px 0}#notice button{display:block;width:100%;margin-top:18px;min-height:56px;font-size:22px}#notice[data-kind="success"],.operation-result{background:#edf7ed;color:#204b26;border-color:#497e45}#notice[data-kind="error"]{background:#fff0ed;color:#842b20;border-color:#ac4739}#notice[data-kind="unknown"]{background:#fff3cf;color:#66480c;border-color:#a97a15}.operation-result{padding:18px;border:2px solid #497e45;border-radius:12px;font-size:20px;line-height:1.6}.operation-result h2{font-size:24px}.operation-result p{margin:8px 0}@media(max-width:480px){dialog#notice{padding:24px 18px;font-size:20px}#notice strong{font-size:24px}}

#notice .feedback-phrase{display:inline-block;white-space:normal;max-width:100%;overflow-wrap:anywhere}

.photos .customer-photo{flex:1 1 140px;max-width:300px;padding:0;background:transparent;border:0;box-shadow:none}.photos .customer-photo:hover{background:transparent}.customer-photo-zoom{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:16px;border:3px solid #ff6600;border-radius:14px}.customer-photo-zoom::backdrop{background:#21150c99}.customer-photo-zoom img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin-top:16px}.customer-photo-zoom button{min-height:52px;font-size:22px}

.staff-draft-lock{width:min(90vw,560px);max-height:90dvh;overflow:auto;border:3px solid var(--orange,#e66b16);border-radius:20px;padding:24px;margin:auto;background:#fffaf3;color:#28231e}
.staff-draft-lock::backdrop{background:rgba(30,23,16,.65)}
.staff-draft-lock button{display:block;width:100%;margin-top:16px}
.staff-draft-lock .resume-status{min-height:1.5em}

/* Shared usability review: readable tables, predictable spacing and touch targets. */
:root{--control-radius:10px;--control-gap:16px}
button,.button{border-radius:var(--control-radius);line-height:1.5;touch-action:manipulation}
button:disabled{cursor:not-allowed}
body:not(.customer-mode) :is(input,textarea,select){min-width:0;max-width:100%;border-radius:8px}
body:not(.customer-mode) :is(button,.button){min-height:52px}
body:not(.customer-mode) .actions{gap:var(--control-gap);align-items:stretch}
body:not(.customer-mode) form>button[type=submit]{margin-top:16px}
body:not(.customer-mode) .card>label:first-child{margin-top:0}
body:not(.customer-mode) h3{font-size:22px;line-height:1.5}
body:not(.customer-mode) .lead{margin-bottom:16px}
body:not(.customer-mode) .empty{padding:20px 12px;margin:0}
body:not(.customer-mode) :is(.receipt-table,.customer-results) table{font-size:20px;line-height:1.5}
body:not(.customer-mode) :is(.receipt-table,.customer-results) :is(td,th){padding:12px;vertical-align:middle;overflow-wrap:anywhere}
body:not(.customer-mode) :is(.receipt-table,.customer-results) td:last-child{width:108px}
body:not(.customer-mode) :is(.receipt-table,.customer-results) td button{font-size:20px;min-height:52px;min-width:80px;white-space:nowrap}
body:not(.customer-mode) .receipt-table .badge{display:inline-block;white-space:normal}
body:not(.customer-mode) #customer-search .grid{gap:16px}
body:not(.customer-mode) #customer-search .grid label{margin-top:0}
body:not(.customer-mode) summary{font-size:20px;line-height:1.5;min-height:48px;align-content:center;color:#743800;font-weight:650}
body:not(.customer-mode) details.card:not([open]){padding-block:10px}
body:not(.customer-mode) #staff-back{margin-bottom:16px}
body:not(.customer-mode) .staff-directory>.card{border-top-width:1px;box-shadow:none;background:#fffaf5}
body:not(.customer-mode) .staff-directory h3{margin:0 0 8px}
body:not(.customer-mode) .staff-directory p{margin:8px 0}
body:not(.customer-mode) .staff-directory .actions{margin-top:12px}
body:not(.customer-mode) .refund-card>summary{font-size:24px;color:#9b3c00}
body:not(.customer-mode) .refund-card:not([open]){align-self:start}
.customer-mode .photos .customer-photo{display:block;width:100%;max-width:none;margin-bottom:16px}
.customer-mode .card>p:first-child{margin-top:0}
@media(min-width:900px){
 body:not(.customer-mode) #nav{align-items:center;gap:16px}
 body:not(.customer-mode) .nav-utilities{flex-direction:row;align-items:center;gap:12px}
 body:not(.customer-mode) .nav-utilities .lab-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 12px;border:1px solid #ffe1c3;border-radius:10px;color:#602800;background:#ffe5cf;white-space:nowrap;text-decoration:none}
 body:not(.customer-mode) .nav-utilities #lock{width:auto}
 body:not(.customer-mode) main:has(>#add-staff){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
 body:not(.customer-mode) main:has(>#add-staff)>:is(.eyebrow,h1,.lead,#staff-back){grid-column:1/-1;margin:0}
 body:not(.customer-mode) main:has(>#add-staff)>#staff-back{justify-self:start}
 body:not(.customer-mode) main:has(>#add-staff)>.card{margin:0}
 body:not(.customer-mode) .staff-slip-layout:has(.pickup-card) .refund-card{grid-column:1/-1;margin:0}
 body:not(.customer-mode) .narrow:has(#setup){max-width:960px}
 body:not(.customer-mode) #setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;row-gap:12px;align-items:center}
 body:not(.customer-mode) #setup>:is(.warning,.actions){grid-column:1/-1}
 body:not(.customer-mode) #setup>label{grid-column:1;margin:12px 0}
 body:not(.customer-mode) #setup>input{grid-column:2}
}

/* Required confirmations are visible before submission and explicit on error. */
label.checkline:has(input[required])>span:first-of-type::before{content:'必須';display:inline-block;margin-right:8px;padding:1px 7px;border:1px solid #a33d32;border-radius:5px;color:#842b20;background:#fff0ed;font-size:16px;font-weight:700;vertical-align:baseline}
label.checkline.confirmation-missing{padding:12px;border:2px solid #ac4739;border-radius:10px;background:#fff0ed}
label.checkline .check-error{grid-column:2;font-size:18px;font-weight:650;color:#842b20;line-height:1.5}
input[type=checkbox][aria-invalid=true]{outline:3px solid #ac4739;outline-offset:3px}

/* Fit photo decisions on landscape tablets; only the preview's display size changes. */
@media(min-width:900px) and (max-height:850px){
 body:not(.customer-mode) main:has(#photo-preview:not([hidden]))>.eyebrow{display:none}
 body:not(.customer-mode) main:has(#photo-preview:not([hidden]))>h1{margin:0 0 8px}
 .compact-photo-editor:has(#photo-preview:not([hidden])){padding:12px}
 .compact-photo-editor #photo-status{margin:0 0 8px}
 .compact-photo-editor .final-photo-panel{padding:10px}
 .compact-photo-editor .final-photo-panel figcaption{display:flex;justify-content:center;align-items:baseline;gap:12px;flex-wrap:wrap}
 .compact-photo-editor .final-photo-panel figcaption span{margin:0}
 .compact-photo-editor .auto-image-stage{height:clamp(220px,calc(100dvh - 505px),330px)}
 .compact-photo-editor .auto-image-stage #corrected{max-height:clamp(220px,calc(100dvh - 505px),330px)}
 .compact-photo-editor #photo-preview>p{margin:8px 0}
 .compact-photo-editor .photo-decisions{margin-top:8px}
}

/* 洗濯屋BOX: retain the brush lettering while fitting the longer wordmark. */
header .brand img{width:280px;height:94px;max-width:100%;object-fit:contain}
@media(max-width:720px){header .brand img{width:270px;height:90px}}
.customer-mode header .brand img{width:300px;height:100px;max-width:100%}
.customer-mode header .brand{max-width:100%}

/* Shared entry rhythm: large text, aligned controls and a 16px separation. */
.staff-entry-dialog{width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid #e6d9cf;border-top:6px solid #ff6600;border-radius:16px;padding:24px;background:#fff;color:#292d32}
.staff-entry-dialog::backdrop{background:#f8f5ef}
.entry-top{display:flex;align-items:center;gap:28px;margin-bottom:24px}
.staff-entry-dialog .entry-brand img{display:block;width:210px;max-width:100%;height:auto;margin:0}
.staff-entry-dialog h1{font-size:30px;line-height:1.35;margin:0 0 8px;letter-spacing:0}
.staff-entry-dialog p,.staff-entry-dialog label{font-size:20px;line-height:1.5;margin:0}
.staff-entry-dialog .lead{margin:0;color:#53575c}
.entry-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.entry-step{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #e6d9cf;border-top:4px solid #ff6600;border-radius:12px;background:#fffaf5;min-width:0}
.staff-entry-dialog h2{display:flex;align-items:center;gap:10px;font-size:22px;line-height:1.4;margin:0}
.entry-number{display:inline-grid;place-items:center;flex:0 0 34px;height:34px;background:#ff6600;color:#292d32;border-radius:50%;font-size:20px}
.staff-entry-dialog form{display:grid;gap:12px;margin:0}
.staff-entry-dialog input{font-size:26px;letter-spacing:4px;min-width:0;width:100%;box-sizing:border-box;min-height:56px;margin:0}
.staff-entry-dialog button{width:100%;min-height:56px;font-size:20px;line-height:1.4;margin:0;padding:12px}
.staff-entry-dialog .entry-send{margin-top:auto}
.staff-entry-dialog .entry-check[hidden]{display:none}
.staff-entry-dialog .entry-check{margin-top:16px}
.staff-entry-dialog .entry-message{margin:16px 0;font-weight:600}
.staff-entry-dialog .entry-device{border-top:1px solid #eadfd6;padding-top:12px}
.staff-entry-dialog summary{font-size:20px;line-height:1.5;padding:6px 0;min-height:44px;color:#53575c}
.staff-entry-dialog .entry-device[open]{display:grid;gap:12px}
.staff-entry-dialog .entry-note{margin-top:12px;color:#53575c;font-size:18px;line-height:1.5}
body:not(.customer-mode) .staff-login-layout{max-width:900px}
body:not(.customer-mode) .staff-login-layout>.eyebrow{display:none}
body:not(.customer-mode) .staff-login-layout>h1{margin:0 0 8px;font-size:30px}
body:not(.customer-mode) .staff-login-layout>.lead{margin:0 0 20px;line-height:1.5}
body:not(.customer-mode) .staff-login-layout #login{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px;margin-bottom:16px}
.staff-login-layout .login-field{min-width:0}
body:not(.customer-mode) .staff-login-layout .login-field label{margin:0 0 8px}
body:not(.customer-mode) .staff-login-layout .login-field :is(input,select){height:56px}
.staff-login-layout #login>.muted,.staff-login-layout .login-actions,.staff-login-layout .test-login-entry{grid-column:1/-1;margin:0}
.staff-login-layout .login-actions{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.staff-login-layout .login-actions button{min-height:56px;margin:0}
body:not(.customer-mode) .staff-login-layout>details.card{padding:12px 20px}
.staff-login-layout>details summary{font-size:20px;line-height:1.5;min-height:44px;padding:6px 0}
@media(max-width:700px){
 .staff-entry-dialog{padding:20px}
 .entry-top{display:block;margin-bottom:20px}
 .staff-entry-dialog .entry-brand img{width:180px;margin:0 auto 16px}
 .entry-steps{grid-template-columns:1fr}
 .entry-step{padding:16px}
 body:not(.customer-mode) .staff-login-layout #login{grid-template-columns:1fr;padding:20px}
}

/* Show one newest message; older exchanges open only on request. */
.inquiry-card .message-meta{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin-bottom:8px;font-size:20px;line-height:1.5;white-space:normal}
.inquiry-card .message-meta span{color:#53575c}
.inquiry-card .inquiry-history{margin:16px 0 0;padding-top:16px;border-top:1px solid #ead9c9}
.inquiry-card .inquiry-history>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px;border:1px solid #e3c7ad;border-radius:10px;background:#fff8f0;color:#352b25;font-size:20px;line-height:1.5;list-style:none}
.inquiry-history>summary::-webkit-details-marker{display:none}
.inquiry-history>summary::after{content:'＋';font-size:26px;color:#b84600;flex-shrink:0}
.inquiry-history[open]>summary::after{content:'−'}
.inquiry-history .history-count{display:inline-block;white-space:nowrap}
.inquiry-history>summary:focus-visible{outline:3px solid #ff6600;outline-offset:4px}
.customer-mode .inquiry-card .message{padding:16px;line-height:1.6;margin-left:0}

/* Reply reading and payment confirmation are separate customer views. */
.customer-mode .message-receipt{font-size:20px;margin:0 0 16px;color:#53575c}
.customer-mode .message-end{font-size:20px;line-height:1.6;margin:16px 0}
.customer-mode .message-history-link{margin-top:16px;background:#fff;border:1px solid #c7cdd4;color:#352b25}

.customer-mode .reply-choices{margin:16px 0}
.customer-mode .reply-choices>p{margin:8px 0 0;line-height:1.5}
body:not(.customer-mode) .staff-inquiries .actions{grid-template-columns:1fr}

/* Personal-phone refund approval; preserve the shared card/header system. */
body.manager-mode main{max-width:480px;margin:16px auto;padding:0 16px;min-height:0}
.manager-phone{font-size:20px;line-height:1.55}.manager-phone h1{font-size:28px}.manager-phone h2{font-size:22px}
.manager-phone .card{padding:16px}.manager-phone p{margin:8px 0 14px;font-size:20px}.manager-phone .manager-identity{padding-bottom:12px;border-bottom:1px solid #e5dcd4;margin-bottom:16px}
.manager-phone .manager-amount{font-size:40px;font-weight:750;line-height:1.3}.manager-amount span{font-size:18px}.manager-name{display:inline-block}
.manager-reason{padding:12px;background:#fff5eb;border-radius:10px;overflow-wrap:anywhere}.manager-reason p{white-space:pre-wrap}
.manager-phone .manager-check{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-size:18px;font-weight:400;line-height:1.55}
.manager-phone .manager-check input{flex:none;width:24px;height:24px;margin:3px 0}
.manager-phone button,.manager-phone .button{display:block;width:100%;min-height:56px;font-size:21px;margin:16px 0 0;padding:12px;text-align:center}
.manager-phone label{font-size:20px}.manager-phone input:not([type=checkbox]){font-size:20px;min-width:0}.manager-mode header .brand img{width:220px;height:70px}.manager-mode #nav{gap:12px}
.manager-mode{background:#fffaf5}.manager-mode header{justify-content:center;padding:10px 16px}.manager-mode #nav:empty{display:none}
.manager-phone .card h2{color:#292d32!important;margin:0 0 6px}.manager-phone .manager-identity p{margin-top:0;margin-bottom:6px}
.manager-phone .manager-amount{margin:0 0 12px}.manager-phone .manager-reason p{margin:6px 0 0}.manager-phone .manager-identity{margin-bottom:12px;padding-bottom:10px}

body:not(.customer-mode) main:has(>#add-staff)>#manager-admin{grid-column:1/-1;justify-self:start;margin:0}
