@charset "UTF-8";
/* ============================================================
   CÁCH LY GIAO DIỆN KHỎI CSS CỦA THEME
   Một số theme/page builder có CSS toàn cục (column-count, table layout,
   float, line-height lạ...) áp lên div/p/label/input, khiến bố cục bên
   trong công cụ bị vỡ dù các class .nlc-app ... phía dưới đã đúng. Dòng
   "all: revert" đưa mọi thẻ con về mặc định trình duyệt trước, sau đó các
   rule cụ thể hơn bên dưới (có độ ưu tiên cao hơn) sẽ áp dụng đúng như ý.
   ============================================================ */
.nlc-app, .nlc-app *, .nlc-app *::before, .nlc-app *::after {
  all: revert;
}
.nlc-app, .nlc-app * {
  box-sizing: border-box !important;
  column-count: auto !important;
  float: none !important;
}

.nlc-app {
  --bg:#F6F8F4;
  --panel:#FFFFFF;
  --panel-2:#EEF2EA;
  --line:#DCE3D6;
  --gold:#B8912B;
  --gold-soft:#8A6B1F;
  --teal:#1F6E4A;
  --teal-soft:#2F6F62;
  --ink:#14261F;
  --ink-dim:#5C6B60;
  --card-ink:var(--ink);
  --danger:#B23A2E;
  --radius:10px;
  --serif:'Fraunces', serif;
  --sans:'Inter', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
.nlc-app, .nlc-app * {box-sizing: border-box !important;}
.nlc-app {margin: 0 !important;padding: 0 !important;}
.nlc-app {
  background: radial-gradient(1200px 600px at 90% -10%, rgba(184,145,43,0.06), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(31,110,74,0.05), transparent 60%),
    var(--bg) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  line-height: 1.5 !important;
  -webkit-font-smoothing: antialiased !important;
}
.nlc-app .nlc-wrap {max-width: 1180px !important;margin: 0 auto !important;padding: 0 24px 80px !important;}
.nlc-app .nlc-hero {padding: 56px 24px 40px !important;border-bottom: 1px solid var(--line) !important;margin-bottom: 36px !important;position: relative !important;}
.nlc-app .nlc-hero-inner {max-width: 1180px !important;margin: 0 auto !important;}
.nlc-app .nlc-eyebrow {font-family: var(--mono) !important;font-size: 12px !important;letter-spacing: .14em !important;text-transform: uppercase !important;color: var(--gold-soft) !important;display: flex !important;align-items: center !important;gap: 10px !important;margin-bottom: 18px !important;}
.nlc-app .nlc-eyebrow::before {content: '' !important;width: 22px !important;height: 1px !important;background: var(--gold-soft) !important;display: inline-block !important;}
.nlc-app h1.nlc-title {font-family: var(--serif) !important;font-weight: 600 !important;font-size: clamp(34px, 5vw, 56px) !important;line-height: 1.05 !important;margin: 0 0 14px !important;letter-spacing: -0.01em !important;}
.nlc-app h1.nlc-title em {font-style: italic !important; color: var(--gold-soft) !important; font-weight: 500 !important;}
.nlc-app .nlc-subtitle {color: var(--ink-dim) !important; font-size: 16px !important; max-width: 560px !important;}
.nlc-app .nlc-layout {display: grid !important; grid-template-columns: 1.5fr 1fr !important; gap: 28px !important; align-items: start !important;}
@media (max-width:900px){
.nlc-app .nlc-layout {grid-template-columns: 1fr !important;}
}
.nlc-app .nlc-section {background: var(--panel) !important;border: 1px solid var(--line) !important;border-radius: var(--radius) !important;padding: 28px !important;margin-bottom: 24px !important; color: var(--card-ink) !important;}
.nlc-app .nlc-section-head {display: flex !important; align-items: baseline !important; gap: 14px !important;margin-bottom: 22px !important;padding-bottom: 16px !important;border-bottom: 1px solid var(--line) !important;}
.nlc-app .nlc-section-num {font-family: var(--serif) !important; font-size: 15px !important; color: var(--gold) !important;border: 1px solid var(--gold) !important; border-radius: 100px !important;width: 28px !important;height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important;flex-shrink: 0 !important;}
.nlc-app .nlc-section-title {font-family: var(--serif) !important; font-size: 21px !important; font-weight: 600 !important; margin: 0 !important;}
.nlc-app .nlc-section-desc {color: var(--ink-dim) !important; font-size: 13px !important; margin-top: 2px !important;}
.nlc-app .nlc-field-row {display: grid !important; grid-template-columns: 180px 1fr !important; gap: 16px !important; align-items: center !important; margin-bottom: 14px !important;}
.nlc-app .nlc-field-row.nlc-stack {grid-template-columns: 1fr !important;}
@media (max-width:640px){
.nlc-app .nlc-field-row {grid-template-columns: 1fr !important; gap: 6px !important;}
}
.nlc-app .nlc-field-label {font-size: 13.5px !important; color: var(--ink-dim) !important; font-weight: 500 !important;}
.nlc-app .nlc-field-hint {font-size: 11.5px !important; color: var(--ink-dim) !important; opacity: .75 !important; margin-top: 3px !important;}
.nlc-app input[type=text], .nlc-app input[type=number], .nlc-app input[type=date], .nlc-app select {
  width: 100% !important;background: var(--panel-2) !important;border: 1px solid var(--line) !important;color: var(--ink) !important;
  border-radius: 7px !important;padding: 10px 12px !important;font-family: var(--mono) !important;font-size: 14px !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.nlc-app input:focus, .nlc-app select:focus {outline: none !important; border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(184,145,43,0.15) !important;}
.nlc-app select {font-family: var(--sans) !important; cursor: pointer !important;}
.nlc-app input:disabled {opacity: .4 !important; cursor: not-allowed !important;}
.nlc-app .nlc-radio-group {display: flex !important; gap: 22px !important; flex-wrap: wrap !important;}
.nlc-app .nlc-radio-group.nlc-col {flex-direction: column !important; gap: 12px !important;}
.nlc-app .nlc-radio-opt {display: flex !important; align-items: flex-start !important; gap: 8px !important; cursor: pointer !important; font-size: 13.5px !important; line-height: 1.4 !important;}
.nlc-app .nlc-radio-opt input {accent-color: var(--gold) !important; width: 16px !important; height: 16px !important; margin-top: 2px !important; flex-shrink: 0 !important;}
.nlc-app .nlc-radio-opt .nlc-opt-desc {color: var(--ink-dim) !important; font-size: 12px !important; display: block !important; margin-top: 1px !important;}
.nlc-app .nlc-two-col {display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important;}
@media (max-width:640px){
.nlc-app .nlc-two-col {grid-template-columns: 1fr !important;}
}
.nlc-app .nlc-mini-label {display: block !important;margin-bottom: 6px !important;font-size: 13px !important;color: var(--ink-dim) !important;}
.nlc-app .nlc-btn {font-family: var(--sans) !important; font-weight: 600 !important; font-size: 13.5px !important;border-radius: 7px !important; padding: 10px 18px !important; cursor: pointer !important;border: 1px solid var(--line) !important; background: var(--panel-2) !important; color: var(--ink) !important;transition: all .15s !important; display: inline-flex !important; align-items: center !important; gap: 8px !important;}
.nlc-app .nlc-btn:hover {border-color: var(--gold) !important; color: var(--gold-soft) !important;}
.nlc-app .nlc-btn.nlc-primary {background: linear-gradient(135deg, var(--gold), #8A6B1F) !important; border-color: transparent !important; color: #FFFDF6 !important;}
.nlc-app .nlc-btn.nlc-primary:hover {filter: brightness(1.08) !important; color: #FFFDF6 !important;}
.nlc-app .nlc-btn.nlc-ghost {background: transparent !important;}
.nlc-app .nlc-btn.nlc-small {padding: 7px 12px !important; font-size: 12.5px !important;}
.nlc-app .nlc-btn.nlc-danger {color: var(--danger) !important; border-color: rgba(178,58,46,0.4) !important;}
.nlc-app .nlc-btn.nlc-danger:hover {border-color: var(--danger) !important;}
.nlc-app .nlc-btn:disabled {opacity: .4 !important; cursor: not-allowed !important;}
.nlc-app .nlc-action-bar {display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-bottom: 22px !important;}
.nlc-app .nlc-extra-item {border: 1px solid var(--line) !important; border-radius: 8px !important; padding: 14px !important; margin-bottom: 12px !important; background: var(--panel-2) !important;}
.nlc-app .nlc-extra-grid {display: grid !important; grid-template-columns: 1fr 1.4fr 0.8fr 40px !important; gap: 10px !important; align-items: end !important;}
@media (max-width:720px){
.nlc-app .nlc-extra-grid {grid-template-columns: 1fr 1fr !important; }
}
.nlc-app .nlc-extra-empty {color: var(--ink-dim) !important; font-size: 13.5px !important; font-style: italic !important; padding: 12px 0 !important;}
.nlc-app .nlc-tranche-grid {display: grid !important; grid-template-columns: 1fr 1fr 40px !important; gap: 10px !important; align-items: end !important;}
@media (max-width:640px){ .nlc-app .nlc-tranche-grid {grid-template-columns: 1fr 1fr !important;} }
.nlc-app .nlc-tranche-validation {font-size: 13px !important; margin: 10px 0 4px !important; padding: 10px 14px !important; border-radius: 8px !important; background: var(--panel-2) !important; border: 1px solid var(--line) !important;}
.nlc-app .nlc-extra-breakdown {margin-top: 8px !important; font-size: 11.5px !important; color: var(--ink-dim) !important; font-family: var(--mono) !important;}
.nlc-app .nlc-icon-btn {width: 36px !important;height: 36px !important; border-radius: 7px !important; border: 1px solid var(--line) !important; background: var(--panel) !important;color: var(--ink-dim) !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important;}
.nlc-app .nlc-icon-btn:hover {border-color: var(--danger) !important; color: var(--danger) !important;}
.nlc-app .nlc-summary {position: sticky !important; top: 20px !important;}
.nlc-app .nlc-summary-card {background: linear-gradient(160deg, var(--panel-2), var(--panel)) !important;border: 1px solid var(--line) !important; border-radius: var(--radius) !important; padding: 26px !important; color: var(--card-ink) !important;}
.nlc-app .nlc-summary-card h3 {font-family: var(--serif) !important; font-size: 16px !important; margin: 0 0 20px !important; font-weight: 600 !important;color: var(--gold-soft) !important;}
.nlc-app .nlc-gauge-wrap {display: flex !important; flex-direction: column !important; align-items: center !important; margin-bottom: 22px !important;}
.nlc-app .nlc-gauge-ring {width: 160px !important; height: 160px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: conic-gradient(#B8912B 0deg, #DCE3D6 0deg) !important; flex-shrink: 0 !important;}
.nlc-app .nlc-gauge-ring-hole {width: 130px !important; height: 130px !important; border-radius: 50% !important; background: var(--panel-2) !important; display: flex !important; align-items: center !important; justify-content: center !important;}
.nlc-app .nlc-gauge-label {font-size: 12px !important; color: var(--ink-dim) !important; margin-top: 8px !important; letter-spacing: .05em !important; text-transform: uppercase !important;}
.nlc-app .nlc-risk-badge {margin-top: 10px !important; font-size: 12.5px !important; font-weight: 700 !important; padding: 5px 14px !important; border-radius: 100px !important; display: inline-block !important; border: 1px solid currentColor !important;}
.nlc-app .nlc-gauge-value {font-family: var(--serif) !important; font-size: 26px !important; font-weight: 600 !important;}
.nlc-app .nlc-metric {display: flex !important; justify-content: space-between !important; align-items: baseline !important;padding: 12px 0 !important; border-bottom: 1px solid var(--line) !important;}
.nlc-app .nlc-metric:last-child {border-bottom: none !important;}
.nlc-app .nlc-metric-label {font-size: 13px !important; color: var(--ink-dim) !important;}
.nlc-app .nlc-metric-value {font-family: var(--mono) !important; font-size: 15px !important; font-weight: 600 !important;}
.nlc-app .nlc-metric-value.nlc-gold {color: var(--gold-soft) !important;}
.nlc-app .nlc-metric-value.nlc-teal {color: var(--teal-soft) !important;}
.nlc-app .nlc-table-wrap {overflow: auto !important; max-height: 640px !important; border: 1px solid var(--line) !important; border-radius: var(--radius) !important;}
.nlc-app .nlc-table-wrap-plain {border: 1px solid var(--line) !important; border-radius: var(--radius) !important;}
.nlc-app table {width: 100% !important; border-collapse: collapse !important; font-size: 13px !important; min-width: 1080px !important;}
.nlc-app thead th {background: var(--panel-2) !important; color: var(--gold-soft) !important; font-weight: 600 !important; text-align: right !important;padding: 12px 10px !important; font-size: 11.5px !important; letter-spacing: .04em !important; text-transform: uppercase !important;border-bottom: 1px solid var(--line) !important; white-space: nowrap !important; position: sticky !important; top: 0 !important; z-index: 5 !important; box-shadow: 0 1px 0 var(--line) !important;}
.nlc-app td.nlc-has-tip {cursor: help !important; border-bottom-style: dashed !important;}
.nlc-app thead th:first-child, .nlc-app thead th:nth-child(2), .nlc-app thead th:nth-child(3), .nlc-app thead th:nth-child(4) {text-align: left !important;}
.nlc-app tbody td {padding: 9px 10px !important; border-bottom: 1px solid var(--line) !important; text-align: right !important; font-family: var(--mono) !important; white-space: nowrap !important;}
.nlc-app tbody td:first-child, .nlc-app tbody td:nth-child(2), .nlc-app tbody td:nth-child(3), .nlc-app tbody td:nth-child(4) {text-align: left !important; font-family: var(--sans) !important;}
.nlc-app tbody tr:hover {background: rgba(184,145,43,0.06) !important;}
.nlc-app tbody tr.nlc-milestone td {background: rgba(184,145,43,0.16) !important; box-shadow: inset 3px 0 0 var(--gold) !important;}
.nlc-app tbody tr.nlc-milestone td:first-child {font-weight: 700 !important;}
.nlc-app tbody tr.nlc-disburse-row td {background: rgba(47,111,98,0.16) !important; box-shadow: inset 3px 0 0 var(--teal-soft) !important;}
.nlc-app tbody tr.nlc-disburse-row td:first-child {font-weight: 700 !important;}
.nlc-app tbody tr.nlc-t0-row td {background: var(--panel-2) !important; font-style: italic !important; color: var(--ink-dim) !important;}
.nlc-app tbody tr.nlc-t0-row td:first-child {font-weight: 700 !important; font-style: normal !important; color: var(--teal-soft) !important;}
.nlc-app tbody tr.nlc-t0-row td:last-child {font-weight: 700 !important; font-style: normal !important; color: var(--ink) !important;}
.nlc-app .nlc-phase-tag {font-size: 9.5px !important; padding: 3px 8px !important; border-radius: 10px !important; display: inline-block !important;border: 1px solid var(--line) !important; color: var(--ink-dim) !important; white-space: normal !important; line-height: 1.3 !important; text-align: center !important; max-width: 108px !important;}
.nlc-app .nlc-phase-tag.nlc-grace {border-color: var(--danger) !important; color: var(--danger) !important;}
.nlc-app .nlc-phase-tag.nlc-promo {border-color: var(--teal-soft) !important; color: var(--teal-soft) !important;}
.nlc-app .nlc-phase-tag.nlc-principal-grace {border-color: var(--gold) !important; color: var(--gold-soft) !important;}
.nlc-app .nlc-phase-tag.nlc-active {border-color: var(--ink-dim) !important; color: var(--ink) !important;}
.nlc-app .nlc-phase-tag.nlc-disburse {border-color: var(--teal-soft) !important; color: var(--teal-soft) !important; font-weight: 700 !important;}
.nlc-app tfoot td {font-weight: 700 !important; padding: 12px 10px !important; border-top: 2px solid var(--line) !important; text-align: right !important; font-family: var(--mono) !important;}
.nlc-app tfoot td:first-child {text-align: left !important; font-family: var(--sans) !important;}
.nlc-app .nlc-empty-state {text-align: center !important; padding: 50px 20px !important; color: var(--ink-dim) !important;}
.nlc-app .nlc-empty-state .nlc-big {font-family: var(--serif) !important; font-size: 20px !important; color: var(--ink) !important; margin-bottom: 8px !important;}
.nlc-app footer {text-align: center !important; color: var(--ink-dim) !important; font-size: 12.5px !important; padding: 40px 0 10px !important;}
.nlc-app .nlc-note-box {background: rgba(31,110,74,0.07) !important; border: 1px solid rgba(31,110,74,0.3) !important;border-radius: 8px !important; padding: 14px 16px !important; font-size: 12.5px !important; color: var(--ink-dim) !important; margin-top: 18px !important;}
.nlc-app .nlc-modal-overlay {position: fixed !important; inset: 0 !important; background: rgba(6,8,14,0.75) !important; display: none !important;align-items: center !important; justify-content: center !important; z-index: 100 !important; padding: 20px !important;}
.nlc-app .nlc-modal-overlay.nlc-show {display: flex !important;}
.nlc-app .nlc-modal {background: var(--panel) !important; border: 1px solid var(--line) !important; border-radius: var(--radius) !important;max-width: 680px !important; width: 100% !important; max-height: 82vh !important; overflow-y: auto !important; padding: 28px !important; color: var(--card-ink) !important;}
.nlc-app .nlc-modal.nlc-modal-lg {max-width: 95vw !important; width: 95vw !important; max-height: 95vh !important;}
.nlc-app .nlc-modal.nlc-modal-flex {display: flex !important; flex-direction: column !important; padding: 0 !important; overflow: hidden !important;}
.nlc-app .nlc-modal-flex .nlc-modal-head-fixed {padding: 24px 28px 16px !important; border-bottom: 1px solid var(--line) !important; flex-shrink: 0 !important;}
.nlc-app .nlc-modal-flex .nlc-modal-head-fixed h3 {margin-top: 0 !important;}
.nlc-app .nlc-modal-flex .nlc-modal-scroll-body {flex: 1 1 auto !important; overflow: auto !important; padding: 18px 28px !important; min-height: 0 !important;}
.nlc-app .nlc-modal-flex .nlc-modal-footer-sticky {flex-shrink: 0 !important; padding: 14px 28px !important; border-top: 1px solid var(--line) !important; background: var(--panel) !important; display: flex !important; justify-content: flex-end !important; gap: 10px !important;}
.nlc-app .nlc-modal-flex .nlc-modal-footer-sticky.nlc-between {justify-content: space-between !important;}
.nlc-app .nlc-uu-dai-card {border: 1px solid var(--gold) !important; border-radius: 9px !important; padding: 18px !important; margin-bottom: 16px !important; background: rgba(184,145,43,0.06) !important;}
.nlc-app .nlc-uu-dai-card .nlc-card-title {font-family: var(--serif) !important; font-size: 15px !important; font-weight: 600 !important; color: var(--gold-soft) !important; margin: 0 0 12px !important; display: flex !important; align-items: center !important; gap: 8px !important;}
.nlc-app .nlc-uu-dai-card .nlc-card-title::before {content: '★' !important; font-size: 12px !important;}
.nlc-app .nlc-cmp-detail-btn-row {margin-top: 14px !important; text-align: right !important;}
.nlc-app .nlc-modal h3 {font-family: var(--serif) !important; margin-top: 0 !important;}
.nlc-app .nlc-modal-sub {color: var(--ink-dim) !important; font-size: 13px !important; margin-top: -10px !important; margin-bottom: 18px !important;}
.nlc-app .nlc-saved-item {display: flex !important; justify-content: space-between !important; align-items: center !important;padding: 12px !important; border: 1px solid var(--line) !important; border-radius: 7px !important; margin-bottom: 10px !important; gap: 10px !important; transition: opacity .15s !important;}
.nlc-app .nlc-saved-item.nlc-disabled {opacity: .4 !important;}
.nlc-app .nlc-u-empty-note {color: var(--ink-dim) !important; font-size: 13.5px !important;}
.nlc-app .nlc-saved-item .nlc-check {display: flex !important; align-items: center !important; gap: 10px !important;}
.nlc-app .nlc-saved-item .nlc-info {font-size: 13px !important;}
.nlc-app .nlc-saved-item .nlc-info .nlc-name {font-weight: 600 !important; margin-bottom: 2px !important;}
.nlc-app .nlc-saved-item .nlc-info .nlc-meta {color: var(--ink-dim) !important; font-size: 12px !important;}
.nlc-app .nlc-saved-item .nlc-actions {display: flex !important; gap: 8px !important;}
.nlc-app .nlc-share-link-box {display: flex !important; gap: 8px !important; margin-top: 14px !important;}
.nlc-app .nlc-share-link-box input {font-size: 12px !important;}
.nlc-app .nlc-cmp-table {width: 100% !important; border-collapse: collapse !important; margin-top: 16px !important; font-size: 12.5px !important;}
.nlc-app .nlc-cmp-table th, .nlc-app .nlc-cmp-table td {padding: 8px 10px !important; border-bottom: 1px solid var(--line) !important; text-align: left !important;}
.nlc-app .nlc-cmp-table th {color: var(--gold-soft) !important; font-family: var(--sans) !important;}
.nlc-app .nlc-cmp-table td {font-family: var(--mono) !important;}
.nlc-app .nlc-toast-backdrop {position: fixed !important; inset: 0 !important; background: rgba(6,8,14,0.55) !important; z-index: 299 !important; opacity: 0 !important; pointer-events: none !important; transition: .25s !important;}
.nlc-app .nlc-toast-backdrop.nlc-show {opacity: 1 !important; pointer-events: auto !important;}
.nlc-app .nlc-toast {position: fixed !important; top: 50% !important; left: 50% !important; bottom: auto !important; right: auto !important; transform: translate(-50%,-45%) !important; background: var(--panel-2) !important; border: 1px solid var(--gold) !important;color: var(--ink) !important; padding: 22px 28px !important; border-radius: 12px !important; font-size: 15px !important; line-height: 1.5 !important; text-align: center !important;box-shadow: 0 20px 60px rgba(20,38,31,.14) !important; opacity: 0 !important; transition: .25s !important; z-index: 300 !important; max-width: 420px !important; width: 90% !important;}
.nlc-app .nlc-toast.nlc-show {opacity: 1 !important; transform: translate(-50%,-50%) !important;}
.nlc-app .nlc-toast.nlc-warn {border-color: var(--danger) !important;}
@media print{
.nlc-app {background: #fff !important; color: #000 !important;}
.nlc-app .nlc-no-print {display:none !important;}
.nlc-app .nlc-section {border: 1px solid #ccc !important; break-inside: avoid !important;}
.nlc-app .nlc-table-wrap {max-height:none !important; overflow:visible !important;}
.nlc-app thead th {position:static !important;}
}