.public-intake-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-intake-form .field{display:grid;gap:8px;font-size:.8rem}.public-intake-form .full{grid-column:1/-1}.public-intake-form input:not([type=checkbox]),.public-intake-form select,.public-intake-form textarea,.receipt-lookup input,.public-receipt>input{font:inherit;width:100%;box-sizing:border-box;min-height:46px;padding:10px;border:1px solid #dccbb1;border-radius:9px;background:#fff}.public-intake-form .check{display:flex;align-items:flex-start;gap:10px;line-height:1.9}.public-intake-form .check input{margin-top:5px}.intake-info{background:#fff4de;border-left:3px solid #a87d2e;padding:15px;font-size:.8rem;line-height:1.9}.intake-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.public-intake-box{background:#fffcf6;border:1px solid #e5d4b7;border-radius:18px;padding:24px;margin:25px 0}.public-intake-box h2{font-size:1.4rem;color:#751936}.public-receipt{background:#eef7ef;border:1px solid #bfd8c4;border-radius:15px;padding:22px;overflow-wrap:anywhere}.receipt-lookup{display:flex;align-items:end;gap:12px;margin:20px 0}.receipt-lookup label{display:grid;gap:8px;flex:1;font-size:.8rem}.public-receipt input{background:white}.public-live-note{font-size:.78rem;line-height:1.9;color:#745a65}@media(max-width:650px){.public-intake-form{grid-template-columns:1fr}.public-intake-box{padding:17px}.receipt-lookup{display:grid;grid-template-columns:1fr}.public-intake-form .full{grid-column:1}}
.public-intake-form .field,.public-intake-form .full{min-width:0}.public-intake-form .member-photo-crop{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:16px;align-items:start;background:#f8efdf;padding:14px;border-radius:12px}.public-intake-form .member-photo-crop[hidden]{display:none!important}.public-intake-form .member-photo-crop canvas{width:100%;height:auto;max-width:190px;display:block;border-radius:9px}.public-intake-form .member-photo-crop label{display:grid;gap:5px;margin-bottom:9px;font-size:.75rem}.public-intake-form input[type=file]{max-width:100%;font-size:.74rem}@media(max-width:650px){.public-intake-form .member-photo-crop{grid-template-columns:1fr}.public-intake-form .member-photo-crop canvas{max-width:160px}}
/* A single, calm registration flow in the existing TVK palette. */
.intake-steps{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eadcc8;margin-bottom:4px;color:#7b1b38;font-size:.73rem;font-weight:700}.phone-otp{grid-column:1/-1;padding:12px 14px;background:#f8f1e4;border-radius:12px;min-width:0}.otp-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.otp-actions [data-code-row]{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.otp-actions [data-code-row][hidden]{display:none!important}.phone-otp label{display:grid;gap:7px;font-size:.78rem}.phone-otp input{font:inherit;min-height:44px;max-width:180px;border:1px solid #d5c2a5;border-radius:8px;padding:9px;box-sizing:border-box}.phone-otp p{font-size:.75rem;line-height:1.8;margin:9px 0 0}.public-intake-box{max-width:820px;margin-inline:auto}.evidence-picker{padding:16px;border:1px dashed #bd9b6b;border-radius:12px;background:#fffaf1}.evidence-picker small,.evidence-picker [data-photo-count]{font-size:.72rem;line-height:1.9}.public-receipt{text-align:center;background:#fffbf3;border-color:#dac28f;padding:28px 20px}.receipt-check{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e2f2e6;color:#28703d;font-size:1.7rem}.registration-number{display:block;font-family:ui-monospace,monospace;color:#781735;font-size:clamp(1.15rem,4vw,1.75rem);letter-spacing:.02em;margin:12px 0;overflow-wrap:anywhere}.receipt-stage{display:inline-block;border-radius:20px;padding:5px 15px;background:#f3e5bc;color:#674b14;font-size:.8rem}.public-receipt .btn{margin:8px 4px}.registration-tracker{display:grid;gap:16px}.registration-tracker>label{display:grid;gap:8px;font-size:.8rem}.registration-tracker>label>input{width:100%;font:inherit;box-sizing:border-box;padding:12px;border:1px solid #d8c7ad;border-radius:9px;min-height:46px}.registration-tracker [data-result]{padding:8px 0;color:#751936;font-weight:700;overflow-wrap:anywhere}@media(max-width:650px){.otp-actions{align-items:stretch}.intake-steps{font-size:.66rem;gap:8px}.public-intake-form{gap:18px}.phone-otp{padding:12px}.otp-actions button{min-height:44px}}
.public-town-status{max-width:none}.public-town-status>summary{font-weight:700;color:#751936;cursor:pointer;padding:8px 0;line-height:1.8}.public-town-status[open]>summary{margin-bottom:18px}
/* Restore only the v24 forms/dashboard proportions; keep current branding. */
@media(min-width:1200px){.cmp-layout.reference-complaints{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;gap:1.5rem;align-items:start}}
.reference-complaints>*,.complaint-dashboard-column{min-width:0}.reference-complaint-form .form-grid{gap:1rem}.reference-complaint-form #lockable{min-width:0}.reference-complaint-form .input-row input{min-width:0}.reference-complaint-form .phone-otp{margin-top:12px}.reference-complaint-form .notice{font-size:.8rem;line-height:1.9}.reference-dashboard-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:15px}.reference-dashboard-heading h2{font-size:1.35rem;margin:0}.reference-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reference-kpis .kpi{padding:12px;min-width:0}.reference-kpis .lbl{font-size:.71rem}.reference-kpis .val{font-size:1.55rem}.screen-code{font:700 1.05rem ui-monospace,monospace;color:#751936;background:#fff9e8;border:1px dashed #c6a45b;padding:12px;border-radius:8px;letter-spacing:.03em}.screen-code[hidden]{display:none!important}.number-only-tracker{display:flex;gap:10px;flex-wrap:wrap}.number-only-tracker input{font:inherit;flex:1;min-width:0!important;width:100%;padding:12px;min-height:46px;border:1px solid #dbc9ac;border-radius:9px;box-sizing:border-box}.number-only-tracker button{flex-shrink:0}.number-only-tracker input{font-family:ui-monospace,monospace;text-transform:uppercase}.tracker .track-out .badge{color:#751936}.public-intake-form .field input,.public-intake-form .field textarea,.public-intake-form .field select{width:100%;box-sizing:border-box}.public-intake-form .input-row{display:flex}.public-intake-form .input-row input{min-width:0}.reference-complaint-form .file-drop input{max-width:100%}.reference-complaint-form [data-submit-message]{line-height:1.8;color:#851d37}.reference-complaint-form .public-receipt{margin:10px 0}.reference-complaints .list-tools{gap:8px;flex-wrap:wrap}.reference-complaints .list-tools input{min-width:0}.reference-complaints .table-wrap{max-width:100%;overflow-x:auto}.reference-complaints .tabs{max-width:100%}@media(max-width:650px){.reference-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.number-only-tracker{display:grid;grid-template-columns:minmax(0,1fr)}.reference-complaints .card-pad{padding:18px}.tracker{padding:18px}.reference-complaint-form .input-row{flex-wrap:nowrap}.screen-code{font-size:.9rem}.reference-complaints .list-tools{display:grid;grid-template-columns:minmax(0,1fr)}.reference-complaints .list-tools input,.reference-complaints .list-tools select{width:100%}}
#dashboard .reference-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}#dashboard .reference-kpis .lbl{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.6;min-height:2.7em}@media(max-width:650px){#dashboard .reference-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v24 spacing: form, tracker and dashboard each get the full page width. */
.cmp-layout.reference-complaints{grid-template-columns:minmax(0,1fr)!important;gap:2.5rem}.reference-complaints #formCard{width:100%;max-width:1000px;margin-inline:auto;box-sizing:border-box;padding:clamp(20px,3vw,38px)}.reference-complaints .complaint-dashboard-column{width:100%;display:grid;gap:2.2rem}.reference-complaints .tracker{width:100%;max-width:1000px;margin:0 auto;box-sizing:border-box;padding:clamp(20px,3vw,32px)}.reference-complaint-form .step-head{margin-top:2rem;margin-bottom:1.1rem}.reference-complaint-form .step-head:first-child{margin-top:0}.reference-complaint-form .form-grid{gap:1.2rem 1.4rem}.reference-complaint-form .notice{margin:1.5rem 0!important;padding:18px}.reference-complaint-form textarea{min-height:135px}.reference-complaint-form .check{padding:12px 0;line-height:1.9}.reference-dashboard-heading{margin-bottom:1.3rem}#dashboard .reference-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}#dashboard .reference-kpis .kpi{padding:18px}#dashboard .reference-kpis .lbl{font-size:.77rem;min-height:3em}.reference-complaints .ward-chart{padding:22px;margin:1.6rem 0}.reference-complaints .tabs{margin-top:1.8rem}.reference-complaints .list-tools{margin:1.2rem 0;gap:12px}.reference-complaints .cmp-table th,.reference-complaints .cmp-table td{padding:17px 14px;line-height:1.8;vertical-align:top}.public-detail-row[hidden]{display:none!important}.public-detail-row>td{background:#fff8ea!important}.public-case-detail{padding:10px 8px;max-width:900px;line-height:1.9}.public-case-detail .detail-top{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:15px}.public-case-detail .detail-top b{color:#751936}.public-case-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.public-case-detail dt{font-size:.7rem;color:#806875}.public-case-detail dd{margin:4px 0 0;font-size:.85rem}.public-case-detail h4{font-size:.95rem;color:#751936;margin:18px 0 6px}.public-case-detail .public-action-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.86rem}.public-case-detail .detail-stage-note{padding:12px 15px;background:white;border-left:3px solid #b38b31;border-radius:6px}.public-progress-editor{margin-top:24px;padding-top:22px;border-top:1px solid #e4d8c7}.public-progress-editor label{display:grid;gap:7px;margin:14px 0;font-size:.82rem}.public-progress-editor textarea{width:100%;box-sizing:border-box;padding:12px;border-radius:9px;border:1px solid #d9c9b0;min-height:90px;font:inherit}.public-progress-editor .live-intake-check{display:flex;align-items:flex-start}.public-progress-editor input[type=checkbox]{margin-top:4px}.public-progress-editor .small{font-size:.75rem;line-height:1.8}@media(max-width:1050px){#dashboard .reference-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.reference-complaints #formCard{padding:19px}.reference-complaints .complaint-dashboard-column{gap:1.7rem}#dashboard .reference-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#dashboard .reference-kpis .kpi{padding:14px}.reference-complaints .ward-chart{padding:15px}.public-case-detail dl{grid-template-columns:1fr}.reference-complaints .cmp-table td{padding:12px}.reference-complaints .cmp-table .public-detail-row td{display:block!important}.public-case-detail{padding:7px 0}}
@media(max-width:650px){.reference-complaints .cmp-table .public-detail-row{grid-template-columns:minmax(0,1fr)}.reference-complaints .cmp-table .public-detail-row>td{grid-column:1/-1;width:100%;box-sizing:border-box}.public-case-detail .detail-top{align-items:flex-start}.public-case-detail .detail-top b{overflow-wrap:anywhere}}

/* v51: focused, roomy public complaint dialog. */
.public-case-modal{width:min(860px,calc(100% - 28px));max-width:860px;max-height:90dvh;padding:0;border:1px solid #e5d6cb;border-radius:20px;background:#fffcf6;color:#4c1624;box-shadow:0 24px 100px #26061666;overflow:auto;box-sizing:border-box}.public-case-modal::backdrop{background:#240817a8}.public-case-modal>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:#fff8e8;border-bottom:1px solid #eadbc7}.public-case-modal>header h2{margin:0;font-size:1.3rem}.public-case-modal>header button{border:1px solid #deccbb;border-radius:50%;background:white;color:#65102c;width:42px;height:42px;flex:none;cursor:pointer}.public-case-modal [data-case-body]{padding:24px 30px}.public-case-modal .public-case-detail{padding:0;border:0;background:transparent}.public-case-detail h3{font-size:1.1rem;margin:28px 0 12px}.public-case-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-case-detail dd{margin:5px 0 0;overflow-wrap:anywhere}.public-case-detail dt{font-size:.85rem;color:#806c70}.public-case-timeline{list-style:none;padding:0;margin:18px 0}.public-case-timeline li{border-left:3px solid #c79a31;padding:0 0 22px 20px;position:relative}.public-case-timeline li:before{content:'';width:11px;height:11px;background:#841139;border:3px solid #fff8e8;border-radius:50%;position:absolute;left:-9px;top:2px}.public-case-timeline time{display:block;margin-top:6px;font-size:.85rem;color:#806c70}.public-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.public-evidence-grid figure{margin:0;padding:10px;border:1px solid #eadbc7;border-radius:12px;background:white;overflow:hidden}.public-evidence-grid img{width:100%;max-height:320px;object-fit:contain;display:block}.public-evidence-grid figcaption{font-size:.85rem;margin-top:8px}.phone-otp .screen-code{font-size:1.15rem;font-weight:700;letter-spacing:.04em;padding:14px 18px;border-radius:10px;background:#fff0ba;color:#67102f}.phone-otp [data-code-row]{gap:12px;align-items:end;flex-wrap:wrap}.public-progress-editor fieldset{border:1px solid #e8dacc;border-radius:10px;padding:16px}.public-progress-editor input[type=checkbox]{width:20px;flex:none}.public-case-detail .public-action-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}@media(max-width:600px){.public-case-modal>header{padding:16px}.public-case-modal [data-case-body]{padding:20px 16px}.public-case-detail dl{grid-template-columns:1fr}.public-evidence-grid{grid-template-columns:1fr}.public-case-modal .detail-top{align-items:start;gap:12px;flex-wrap:wrap}}

/* v56: prevent intrinsic grid widths from pushing the mobile dashboard offscreen. */
.reference-complaints .complaint-dashboard-column{grid-template-columns:minmax(0,1fr)}
.reference-complaints .complaint-dashboard-column>*,#public-status,#public-status>*{min-width:0;max-width:100%}
#public-status .reference-kpis .lbl{overflow-wrap:anywhere}
#public-status .reference-dashboard-heading{flex-wrap:wrap;align-items:flex-start}
#public-status .reference-dashboard-heading h2{min-width:0;flex:1 1 180px;line-height:1.65;overflow-wrap:anywhere}
.public-ward-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#aa7e36 #f7eddf;padding:5px 4px 10px}
.public-ward-scroll .wbars{min-width:570px;margin-top:8px}
.public-ward-hint{margin:10px 0 0;line-height:1.8}
@media(max-width:650px){
 #public-status .tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;border:0;padding-bottom:6px}
 #public-status .tab{flex:1 1 130px;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.7;font-size:.78rem;padding:10px 8px;margin:0;border:1px solid var(--line);border-radius:10px;background:#fff}
 #public-status .tab.on{border-color:var(--maroon-700);background:var(--maroon-100)}
 #public-status .table-wrap{overflow:visible;border:0;background:transparent}
 #public-status .cmp-table,#public-status .cmp-table tbody{display:block;width:100%}
 #public-status .cmp-table thead{display:none}
 #public-status .cmp-table tr{display:grid;grid-template-columns:minmax(0,1fr);width:100%;padding:16px;margin-bottom:14px;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
 #public-status .cmp-table td{display:block;grid-column:1;min-width:0;width:auto;max-width:100%;padding:0;overflow-wrap:anywhere}
 #public-status .cmp-table .badge{white-space:normal;max-width:100%;line-height:1.8}
 #public-status .cmp-table .link-btn{min-height:44px;padding:8px 0}
 #public-status .public-status-pages{flex-wrap:wrap}
 #public-status .public-status-pages span{max-width:100%;overflow-wrap:anywhere}
 .public-case-modal{max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
 .public-case-modal>header h2{min-width:0;overflow-wrap:anywhere}
}
/* Compact public complaint dialog on desktop; retain the mobile reading layout. */
@media(min-width:768px){
 .public-case-modal{width:min(720px,calc(100% - 48px));max-width:720px;height:fit-content;max-height:88dvh}
 .public-case-modal>header{padding:14px 22px;gap:12px}
 .public-case-modal>header h2{font-size:1.15rem}
 .public-case-modal [data-case-body]{padding:18px 22px}
 .public-case-modal .detail-top{margin-bottom:12px}
 .public-case-modal .public-case-detail dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:12px 0 18px}
 .public-case-modal .public-case-detail dd{margin-top:3px}
 .public-case-modal .public-case-detail h3{font-size:1rem;margin:20px 0 8px}
 .public-case-modal .public-case-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
 .public-case-modal .public-case-support>section{min-width:0}
 .public-case-modal .public-case-support .public-evidence-grid{grid-template-columns:minmax(0,1fr)}
 .public-case-modal .public-evidence-grid{gap:12px;align-items:start}
 .public-case-modal .public-evidence-grid:has(>figure:only-child){grid-template-columns:minmax(0,340px)}
 .public-case-modal .public-evidence-grid figure{padding:8px}
 .public-case-modal .public-evidence-grid img{max-height:240px}
 .public-case-modal .public-case-timeline{margin:12px 0 0}
 .public-case-modal .public-case-timeline li{padding:0 0 14px 18px}
 .public-case-modal .public-case-timeline li:last-child{padding-bottom:0}
 .public-case-modal .public-case-timeline time{margin-top:3px}
}

/* v60: compact complaint form with explicit desktop rows. */
body[data-page="complaints"] .reference-complaints #formCard{max-width:1120px;padding:24px}
.reference-complaint-form .form-grid{gap:14px 18px;align-items:start}
.reference-complaint-form .field{min-width:0}
.reference-complaint-form .step-head{margin:22px 0 12px}
.reference-complaint-form .step-head:first-child{margin-top:0}
.reference-complaint-form .notice{margin:16px 0!important;padding:14px;line-height:1.75}
.reference-complaint-form .phone-otp{margin-top:10px;padding:10px 12px}
.reference-complaint-form .phone-otp p:empty,.reference-complaint-form [data-submit-message]:empty{display:none}
.reference-complaint-form .file-drop{display:flex;align-items:center;justify-content:center;padding:14px;min-height:112px;margin:0;line-height:1.7}
.reference-complaint-form textarea{min-height:112px}
.reference-complaint-form .check{padding:4px 0;line-height:1.7}
@media(min-width:900px){
 .reference-complaint-form .complaint-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-complaint-form .complaint-address-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .reference-complaint-form .complaint-content-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1fr)}
 .reference-complaint-form .complaint-person-grid>.field,.reference-complaint-form .complaint-content-grid>.field{grid-column:auto}
}
@media(max-width:767px){
 .public-case-modal{width:calc(100% - 16px);height:fit-content;max-height:92dvh;border-radius:14px}
 .public-case-modal>header{padding:10px 14px;gap:10px}
 .public-case-modal>header h2{font-size:1.05rem;line-height:1.6}
 .public-case-modal [data-case-body]{padding:14px}
 .public-case-modal .public-case-detail{line-height:1.7}
 .public-case-modal .detail-top{gap:8px;margin-bottom:12px;align-items:center}
 .public-case-modal .detail-top b{font-size:.82rem}
 .public-case-modal .detail-top .badge{font-size:.72rem}
 .public-case-modal .public-case-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:10px 0 14px}
 .public-case-modal .public-case-detail dl>div{min-width:0}
 .public-case-modal .public-case-detail dt{font-size:.74rem;line-height:1.6}
 .public-case-modal .public-case-detail dd{margin:3px 0 0;font-size:.8rem;line-height:1.65}
 .public-case-modal .public-case-detail h3{font-size:.96rem;margin:16px 0 8px;line-height:1.65}
 .public-case-modal .public-action-text{line-height:1.75}
 .public-case-modal .public-evidence-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .public-case-modal .public-evidence-grid figure{padding:7px}
 .public-case-modal .public-evidence-grid img{max-height:220px}
 .public-case-modal .public-evidence-grid figcaption{font-size:.75rem;margin-top:5px}
 .public-case-modal .public-case-timeline{margin:10px 0 0}
 .public-case-modal .public-case-timeline li{padding:0 0 12px 16px;font-size:.82rem}
 .public-case-modal .public-case-timeline li:last-child{padding-bottom:0}
 .public-case-modal .public-case-timeline time{font-size:.74rem;margin-top:3px}
 body[data-page="complaints"] .section{padding-block:24px}
 body[data-page="complaints"] .reference-complaints{gap:22px}
 body[data-page="complaints"] .reference-complaints #formCard{padding:16px}
 .reference-complaint-form .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .reference-complaint-form .step-head{margin:18px 0 10px}
 .reference-complaint-form .notice{padding:12px;margin:14px 0!important;font-size:.76rem}
 .reference-complaint-form .file-drop{min-height:94px;padding:12px}
 .reference-complaint-form textarea{min-height:100px}
 body[data-page="complaints"] .reference-complaints .tracker{padding:16px}
 body[data-page="complaints"] .complaint-dashboard-column{gap:22px}
 #public-status .reference-kpis .kpi{padding:12px}
 #public-status .reference-kpis .lbl{min-height:0;line-height:1.65}
 #public-status .ward-chart{padding:12px;margin:18px 0}
 #public-status .cmp-table tr{padding:14px;gap:8px;margin-bottom:10px}
}
