/* Libra Care NDIS Budget Calculator — styles (all scoped to .nbc) */
#nbc.nbc{
  --nbc-brand:#5b2d8e; --nbc-accent:#0f9d8a;
  --nbc-ink:#1d1b26; --nbc-muted:#5f5b6e; --nbc-line:#e4e1ec; --nbc-bg:#f6f5fa; --nbc-card:#fff;
  --nbc-core:#5b2d8e; --nbc-capacity:#0f9d8a; --nbc-capital:#d9822b; --nbc-home:#2f6fd6;
  --nbc-danger:#c62f3a; --nbc-ok:#1b8a4b; --nbc-radius:14px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--nbc-ink); background:var(--nbc-bg); line-height:1.5; font-size:15px;
  padding:24px 16px 48px; box-sizing:border-box;
}
#nbc.nbc *,#nbc.nbc *::before,#nbc.nbc *::after{box-sizing:border-box}
#nbc.nbc h1,#nbc.nbc h2,#nbc.nbc h3{margin:0;line-height:1.25}
#nbc.nbc [hidden]{display:none!important}
#nbc.nbc button{font:inherit;cursor:pointer}
#nbc.nbc input,#nbc.nbc select{font:inherit;color:inherit}
/* hero */
#nbc .nbc-hero{max-width:1180px;margin:0 auto 20px}
#nbc .nbc-brand img{max-height:48px;margin-bottom:12px}
#nbc .nbc-eyebrow{margin:0 0 4px;color:var(--nbc-brand);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
#nbc .nbc-hero h1{font-size:clamp(26px,4vw,36px);color:var(--nbc-ink)}
#nbc .nbc-lead{color:var(--nbc-muted);max-width:760px;margin:8px 0 14px}
#nbc .nbc-notice,#nbc .nbc-warn,#nbc .nbc-tip{border-radius:10px;padding:12px 14px;font-size:14px}
#nbc .nbc-notice{background:#fff;border:1px solid var(--nbc-line);border-left:4px solid var(--nbc-brand)}
#nbc .nbc-warn{background:#fff4e5;border:1px solid #f3c98b;margin-top:10px}
#nbc .nbc-tip{background:#eef7f5;border:1px solid #cbe8e2;margin:0 0 16px}
/* layout */
#nbc .nbc-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
#nbc .nbc-side{position:sticky;top:16px}
@media (max-width:960px){#nbc .nbc-layout{grid-template-columns:1fr}
  #nbc .nbc-side{position:static}
  }
#nbc .nbc-card{background:var(--nbc-card);border:1px solid var(--nbc-line);border-radius:var(--nbc-radius);padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(20,10,40,.04)}
#nbc .nbc-card h2{font-size:18px;display:flex;align-items:center;gap:10px}
#nbc .nbc-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
#nbc .nbc-head-actions{display:flex;gap:8px;flex-wrap:wrap}
#nbc .nbc-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--nbc-brand);color:#fff;font-size:13px;font-weight:700}
#nbc .nbc-grid{display:grid;gap:12px}
#nbc .nbc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#nbc .nbc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
#nbc .nbc-span-2{grid-column:span 2}
@media (max-width:640px){#nbc .nbc-grid-3,#nbc .nbc-grid-2{grid-template-columns:1fr}
  #nbc .nbc-span-2{grid-column:auto}
  }
#nbc .nbc-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--nbc-muted);font-weight:600;min-width:0}
#nbc .nbc-field input,#nbc .nbc-field select,#nbc .nbc-pk-filters select,#nbc .nbc-select-btn,#nbc .nbc-search{
  width:100%;height:40px;border:1px solid var(--nbc-line);border-radius:9px;padding:0 10px;background:#fff;color:var(--nbc-ink);font-weight:400;font-size:15px}
#nbc .nbc-field input[readonly]{background:var(--nbc-bg)}
#nbc .nbc-field input:disabled,#nbc .nbc-field select:disabled{background:var(--nbc-bg);color:#a19db0;border-style:dashed}
#nbc.nbc input:focus,#nbc.nbc select:focus,#nbc.nbc button:focus-visible,#nbc .nbc-pk-list:focus{outline:2px solid var(--nbc-brand);outline-offset:1px}
#nbc .nbc-money{position:relative}
#nbc .nbc-money::before{content:"$";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--nbc-muted);font-weight:400;pointer-events:none}
#nbc .nbc-money input{padding-left:22px!important}
#nbc .nbc-select-btn{text-align:left;color:var(--nbc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#nbc .nbc-select-btn.has-val{color:var(--nbc-ink)}
#nbc .nbc-help{font-size:13px;color:var(--nbc-muted);margin:10px 0 0}
#nbc .nbc-mt0{margin-top:0}
#nbc .nbc-quick{display:flex;gap:6px;flex-wrap:wrap;min-height:40px;align-items:center}
#nbc .nbc-btn{border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:600;font-size:14px;line-height:1.2}
#nbc .nbc-btn-primary{background:var(--nbc-brand);color:#fff}
#nbc .nbc-btn-primary:hover{filter:brightness(1.1)}
#nbc .nbc-btn-ghost{background:#fff;border-color:var(--nbc-line);color:var(--nbc-ink)}
#nbc .nbc-btn-ghost:hover{border-color:var(--nbc-brand);color:var(--nbc-brand)}
#nbc .nbc-btn-sm{padding:6px 10px;font-size:13px}
#nbc .nbc-link{background:none;border:0;padding:0;color:var(--nbc-brand);font-weight:600;font-size:13px;text-decoration:underline}
#nbc .nbc-link.danger{color:var(--nbc-danger)}
#nbc .nbc-chip{border:1px solid var(--nbc-line);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;color:var(--nbc-ink)}
#nbc .nbc-chip.is-on{background:var(--nbc-brand);border-color:var(--nbc-brand);color:#fff}
#nbc .nbc-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0}
#nbc .nbc-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--nbc-muted);margin-left:auto}
#nbc .nbc-details{margin-top:14px;border:1px dashed var(--nbc-line);border-radius:10px;padding:12px}
#nbc .nbc-details summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;list-style:none}
#nbc .nbc-details summary::-webkit-details-marker{display:none}
#nbc .nbc-details summary span::before{content:"▸ ";color:var(--nbc-brand)}
#nbc .nbc-details[open] summary span::before{content:"▾ "}
#nbc .nbc-details summary small{color:var(--nbc-muted)}
#nbc .nbc-details[open] summary{margin-bottom:12px}
/* lines */
#nbc .nbc-empty{text-align:center;padding:28px 12px;color:var(--nbc-muted);border:1px dashed var(--nbc-line);border-radius:10px}
#nbc .nbc-group{margin-bottom:14px}
#nbc .nbc-group-h{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:6px 0;border-bottom:2px solid var(--c);color:var(--c);margin-bottom:8px}
#nbc .nbc-line{border:1px solid var(--nbc-line);border-radius:10px;padding:12px;margin-bottom:8px;background:#fff}
#nbc .nbc-line-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
#nbc .nbc-line-name{font-weight:600}
#nbc .nbc-code{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--nbc-muted)}
#nbc .nbc-line-total{text-align:right;white-space:nowrap}
#nbc .nbc-line-total strong{font-size:17px;display:block}
#nbc .nbc-line-total small{color:var(--nbc-muted)}
#nbc .nbc-line-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
#nbc .nbc-line-fields .nbc-field input,#nbc .nbc-line-fields .nbc-field select{height:36px;font-size:14px}
@media (max-width:760px){#nbc .nbc-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
#nbc .nbc-line-foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;align-items:center}
#nbc .nbc-line-foot .nbc-calc{font-size:12px;color:var(--nbc-muted);margin-right:auto}
#nbc .nbc-badge{display:inline-block;font-size:11px;font-weight:600;border-radius:6px;padding:1px 7px;border:1px solid;margin:3px 4px 0 0}
#nbc .nbc-b-weekday{background:#f1f2f6;color:#3d4252;border-color:#d4d7e0}
#nbc .nbc-b-saturday{background:#fff5da;color:#8a5a00;border-color:#f2d58a}
#nbc .nbc-b-sunday{background:#ffeadb;color:#9a4300;border-color:#f5c29a}
#nbc .nbc-b-public_holiday{background:#fde6e8;color:#a3202c;border-color:#f3b0b6}
#nbc .nbc-b-evening_night{background:#e9e8fd;color:#3b35a3;border-color:#c3c0f5}
#nbc .nbc-b-quote{background:#fff;color:var(--nbc-muted);border-color:var(--nbc-line)}
#nbc .nbc-b-bucket{color:#fff;border-color:transparent;background:var(--c)}
/* summary */
#nbc .nbc-summary h2{margin-bottom:12px}
#nbc .nbc-seg{display:grid;grid-template-columns:repeat(5,1fr);background:var(--nbc-bg);border-radius:10px;padding:3px;margin-bottom:14px}
#nbc .nbc-seg button{border:0;background:transparent;padding:6px 0;min-width:0;overflow:hidden;text-overflow:ellipsis;border-radius:8px;font-size:12.5px;color:var(--nbc-muted);font-weight:600}
#nbc .nbc-seg button.is-on{background:#fff;color:var(--nbc-brand);box-shadow:0 1px 3px rgba(0,0,0,.1)}
#nbc .nbc-bucket{padding:10px 0;border-bottom:1px solid var(--nbc-line)}
#nbc .nbc-bucket-top{display:flex;justify-content:space-between;gap:10px;font-weight:600}
#nbc .nbc-bucket-top span{display:flex;align-items:center;gap:8px}
#nbc .nbc-dot{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
#nbc .nbc-bucket p{margin:2px 0 0 18px;font-size:12px;color:var(--nbc-muted)}
#nbc .nbc-bucket-view{margin-left:18px;font-size:13px;color:var(--nbc-muted)}
#nbc .nbc-grand{background:linear-gradient(135deg,var(--nbc-brand),#2c1650);color:#fff;border-radius:12px;padding:14px;margin-top:14px}
#nbc .nbc-grand > div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#nbc .nbc-grand > div:first-child strong{font-size:26px}
#nbc .nbc-whole{display:flex;justify-content:space-between;margin-top:6px;opacity:.9;font-size:14px}
#nbc .nbc-travel-note,#nbc .nbc-quote-note{font-size:12px;opacity:.85;margin-top:4px}
#nbc .nbc-travel-note:empty,#nbc .nbc-quote-note:empty{display:none}
#nbc .nbc-fund{margin-top:14px;border:1px solid var(--nbc-line);border-radius:10px;padding:12px}
#nbc .nbc-fund h3{font-size:14px;margin-bottom:8px}
#nbc .nbc-fund-row{margin-bottom:10px;font-size:13px}
#nbc .nbc-fund-row .t{display:flex;justify-content:space-between;gap:8px}
#nbc .nbc-bar{height:8px;border-radius:99px;background:var(--nbc-bg);overflow:hidden;margin-top:4px}
#nbc .nbc-bar i{display:block;height:100%;background:var(--c,var(--nbc-accent));border-radius:99px}
#nbc .nbc-over{color:var(--nbc-danger);font-weight:600}
#nbc .nbc-under{color:var(--nbc-ok);font-weight:600}
#nbc .nbc-export{margin-top:14px}
#nbc .nbc-export-btns{display:flex;gap:8px;flex-wrap:wrap}
#nbc .nbc-cta{margin-top:14px;padding-top:14px;border-top:1px solid var(--nbc-line);font-size:14px}
#nbc .nbc-cta:empty{display:none}
#nbc .nbc-cta .nbc-btn{display:block;text-align:center;text-decoration:none;background:var(--nbc-accent);color:#fff;margin-bottom:8px}
#nbc .nbc-cta a{color:var(--nbc-brand)}
#nbc .nbc-afford-out{margin-top:12px}
#nbc .nbc-afford-out:empty{display:none}
#nbc .nbc-afford-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:640px){#nbc .nbc-afford-grid{grid-template-columns:1fr}
  }
#nbc .nbc-stat{background:var(--nbc-bg);border-radius:10px;padding:10px 12px}
#nbc .nbc-stat small{display:block;color:var(--nbc-muted);font-size:12px}
#nbc .nbc-stat strong{font-size:20px}
#nbc .nbc-how ul{padding-left:18px;margin:10px 0 0}
#nbc .nbc-how li{margin-bottom:6px;font-size:14px}
/* picker */
#nbc .nbc-modal{position:fixed;inset:0;background:rgba(20,12,35,.55);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto}
#nbc .nbc-modal-box{background:#fff;border-radius:16px;width:100%;max-width:820px;padding:20px;position:relative;display:flex;flex-direction:column;max-height:92vh}
#nbc .nbc-modal-box h2{font-size:20px;text-align:center;margin-bottom:4px}
#nbc .nbc-modal-box > .nbc-help{text-align:center}
#nbc .nbc-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:28px;line-height:1;color:var(--nbc-muted);padding:4px 8px}
#nbc .nbc-search{margin:12px 0 10px;border-color:var(--nbc-brand)!important;height:44px!important}
#nbc .nbc-pk-count{font-size:12px;color:var(--nbc-muted);margin-bottom:6px}
#nbc .nbc-pk-list{overflow:auto;border:1px solid var(--nbc-line);border-radius:10px;min-height:200px;flex:1}
#nbc .nbc-pk-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--nbc-line)}
#nbc .nbc-pk-item:hover{background:var(--nbc-bg)}
#nbc .nbc-pk-item .nm{font-weight:600;font-size:14px}
#nbc .nbc-pk-item .pr{text-align:right;white-space:nowrap;font-weight:600}
#nbc .nbc-pk-item .pr small{display:block;font-weight:400;color:var(--nbc-muted);font-size:11px}
#nbc .nbc-pk-more{padding:10px;text-align:center}
#nbc .nbc-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#1d1b26;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:10000;max-width:90vw}
#nbc .nbc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#nbc .nbc-print-head{display:none}
/* print / PDF */
@media print{@page{size:A4;margin:14mm}
  #nbc.nbc{background:#fff;padding:0;font-size:11.5px}
  #nbc .nbc-hero,#nbc .nbc-tip,#nbc .nbc-how,#nbc .nbc-export,#nbc .nbc-cta,#nbc .nbc-seg,#nbc .nbc-card-head button,#nbc .nbc-head-actions,#nbc .nbc-line-foot button,#nbc .nbc-line-foot .nbc-link,#nbc #nbc-afford-h,#nbc .nbc-afford-out,#nbc .nbc-modal,#nbc .nbc-toast,#nbc .nbc-details summary small,#nbc .nbc-quick{display:none!important}
  #nbc .nbc-card:has(#nbc-afford-h){display:none!important}
  #nbc .nbc-print-head{display:block;margin-bottom:12px;border-bottom:2px solid var(--nbc-brand);padding-bottom:8px}
  #nbc .nbc-print-head h1{font-size:20px;color:var(--nbc-brand)}
  #nbc .nbc-layout{display:block}
  #nbc .nbc-side{position:static}
  #nbc .nbc-card{box-shadow:none;border:0;padding:0;margin-bottom:12px;break-inside:auto}
  #nbc .nbc-line{break-inside:avoid;padding:8px}
  #nbc .nbc-details,#nbc .nbc-field:has(.nbc-quick),#nbc .nbc-field:has(input:disabled),#nbc .nbc-field:has(select:disabled){display:none!important}
  #nbc .nbc-grand{background:#f1ecf7!important;color:#1d1b26!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #nbc .nbc-b-bucket,#nbc .nbc-step,#nbc .nbc-bar i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #nbc input,#nbc select{border:0!important;padding:0!important;height:auto!important;background:none!important;appearance:none;-webkit-appearance:none}
  }
/* friendly additions */
#nbc .nbc-steps{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#nbc .nbc-steps li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--nbc-line);border-radius:12px;padding:12px}
#nbc .nbc-steps li > span{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--nbc-accent);color:#fff;font-weight:700}
#nbc .nbc-steps strong{display:block}
#nbc .nbc-steps small{color:var(--nbc-muted);font-size:13px}
@media (max-width:760px){#nbc .nbc-steps{grid-template-columns:1fr}
  }
#nbc .nbc-popular{margin:-4px 0 14px}
#nbc .nbc-popular p{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--nbc-muted)}
#nbc .nbc-popular div{display:flex;flex-wrap:wrap;gap:6px}
#nbc .nbc-popular .nbc-chip{padding:8px 12px;font-size:14px}
#nbc .nbc-popular .nbc-chip:hover{border-color:var(--nbc-brand);color:var(--nbc-brand)}
#nbc .nbc-popular .nbc-chip::before{content:"+ ";font-weight:700;color:var(--nbc-brand)}
#nbc .nbc-line-fields.nbc-main-fields{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
#nbc .nbc-more{margin-top:8px}
#nbc .nbc-more summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--nbc-brand);list-style:none}
#nbc .nbc-more summary::-webkit-details-marker{display:none}
#nbc .nbc-more summary::before{content:"▸ "}
#nbc .nbc-more[open] summary::before{content:"▾ "}
#nbc .nbc-more .nbc-line-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){#nbc .nbc-more .nbc-line-fields{grid-template-columns:1fr 1fr}
  }
#nbc .nbc-toast.show{pointer-events:auto}
#nbc .nbc-toast button{background:none;border:0;color:#b9f0e6;font-weight:700;text-decoration:underline;margin-left:10px}
#nbc .nbc-hint{font-size:12px;color:var(--nbc-muted);font-weight:400}
@media print{#nbc .nbc-popular,#nbc .nbc-more summary{display:none!important}
  #nbc .nbc-more .nbc-line-fields{display:grid!important}
  }
