/* AZRS calculators: shared skin for every calculator page and the expense tracker.
   Layouts: .cz-money (Calc-loan), .cz-quick (Calc-percent), .cz-hub (Calc-hub), .cz-tracker (Expense-tracker).
   Accent comes from CSS variables on the page wrapper. Guide uses az-guide.css (.azg). */

.cz{
  --cz-a:#5B4BFF;--cz-ink:#4A3BE0;--cz-b:#00B8E6;
  --cz-text:#0E1226;--cz-muted:#434862;--cz-soft:#5A5F78;--cz-line:rgba(14,18,38,.1);--cz-rad:28px;
  --az-a:var(--cz-a);--az-ink:var(--cz-ink);--az-b:var(--cz-b);
  /* remap the colours used by the older inline calculator styles */
  --primary:var(--cz-a);--primary-dark:var(--cz-ink);--primary-light:color-mix(in srgb,var(--cz-a) 12%,#fff);--info:var(--cz-b);--acc:var(--cz-a);--acc2:var(--cz-b);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--cz-text);line-height:1.5;
  background:
    radial-gradient(900px 420px at 85% -80px,color-mix(in srgb,var(--cz-a) 12%,transparent),transparent 70%),
    radial-gradient(700px 360px at -10% 120px,color-mix(in srgb,var(--cz-b) 10%,transparent),transparent 70%),
    #F6F7FC;
  padding-bottom:24px;overflow-x:clip;
}
.cz-money{--cz-a:#0A7EA4;--cz-ink:#0A7EA4;--cz-b:#00B8E6}
.cz-quick,.cz-hub{--cz-a:#5B4BFF;--cz-ink:#4A3BE0;--cz-b:#00B8E6}
.cz-hub.cz-money{--cz-a:#0A7EA4;--cz-ink:#0A7EA4;--cz-b:#00B8E6}
.cz-tracker{--cz-a:#0F766E;--cz-ink:#0F766E;--cz-b:#2DD4BF}
.cz *{box-sizing:border-box}
.cz section{background:transparent}
.cz a{text-decoration:none}
.cz-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cz :focus-visible{outline:3px solid var(--cz-a);outline-offset:2px;border-radius:8px}

.cz-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.cz-head{padding:6px 0 18px;position:relative}
.cz-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--cz-soft);padding:14px 0 8px}
.cz-crumbs a{color:var(--cz-soft);display:inline-flex;align-items:center;min-height:24px}
.cz-crumbs a:hover{color:var(--cz-ink);text-decoration:underline}
.cz-tcat{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cz-ink);background:color-mix(in srgb,var(--cz-a) 12%,#fff);padding:7px 14px;border-radius:999px;margin-bottom:12px}
.cz-h1{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.035em;max-width:20em;text-wrap:balance;color:var(--cz-text)}
.cz-lead{margin:12px 0 0;color:var(--cz-muted);font-size:clamp(1rem,2.3vw,1.2rem);max-width:38em;line-height:1.55}
.cz-h3{margin:0 0 10px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.1rem;font-weight:800}

/* tool card */
.cz-tool{position:relative;z-index:1;padding:0 0 30px}
.cz-ws{background:#fff;border:1px solid var(--cz-line);border-top:6px solid var(--cz-a);border-radius:var(--cz-rad);padding:clamp(16px,3vw,34px);box-shadow:0 40px 80px -50px color-mix(in srgb,var(--cz-a) 55%,transparent);overflow:hidden}
.cz-note{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;background:color-mix(in srgb,var(--cz-a) 8%,#fff);border-left:5px solid var(--cz-a);border-radius:16px;padding:14px 18px;color:var(--cz-muted);font-size:15px}
.cz-note i{color:var(--cz-ink);margin-top:3px}
.cz-hint{margin:0 0 14px;font-size:14px;color:var(--cz-soft)}

/* guide extras */
.cz-ex-in{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;color:var(--cz-text);line-height:1.5}
.cz-rel{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cz-relc{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--cz-line);border-radius:var(--cz-rad);padding:16px;min-height:80px;color:var(--cz-text);transition:transform .2s,box-shadow .2s}
.cz-relc:hover{transform:translateY(-3px);box-shadow:0 26px 46px -28px color-mix(in srgb,var(--cz-a) 60%,transparent)}
.cz-relc b{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.02rem}
.cz-relc em{display:block;font-style:normal;color:var(--cz-muted);font-size:14px;margin-top:2px}
.cz-ico,.cz-rth{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;background:linear-gradient(135deg,var(--cz-a),var(--cz-b))}
.cz-disc{margin:16px 0 0;color:var(--cz-soft);font-size:14px}

/* hub */
.cz-srch{width:100%;max-width:640px;min-height:56px;border-radius:999px;border:1.5px solid rgba(14,18,38,.2);padding:0 22px;font:inherit;font-size:16px;background:#fff;margin:18px 0 12px;display:block;color:var(--cz-text)}
.cz-srch:focus{border-color:var(--cz-a);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--cz-a) 18%,transparent)}
.cz-chips{display:flex;gap:8px;flex-wrap:wrap}
.cz-chips button{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--cz-line);background:#fff;font:inherit;font-weight:600;cursor:pointer;color:var(--cz-text)}
.cz-chips button[aria-pressed="true"]{background:#0E1226;color:#fff;border-color:#0E1226}
.cz-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cz-rcard{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--cz-line);border-radius:var(--cz-rad);padding:16px;min-height:96px;color:var(--cz-text);transition:transform .2s,box-shadow .2s}
.cz-rcard:hover{transform:translateY(-4px);box-shadow:0 26px 46px -28px color-mix(in srgb,var(--cz-a) 60%,transparent)}
.cz-rcard[hidden]{display:none}
.cz-rcard b{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.05rem}
.cz-rcard em{display:block;font-style:normal;color:var(--cz-muted);font-size:14.5px;margin-top:2px}
.cz-empty,.cz-count{color:var(--cz-muted);margin:14px 0 0}
.cz-hubgrid{padding:6px 0 30px}
.cz-sec{padding:20px 0 10px}
.cz-band{display:grid;gap:26px;padding:30px;border-radius:var(--cz-rad);background:linear-gradient(135deg,color-mix(in srgb,var(--cz-a) 12%,#fff),color-mix(in srgb,var(--cz-b) 14%,#fff))}
@media(min-width:900px){.cz-band{grid-template-columns:1.3fr 1fr;gap:44px}}
.cz-band h2{margin:10px 0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.03em}
.cz-band p{color:var(--cz-muted);font-size:16.5px;margin:0 0 16px}
.cz-band ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:center}
.cz-band li{background:#fff;border:1px solid var(--cz-line);border-radius:18px;padding:14px 18px;color:var(--cz-muted)}
.cz-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:999px;background:var(--cz-a);color:#fff!important;font-weight:700;font-size:16px;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--cz-a) 60%,transparent)}
.cz-btn:hover{transform:translateY(-2px)}

/* ---------------- workspace: generic form controls (all calculator pages) ---------------- */
.cz-ws input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),.cz-ws select,.cz-ws textarea{
  min-height:50px;border-radius:14px;border:1.5px solid rgba(14,18,38,.2);font-size:16px;font-family:inherit;background-color:#fff;color:var(--cz-text)}
.cz-ws textarea{min-height:110px}
.cz-ws input:focus,.cz-ws select:focus,.cz-ws textarea:focus{border-color:var(--cz-a)!important;outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--cz-a) 18%,transparent)!important}
.cz-ws button,.cz-ws .btn,.cz-ws [role=button],.cz-ws .tip-preset-btn,.cz-ws .unit-btn{min-height:44px}
.cz-ws input[type=checkbox],.cz-ws input[type=radio]{width:22px;height:22px;accent-color:var(--cz-a)}
.cz-ws label{font-weight:600}
.cz-ws .btn-primary,.cz-ws button.btn-primary,.cz-ws .btn-calc,.cz-ws button[type=submit]{background:var(--cz-a)!important;background-image:none!important;color:#fff!important;border:0;border-radius:999px;font-weight:700;min-height:52px;box-shadow:0 14px 30px -14px color-mix(in srgb,var(--cz-a) 60%,transparent)}
.cz-ws .btn-outline{border-radius:999px;border:2px solid var(--cz-a);color:var(--cz-ink)!important;background:#fff;min-height:52px;font-weight:700}
.cz-ws .tip-preset-btn.selected,.cz-ws .unit-btn.active{background:var(--cz-a);border-color:var(--cz-a);color:#fff}
.cz-ws .form-hint{color:var(--cz-soft);font-size:13.5px}
.cz-ws table{max-width:100%}

/* legacy suite page (calculators.html) */
.cz-ws .calc-suite-wrap{background:transparent;padding:0;min-height:0}
.cz-ws .calc-container{padding:0;max-width:none}
.cz-ws .tabs-grid{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 0 14px;margin:0 0 18px;background:transparent;box-shadow:none;border-bottom:1px solid var(--cz-line);border-radius:0;flex-wrap:nowrap}
.cz-ws .tabs-grid::-webkit-scrollbar{display:none}
.cz-ws .calc-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--cz-line);background:#fff;transform:none!important;box-shadow:none!important;white-space:nowrap;color:var(--cz-text)}
.cz-ws .calc-tab::after{display:none}
.cz-ws .calc-tab .tab-icon{font-size:15px;margin:0;color:var(--cz-ink)}
.cz-ws .calc-tab .tab-name{font-size:14.5px;font-weight:600;color:inherit;margin:0}
.cz-ws .calc-tab .tab-sub{display:none}
.cz-ws .calc-tab.active{background:var(--cz-a);border-color:var(--cz-a);color:#fff}
.cz-ws .calc-tab.active .tab-icon,.cz-ws .calc-tab.active .tab-name{color:#fff}
.cz-ws .calc-card{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
.cz-ws .calc-card-header{display:flex;align-items:center;gap:14px;text-align:left;margin:0 0 14px;padding:0;border:0}
.cz-ws .calc-card-header .header-icon{flex:none;width:44px;height:44px;border-radius:14px;margin:0;font-size:18px;background:linear-gradient(135deg,var(--cz-a),var(--cz-b));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:none}
.cz-ws .calc-card-header h2{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.3rem;font-weight:800;color:var(--cz-text)}
.cz-ws .calc-card-header p{display:none}
.cz-ws .info-banner{background:color-mix(in srgb,var(--cz-a) 8%,#fff);border:0;border-left:5px solid var(--cz-a);border-radius:16px;color:var(--cz-muted);margin-bottom:20px}
.cz-ws .info-banner i,.cz-ws .info-banner strong{color:var(--cz-ink)}
.cz-ws .calc-grid{gap:28px;margin-bottom:18px;align-items:start}
@media(max-width:900px){.cz-ws .calc-grid{grid-template-columns:1fr}}
.cz-ws .panel-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cz-soft);font-weight:800}
.cz-ws .panel-title i{color:var(--cz-ink)}
.cz-ws .form-group label{font-size:14px;font-weight:700;color:var(--cz-muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cz-ws .form-group label i{color:var(--cz-ink)}
.cz-ws .form-control{padding:0 14px;min-height:54px;font-size:16px}
.cz-ws .output-panel{background:color-mix(in srgb,var(--cz-a) 9%,#fff);border-radius:24px;padding:20px 22px}
.cz-ws .result-card{background:#fff!important;background-image:none!important;color:var(--cz-text)!important;border:1px solid var(--cz-line);border-radius:18px;padding:14px 18px;box-shadow:none}
.cz-ws .result-card::before{display:none}
.cz-ws .result-label{color:var(--cz-muted);opacity:1;font-size:.8rem}
.cz-ws .result-value{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:var(--cz-ink);font-size:1.5rem;word-break:break-word}
.cz-ws .output-panel>.result-card:nth-of-type(1){background:transparent!important;border:0;padding:6px 4px 10px}
.cz-ws .output-panel>.result-card:nth-of-type(1) .result-value{font-size:clamp(1.9rem,4.6vw,3rem);letter-spacing:-.03em}
.cz-ws .output-panel>.result-card.cz-main{background:transparent!important;border:0;padding:6px 4px 10px}
.cz-ws .output-panel>.result-card.cz-main .result-value{font-size:clamp(1.9rem,4.6vw,3rem);letter-spacing:-.03em}
.cz-ws .result-sub{color:var(--cz-muted);opacity:1}
.cz-ws .summary-box{background:#fff;border:1px solid var(--cz-line);border-radius:18px}
.cz-ws .chart-wrap{background:transparent;border:0;box-shadow:none;padding:12px 0 0}
.cz-ws .chart-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:var(--cz-text)}
.cz-ws .data-table th{color:var(--cz-soft);font-size:13px}
.cz-ws .table-wrap{overflow-x:auto;max-width:100%}

/* split bar + year table (money layout) */
.cz-split{display:flex;height:16px;border-radius:999px;overflow:hidden;background:rgba(14,18,38,.08);margin-top:14px}
.cz-split i{display:block;height:100%;transition:width .4s}
.cz-leg{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:14px;color:var(--cz-muted)}
.cz-leg b{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.cz-stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:16px}
.cz-stats>div{background:color-mix(in srgb,var(--cz-a) 8%,#fff);border-radius:20px;padding:14px 18px}
.cz-stats small{display:block;color:var(--cz-muted);font-size:13px}
.cz-stats strong{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.4rem;color:var(--cz-ink)}
.cz-years{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.cz-years th{text-align:left;color:var(--cz-soft);font-size:13px;font-weight:700;padding:8px 6px}
.cz-years td{padding:11px 6px;border-top:1px solid var(--cz-line)}

/* percentage mode switch */
.cz-seg{display:flex;gap:6px;padding:5px;background:rgba(14,18,38,.06);border-radius:999px;margin-bottom:22px;flex-wrap:wrap}
.cz-seg button{flex:1 1 0;min-width:0;min-height:46px;border-radius:999px;border:0;background:transparent;font:inherit;font-weight:700;cursor:pointer;padding:0 10px;line-height:1.15;color:var(--cz-text)}
.cz-seg button[aria-pressed="true"]{background:#fff;box-shadow:0 6px 14px -8px rgba(14,18,38,.4);color:var(--cz-ink)}
.cz-ws .cz-hide{display:none!important}

/* expense tracker */
.cz-tr-grid{display:grid;gap:22px}
@media(min-width:980px){.cz-tr-grid{grid-template-columns:1fr 1.15fr;gap:34px;align-items:start}}
.cz-tr-grid>section,.cz-tr-grid>div{min-width:0}
.cz-card{background:#fff;border:1px solid var(--cz-line);border-top:6px solid var(--cz-a);border-radius:var(--cz-rad);padding:clamp(18px,3vw,32px);box-shadow:0 40px 80px -50px color-mix(in srgb,var(--cz-a) 55%,transparent)}
.cz-card h2,.cz-card h3{margin:0 0 14px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:1.3rem}
.cz-fld{display:grid;gap:8px;margin-bottom:18px}
.cz-fld label,.cz-fld .cz-lab{font-size:13.5px;font-weight:700;color:var(--cz-muted)}
.cz-fld input,.cz-fld select,.cz-fld textarea{width:100%;min-height:54px;border-radius:16px;border:1.5px solid rgba(14,18,38,.2);padding:0 16px;font:inherit;font-size:16px;background:#fff;color:var(--cz-text)}
.cz-fld input:focus,.cz-fld select:focus{border-color:var(--cz-a);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--cz-a) 18%,transparent)}
.cz-fld .cz-err{color:#B3380A;font-size:13.5px;font-weight:600;min-height:0}
.cz-cats{display:flex;gap:8px;flex-wrap:wrap}
.cz-cats button{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--cz-line);background:#fff;font:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--cz-text)}
.cz-cats button i{width:10px;height:10px;border-radius:50%;display:inline-block}
.cz-cats button[aria-pressed="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff)}
.cz-btn-block{width:100%;border:0;cursor:pointer;font-family:inherit}
.cz-bar{height:12px;border-radius:999px;background:rgba(14,18,38,.08);overflow:hidden;margin-top:6px}
.cz-bar i{display:block;height:100%;border-radius:999px;transition:width .4s}
.cz-crow{margin-bottom:14px}.cz-crow .cz-t{display:flex;justify-content:space-between;font-size:14.5px}
.cz-erow{display:flex;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--cz-line)}
.cz-erow:first-child{border-top:0}
.cz-edot{flex:none;width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px}
.cz-erow b{display:block}.cz-erow small{color:var(--cz-soft)}
.cz-erow .cz-amt{margin-left:auto;font-weight:800;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.cz-xbtn{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--cz-soft);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cz-xbtn:hover{background:rgba(14,18,38,.06);color:#B3380A}
.cz-empty-state{color:var(--cz-muted);padding:18px 0}
.cz-stack{display:grid;gap:22px}

@media(max-width:600px){.cz-wrap{padding:0 16px}.cz-band{padding:22px}}
@media(prefers-reduced-motion:reduce){.cz *{animation:none!important;transition:none!important}.cz-rcard:hover,.cz-relc:hover,.cz-btn:hover{transform:none}}
.cz .azg{--g-a:var(--cz-a);--g-ink:var(--cz-ink)}
.cz-tracker .cz-tool{padding-bottom:30px}
.cz-tracker .cz-ws{display:none}
.cz-tr-grid .cz-card{border-top-width:6px}
.cz-card h2,.cz-card h3{text-align:left}
.cz-card{background-color:#fff}

/* ux_unify_E: bootstrap .btn-group squared the first button's right corners; results panel is ONE card level (inner cards flat) */
.cz-ws .btn-group>.btn,.cz-ws .btn-group>.btn:not(:last-child),.cz-ws .btn-group>.btn:not(:first-child){border-radius:999px}
.cz-ws .output-panel .result-card:not(:nth-of-type(1)):not(.cz-main),.cz-ws .output-panel .summary-box{background:transparent!important;border:0;border-top:1px solid var(--cz-line);border-radius:0;padding-left:4px;padding-right:4px}
.cz-ws .output-panel>.result-card:nth-of-type(1)+.result-card,.cz-ws .output-panel>.result-card.cz-main+.result-card{border-top:1px solid var(--cz-line)}
.cz .azg-box h2,.cz .azg-box h3{text-align:left;margin:0}
