/* v5.6 usability, responsive, SMTP, and role-permission update */
.v54-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfcff}
.v54-tabs{display:flex;gap:6px;flex-wrap:wrap}.v54-tab{border:1px solid #b7c4d4;background:#fff;color:#34475c;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer}.v54-tab.active{background:#174ea6;color:#fff;border-color:#174ea6}
.v54-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.v54-pager select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fff}.v54-pager span{font-size:12px;color:var(--muted)}
.v54-detail-row td{padding:0!important;background:#f7faff}.v54-inline-detail{padding:16px 20px;border-left:4px solid #2f6bff}.v54-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.v54-detail-head>div:first-child{min-width:0}.v56-detail-note{display:block;margin-top:4px;color:#46617a;font-size:11px;line-height:1.45}.v54-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.v54-meta{border:1px solid #d9e2ee;background:#fff;border-radius:9px;padding:9px}.v54-meta small{display:block;color:#68798c;margin-bottom:4px}.v54-meta b{font-size:12px}.v54-task-list{display:flex;flex-direction:column;gap:7px}.v54-task{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(72px,.5fr) 74px minmax(340px,2fr);gap:10px;align-items:center;border-top:1px solid #e4eaf2;padding-top:7px}.v54-task-owner{font-size:12px;word-break:keep-all}.v54-task.finished{order:2;opacity:.8}.v54-task .status-buttons{justify-content:flex-end}.v56-task-state{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 7px;border-radius:8px;font-size:11px;font-weight:900;white-space:nowrap}.v56-task-state.not-started{background:#edf1f5;color:#5c6977}.v56-task-state.working{background:#fff0bd;color:#875600}.v56-task-state.review{background:#dce9ff;color:#174ea6}.v56-task-state.revising{background:#ffe1c1;color:#9c4d00}.v56-task-state.complete{background:#ccefdc;color:#006b42}.v56-task-state.na{background:#dde3ea;color:#455466}
.report-line{grid-template-columns:minmax(220px,2fr) repeat(10,minmax(64px,.62fr)) minmax(105px,.9fr)!important;min-width:1160px!important}.report-state{font-weight:850;border-radius:8px;padding:8px 4px}.v56-report-state{display:flex;min-height:51px;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:1px solid transparent}.v56-report-state b{font-size:10px;line-height:1.1}.v56-report-state small{font-size:9px;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v56-report-state.not-started{background:#edf1f5;border-color:#d4dce5;color:#5c6977}.v56-report-state.working{background:#fff0bd;border-color:#efca58;color:#875600}.v56-report-state.review{background:#dce9ff;border-color:#91b7ff;color:#174ea6}.v56-report-state.revising{background:#ffe1c1;border-color:#f3af62;color:#9c4d00}.v56-report-state.complete{background:#ccefdc;border-color:#75c79b;color:#006b42}.v56-report-state.na{background:#dde3ea;border-color:#bdc8d3;color:#455466}.report-state i{width:11px!important;height:11px!important;border:2px solid currentColor}
.my-project-head{cursor:pointer;user-select:none}.my-project-head:focus-visible{outline:3px solid #8bb3ff;outline-offset:2px}.my-project-group:not(.v54-expanded) .my-task-line{display:none}.my-project-head::after{content:'펼치기';font-size:11px;color:#174ea6;margin-left:8px}.my-project-group.v54-expanded .my-project-head::after{content:'접기'}
#mywork.view.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}#mywork>.section{margin-top:0!important;min-width:0}#managementWork .table-wrap{max-height:620px}
.my-task-line{grid-template-columns:minmax(160px,1fr) 82px 78px 105px minmax(315px,auto)!important}.my-task-line .v56-task-state{justify-self:start}
.quote-layout{align-items:start}.quote-summary{position:sticky!important;top:76px!important;max-height:calc(100vh - 92px);overflow:auto!important}.radio-group{min-height:38px}.radio-card{min-height:38px!important;padding:7px 10px!important}.active-building-banner{position:sticky;top:0;z-index:4;background:#eef5ff}
.v54-copy-building{margin-left:6px}
/* A4 안에서 표를 실제로 채우고, 이미지·협회명은 원래 문서의 위치를 유지한다. */
.quote-paper{height:297mm!important;min-height:297mm!important;max-height:297mm!important;box-sizing:border-box!important;overflow:hidden!important;display:flex;flex-direction:column;justify-content:flex-start}.quote-paper:not(.cost-page) .paper-sign{margin-top:auto!important}.quote-paper.cost-page{display:block;position:relative}.cost-page .cost-table{height:224mm;table-layout:fixed}.cost-page .cost-table th,.cost-page .cost-table td{height:auto!important;padding:2.4px 3px!important;line-height:1.25}.cost-page .paper-brand{position:absolute!important;left:auto!important;right:16mm!important;bottom:9mm!important;margin:0!important;text-align:right!important;white-space:nowrap}
.paper-sign{display:grid!important;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:0!important;justify-content:initial!important;padding-left:0!important;min-height:106px}.paper-sign .quote-ci{grid-column:1;justify-self:start}.paper-sign .quote-representative{grid-column:2;justify-self:center;width:min(330px,100%)!important;max-width:100%;height:auto}
.binding-paper{height:297mm!important;min-height:297mm!important;max-height:297mm!important;box-sizing:border-box!important;overflow:hidden!important;display:block!important;padding-top:15mm!important}.binding-table th{width:auto!important}.binding-table col.binding-label-col{width:15%!important}
.v54-auth-actions{display:flex;gap:8px;justify-content:center;margin-top:10px}.v54-auth-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.v54-auth-panel[hidden]{display:none}.v54-auth-panel h3{margin:0 0 8px}.v54-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#526476}.v54-consent input{margin-top:2px}
.v54-pending{margin-bottom:14px;border:2px solid #f3b321}.v54-pending-list{display:flex;flex-direction:column}.v54-pending-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(90px,.5fr) auto;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}.v54-pending-row input,.v54-pending-row select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px}
.v54-deadline-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.v54-deadline-card{border:1px solid #d7e0eb;border-radius:11px;padding:12px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}.v54-deadline-card:hover,.v54-deadline-card:focus-visible{border-color:#2f6bff;box-shadow:0 0 0 3px #dce8ff;outline:0}.v54-deadline-card b{display:block;font-size:22px;margin-top:4px}.v54-deadline-card.urgent{border-color:#d93434;background:#fff2f2;color:#a61f1f}
.v54-alert-overlay{position:fixed;inset:0;background:rgba(21,31,44,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.v54-alert{width:min(680px,100%);max-height:80vh;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 24px 60px #0005}.v54-alert h2{margin:0;padding:18px 20px;border-bottom:1px solid var(--line)}.v54-alert-list{padding:8px 20px}.v54-alert-row{display:flex;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f4}.v54-alert-row strong{color:#b42318}.v54-alert-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 20px}.v54-alert-foot label{font-size:12px;color:#526476}
.v54-address-line{display:flex;gap:8px}.v54-address-line input{flex:1}
.v56-deadline-context{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 16px;padding:11px 12px;border:1px solid #88aef5;background:#eef5ff;border-radius:10px;color:#244b86}.v56-deadline-context b{display:block}.v56-deadline-context span{display:block;margin-top:3px;font-size:11px}.v56-workflow-editor{background:#fbfdff}.v56-workflow-owner-head,.v56-workflow-owner-row{display:grid;grid-template-columns:minmax(160px,1fr) 88px minmax(150px,.75fr);gap:10px;align-items:center}.v56-workflow-owner-head{padding:0 9px 7px;color:#627486;font-size:11px;font-weight:800}.v56-workflow-owner-row{padding:9px;border-top:1px solid #e4eaf2}.v56-workflow-owner-row small{display:block;margin-top:2px;color:#627486;font-size:11px}.v56-workflow-owner-row select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#fff}.v583-owner-checks{display:flex;flex-wrap:wrap;gap:6px}.v583-owner-checks label{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border:1px solid #cfd9e5;border-radius:8px;background:#fff;font-size:11px;cursor:pointer}.v583-owner-checks label:has(input:checked){border-color:#2f6bff;background:#edf4ff;color:#174ea6;font-weight:850}.v583-owner-checks input{width:16px;height:16px;margin:0;accent-color:#2f6bff}
#staff .permission-note{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:721px){#projects .table-wrap{overflow-x:hidden}#projects table{width:100%;table-layout:fixed;white-space:normal}#projects th,#projects td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:10px 7px;font-size:11px}#projects th:nth-child(1){width:22%}#projects th:nth-child(2){width:9%}#projects th:nth-child(3){width:9%}#projects th:nth-child(4){width:11%}#projects th:nth-child(5){width:10%}#projects th:nth-child(6){width:8%}#projects th:nth-child(7){width:8%}#projects th:nth-child(8){width:8%}#projects th:nth-child(9){width:7%}#projects th:nth-child(10){width:8%}#projects .actions{flex-wrap:wrap}#projects .v54-detail-row td{padding:0!important}.report-list{overflow-x:auto}.report-line{width:100%}}
@media(max-width:1180px){#mywork.view.active{grid-template-columns:1fr}.v54-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v54-task{grid-template-columns:1fr}.my-task-line{grid-template-columns:minmax(150px,1fr) 82px 78px 100px!important}.my-task-line .status-buttons{grid-column:1/-1}.quote-summary{position:static!important;max-height:none}.v54-pending-row{grid-template-columns:1fr 1fr}.v54-pending-row .header-actions{grid-column:1/-1}}
@media(max-width:720px){.section-head{align-items:flex-start}.v54-deadline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v54-meta-grid{grid-template-columns:1fr 1fr}.v54-inline-detail{padding:12px}.report-list{overflow-x:auto}.report-line{min-width:1160px!important}.status-choice{min-height:36px}.v54-pending-row{grid-template-columns:1fr}.v54-pending-row .header-actions{grid-column:auto}.quote-summary{display:block}.quote-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}.v54-alert-foot{align-items:flex-start;gap:10px}.v54-alert-row{flex-direction:column;gap:4px}.v56-deadline-context{margin:10px 0;align-items:flex-start;flex-direction:column}.v56-workflow-owner-head{display:none}.v56-workflow-owner-row{grid-template-columns:1fr}.v56-workflow-owner-row select,.v56-workflow-owner-row .v583-owner-checks{grid-column:1/-1}.my-task-line{grid-template-columns:1fr!important}.my-task-line .status-buttons{grid-column:auto}#staff .permission-note{grid-template-columns:1fr}}
@media print{.quote-paper,.cost-page,.binding-paper{height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;page-break-after:always;break-after:page;overflow:hidden}.quote-paper:last-child,.binding-paper:last-child{page-break-after:auto}.cost-page .paper-brand{position:absolute!important;right:16mm!important;left:auto!important;bottom:9mm!important;text-align:right!important}.cost-page .cost-table th,.cost-page .cost-table td{font-size:7.5px!important;padding:2px!important}}
.v55-pdf-holder{position:fixed;left:-12000px;top:0;width:210mm;background:#fff;z-index:-1}
.v55-pdf-source{width:210mm;background:#fff}
.v55-pdf-source .quote-paper{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;padding:17mm 16mm 14mm!important;overflow:hidden!important;box-shadow:none!important;transform:none!important;page-break-after:always!important}
.v55-pdf-source .quote-paper.compact{padding:13mm 14mm 10mm!important}
.v55-pdf-source .quote-paper:last-child{page-break-after:auto!important}

/* v5.7 견적 입력 순서·수량·A4 출력 보정 */
.quote-flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:10px 12px;border:1px solid #d8e5f7;border-radius:10px;background:#f8fbff;color:#48617b;font-size:11px;font-weight:800}.quote-flow-steps span{display:inline-flex;align-items:center;gap:5px}.quote-flow-steps b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dce9ff;color:#174ea6;font-size:10px}.quote-flow-steps i{font-style:normal;color:#90a4b8}
.amount-basis{display:flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.amount-basis-option{display:flex;flex:1;align-items:center;justify-content:space-between;gap:7px;min-height:36px;padding:0 10px;color:#536679;font-size:12px;cursor:pointer;white-space:nowrap}.amount-basis-option+.amount-basis-option{border-left:1px solid var(--line)}.amount-basis-option:has(input:checked){background:var(--blue2);color:#244fa9;font-weight:850}.amount-basis-option input[type="radio"]{flex:0 0 auto;width:15px!important;height:15px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:var(--blue)}
.quote-one-time-inputs{margin:12px 0 16px}.quote-table .building-quantity{width:78px!important;text-align:center}.quote-step-head{padding-left:0!important;padding-right:0!important}.v57-cover-total{background:#edf7f1!important;color:#126b45!important}.v57-quantity-note{background:#f4f8ff!important;color:#48617b!important}
.quote-paper.quote-cover .paper-sign{margin-top:6mm!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:122px!important}.quote-paper.quote-cover .paper-sign .quote-ci{width:108px!important;height:118px!important}.quote-paper.quote-cover .paper-sign .quote-representative{width:min(360px,100%)!important}.quote-paper.quote-cover .cover-detail-table{height:95mm;table-layout:fixed}.quote-paper.quote-cover .cover-detail-table th{height:9mm}.quote-paper.quote-cover .cover-detail-table tbody tr{height:6.4mm}.quote-paper.quote-cover .cover-detail-table tbody tr:last-child{height:7mm}.quote-paper.quote-cover .condition-box{margin-top:9px;padding:8px 10px;line-height:1.65}
.cost-page .cost-table{height:232mm!important}.cost-page .cost-table th,.cost-page .cost-table td{padding:2.6px 3px!important}.cost-page .cost-table td{vertical-align:middle}.cost-page .cost-table td[colspan="5"]{text-align:left}.cost-page .cost-table tr:has(.section-label){font-weight:600}
@media(max-width:720px){.quote-flow-steps{gap:6px}.quote-flow-steps i{display:none}.quote-flow-steps span{width:calc(50% - 4px)}.amount-basis{flex-direction:column;height:auto;align-items:stretch}.amount-basis-option{min-height:36px}.amount-basis-option+.amount-basis-option{border-left:0;border-top:1px solid var(--line)}}
@media print{.quote-paper.quote-cover .paper-sign{margin-top:6mm!important}.quote-paper.quote-cover .cover-detail-table{height:95mm!important}.cost-page .cost-table{height:232mm!important}}

/* v5.8 견적 산정·출력 마감 보정 */
.amount-basis-option{justify-content:center!important;gap:9px!important;padding:0 12px!important;font-size:13px!important;line-height:1!important}.amount-basis-option input[type="radio"]{order:-1;width:18px!important;height:18px!important}.amount-basis-option:has(input:checked){box-shadow:inset 0 0 0 1px #2f6bff}
.quote-paper.quote-cover .paper-sign{margin-top:3mm!important;grid-template-columns:118px minmax(0,1fr)!important;min-height:126px!important}.quote-paper.quote-cover .paper-sign .quote-ci{width:114px!important;height:124px!important}.quote-paper.quote-cover .paper-sign .quote-representative{width:min(372px,100%)!important}.quote-paper.quote-cover .cover-detail-table{height:102mm!important}.quote-paper.quote-cover .cover-detail-table tbody tr{height:6.25mm!important}.quote-paper.quote-cover .cover-detail-table tbody tr:last-child{height:7mm!important}
.cost-page .cost-table tr.cost-extra-row td{height:8.4mm!important;box-sizing:border-box}.cost-page .cost-table tr.cost-extra-row td:first-child{vertical-align:middle!important}.v58-shortage-note{background:#fff1f1!important;color:#9d1b1b!important;border:1px solid #f1abab!important}
@media print{.quote-paper.quote-cover .paper-sign{margin-top:3mm!important}.quote-paper.quote-cover .cover-detail-table{height:102mm!important}.cost-page .cost-table tr.cost-extra-row td{height:8.4mm!important}}

/* v5.8.1 갑지는 두 번째 승인 시안처럼 조건란 바로 아래에 CI·대표자 이미지를 크게 붙인다. */
.quote-paper.quote-cover .cover-detail-table{height:104mm!important}.quote-paper.quote-cover .condition-box{margin-top:6px!important}.quote-paper.quote-cover .paper-sign{margin-top:2mm!important;grid-template-columns:140px minmax(0,1fr)!important;min-height:140px!important}.quote-paper.quote-cover .paper-sign .quote-ci{width:130px!important;height:141px!important}.quote-paper.quote-cover .paper-sign .quote-representative{width:min(500px,100%)!important}
.quote-paper.quote-cover.compact .paper-sign{grid-template-columns:120px minmax(0,1fr)!important;min-height:124px!important}.quote-paper.quote-cover.compact .paper-sign .quote-ci{width:112px!important;height:122px!important}.quote-paper.quote-cover.compact .paper-sign .quote-representative{width:min(430px,100%)!important}
@media print{.quote-paper.quote-cover .cover-detail-table{height:104mm!important}.quote-paper.quote-cover .condition-box{margin-top:6px!important}.quote-paper.quote-cover .paper-sign{margin-top:2mm!important}}

/* v5.8.2 입력 금액 기준: 일반 label 규칙의 여백을 차단하고, 각 선택칸의 정중앙에 원과 문구를 한 줄로 둔다. */
.amount-basis{height:38px!important;min-height:38px!important}.amount-basis>.amount-basis-option{display:flex!important;flex:1 1 50%!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 12px!important;box-sizing:border-box!important;font-size:13px!important;line-height:18px!important}.amount-basis>.amount-basis-option>span{display:block!important;margin:0!important;padding:0!important;line-height:18px!important}.amount-basis>.amount-basis-option>input[type="radio"]{order:0!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;transform:none!important}
@media(max-width:720px){.amount-basis{height:auto!important;min-height:0!important}.amount-basis>.amount-basis-option{height:38px!important;min-height:38px!important}}
