/* =========================================================
   KBRIDGE RESULT UI — restrained navy / blue system
   One visual language across calculators and lookup tools.
   ========================================================= */
:root{
  --result-navy:#17345f;
  --result-navy-deep:#102847;
  --result-blue:#2f63d8;
  --result-blue-strong:#2453bd;
  --result-blue-soft:#eef4ff;
  --result-blue-soft-2:#f6f9ff;
  --result-line:#d9e3f0;
  --result-line-strong:#c8d6e8;
  --result-surface:#ffffff;
  --result-surface-alt:#f7f9fc;
  --result-ink:#142844;
  --result-muted:#66768d;
}

/* Shared numeric result cards */
.tool-shell .nt-results{
  gap:12px!important;
  margin-top:16px!important;
}
.tool-shell .nt-result{
  position:relative;
  min-height:100px;
  padding:16px 17px!important;
  overflow:hidden;
  border:1px solid var(--result-line)!important;
  border-top:3px solid #b8c9e4!important;
  border-radius:13px!important;
  background:var(--result-surface)!important;
  box-shadow:0 7px 18px rgba(20,40,68,.055)!important;
}
.tool-shell .nt-result:nth-child(n){
  border-left:1px solid var(--result-line)!important;
  background:var(--result-surface)!important;
}
.tool-shell .nt-result span{
  display:block;
  color:var(--result-muted)!important;
  font-size:11px!important;
  line-height:1.4!important;
  font-weight:750!important;
  letter-spacing:-.01em;
}
.tool-shell .nt-result strong{
  display:block;
  margin-top:8px!important;
  color:var(--result-ink)!important;
  font-size:21px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
  word-break:keep-all!important;
}
.tool-shell .nt-result em{
  display:block;
  margin-top:7px!important;
  color:#718096!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  font-style:normal;
}

/* Key totals: a single, calm emphasis */
.tool-shell .nt-result:has(#dTotalTax),
.tool-shell .nt-result:has(#dGrand),
.tool-shell .nt-result:has(#cbmTotal),
.tool-shell .nt-result:has(#cbmAirCharge),
.tool-shell .nt-result:has(#lclSumRt){
  border-color:#bdd0ee!important;
  border-top-color:var(--result-blue)!important;
  background:linear-gradient(180deg,#fff 0%,var(--result-blue-soft) 100%)!important;
}
.tool-shell #dTotalTax,
.tool-shell #dGrand,
.tool-shell #cbmTotal,
.tool-shell #cbmAirCharge,
.tool-shell #lclSumRt{
  color:var(--result-blue-strong)!important;
}

/* Titles, count and status */
.tool-shell .nt-card:has(.nt-results)>.nt-tool-head,
.tool-shell .nt-card:has(.nt-results)>h2{position:relative}
.tool-shell .nt-card:has(.nt-results)>.nt-tool-head:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-12px;
  height:1px;background:#e8edf4;
}
.tool-shell .nt-badge,
.tool-shell .status,
.tool-shell .nt-count{
  border:1px solid #cfdbec!important;
  background:#f2f6fc!important;
  color:#31557f!important;
  font-weight:800!important;
}

/* LCL result cards */
#lclResults .nt-list-item{
  overflow:hidden;
  padding:0!important;
  border:1px solid var(--result-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(20,40,68,.055)!important;
}
#lclResults .nt-list-item>div:first-child{
  padding:14px 17px;
  background:var(--result-navy)!important;
  color:#fff!important;
}
#lclResults .nt-list-item>div:first-child strong{color:#fff!important;font-size:15px}
#lclResults .nt-list-item .nt-badge{
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
#lclResults .nt-table-wrap{margin:0!important;border:0!important;border-radius:0!important}
#lclResults .nt-table tr:last-child td{
  padding-top:15px;padding-bottom:15px;
  background:var(--result-blue-soft)!important;
  color:var(--result-navy-deep)!important;
  font-size:14px;
  border-top:1px solid #c8d7ec!important;
}
#lclResults .nt-table tr:last-child td strong{font-size:17px;color:var(--result-blue-strong)!important}

/* Search and lookup outputs */
#hsResults .nt-list-item,
.nt-dg-card,
.nt-month{
  border-color:var(--result-line)!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
#hsResults .nt-list-item{border-left:3px solid #afc3e4!important}
#hsResults .nt-list-item:hover,
.nt-dg-card:hover,
.nt-month:hover{
  border-color:#b8cae4!important;
  box-shadow:0 8px 20px rgba(20,40,68,.06)!important;
}
.nt-month h3{color:var(--result-ink)!important}
.nt-holiday time{background:var(--result-blue-soft)!important;color:var(--result-blue-strong)!important}
.nt-progress{height:10px!important;background:#e8edf4!important}
.nt-progress i{background:var(--result-blue)!important}

/* Tables */
.tool-shell .nt-table th{
  background:#eef2f7!important;
  color:#344b69!important;
  font-weight:850!important;
  border-bottom:1px solid var(--result-line-strong)!important;
}
.tool-shell .nt-table tbody tr:nth-child(even) td{background:#fafbfd!important}
.tool-shell .nt-table td{color:#30445f!important}
.tool-shell .nt-cell-output{
  color:var(--result-blue-strong)!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums;
}

/* SAFE RATE RESULT PANEL */
#safeRateApp .result-panel{
  overflow:hidden!important;
  border:1px solid #c9d7e8!important;
  background:#f4f7fb!important;
  color:var(--result-ink)!important;
  box-shadow:0 18px 42px rgba(12,35,70,.14)!important;
}
#safeRateApp .result-head{
  border-bottom:0!important;
  background:var(--result-navy)!important;
  color:#fff!important;
}
#safeRateApp .result-head small{color:#c8d5e7!important}
#safeRateApp .result-head h2{color:#fff!important;font-size:20px!important}
#safeRateApp .result-vat{
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
#safeRateApp .result-body{background:#f4f7fb!important}
#safeRateApp .rate-card{
  position:relative;
  overflow:hidden;
  padding:17px!important;
  border:1px solid var(--result-line)!important;
  border-left:4px solid var(--result-blue)!important;
  background:#fff!important;
  color:var(--result-ink)!important;
  box-shadow:0 7px 18px rgba(20,40,68,.055)!important;
}
#safeRateApp .rate-card.rate-40{
  border-left-color:var(--result-navy)!important;
  background:#fff!important;
}
#safeRateApp .rate-card.rate-20{background:#fff!important}
#safeRateApp .rate-top strong{color:#24405f!important;font-size:13.5px!important}
#safeRateApp .rate-top span{color:#6e7e93!important;font-size:10.5px!important}
#safeRateApp .rate-value{
  margin-top:9px!important;
  color:var(--result-blue-strong)!important;
  font-size:28px!important;
  line-height:1.1!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums;
}
#safeRateApp .rate-40 .rate-value{color:var(--result-navy)!important}
#safeRateApp .rate-detail{
  border-top:1px solid #e0e7f0!important;
  color:#6a788b!important;
}
#safeRateApp .rate-detail b{color:#203956!important;font-weight:850!important}
#safeRateApp .selection-summary{
  gap:0!important;
  margin-top:14px!important;
  padding:8px 13px!important;
  border:1px solid var(--result-line)!important;
  border-radius:12px;
  background:#fff!important;
}
#safeRateApp .summary-row{
  grid-template-columns:64px minmax(0,1fr)!important;
  padding:7px 0;
  border-bottom:1px solid #edf1f5;
  font-size:11px!important;
}
#safeRateApp .summary-row:last-of-type{border-bottom:0}
#safeRateApp .summary-row span{color:#728197!important;font-weight:750}
#safeRateApp .summary-row b{color:#203956!important;font-weight:800!important}
#safeRateApp .applied-list{margin-top:8px!important;padding-top:8px;border-top:1px solid #edf1f5}
#safeRateApp .applied-list span{
  border:1px solid #d4deeb!important;
  background:#f3f6fa!important;
  color:#395674!important;
  font-weight:750;
}
#safeRateApp .empty-hint{
  border-color:#d1dbe8!important;
  background:#fff!important;
  color:#617187!important;
}
#safeRateApp .result-actions .native-btn{box-shadow:0 7px 16px rgba(47,99,216,.16)}
#safeRateApp .result-actions .native-btn.secondary{
  border:1px solid #cbd7e6!important;
  background:#fff!important;
  color:#314c6c!important;
  box-shadow:none!important;
}

@media(max-width:720px){
  .tool-shell .nt-result{min-height:90px;padding:14px 15px!important}
  .tool-shell .nt-result strong{font-size:19px!important}
  #safeRateApp .rate-value{font-size:25px!important}
}
