@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;700&display=swap');*{box-sizing:border-box}body{margin:0;background:#f6f7f9;color:#252a32;font:16px/1.8 'Noto Sans KR',sans-serif}button,input,select{font:inherit}header{background:#fff;border-bottom:1px solid #ddd;padding:20px 5%;display:flex;justify-content:space-between;align-items:center}h1{font-size:26px;margin:0}main{margin:30px auto;width:90%;max-width:1400px}.login{max-width:440px;margin:12vh auto;background:#fff;padding:36px;border-radius:12px;box-shadow:0 10px 35px #3331}.login label{display:block;margin:18px 0}input,select{padding:10px;border:1px solid #ccd2da;border-radius:6px}.login input{display:block;width:100%;margin-top:7px}button{background:#e60012;color:#fff;border:0;border-radius:6px;padding:10px 18px;cursor:pointer}.login button{width:100%;margin-top:10px}nav{display:flex;gap:10px;flex-wrap:wrap}a{color:#b90010;text-decoration:none}nav a{padding:10px 16px;border:1px solid #ddd;background:#fff;border-radius:6px}.table-wrap{overflow:auto;background:#fff;border:1px solid #ddd}table{border-collapse:collapse;width:100%;min-width:900px}th,td{border-bottom:1px solid #ddd;padding:16px;text-align:left;vertical-align:top}th{background:#f0f2f5}.message{white-space:pre-wrap;min-width:200px;max-width:420px;overflow-wrap:anywhere}td form{display:flex;gap:7px}p{color:#647080;font-size:14px}@media(max-width:650px){header{padding:15px}h1{font-size:20px}.login{width:92%;padding:24px}main{width:94%}}
.brand{font-size:14px;font-weight:700;color:#b92337}.admin-tabs{margin-bottom:28px}.admin-tabs a[aria-current=page]{background:#ae2437;color:#fff;border-color:#ae2437}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.section-heading h2{margin:0;font-size:24px}.section-heading p{margin:5px 0}.readiness{background:#fff0d7;color:#855308;border:1px solid #eedab5;padding:6px 12px;border-radius:6px;font-size:13px;white-space:nowrap}.readiness.ready{background:#eaf6ef;color:#276b43;border-color:#c6e4d3}td small{display:block;color:#667180;font-size:12px;line-height:1.6;margin-top:6px;overflow-wrap:anywhere}.leads-table{min-width:1150px}.quote-cell{min-width:300px;max-width:430px}.quote-items{padding-left:18px;margin:10px 0;font-size:13px;line-height:1.7}.quote-details{margin-top:12px;padding:12px;background:#fafbfc;border:1px solid #e0e5ea;border-radius:8px}.quote-details summary{cursor:pointer;color:#a62637;font-size:14px;font-weight:600}.quote-details dl{margin:14px 0;font-size:13px}.quote-details dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0}.quote-details dd{margin:0;white-space:nowrap}.quote-schedule{overflow:auto}.quote-schedule table{min-width:330px;font-size:12px}.quote-schedule th,.quote-schedule td{padding:8px}.warning,.notice{color:#94571c;background:#fff7e8;border:1px solid #efdfc2;padding:12px;border-radius:8px}.notice{margin:20px 0}.conflict{background:#fff5f5}.status-label{font-size:13px;color:#ae2437}.empty{text-align:center;padding:45px;color:#76808d}@media(max-width:650px){.section-heading{display:block}.readiness{display:inline-block;margin-top:10px}.section-heading h2{font-size:22px}.admin-tabs a{flex:1;text-align:center}header button{padding:8px 12px;font-size:13px}}
.setup{max-width:520px;margin:5vh auto}.setup h1{margin-top:8px}.setup-note{font-size:12px;line-height:1.7}.setup button[disabled]{background:#a3a8b0;cursor:default}
@media(max-width:650px){
 input:not([type=hidden]),select{font-size:16px;min-height:44px}
 button,header button{min-height:44px;font-size:16px}
 nav a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px}
 header button{font-size:14px;padding:10px 12px}
 .lead-list{overflow:visible;background:transparent;border:0}
 .lead-list>.leads-table{display:block;min-width:0;width:100%}
 .leads-table>thead{display:none}
 .leads-table>tbody{display:block;width:100%}
 .leads-table>tbody>tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;margin-bottom:14px;padding:16px;background:#fff;border:1px solid #dfe3e8;border-radius:12px;box-shadow:0 4px 16px #252a3206}
 .leads-table>tbody>tr>td{display:block;min-width:0;max-width:none;padding:9px 0;border:0;font-size:15px;overflow-wrap:anywhere}
 .leads-table>tbody>tr>td[data-label]::before{content:attr(data-label);display:block;margin-bottom:4px;color:#75808d;font-size:12px;font-weight:600;line-height:1.5}
 .leads-table>tbody>tr>.lead-date,.leads-table>tbody>tr>.lead-phone,.leads-table>tbody>tr>.quote-cell,.leads-table>tbody>tr>.message,.leads-table>tbody>tr>.lead-status,.leads-table>tbody>tr>.empty{grid-column:1/-1}
 .leads-table>tbody>tr>.lead-date{padding-top:0;padding-bottom:12px;border-bottom:1px solid #edf0f3;font-size:14px}
 .leads-table>tbody>tr>.lead-date small{font-size:11px}
 .leads-table>tbody>tr>.lead-phone a{display:inline-flex;align-items:center;min-height:44px;margin-top:-8px;font-size:14px;font-weight:600}
 .leads-table>tbody>tr>.quote-cell{padding-top:12px;border-top:1px solid #edf0f3}
 .leads-table>tbody>tr>.message{min-width:0;white-space:pre-wrap}
 .leads-table>tbody>tr>.lead-status{padding-top:14px;border-top:1px solid #edf0f3}
 .lead-status form{display:flex;gap:8px;width:100%}
 .lead-status select{flex:1;min-width:0;width:100%;background:#fff}
 .lead-status button{flex:0 0 74px;padding:8px 12px}
 .quote-details{max-width:100%;padding:10px}
 .quote-details summary{display:flex;align-items:center;min-height:44px}
 .quote-items{font-size:14px}
 .quote-schedule{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .quote-schedule table{min-width:330px}
 .quote-details dl>div{flex-wrap:wrap}
}

.retry-link{display:block;padding:12px 18px;margin-top:24px;min-height:48px;background:#e60012;color:#fff;border-radius:6px;text-align:center;font-weight:700}
.lead-status button{white-space:nowrap;flex-shrink:0}.lead-phone a{white-space:nowrap}

.review-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;background:#6d28d9;color:#fff;border:1px solid #6d28d9;border-radius:8px;font-weight:700;white-space:nowrap}.review-action-secondary{background:#fff;color:#6d28d9}.review-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-admin-card,.public-review-card,.public-review-detail{padding:22px;background:#fff;border:1px solid #dfe3e8;border-radius:12px;min-width:0;overflow-wrap:anywhere}.review-admin-card h3,.public-review-card h2,.public-review-card h3{margin:10px 0;font-size:21px;line-height:1.5}.review-meta{display:flex;gap:12px;flex-wrap:wrap;color:#647080;font-size:13px;line-height:1.6}.review-card-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px}.review-editor{padding:26px;background:#fff;border:1px solid #dfe3e8;border-radius:12px;max-width:960px}.review-editor>label{display:block;font-weight:700;margin-bottom:24px}.review-editor>label>input:not([type=checkbox]),.review-editor select,.review-editor textarea{display:block;width:100%;margin-top:8px;max-width:100%;font:inherit}.review-editor textarea{padding:12px;border:1px solid #ccd2da;border-radius:6px;resize:vertical;min-height:200px;line-height:1.8}.review-editor small{display:block;margin-top:6px;font-size:13px;line-height:1.6;font-weight:400;color:#647080}.review-group-selection{margin:0 0 24px;padding:18px;border:1px solid #ccd2da;border-radius:8px}.review-group-selection legend{font-weight:700}.review-group-selection>p{margin-top:0}.review-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-group-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e1e4e9;border-radius:8px;cursor:pointer;min-width:0}.review-group-option input,.review-publish-option input{accent-color:#6d28d9;width:20px;height:20px;min-height:20px!important;flex:0 0 20px;margin-top:4px}.review-group-option span{min-width:0;overflow-wrap:anywhere}.review-editor>.review-publish-option{display:flex;gap:10px;align-items:flex-start;font-weight:600}.review-editor button[disabled]{background:#a3a8b0;cursor:default}.public-reviews-page{background:#f8fafc}.public-reviews-header{gap:20px;flex-wrap:wrap}.public-review-brand{color:#0055d4;font-size:26px;font-weight:800;white-space:nowrap}.public-review-brand span{margin-left:4px;font-size:16px;padding:4px 8px;border-radius:6px;background:#0055d4;color:#fff}.public-reviews-header nav a{font-size:14px;min-height:44px}.public-reviews-header nav a[aria-current=page]{border-color:#e60012;color:#e60012}.public-reviews-main{max-width:1000px;min-height:60vh}.public-review-list{display:grid;gap:16px}.public-review-card a{color:#20242b}.review-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:#fff;border:1px solid #dfe3e8;border-radius:8px}.review-source{font-size:14px}.review-excerpt{font-size:16px;line-height:1.8;white-space:pre-line}.review-shared-note{font-size:13px;color:#647080}.public-review-detail{margin-top:22px;padding:30px}.public-review-detail h1{margin:16px 0;font-size:30px;line-height:1.5;overflow-wrap:anywhere}.review-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.9;color:#252a32;margin-top:26px;border-top:1px solid #edf0f3;padding-top:26px}.review-related-products{margin-top:30px}.review-related-products h2{font-size:22px}.review-related-links{display:flex;gap:10px;flex-wrap:wrap}.review-related-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;background:#fff;border:1px solid #dfe3e8;border-radius:6px;color:#2450e4;overflow-wrap:anywhere}.review-pagination{margin-top:26px;display:flex;align-items:center;justify-content:center}.public-review-footer{display:flex;gap:20px;flex-wrap:wrap;padding:25px 5%;background:#fff;border-top:1px solid #dfe3e8;font-size:14px}.public-review-footer a{color:#475569}.review-empty{padding:20px;background:#f8fafc;border:1px solid #e3e6ec;border-radius:10px;color:#647080}
@media(max-width:650px){.review-admin-list,.review-group-grid{grid-template-columns:minmax(0,1fr)}.review-editor{padding:18px}.review-group-selection{padding:12px}.review-admin-card,.public-review-card{padding:18px}.public-reviews-header{padding:14px;gap:14px}.public-reviews-header nav{width:100%;gap:6px}.public-reviews-header nav a{padding:8px 10px;flex:1;white-space:nowrap}.public-review-brand{font-size:24px}.public-review-detail{padding:20px}.public-review-detail h1{font-size:25px}.review-body{font-size:16px}.review-filter select{flex:1;min-width:0}.review-filter label{width:100%}.review-related-links a{width:100%}.review-card-actions{gap:12px}.public-review-footer{padding:22px 4%;gap:14px}}

.review-back-link{display:inline-flex;align-items:center;min-height:44px}.public-reviews-main>.section-heading .review-action{flex-shrink:0}.review-submission-note{padding:14px 18px;margin:18px 0;background:#f0eaff;border:1px solid #e1d5fb;border-radius:10px}.review-submission-note p{margin:0;color:#514267;font-size:14px}.review-submission-note .review-limit-status{margin-top:7px;font-weight:600;color:#51308a}.public-review-editor{max-width:760px}.public-review-editor label{line-height:1.7}.public-review-editor input,.public-review-editor select,.public-review-editor textarea{min-width:0;background:#fff;font-size:16px}.public-review-editor textarea{min-height:210px}.review-required,.review-optional{margin-left:5px;font-size:12px;font-weight:600;color:#6d28d9}.review-optional{color:#647080}.public-review-editor .review-content-count{text-align:right;margin-top:4px}.public-review-editor input[type=file]{padding:12px 10px;font-size:14px;font-weight:400;line-height:1.7;min-height:48px}.public-review-editor input[type=file]::file-selector-button{margin-right:10px;border:1px solid #ccd2da;border-radius:5px;background:#f8fafc;padding:8px 12px;color:#252a32;font:inherit;cursor:pointer}.public-review-editor #review-photo-status{overflow-wrap:anywhere}.public-review-editor .review-photo-error{color:#b90010;font-weight:600}.public-review-editor>.review-consent{margin-top:6px;padding:16px;background:#f8fafc;border-radius:8px;font-weight:400;line-height:1.8}.public-review-editor .review-submit-button{min-height:48px;background:#6d28d9;padding:12px 22px;font-weight:700}.public-review-editor .review-submit-button:disabled{background:#8b909a;cursor:default}.public-reviews-page a:focus-visible,.public-reviews-page button:focus-visible,.review-editor input:focus-visible,.review-editor select:focus-visible,.review-editor textarea:focus-visible{outline:3px solid #6d28d9;outline-offset:3px}.review-submitted{max-width:660px;margin:65px auto;padding:40px 30px;background:#fff;border:1px solid #dfe3e8;border-radius:14px;text-align:center}.review-success-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;border-radius:50%;color:#6d28d9;background:#f0eaff;font-size:30px;font-weight:700}.review-submitted h1{font-size:27px}.review-submitted p{font-size:16px;line-height:1.8}.review-submitted .review-card-actions{justify-content:center}.review-pending-badge{color:#68430c;background:#fff3d7;padding:4px 8px;border-radius:5px;font-weight:600}.review-origin-label{color:#51308a;font-weight:600;margin:0 0 24px}.review-admin-photos{margin-bottom:24px}.review-admin-photos h3{margin:0;font-size:18px}.review-admin-photos .review-photos{margin:12px 0}
@media(max-width:650px){.public-reviews-main>.section-heading .review-action{width:100%;margin-top:14px}.public-review-editor{padding:18px 16px}.public-review-editor>label{margin-bottom:22px}.public-review-editor .review-card-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.public-review-editor .review-card-actions>a{display:flex;justify-content:center;align-items:center;min-height:44px}.public-review-editor .review-consent{padding:12px}.review-submission-note{padding:12px 14px}.review-submitted{margin:32px auto;padding:30px 18px}.review-submitted h1{font-size:23px}.review-submitted .review-card-actions{flex-direction:column}.review-submitted .review-action{width:100%}.review-submitted .review-card-actions>a{min-height:44px}}
/* Compact product-family picker used only by the administrator review editor. */
.review-group-selection[data-review-group-picker] .review-group-search{display:flex;align-items:flex-end;gap:12px;margin:14px 0 8px}
.review-group-selection[data-review-group-picker] .review-group-search label{flex:1;min-width:0;font-weight:700}
.review-group-selection[data-review-group-picker] .review-group-search input{display:block;width:100%;min-width:0;min-height:46px;margin-top:6px;background:#fff}
.review-group-selection[data-review-group-picker] .review-group-search button{min-height:46px;background:#f0eaff;color:#51308a;border:1px solid #d8c9f4;white-space:nowrap;font-weight:600}
.review-group-selection[data-review-group-picker] .review-group-status{margin:8px 0 12px;color:#51308a;font-weight:600}
.review-group-selection[data-review-group-picker] .review-group-grid{max-height:300px;overflow-y:scroll;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:4px 8px 4px 4px;scrollbar-width:thin;scrollbar-color:#a5adba #edf0f5}
.review-group-selection[data-review-group-picker] .review-group-option[hidden],.review-group-selection[data-review-group-picker] .review-group-empty[hidden]{display:none!important}
.review-group-selection[data-review-group-picker] .review-group-grid::-webkit-scrollbar{width:8px}
.review-group-selection[data-review-group-picker] .review-group-grid::-webkit-scrollbar-track{background:#edf0f5;border-radius:8px}
.review-group-selection[data-review-group-picker] .review-group-grid::-webkit-scrollbar-thumb{background:#a5adba;border-radius:8px}
.review-group-selection[data-review-group-picker] .review-group-empty{padding:14px;background:#f8fafc;border-radius:8px}
.review-group-selection[data-review-group-picker] .review-group-grid:focus-visible,.review-group-selection[data-review-group-picker] button:focus-visible{outline:3px solid #6d28d9;outline-offset:3px}
@media(max-width:650px){.review-group-selection[data-review-group-picker] .review-group-grid{max-height:260px}.review-group-selection[data-review-group-picker] .review-group-search{flex-wrap:wrap}.review-group-selection[data-review-group-picker] .review-group-search label{flex-basis:100%}.review-group-selection[data-review-group-picker] .review-group-search button{padding:8px 12px}}
