/* money-salary.css - v108 working-professional calculator suite.
 * Scoped toolbox styles. Site chrome (topbar/footer/buttons) comes from
 * cbc-chrome.css; this file styles the hero, filter chips, calculator grid,
 * inputs and result panels. House rules apply: zero em/en dashes. */

:root{
  --ms-navy:#0D47A1; --ms-blue:#1E88E5; --ms-ink:#0b2a4a; --ms-muted:#5a6b7b;
  --ms-line:#e6edf5; --ms-bg:#f7fafc; --ms-good:#137333; --ms-warn:#8a6d00;
  --ms-card:#ffffff; --ms-chip:#eef2f9;
}

.ms-hero{background:linear-gradient(180deg,#eaf3ff 0,#f7fafc 100%);padding:44px 20px 26px;text-align:center}
.ms-hero .wrap{max-width:900px;margin:0 auto}
.ms-hero .eyebrow{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ms-blue);margin-bottom:12px}
.ms-hero h1{font-family:'Space Grotesk',sans-serif;font-size:2.1rem;line-height:1.15;color:var(--ms-navy);margin:0 0 12px}
.ms-hero h1 .g{color:var(--ms-blue)}
.ms-hero .sub{font-size:1.05rem;color:#0C1B36;line-height:1.55;margin:0 0 18px}
.ms-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.ms-badge{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--ms-line);border-radius:999px;padding:6px 13px;font-size:.82rem;color:var(--ms-muted)}
.ms-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--ms-good)}

.ms-main{max-width:1120px;margin:0 auto;padding:26px 20px 60px}
.ms-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.ms-search{width:100%;box-sizing:border-box;padding:12px 15px;border:1px solid var(--ms-line);border-radius:12px;font:inherit;font-size:.98rem}
.ms-search:focus{outline:none;border-color:var(--ms-blue);box-shadow:0 0 0 3px rgba(30,136,229,.12)}
.ms-chips{display:flex;gap:8px;flex-wrap:wrap}
.ms-chip{cursor:pointer;border:1px solid #d5e2f0;background:#fff;color:var(--ms-navy);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}
.ms-chip:hover{background:#eef5ff}
.ms-chip.on{background:var(--ms-navy);color:#fff;border-color:var(--ms-navy)}

.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}
.ms-card{background:var(--ms-card);border:1px solid var(--ms-line);border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column}
.ms-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.06rem;color:var(--ms-ink);margin:0 0 3px}
.ms-card .ms-desc{font-size:.84rem;color:var(--ms-muted);margin:0 0 14px;line-height:1.45}
.ms-card .ms-cat{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ms-blue);background:#eaf3ff;border-radius:6px;padding:2px 7px;margin-bottom:10px}
.ms-field{display:flex;flex-direction:column;gap:4px;margin-bottom:11px}
.ms-field label{font-size:.8rem;font-weight:600;color:var(--ms-ink)}
.ms-field input,.ms-field select{padding:9px 11px;border:1px solid var(--ms-line);border-radius:9px;font:inherit;font-size:.92rem;background:#fff}
.ms-field input:focus,.ms-field select:focus{outline:none;border-color:var(--ms-blue)}
.ms-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-out{margin-top:6px;border-top:1px dashed var(--ms-line);padding-top:12px}
.ms-out .ms-big{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;color:var(--ms-good)}
.ms-out .ms-biglbl{font-size:.76rem;color:var(--ms-muted);text-transform:uppercase;letter-spacing:.05em}
.ms-lines{margin:10px 0 0;font-size:.85rem;color:var(--ms-ink)}
.ms-lines .ms-l{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #f0f4f8}
.ms-lines .ms-l:last-child{border-bottom:none}
.ms-lines .ms-l span:last-child{font-weight:600;font-family:'JetBrains Mono',monospace}
.ms-note{font-size:.75rem;color:var(--ms-muted);margin-top:9px;line-height:1.45}
.ms-empty{grid-column:1/-1;text-align:center;color:var(--ms-muted);padding:40px 0;font-size:.95rem}

.ms-disclaimer{max-width:1120px;margin:0 auto 10px;padding:0 20px}
.ms-disclaimer .box{background:#fff8e1;border:1px solid #ffe082;color:#6b5300;border-radius:12px;padding:12px 16px;font-size:.82rem;line-height:1.5}

@media (max-width:560px){
  .ms-hero h1{font-size:1.65rem}
  .ms-grid{grid-template-columns:1fr}
  .ms-row2{grid-template-columns:1fr}
}
