.wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:18px 0}.wizard-step{font-size:12px;padding:11px 7px;min-height:44px;white-space:normal;border:1px solid #cfdded;border-radius:9px;background:#edf3fa;color:#365b7b;line-height:1.4}.wizard-step[aria-current=step]{background:#072b60;border-color:#072b60;color:#fff;font-weight:700}.wizard-heading{font-size:18px;scroll-margin-top:15px;outline:none}.wizard-panel[hidden]{display:none!important}.wizard-panel{min-width:0}.wizard-panel label{max-width:100%}.wizard-footer{border-top:1px solid #d9e4f0;margin-top:20px;padding-top:15px;flex-wrap:wrap}.wizard-footer [hidden]{display:none!important}.wizard-review dt{font-weight:700;color:#355875;margin-top:14px}.wizard-review dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.wizard-review-context{padding:14px;background:#edf5ff;border-radius:10px;overflow-wrap:anywhere}.wizard-review-photos{display:flex;flex-wrap:wrap;gap:10px}.wizard-review-photos img{width:120px;height:100px;object-fit:contain;border:1px solid #d9e4ef;border-radius:8px;background:#fff}.wizard-panel .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-mode{display:flex;gap:18px;flex-wrap:wrap;padding:13px;border:1px solid #d5e2f0;border-radius:10px;margin:16px 0}.report-mode legend{font-weight:700;color:#123a67}.report-mode label{display:flex;align-items:center;gap:8px}.report-mode input{width:auto}.report-selection-summary{padding:14px;background:#edf5ff;border:1px solid #d3e1f0;border-radius:10px;line-height:1.7}.report-results-table{width:100%;border-collapse:collapse;font-size:13px}.report-results-table th,.report-results-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #d9e3ef;overflow-wrap:anywhere}.report-results-table th{background:#edf4fc;color:#0b376b}.password-control{display:flex;align-items:center;gap:8px;margin-top:7px}.password-control input{flex:1;min-width:0;margin:0!important}.password-control .password-toggle{flex:0 0 110px;font-size:12px;padding:10px;min-height:44px;white-space:normal}.portal-page{background:#f3f7fc}.portal-page>header{padding:15px 20px}.portal-page .brand .logo{width:44px;height:44px;object-fit:contain}.portal-page main{max-width:920px;margin:auto;padding:22px 20px}.portal-page h1{font-size:27px;margin:0}.portal-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portal-toolbar #portalRefresh{flex-shrink:0}.portal-page #portalStatus{font-size:12px;line-height:1.5;margin:7px 0 0;color:#546d8a}.portal-page #portalContent{margin-top:16px}.portal-customer{border:1px solid #d5e3f1;border-radius:12px;background:#edf5ff;padding:14px 18px;margin-bottom:18px}.portal-customer h2{margin:0 0 4px;font-size:18px}.portal-customer p{margin:4px 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.portal-quote-pending{border-top:4px solid #67c928!important}.portal-quote-pending h2{font-size:21px;margin:8px 0}.portal-quote-total{display:block;font-size:27px;color:#082f65;margin:12px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.portal-quote-actions{margin:16px 0;display:flex;gap:10px;flex-wrap:wrap}.portal-quote-actions button{min-height:46px}.portal-previous{margin:20px 0;border:1px solid #d5e2ef;background:#fff;padding:14px;border-radius:12px}.portal-previous>summary{cursor:pointer;font-weight:700;color:#153e6c;min-height:32px}.portal-quote-history{margin-top:18px;border-top:1px solid #e1e8f2;padding-top:14px}.portal-page .ops-note{line-height:1.6}.portal-page .portal-section-title{margin-top:27px;font-size:20px}.portal-expired{background:#fff2dc;color:#805216;padding:9px;border-radius:8px}.portal-empty{padding:20px;background:#fff;border-radius:12px;border:1px solid #dae4ef}.portal-page footer{padding:20px;font-size:12px}.portal-page .panel{min-width:0}
@media(max-width:600px){.wizard-progress{gap:4px}.wizard-step{font-size:11px;padding:9px 4px}.wizard-heading{font-size:17px}.wizard-panel .profile-grid{grid-template-columns:1fr}.wizard-footer{gap:8px}.wizard-footer button{font-size:13px;padding:11px;min-height:44px}.wizard-review dd{font-size:14px}.password-control{gap:6px}.password-control .password-toggle{flex-basis:91px;font-size:11px}.report-results-table{table-layout:fixed;font-size:12px}.report-results-table th,.report-results-table td{padding:8px 5px}.portal-page main{padding:17px 14px}.portal-page>header{padding:12px 14px}.portal-page h1{font-size:22px}.portal-toolbar{gap:8px}.portal-toolbar #portalRefresh{font-size:12px;padding:10px}.portal-customer{padding:12px;margin-bottom:12px}.portal-customer h2{font-size:16px}.portal-page .panel{padding:16px;margin:14px 0}.portal-quote-pending h2{font-size:19px}.portal-quote-total{font-size:25px}.portal-quote-actions{gap:8px;margin:12px 0}.portal-quote-actions button{flex:1;font-size:13px;padding:11px}.portal-page .ops-note{font-size:13px}.portal-previous{padding:12px}}
.wizard-footer{position:sticky;bottom:-24px;background:#fff;z-index:3;box-shadow:0 -8px 12px #fff;padding-bottom:12px}.wizard-panel .completion-warning{margin-bottom:18px}.portal-toolbar>div{min-width:0}#clientReportDialog{width:min(94vw,760px);max-height:90dvh;overflow:auto}
@media(max-width:600px){#workshopModal,#completionModal{padding:18px 14px;border-radius:16px;width:calc(100vw - 20px);max-height:92dvh}.wizard-footer{bottom:-18px;gap:7px}.wizard-footer .secondary,.wizard-footer .primary{flex:1 1 auto}}
/* Keep report preview in the dialog's single scroll area. */
#clientReportResults{max-height:none;overflow:visible}#clientReportDialog #downloadClientReport{position:sticky;bottom:-24px;z-index:2;box-shadow:0 -7px 12px #fff;margin-top:14px}#clientReportDialog .report-results-table caption{font-size:13px;font-weight:650;color:#355875;padding:10px 0;text-align:left}
