/* Scoped application styles; the Moodle theme retains its own header. */
body.kbct-page #page.drawers .main-inner,body.kbct-page #region-main,body.kbct-page #page-content,body.kbct-page #region-main-box{max-width:none!important;width:100%;padding:0!important;background:transparent;border:0}
body.kbct-page #page-header,body.kbct-page #region-main>h2,body.kbct-page .secondary-navigation{display:none}
body.kbct-page #page.drawers{padding:10px 12px!important}
#kbct-app{--navy:#183d58;--blue:#1167bb;--green:#008c76;--line:#d9e3ed;--muted:#62798e;color:#20394e;background:#f2f6fb;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:calc(100vh - 175px);border:1px solid var(--line);border-radius:8px;overflow:clip;text-align:left}
#kbct-app *{box-sizing:border-box}#kbct-app button,#kbct-app input,#kbct-app textarea,#kbct-app select{font:inherit}#kbct-app button{cursor:pointer}#kbct-app button:disabled{opacity:.5;cursor:not-allowed}#kbct-app a{color:var(--blue)}#kbct-app button:focus-visible,#kbct-app a:focus-visible,#kbct-app input:focus-visible,#kbct-app select:focus-visible,#kbct-app textarea:focus-visible{outline:3px solid #00a5d1;outline-offset:2px}
.kbct-header{padding:18px 24px;background:white;display:flex;align-items:center;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line)}#kbct-app h1{font-size:24px;margin:0 0 3px;font-weight:700;color:#173b55}#kbct-app h2{font-size:23px;margin:0;font-weight:700;color:#173b55}#kbct-app h3{font-size:17px;margin:0 0 12px;font-weight:700}#kbct-app p{margin:0 0 12px}.kbct-muted{color:var(--muted);font-size:13px}.kbct-header-actions,.kbct-actions,.kbct-toolbar,.kbct-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kbct-heading{justify-content:space-between;margin:22px 0 18px}.kbct-heading p{margin:5px 0 0!important}.kbct-layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:720px}.kbct-nav{background:var(--navy);color:white;padding:20px 12px;display:flex;flex-direction:column;gap:5px}.kbct-nav-top{display:flex;align-items:center;justify-content:space-between;margin:0 10px 15px;font-size:11px;letter-spacing:1px;color:#c3d5e6}.kbct-nav button{border:0;background:transparent;color:#ecf4ff;text-align:left;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:6px;min-height:44px}.kbct-nav button:hover{background:#244d6a}.kbct-nav button.active{background:#28608b;font-weight:600}.kbct-nav .kbct-collapse{border:1px solid #65829b;padding:6px;min-height:32px}.kbct-nav-note{margin:30px 12px 0;padding-top:16px;border-top:1px solid #49687f;color:#b9cddd;font-size:11px}.kbct-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;flex:none;background:#cce5ff1a;color:#8dc8ff}.kbct-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.kbct-icon.company{color:#86e6ba;background:#23ab7729}.kbct-icon.financial{color:#91c6ff;background:#2777cc30}.kbct-icon.details{color:#f5c66c;background:#d78b2730}.kbct-icon.bank{color:#72ddcd;background:#1eb69c2b}.kbct-icon.tender{color:#c5acff;background:#8c61d52b}.kbct-icon.evidence{color:#90d4ff;background:#329ab92b}.kbct-icon.checks{color:#97e2a3;background:#49b75b25}.kbct-icon.exports{color:#ffb092;background:#ed825927}.kbct-icon.history{color:#b8c9dd;background:#839ab32b}.kbct-icon.trash{color:#fba2b4;background:#db607a2b}.kbct-content{padding:22px 28px 36px;min-width:0}.kbct-toolbar{justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.kbct-toolbar label{display:flex;align-items:center;gap:12px;margin:0}.kbct-toolbar select{width:min(480px,100%)}.kbct-btn{border:1px solid #c6d8e8;background:white;color:#215473;border-radius:5px;padding:9px 15px;min-height:39px;font-weight:500}.kbct-btn.primary{background:var(--blue);border-color:var(--blue);color:white}.kbct-btn.green{background:#008b74;border-color:#008b74;color:white}.kbct-btn.danger{color:#b8424e;border-color:#e6b7be}.kbct-btn.small{font-size:12px;padding:5px 9px;min-height:30px}.kbct-btn.link{border:0;background:transparent;padding:6px}.kbct-banner{padding:12px 16px;margin:16px 0;background:#fff8e5;border:1px solid #f1db9c;border-radius:6px;color:#866517;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.kbct-banner.info{background:#ebf5ff;border-color:#c9e3fb;color:#22587c}.kbct-banner.success{background:#e9f7ef;border-color:#bce2cc;color:#20764b}.kbct-banner.error{background:#fff0f1;border-color:#edc3c8;color:#a23947}.kbct-card{background:white;border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:18px;box-shadow:0 2px 6px #14344b04}.kbct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kbct-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0}.kbct-metric{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px}.kbct-metric .kbct-icon{width:44px;height:44px;background:#eaf3fd;color:#3e83bd}.kbct-metric b{display:block;font-size:23px;color:#1f4562}.kbct-metric small{display:block;font-size:12px;color:#687e92}.kbct-feature{display:flex;gap:16px}.kbct-feature .kbct-icon{width:48px;height:48px;background:#e1f5ee;color:#15987a}.kbct-feature.tender .kbct-icon{background:#eee9ff;color:#8057cc}.kbct-feature p{color:var(--muted);font-size:13px;max-width:480px}.kbct-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:14px}.kbct-field>span{font-size:13px;font-weight:500;color:#29465b}.kbct-field.wide{grid-column:1/-1}#kbct-app input:not([type=checkbox]):not([type=radio]),#kbct-app select,#kbct-app textarea{border:1px solid #c6d6e5;border-radius:5px;background:white;color:#193e59;padding:9px 11px;min-height:40px;width:100%;max-width:100%}#kbct-app input[readonly],#kbct-app textarea[readonly]{background:#f7f9fc;color:#496277}#kbct-app textarea{min-height:90px;resize:vertical}.kbct-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;background:white;max-width:100%}.kbct-table{width:100%;border-collapse:collapse;text-align:left;min-width:550px;font-size:13px}.kbct-table th{background:#f0f5f9;color:#345970;font-weight:600;padding:11px 12px;border-bottom:1px solid var(--line)}.kbct-table td{padding:11px 12px;border-bottom:1px solid #e6edf3;vertical-align:top}.kbct-table tr:last-child td{border-bottom:0}.kbct-table .total{background:#eaf4f7;font-weight:650}.kbct-table .number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.kbct-table input{max-width:180px!important;text-align:right;min-width:130px;padding:6px 8px!important}.kbct-table td:first-child{color:#648093}.kbct-table .note-input{max-width:220px!important;text-align:left}.kbct-financial{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px}.kbct-help{border:1px solid var(--line);background:#f7fbfe;border-radius:7px;padding:17px;height:fit-content;font-size:13px}.kbct-help p{color:#607b91}.kbct-help .kbct-btn{width:100%;margin-top:9px}.kbct-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow:auto;max-width:100%}.kbct-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 15px;white-space:nowrap;color:#5a748a}.kbct-tabs button.active{color:#126aba;border-color:#126aba;font-weight:600}.kbct-pill{display:inline-block;border-radius:4px;padding:3px 8px;font-size:11px;background:#edf2f7;color:#5b7185}.kbct-pill.green{background:#e5f4ec;color:#197149}.kbct-pill.amber{background:#fff3d9;color:#966313}.kbct-pill.blue{background:#e6f1ff;color:#1762a1}.kbct-pill.red{background:#ffe9ed;color:#a1384d}.kbct-empty{padding:45px 20px;text-align:center;color:#7991a6;border:1px dashed #ccdae7;border-radius:7px;background:white}.kbct-sticky{position:sticky;bottom:0;background:#f2f6fbf5;border-top:1px solid var(--line);padding:13px 0;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:3}.kbct-stepper{display:flex;align-items:center;gap:20px;margin:20px 0;color:#8ba1b3;font-size:13px}.kbct-stepper .current{color:#136bbb;font-weight:600}.kbct-choice{display:flex;gap:14px;border:1px solid var(--line);padding:16px;border-radius:7px;cursor:pointer;background:#fff}.kbct-choice:has(input:checked){border-color:#128b7c;background:#f1faf7}.kbct-choice input{width:auto!important;min-height:0!important}.kbct-choice b{display:block}.kbct-choice small{color:#6d8499}.kbct-new{max-width:1050px;margin:auto}.kbct-notice{position:sticky;top:0;z-index:7}.kbct-notice:empty{display:none}.kbct-title-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.kbct-req{display:grid;grid-template-columns:minmax(200px,2fr) minmax(200px,3fr);gap:18px}.kbct-filelist a{overflow-wrap:anywhere}.kbct-collapsed .kbct-layout{grid-template-columns:76px minmax(0,1fr)}.kbct-collapsed .kbct-nav .nav-label,.kbct-collapsed .kbct-nav-note,.kbct-collapsed .kbct-nav-top span{display:none}.kbct-collapsed .kbct-nav button{padding:10px;justify-content:center}.kbct-collapsed .kbct-nav-top{margin:0 0 12px;justify-content:center}.kbct-busy{opacity:.65;pointer-events:none}.kbct-truncate{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbct-issues{list-style:none;margin:0;padding:0}.kbct-issues li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:start}.kbct-issues .kbct-pill{flex:none}.kbct-source{overflow-wrap:anywhere;font-size:12px}.kbct-section-select{max-width:320px!important}.kbct-meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}.kbct-meta-row select{width:auto!important}.kbct-smalltext{font-size:12px;color:var(--muted)}
@media(min-width:1600px){.kbct-content{padding:24px 34px}.kbct-layout{grid-template-columns:238px minmax(0,1fr)}}
@media(max-width:1200px){.kbct-content{padding:18px}.kbct-financial{grid-template-columns:minmax(0,1fr)}.kbct-help{display:flex;gap:12px;flex-wrap:wrap}.kbct-help>*{flex:1;min-width:180px}.kbct-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.kbct-metric b{font-size:21px}}
@media(max-width:850px){.kbct-layout{grid-template-columns:76px minmax(0,1fr)}.kbct-nav .nav-label,.kbct-nav-note,.kbct-nav-top span{display:none}.kbct-nav{padding:15px 10px}.kbct-nav button{padding:10px;justify-content:center}.kbct-nav-top{margin:0 0 12px;justify-content:center}.kbct-header{padding:16px}.kbct-header h1{font-size:21px!important}.kbct-grid{grid-template-columns:1fr}.kbct-toolbar label{width:100%;flex-wrap:wrap}.kbct-toolbar select{width:100%}.kbct-req{grid-template-columns:1fr}.kbct-header-actions{font-size:12px}.kbct-feature .kbct-icon{width:40px;height:40px}}
@media(max-width:540px){body.kbct-page #page.drawers{padding:5px!important}.kbct-layout,.kbct-collapsed .kbct-layout{display:flex;flex-direction:column}.kbct-nav{flex-direction:row;overflow-x:auto;position:sticky;top:0;z-index:5;padding:8px;gap:4px}.kbct-nav button{padding:7px;min-height:42px}.kbct-nav-top,.kbct-nav-note{display:none}.kbct-content{padding:12px}.kbct-header{align-items:flex-start;flex-direction:column;gap:7px}.kbct-header h1{font-size:20px!important}.kbct-header-actions{width:100%;justify-content:space-between}.kbct-heading h2{font-size:20px!important}.kbct-metrics{gap:8px}.kbct-metric{padding:12px;gap:7px}.kbct-metric .kbct-icon{display:none}.kbct-metric b{font-size:20px}.kbct-card{padding:14px}.kbct-grid{gap:8px}.kbct-choice{padding:12px}.kbct-stepper{gap:10px;font-size:11px}.kbct-banner{padding:11px;font-size:12px}.kbct-sticky{align-items:flex-start;flex-direction:column}.kbct-actions{gap:6px}.kbct-actions .kbct-btn{padding:8px 10px}.kbct-financial{gap:12px}.kbct-table td,.kbct-table th{padding:8px}.kbct-nav button.active{box-shadow:inset 0 -2px #75c9ff}.kbct-notice{top:60px}}
@media print{#kbct-app .kbct-nav,#kbct-app .kbct-toolbar,#kbct-app .kbct-actions,#kbct-app .kbct-sticky{display:none}.kbct-layout{display:block}.kbct-content{padding:0}.kbct-table-wrap{overflow:visible}}

/* Viethung/RemUI wrap standard pages in a separate container, outside #page.drawers. */
body.kbct-page #page .main-inner{width:100%;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none}
body.kbct-page #page .main-inner>.container{width:100%;max-width:none!important;padding:0 8px!important}
body.kbct-page #vh-site-header{margin-bottom:8px}
#kbct-app .kbct-header{display:flex;align-items:center;justify-content:space-between}
#kbct-app .kbct-header-actions{display:flex;gap:10px;align-items:center}
#kbct-app .kbct-toolbar label{white-space:nowrap;flex:1;min-width:0}
#kbct-app .kbct-toolbar select{min-width:180px;width:min(480px,100%)}
#kbct-app .kbct-collapse{color:#ecf4ff!important;font-family:Arial,sans-serif}
@media(max-width:540px){#kbct-app .kbct-header{align-items:flex-start}#kbct-app .kbct-toolbar label{flex-basis:100%}}
body.kbct-page #region-main>[role=main]{padding:0!important}

#kbct-app .kbct-header{display:flex!important}
#kbct-app .kbct-header-actions{display:flex!important}
#kbct-app .kbct-financial .kbct-table{min-width:900px}
#kbct-app .kbct-financial .kbct-table th:nth-child(2),#kbct-app .kbct-financial .kbct-table td:nth-child(2){min-width:260px}
#kbct-app .kbct-collapse svg{display:block;min-width:20px;min-height:20px}

/* Scenario builder uses the same layout, typed fields and responsive tables as manual dossiers. */
#kbct-app .kbct-icon.scenario{color:#f4c86a;background:#8b6d2838}#kbct-app .kbct-icon.ratios{color:#c1a8ff;background:#8267be38}
.kbct-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}.kbct-industry{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fafcfe;display:flex;flex-direction:column;gap:12px}.kbct-industry.selected{background:#f0faf7;border-color:#46a791}.kbct-industry>label:first-child{display:flex;gap:9px;align-items:center;margin:0}.kbct-industry>label input[type=checkbox]{width:18px!important;height:18px;min-height:18px!important}.kbct-industry-share{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.kbct-industry-share input{width:85px!important}.kbct-industry small{color:var(--muted);font-size:12px}.kbct-ratio-card summary{cursor:pointer;color:var(--navy);margin-bottom:15px}.kbct-ratio-card .kbct-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.kbct-scenario .kbct-metric{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.kbct-scenario .kbct-metric b{font-size:21px;overflow-wrap:anywhere}.kbct-scenario [data-scenario-item] input{min-width:115px}.kbct-scenario [data-scenario-item] input[name=name]{min-width:170px}.kbct-model-checks{list-style:none;padding:0;color:#18725e}.kbct-model-checks li{padding:5px 0}.kbct-scenario .kbct-tabs{margin:0 0 18px}.kbct-scenario details>summary{cursor:pointer}.kbct-scenario .kbct-table td{white-space:normal}
@media(max-width:1100px){.kbct-industry-grid,.kbct-ratio-card .kbct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.kbct-industry-grid,.kbct-ratio-card .kbct-grid{grid-template-columns:1fr}.kbct-scenario .kbct-metric b{font-size:16px}}
#kbct-app a.kbct-btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;line-height:1.4;text-align:center}
#kbct-app a.kbct-btn.primary{color:#fff}
