/* =====================================================================
   Tools — the steel weight calculator.
   Its own field shell (.tw-fld), not dashboard.css's .fld: this page
   loads neither dashboard.css nor admin.css, and a component's styles
   travel with the component.
   ===================================================================== */
.tw-wrap{padding-top:28px;padding-bottom:64px}
.tw-wrap h1{font-size:34px;line-height:1.15;letter-spacing:-.02em;margin:4px 0 0}
.tw-wrap .kick{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.tw-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-top:22px;align-items:start}
.tw-form,.tw-out,.tw-doc{padding:20px}
.tw-form fieldset{border:0;margin:0;padding:0}
.tw-form legend{font-size:13px;font-weight:700;color:var(--mute);margin-bottom:8px}
.tw-pills{display:flex;flex-wrap:wrap;gap:8px}
.tw-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.tw-pill.on{background:var(--blue-10,#EEF3FB);border-color:var(--navy);color:var(--navy);font-weight:600}
.tw-pill:focus-visible,.tw-units button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.tw-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:18px}
.tw-row .tw-fld{flex:1 1 260px}
.tw-units{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tw-units button{border:0;background:#fff;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.tw-units button.on{background:var(--navy);color:#fff}
.tw-dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:18px}
.tw-fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.tw-fld > span{font-size:13px;font-weight:600;color:#334155}
.tw-fld em{font-style:normal;color:var(--mute);font-weight:400}
.tw-fld input,.tw-fld select{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%;box-sizing:border-box;color:var(--ink)}
.tw-fld input:focus,.tw-fld select:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy)}
.tw-out h2{font-size:17px;margin:0 0 10px}
.tw-out dl{margin:0;display:grid;gap:12px}
.tw-out dl > div{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tw-out dt{font-size:13px;color:var(--mute)}
.tw-out dd{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.tw-out dd b{font-size:24px;color:var(--navy);font-variant-numeric:tabular-nums}
.tw-out dd small{color:var(--mute);font-size:13px}
.tw-note{font-size:13px;color:var(--mute);line-height:1.5;margin:12px 0 0}
.tw-doc{margin-top:18px;max-width:900px}
.tw-doc h2{font-size:20px;margin:0 0 10px}
.tw-doc h3{font-size:16px;margin:20px 0 8px}
.tw-doc p,.tw-doc li{font-size:15px;line-height:1.6;color:#334155}
.tw-doc code{background:#F1F5F9;border-radius:6px;padding:1px 6px;font-size:14px}
.tw-scroll{overflow-x:auto}
.tw-tbl{border-collapse:collapse;width:100%;font-size:14px}
.tw-tbl th,.tw-tbl td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
.tw-tbl th{color:var(--mute);font-weight:600;font-size:13px}
.tw-tbl .r{text-align:right}
.tw-tbl .num{font-variant-numeric:tabular-nums}
.tw-list{padding-left:20px}
@media (max-width:900px){
  .tw-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .tw-wrap h1{font-size:26px}
  .tw-form,.tw-out,.tw-doc{padding:16px}
  .tw-dims{grid-template-columns:repeat(2,minmax(0,1fr))}
}
