/* Selective finish, layered over the existing brand. No financial formatting.
   The validated decision synthesis and the sidebar retain their own styles. */
.kredia-ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.topbar-icon-link .kredia-ui-icon{width:19px;height:19px}
.legal-reading{width:min(1100px,100%);margin:0 auto;padding:48px 24px;overflow-wrap:anywhere}
.legal-reading .panel-body{padding:28px}
.legal-reading .panel-body>ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.legal-reading .panel-body>ul a{display:block;padding:16px;border:1px solid #e3e9f1;border-radius:10px;color:#174ea6;font-size:14px;line-height:1.6}
.legal-reading .panel-body>ul a:hover{background:#f5f8fc;border-color:#a4bbda}
.legal-reading .panel-body>p{font-size:14px;line-height:1.8}
.software-body :where(a,button,input,select,textarea,summary):focus-visible,
.public-body :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #174ea6;outline-offset:3px}
.software-body :where(.table-wrap,.financial-table-wrap){overscroll-behavior-x:contain;scrollbar-color:#9bb2cf #eef3f9;scrollbar-width:thin}
/* Financial workspace: preserve the synthesis, clarify the detailed views. */
.software-body[data-ux-surface="workspace"] .analysis-page :where(.section-heading,.workspace-section-heading){margin:28px 0 20px;gap:20px}
.software-body[data-ux-surface="workspace"] .analysis-page .section-heading h2{font-size:25px;line-height:1.25;color:#22354b}
.software-body[data-ux-surface="workspace"] .analysis-page .section-heading p{max-width:76ch;font-size:13px;line-height:1.65}
.software-body[data-ux-surface="workspace"] .analysis-page .panel{border-color:#dfe7f1;border-radius:14px}
.software-body[data-ux-surface="workspace"] .analysis-page .panel-head{padding:18px 20px;min-height:68px}
.software-body[data-ux-surface="workspace"] .analysis-page .panel-head h2{font-size:16px;line-height:1.4}
.software-body[data-ux-surface="workspace"] .analysis-page .panel-head p{font-size:12px;line-height:1.6}
.software-body[data-ux-surface="workspace"] .analysis-page .excel-table :is(th,td){padding:12px 16px;line-height:1.5;font-variant-numeric:tabular-nums}
.software-body[data-ux-surface="workspace"] .analysis-page .excel-table th{font-size:10px}
.software-body[data-ux-surface="workspace"] .analysis-page .excel-table td{font-size:12px}
.software-body[data-ux-surface="workspace"] .analysis-page :where(.metric-card-v5,.pillar-card) p{font-size:12px;line-height:1.65}
.software-body[data-ux-surface="workspace"] .analysis-page :where(.table-note,.info-strip,.financing-note){font-size:12px;line-height:1.65}
.workspace-data-entry-grid> a{min-width:0}
.workspace-data-entry-grid> a :is(strong,small){overflow-wrap:anywhere}
/* Report composition: explicit stages, readable choices and no hidden option. */
.builder-page-heading>div{max-width:76ch}
.builder-wayfinding{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.builder-wayfinding a{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;border:1px solid #dfe7f1;border-radius:10px;background:#fff;color:#344860;font-size:12px;font-weight:600}
.builder-wayfinding a:hover{border-color:#a4bbda;background:#f6f9fd}
.builder-wayfinding b{font-size:11px;color:#174ea6;font-variant-numeric:tabular-nums}
.builder-saved,.builder-form .builder-basics,.builder-form .builder-periods,.builder-form .builder-section,.builder-form .builder-actions,.builder-export{padding:24px}
.builder-saved{grid-template-columns:minmax(0,1fr);gap:24px}
.builder-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.builder-models a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;min-width:0;min-height:140px;border:1px solid #dfe7f1;border-radius:12px;color:#25374c;background:#fff;transition:border-color .15s ease,background-color .15s ease}
.builder-models a.active{border-color:#174ea6;background:#f0f5fd;box-shadow:inset 0 0 0 1px #174ea6}
.builder-models a.active::after{content:'✓';position:absolute;right:14px;top:14px;color:#174ea6;font-weight:700}
.builder-model-index{color:#627187;font-size:11px;letter-spacing:.06em}
.builder-models strong{font-size:14px;line-height:1.4;font-weight:650}
.builder-models small{font-size:12px;line-height:1.6;font-weight:400;color:#627187}
.builder-saved-list a{min-height:48px;padding:12px 14px;font-size:13px;overflow-wrap:anywhere}
.builder-form{gap:20px}.builder-form>.panel{margin-bottom:0}
.builder-form h3,.builder-saved h3,.builder-export h3{font-size:20px;letter-spacing:-.02em;line-height:1.35}
.builder-form p,.builder-saved p,.builder-export p{font-size:13px;line-height:1.65}
.builder-basic-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;margin-top:20px;gap:20px}
.builder-form label{font-size:13px;line-height:1.5;min-width:0}
.builder-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){min-width:0;min-height:44px;font-size:14px;border-radius:9px;line-height:1.5}
.builder-form input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#174ea6}
.builder-form :is(input,select,textarea):disabled{cursor:not-allowed}
.builder-form .builder-check{min-height:44px;flex-wrap:wrap}
.builder-period-row{padding:20px 0;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:18px}
.builder-period-row:first-of-type{margin-top:18px}
.builder-period-row>strong{font-size:13px;padding:10px 0}
.builder-form .builder-chip{min-height:44px;gap:8px;padding:10px 12px;border-radius:9px;cursor:pointer}
.builder-chip:has(input:checked){background:#f0f5fd;border-color:#a4bbda;color:#174ea6}
.builder-sections-heading{margin:10px 0 20px}.builder-section{margin-bottom:20px}
.builder-section-head{padding-bottom:18px;border-bottom:1px solid #e7edf5;margin-bottom:20px;align-items:flex-start}
.builder-section-head h4{font-size:18px;line-height:1.4}.builder-section-head label{width:88px;flex:none}
.builder-section-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;margin-bottom:24px}
.builder-section-fields textarea{min-height:90px;resize:vertical}
.builder-indicators{border-radius:10px}
.builder-indicators-head,.builder-indicator-row{grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:20px;padding:14px 16px}
.builder-indicators-head{font-size:10px;background:#f5f8fc;line-height:1.5}
.builder-indicator-row{min-height:68px;background:#fff}
.builder-indicator-row:has(input:checked){background:#f7faff}
.builder-indicator-row label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px 10px;cursor:pointer}
.builder-indicator-row label input{grid-row:1/3;align-self:center}
.builder-indicator-row label span{overflow-wrap:anywhere}
.builder-indicator-row small{grid-column:2;margin:0;color:#627187;font-size:11px;font-weight:400;line-height:1.5}
.builder-indicator-row select{width:100%}
.builder-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
.builder-actions>div:first-child{grid-column:1/-1}
.builder-action-buttons{grid-column:1/-1;gap:12px;padding-bottom:24px;border-bottom:1px solid #e3e9f1}
.builder-action-buttons .button,.builder-actions>.button,.builder-export .button{min-height:44px;height:auto;padding:12px 16px;white-space:normal;line-height:1.5;text-align:center}
.builder-preview{max-width:100%;padding:28px;overflow-wrap:anywhere}
.builder-preview-heading p,.builder-source-note{font-size:12px;line-height:1.7}
.builder-preview-item td:last-child{font-variant-numeric:tabular-nums;text-align:right}
.builder-entry{padding:24px;border-left:3px solid #174ea6}
.builder-entry .button{flex:none;min-height:44px;height:auto;padding:12px 16px;white-space:normal;text-align:center}
.workspace-report-actions{flex-wrap:wrap;gap:12px;padding:20px 0}
.workspace-report-actions .button{min-height:44px;height:auto;padding:12px 16px;white-space:normal;line-height:1.5}
/* Inputs: maintain every field and keep dense ledgers locally scrollable. */
:where(.direct-form,.import-layout,.express-form,.tram-step-content) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:14px;min-height:42px}
:where(.input-grid,.express-fields,.tram-text-grid,.tram-simple-form,.tram-start-form) label{font-size:12px;line-height:1.6}
.express-form :is(.input-panel-head p,.info-strip),.tram-step-content :is(.panel-head p,.tram-trace-note){font-size:12px;line-height:1.65}
.express-form input[type=checkbox]{width:18px;height:18px;accent-color:#174ea6}
.tram-step-content .panel-head h2{font-size:16px;line-height:1.4}
.tram-step-content .tram-step-title h2{font-size:24px;line-height:1.3}
.tram-plan-grid label>span:first-child,.tram-text-grid label,.tram-simple-form label{font-size:12px;line-height:1.6}
.tram-form-actions{gap:12px}.tram-form-actions .button{min-height:44px;height:auto;padding:10px 14px;line-height:1.5;white-space:normal}
.tram-form-actions>span{color:#627187;font-size:11px;line-height:1.5}
.tram-stepper nav a{min-height:40px}
.tram-upload{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
.tram-upload label{min-width:0;font-size:12px;line-height:1.6}
.tram-upload :is(input,select){min-width:0;width:100%;max-width:100%}
.tram-upload .button{min-height:44px;white-space:normal;line-height:1.5}
.tram-export-grid :is(p,b){font-size:12px;line-height:1.7}
.tram-step-content :where(.table-wrap,.financial-table-wrap) td{font-variant-numeric:tabular-nums}
/* Compact status cards had lost their block layout on the data screen. */
.data-status-grid article{min-width:0;padding:16px;border:1px solid #dfe7f1;border-radius:10px;background:#fff}
.data-status-grid article :is(span,strong,small){display:block;overflow-wrap:anywhere}
.data-status-grid article span{font-size:12px;color:#627187;margin-bottom:8px}
.data-status-grid article strong{font-size:12px;line-height:1.5;color:#174ea6}
.data-status-grid article small{font-size:11px;color:#627187;margin-top:6px;line-height:1.6}
/* Dialog visuals only. Chat transport, history and generation JS are untouched. */
.kredia-chat-toggle{right:20px;bottom:calc(20px + env(safe-area-inset-bottom) + var(--ux-chat-clearance,0px));min-width:0;background:#174ea6;border-color:#174ea6;box-shadow:0 8px 24px #173b6726;border-radius:12px;padding:10px 14px 10px 10px;transition:box-shadow .15s ease}
.kredia-chat-toggle:hover{transform:none;background:#103f8c}
.kredia-chat-toggle-icon,.kredia-chat-identity>span{background:#ffffff14;color:#fff;border:1px solid #ffffff2b;border-radius:9px}
.kredia-chat-toggle strong{font-size:13px}.kredia-chat-toggle small{font-size:10px;color:#e3edfc}
.kredia-chat-panel{width:min(490px,calc(100vw - 32px));border-color:#dfe7f1;border-radius:16px}
.kredia-chat-panel>header{background:#153b70;padding:16px}
.kredia-chat-identity strong{font-size:14px}.kredia-chat-identity small{font-size:11px;max-width:280px;color:#e0e9f7}
.kredia-chat-identity{flex:1;overflow:hidden}.kredia-chat-identity>div{min-width:0}.kredia-chat-head-actions{flex:none}
.kredia-chat-head-actions button{width:40px;height:40px;border-color:#ffffff4d}
.kredia-chat-context-bar{padding:12px 16px;gap:9px;grid-template-columns:auto minmax(0,1fr)}
.kredia-chat-context-bar b{font-size:11px}.kredia-chat-context-bar small{grid-column:2;text-align:left;font-size:10px;line-height:1.5}
.kredia-chat-messages{padding:20px 16px;background:#f6f8fc;scroll-padding-block:16px}
.kredia-chat-empty{margin:16px auto;padding:20px;max-width:none;border:1px solid #e0e7f1}
.kredia-chat-empty strong{font-size:16px}.kredia-chat-empty p{font-size:13px;line-height:1.65}
.kredia-chat-suggestions button{min-height:44px;font-size:12px;padding:12px;color:#344860}
.kredia-chat-suggestions button:hover{background:#edf4ff;border-color:#a4bbda;color:#174ea6}
.kredia-chat-bubble{font-size:13px;background:#174ea6;line-height:1.65;padding:12px 14px}
.kredia-chat-answer{width:100%;padding:16px;border-color:#dfe7f1}
.kredia-chat-answer-text{font-size:13px;line-height:1.8;color:#25374c}
.kredia-chat-figures{gap:10px}.kredia-chat-figures>div{padding:12px;background:#f5f8fc}
.kredia-chat-figures small,.kredia-chat-figures span{white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.5;color:#627187}
.kredia-chat-figures strong{font-size:16px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.kredia-chat-note{background:#eff5fd;border-color:#174ea6;padding:12px}
.kredia-chat-note strong,.kredia-chat-note li{color:#344860;font-size:12px;line-height:1.65}
.kredia-chat-sources span{white-space:normal;font-size:10px;line-height:1.5;background:#edf3fd;color:#174ea6;border-radius:6px}
.kredia-chat-answer footer{font-size:10px;color:#627187;line-height:1.5}
.kredia-chat-error,.kredia-chat-loading{font-size:13px;line-height:1.65}
.kredia-chat-typing{font-size:12px}.kredia-chat-typing i{background:#174ea6}
.kredia-chat-form{grid-template-columns:minmax(0,1fr) 44px;padding:14px;gap:10px}
.kredia-chat-form textarea{font-size:14px;min-height:44px;line-height:1.5;border-color:#a6b6c9}
.kredia-chat-form>button{width:44px;height:44px;background:#174ea6}
.kredia-chat-form>button:hover{background:#103f8c}
.kredia-chat-form>small{font-size:10px;line-height:1.6;color:#627187}
.kredia-chat-form>small a{text-decoration:underline;text-underline-offset:2px}
.kredia-chat-form textarea:focus{border-color:#174ea6;box-shadow:0 0 0 3px #174ea61a}
@media(max-width:1024px){
 .builder-wayfinding{grid-template-columns:repeat(2,minmax(0,1fr))}
 .builder-models{grid-template-columns:repeat(2,minmax(0,1fr))}
 .builder-basic-grid,.builder-section-fields{grid-template-columns:minmax(0,1fr)}
 .builder-indicator-row,.builder-indicators-head{grid-template-columns:minmax(0,1fr) minmax(140px,180px);gap:14px}
}
@media(max-width:768px){
 .builder-saved,.builder-form .builder-basics,.builder-form .builder-periods,.builder-form .builder-section,.builder-form .builder-actions,.builder-export,.builder-entry{padding:20px}
 .builder-period-row{grid-template-columns:minmax(0,1fr);gap:4px}
 .builder-actions{grid-template-columns:minmax(0,1fr)}
 .builder-actions>.button{justify-self:start}.builder-form .builder-check{justify-self:start}
 .builder-wayfinding a{padding:10px;gap:8px}
 .software-body[data-ux-surface="workspace"] .section-heading{flex-wrap:wrap}
 .tram-plan-grid label{grid-template-columns:minmax(0,1fr) minmax(90px,130px)}
}
@media(max-width:520px){
 .tram-upload{grid-template-columns:minmax(0,1fr)}
 .builder-models{grid-template-columns:minmax(0,1fr)}
 .builder-models a{min-height:0;padding:16px;gap:8px}
 .builder-wayfinding a{font-size:11px;min-height:54px}
 .legal-reading{padding:28px 16px}.legal-reading .panel-body{padding:18px}
 .builder-form h3,.builder-saved h3{font-size:18px}
 .builder-indicators-head{display:none}
 .builder-indicator-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
 .builder-indicator-row select{min-height:44px!important;font-size:14px}
 .builder-action-buttons{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .builder-actions>.button,.builder-entry .button{width:100%;justify-self:stretch}
 .builder-preview{padding:20px 16px}
 .builder-export>div:last-child{width:100%}.builder-export .button{width:100%}
 .kredia-chat-toggle{right:12px;bottom:calc(12px + env(safe-area-inset-bottom) + var(--ux-chat-clearance,0px));padding:8px;border-radius:12px}
 .kredia-chat-panel{inset:8px;width:auto;border-radius:14px}
 .kredia-chat-panel>header{padding:12px}.kredia-chat-identity{gap:8px}
 .kredia-chat-identity small{max-width:155px;font-size:10px}
 .kredia-chat-head-actions{gap:4px}.kredia-chat-head-actions button{width:36px;height:40px}
 .kredia-chat-messages{padding:14px 12px}.kredia-chat-answer{padding:14px}
 .kredia-chat-form textarea{font-size:16px}.kredia-chat-form{padding:12px}
 .software-body[data-ux-surface="workspace"] .analysis-page .panel-head{padding:16px;flex-wrap:wrap}
 .software-body[data-ux-surface="workspace"] .analysis-page .excel-table :is(th,td){padding:12px}
}
@media(prefers-reduced-motion:reduce){
 .kredia-chat-panel,.kredia-chat-toggle,.kredia-chat-overlay,.builder-models a{transition:none!important}
 .kredia-chat-messages{scroll-behavior:auto}.kredia-chat-typing i{animation:none}
}
