.loan-capacity-root,.land-tax-root{display:grid;gap:14px}.loan-capacity-layout,.land-tax-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:14px;align-items:start}.loan-capacity-inputs,.land-tax-inputs{display:grid;gap:12px}.loan-capacity-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.loan-card,.land-tax-card{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(17,24,39,.04);overflow:hidden}.loan-card-wide{grid-column:1/-1}.loan-card-head,.land-tax-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;background:#f5fafb;border-bottom:1px solid #e3ebef}.loan-card-head h3,.land-tax-card-head h3{margin:0;font-size:16px;color:#18464c}.loan-card-head span,.land-tax-card-head span{font-size:12px;color:#667085;font-weight:800}.loan-table-wrap{overflow:auto}.loan-table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px;table-layout:fixed}.loan-table th,.loan-table td{padding:8px;border-bottom:1px solid #e6edf1;white-space:normal;vertical-align:middle}.loan-table th{position:static;background:#f3f6f7}.loan-table th:nth-child(1),.loan-table td:nth-child(1){width:30%}.loan-table th:nth-child(2),.loan-table td:nth-child(2){width:15%}.loan-table th:nth-child(3),.loan-table td:nth-child(3){width:12%}.loan-table th:nth-child(4),.loan-table td:nth-child(4){width:12%}.loan-table th:nth-child(5),.loan-table td:nth-child(5){width:15%}.loan-table th:nth-child(6),.loan-table td:nth-child(6){width:16%}.loan-name-input{min-width:0}.loan-input{min-height:36px;padding:7px 9px}.loan-editable-input,.capacity-field input{background:#f1faee;border-color:#b7dfc1}.loan-fixed-input{background:#f7f9fb!important;border-color:#d4dde3!important;color:#475467}.loan-result-cell{font-weight:900;text-align:right;color:#17373a;white-space:nowrap}.capacity-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.capacity-field label{font-size:13px}.capacity-input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.capacity-input-with-unit span{font-size:12px;color:#667085;font-weight:800;white-space:nowrap}.capacity-subtotal{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:10px 12px;border-top:1px dashed #d8e4e8;background:#fbfdfe}.capacity-subtotal span{color:#667085;font-size:12px;font-weight:800}.capacity-subtotal strong{font-size:13px;text-align:right;color:#18464c}.loan-action-row,.land-tax-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.result-capacity-card,.land-tax-result{position:sticky;top:12px}.capacity-result-main,.land-tax-result-main{display:grid;gap:12px;padding:14px;border-bottom:1px solid #e3ebef}.capacity-result-main small,.land-tax-result-main small{display:block;color:#667085;font-weight:900}.capacity-result-main strong,.land-tax-result-main strong{font-size:44px;line-height:1;color:#d64045}.capacity-result-main span,.land-tax-result-main span{color:#667085;font-weight:800}.capacity-status,.land-tax-status{display:inline-flex;justify-content:center;align-items:center;min-height:42px;border-radius:8px;font-size:18px;font-weight:900}.capacity-status-ok,.land-tax-status-ok{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.capacity-status-warn,.land-tax-status-warn{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.capacity-status-neutral,.land-tax-status{background:#f3f6f7;color:#5d6b75;border:1px solid #d7dde1}.capacity-kpi-grid,.land-tax-kpi-grid{display:grid;gap:8px;padding:12px}.capacity-kpi-grid div,.land-tax-kpi-grid div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f5}.capacity-kpi-grid div:last-child,.land-tax-kpi-grid div:last-child{border-bottom:0}.capacity-kpi-grid span,.land-tax-kpi-grid span{font-size:12px;color:#667085;font-weight:800}.capacity-kpi-grid strong,.land-tax-kpi-grid strong{font-size:13px;text-align:right;color:#18464c}.loan-footnote,.land-tax-footnote{margin:0;padding:12px 14px;border:1px solid #d7dde1;border-radius:8px;background:#fbfcfc;color:#667085;font-size:13px;font-weight:800;line-height:1.6}.land-tax-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.land-tax-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.land-tax-field{display:grid;gap:5px;margin:0}.land-tax-field span{font-size:12px;color:#667085;font-weight:900}.land-tax-field input,.land-tax-field select{background:#f1faee;border-color:#b7dfc1}.land-tax-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px}.land-tax-upload-field input.land-tax-file{background:#fff;border-color:#d4dde3}.land-tax-log{margin:0 12px 12px;padding:9px 10px;border:1px solid #d7dde1;border-radius:8px;background:#fbfcfc;color:#5d6b75;font-size:12px;font-weight:800;line-height:1.5}.land-tax-log[data-tone=ok]{background:#ecfdf3;color:#027a48;border-color:#abefc6}.land-tax-log[data-tone=warn]{background:#fffaeb;color:#b54708;border-color:#fedf89}.land-tax-parse-summary{margin:0 12px 12px;border:1px solid #d7dde1;border-radius:8px;background:#fff;overflow:hidden}.land-tax-parse-title{padding:9px 10px;background:#f5fafb;border-bottom:1px solid #e3ebef;color:#18464c;font-size:13px;font-weight:900}.land-tax-parse-table-wrap{overflow:auto}.land-tax-parse-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.land-tax-parse-table th,.land-tax-parse-table td{padding:8px 10px;border-bottom:1px solid #edf2f5;text-align:left;vertical-align:top}.land-tax-parse-table th{background:#fbfcfc;color:#667085;font-weight:900}.land-tax-parse-table td{color:#253440}.land-tax-parse-empty{padding:10px;color:#667085;font-size:12px;font-weight:800}.land-tax-parse-warnings{margin:0;padding:8px 12px 10px 28px;color:#b54708;background:#fffaeb;border-top:1px solid #fedf89;font-size:12px;font-weight:800;line-height:1.5}.land-tax-kpi-grid strong{max-width:220px}.land-tax-warnings{display:grid;gap:6px;padding:0 12px 12px}.land-tax-warnings div{padding:8px 10px;border:1px solid #fedf89;border-radius:8px;background:#fffaeb;color:#b54708;font-size:12px;font-weight:800;line-height:1.5}
.support-widget{position:fixed;right:20px;bottom:20px;z-index:4200;display:grid;justify-items:end;gap:10px;pointer-events:none}.support-launch-row{display:flex;align-items:center;gap:8px;pointer-events:auto}.support-toggle,.support-panel,.support-admin-toggle,.support-admin-panel{pointer-events:auto}.support-toggle{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid #0b6668;border-radius:999px;background:linear-gradient(180deg,#128b8c,#0f7f80);color:#fff;box-shadow:0 12px 28px rgba(15,127,128,.22);font-weight:900;cursor:pointer}.support-toggle:hover,.support-admin-toggle:hover{transform:translateY(-1px)}.support-admin-toggle{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid #b7dedd;border-radius:999px;background:#fff;color:#0b6668;box-shadow:0 10px 24px rgba(17,24,39,.12);font-size:13px;font-weight:900;cursor:pointer}.support-toggle-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#fff;color:#0b6668;font-weight:900}.support-panel,.support-admin-panel{display:none;overflow:hidden;border:1px solid #c9d8de;border-radius:8px;background:#fff;box-shadow:0 18px 44px rgba(17,24,39,.2)}.support-panel{width:min(420px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 96px))}.support-panel.is-open{display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto auto auto}.support-admin-panel{width:min(760px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 40px))}.support-admin-panel.is-open{display:grid;grid-template-rows:auto minmax(0,1fr)}.support-head,.support-admin-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 14px;background:linear-gradient(180deg,#0f7f80,#0d7071);color:#fff}.support-head h2,.support-admin-head h2{margin:0;font-size:17px;line-height:1.25}.support-head p,.support-admin-head p{margin:4px 0 0;color:rgba(255,255,255,.88);font-size:12px;font-weight:800;line-height:1.45}.support-icon-btn{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;cursor:pointer}.support-messages{display:grid;align-content:start;gap:8px;min-height:210px;max-height:310px;overflow:auto;padding:12px;background:#f7fbfc}.support-message{display:grid;gap:3px;justify-items:start}.support-message.user{justify-items:end}.support-bubble{max-width:92%;padding:8px 10px;border:1px solid #d8e4e8;border-radius:8px;background:#fff;color:#24323f;font-size:13px;font-weight:750;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.support-message.user .support-bubble{background:#e8f7f6;border-color:#b7dedd;color:#0b6668}.support-message-meta{max-width:92%;color:#667085;font-size:10px;font-weight:900}.support-quick-row{display:flex;gap:6px;overflow:auto;padding:9px 10px;border-top:1px solid #e3ebef;background:#fbfdfe}.support-chip{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid #c8d3d8;border-radius:999px;background:#fff;color:#35565d;font-size:12px;font-weight:900;cursor:pointer}.support-chip:hover{border-color:#94cdca;background:#e8f7f6;color:#0b6668}.support-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border-top:1px solid #e3ebef;background:#fff}.support-composer textarea{min-height:46px;max-height:92px;resize:none;font-size:13px;line-height:1.45}.support-composer button,.support-lead-form button{min-height:42px;padding:0 13px;border:0;border-radius:8px;background:linear-gradient(180deg,var(--peach),var(--peach-dark));color:#fff;font-weight:900;cursor:pointer}.support-handoff{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px;background:#fff}.support-secondary-btn,.support-ghost-btn{min-height:36px;border-radius:8px;font-weight:900;cursor:pointer}.support-secondary-btn{border:1px solid #b7dedd;background:#e8f7f6;color:#0b6668}.support-ghost-btn{border:1px solid #c8d3d8;background:#fff;color:#35565d}.support-lead-form{display:grid;gap:8px;padding:10px;border-top:1px solid #e3ebef;background:#fbfdfe}.support-lead-form label{display:grid;gap:4px;margin:0;font-size:12px;color:#344054}.support-lead-form input,.support-lead-form textarea{min-height:36px;font-size:13px;background:#fff}.support-lead-form textarea{resize:none}.support-lead-status{min-height:18px;color:#027a48;font-size:12px;font-weight:900}.support-admin-body{display:block;min-height:0;overflow:auto;padding:12px;background:#f7fbfc}.support-admin-body>*+*{margin-top:10px}.support-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.support-admin-summary div{min-width:0;padding:8px 10px;border:1px solid #d8e4e8;border-radius:8px;background:#fff}.support-admin-summary strong{display:block;color:#d64045;font-size:22px;line-height:1}.support-admin-summary span{display:block;margin-top:4px;color:#667085;font-size:12px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}.support-admin-section{min-height:0;border:1px solid #d8e4e8;border-radius:8px;background:#fff;overflow:hidden}.support-admin-section h3{margin:0;padding:9px 10px;border-bottom:1px solid #e3ebef;background:#fbfdfe;color:#18464c;font-size:14px}.support-admin-list{display:grid;gap:8px;min-height:104px;max-height:240px;overflow:auto;padding:10px}.support-admin-card{display:grid;gap:4px;min-width:0;padding:8px 9px;border:1px solid #e3ebef;border-radius:8px;background:#fff;overflow-wrap:anywhere}.support-admin-card strong{color:#24323f;font-size:13px}.support-admin-card span,.support-admin-card small{color:#667085;font-size:11px;font-weight:800}.support-admin-card p{margin:0;color:#344054;font-size:12px;font-weight:750;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.support-admin-topic{background:#fbfdfe}.support-admin-empty{padding:12px;color:#667085;font-size:12px;font-weight:900}.support-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.support-admin-attachments{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.support-admin-attachment{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;border:1px solid #b7dedd;border-radius:999px;background:#e8f7f6;color:#0b6668;font-size:11px;font-weight:900;text-decoration:none;overflow-wrap:anywhere}.support-admin-attachment:hover{background:#d7f0ef}.support-admin-attachment.is-skipped{border-color:#f5c2c7;background:#fff5f5;color:#b42318}
@media (max-width:1180px){.loan-capacity-layout,.land-tax-layout{grid-template-columns:1fr}.result-capacity-card,.land-tax-result{position:static}}@media (max-width:860px){.loan-capacity-side-grid,.loan-action-row,.capacity-field-grid{grid-template-columns:1fr}.loan-table-wrap{overflow:visible}.loan-table{display:block;min-width:0;table-layout:auto}.loan-table thead{display:none}.loan-table tbody{display:grid;gap:10px}.loan-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.loan-table th,.loan-table td{width:auto!important}.loan-table td{display:grid;gap:4px;padding:0;border-bottom:0;white-space:normal}.loan-table td::before{content:attr(data-label);font-size:11px;font-weight:900;color:#667085;line-height:1.25}.loan-table td.loan-hidden-term-cell{display:none!important}.loan-table .loan-input{width:100%;min-width:0}.loan-result-cell{text-align:left;white-space:normal;align-content:center;min-height:36px;padding:7px 9px!important;border:1px solid #d4dde3!important;border-radius:8px;background:#f7f9fb}.land-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.land-tax-upload{grid-template-columns:1fr}.land-tax-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-card-head,.land-tax-card-head{align-items:flex-start;flex-direction:column}}@media (max-width:560px){.land-tax-grid,.land-tax-grid-two,.land-tax-actions,.support-handoff,.support-admin-actions{grid-template-columns:1fr}.loan-table tr{grid-template-columns:1fr}.support-widget{left:12px;right:12px;bottom:12px}.support-launch-row{justify-self:end;flex-wrap:wrap;justify-content:flex-end}.support-toggle{justify-self:end}.support-panel,.support-admin-panel{width:100%;max-height:calc(100vh - 84px)}.support-panel.is-open{grid-template-rows:auto minmax(150px,1fr) auto auto auto auto}.support-admin-panel.is-open{grid-template-rows:auto minmax(190px,1fr)}.support-messages{max-height:260px}.support-composer{grid-template-columns:1fr}.support-composer button{min-height:38px}.support-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.support-admin-summary div{padding:7px}.support-admin-summary strong{font-size:20px}.support-admin-summary span{font-size:11px}.support-admin-list{max-height:220px}}
.land-tax-file-list{margin:0 12px 10px;border:1px solid #d8e4e8;border-radius:8px;background:#fff;overflow:hidden}.land-tax-file-row{display:grid;grid-template-columns:minmax(0,1.35fr) 78px minmax(0,1fr);gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid #edf2f5;font-size:12px}.land-tax-file-row:last-child{border-bottom:0}.land-tax-file-name{font-weight:900;color:#344054;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-tax-file-status{font-weight:900;color:#0f6f6f}.land-tax-file-status-failed{color:#b42318}.land-tax-file-status-skipped{color:#b54708}.land-tax-file-summary{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-tax-parse-files{padding:8px 10px;border-bottom:1px solid #edf2f5;color:#667085;font-size:12px;font-weight:900;line-height:1.45}@media (max-width:860px){.land-tax-file-row{grid-template-columns:1fr}}
.panel-toggle-btn,.loan-detail-toggle{min-height:34px;padding:0 12px;font-size:13px;line-height:1;white-space:nowrap}.panel-toggle-btn[aria-expanded=true],.loan-detail-toggle[aria-expanded=true]{border-color:#0f7f80;background:#e8f7f6;color:#0b6668}.loan-detail-toggle-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.loan-detail-panel.is-hidden,.panel-body.is-hidden{display:none!important}.loan-primary-income-grid{grid-template-columns:minmax(0,360px)}.loan-internal-actions[hidden],.land-tax-internal-fields[hidden],.land-tax-internal-note[hidden]{display:none!important}@media (max-width:560px){.panel-toggle-btn,.loan-detail-toggle{width:100%;justify-content:center}.loan-detail-toggle-row{display:grid;grid-template-columns:1fr}.loan-primary-income-grid{grid-template-columns:1fr}}
.support-admin-m3-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border-bottom:1px solid #e3ebef;background:#fbfdfe}.support-admin-m3-actions button:disabled{opacity:.62;cursor:wait}.support-admin-m3-report{max-height:240px}.support-admin-m3-result ul{margin:8px 0 0;padding-left:18px;color:#344054;font-size:12px;line-height:1.55}.support-admin-m3-warning{margin:8px 0 0;color:#b54708;font-weight:800}@media (max-width:720px){.support-admin-m3-actions{grid-template-columns:1fr}}
.loan-table{min-width:680px}.loan-table th:nth-child(1),.loan-table td:nth-child(1){width:38%}.loan-table th:nth-child(2),.loan-table td:nth-child(2){width:20%}.loan-table th:nth-child(3),.loan-table td:nth-child(3){width:20%}.loan-table th:nth-child(4),.loan-table td:nth-child(4){width:22%}@media (max-width:860px){.loan-table tr{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
