/* NFH DIM Weight Calculator */
#nfh-dwc-app{max-width:900px;margin:0 auto;padding:2rem 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#111;font-size:15px;box-sizing:border-box}
#nfh-dwc-app *,#nfh-dwc-app *::before,#nfh-dwc-app *::after{box-sizing:border-box}
.nfh-dwc-header{margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:2px solid #1a3a5c}
.nfh-dwc-header h2{font-size:26px;font-weight:700;color:#1a3a5c;margin:0 0 6px}
.nfh-dwc-header p{font-size:15px;color:#666;margin:0;line-height:1.6}
.nfh-dwc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:1.5rem}
@media(max-width:640px){.nfh-dwc-grid{grid-template-columns:1fr}.nfh-dwc-carrier-grid{grid-template-columns:1fr 1fr!important}}
.nfh-dwc-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.25rem}
.nfh-dwc-card h3{font-size:13px;font-weight:700;color:#1a3a5c;text-transform:uppercase;letter-spacing:0.05em;margin:0 0 1rem;padding-bottom:6px;border-bottom:1px solid #eee}
.nfh-dwc-field{margin-bottom:1rem}
.nfh-dwc-field:last-child{margin-bottom:0}
.nfh-dwc-field label{display:block;font-size:14px;font-weight:600;color:#555;margin-bottom:5px}
.nfh-dwc-help{display:block;font-size:12px;color:#999;margin-top:4px;line-height:1.4}
.nfh-dwc-iw{display:flex;align-items:stretch;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;transition:border-color 0.15s}
.nfh-dwc-iw:focus-within{border-color:#1a3a5c;box-shadow:0 0 0 3px rgba(26,58,92,0.08)}
.nfh-dwc-iw input{flex:1;border:none;padding:10px 14px;font-size:16px;outline:none;color:#111;background:transparent;min-width:0}
.nfh-dwc-iw input::placeholder{color:#bbb}
.nfh-dwc-u{padding:10px 12px;background:#f5f5f5;font-size:12px;font-weight:700;color:#888;display:flex;align-items:center;border-left:1px solid #eee}
.nfh-dwc-dims{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.nfh-dwc-dims .nfh-dwc-field{margin-bottom:0}
.nfh-dwc-toggle{display:flex;gap:0;border:1px solid #ddd;border-radius:6px;overflow:hidden;margin-bottom:1rem}
.nfh-dwc-toggle button{flex:1;padding:7px 0;font-size:12px;font-weight:600;border:none;cursor:pointer;background:#f5f5f5;color:#888;transition:all 0.15s}
.nfh-dwc-toggle button.on{background:#1a3a5c;color:#fff}
.nfh-dwc-btn{display:block;width:100%;padding:14px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;background:#1a3a5c;color:#fff;transition:background 0.15s;margin-bottom:1.75rem}
.nfh-dwc-btn:hover{background:#0f2840}
.nfh-dwc-result{display:none;margin-bottom:1.5rem}
.nfh-dwc-result.show{display:block}
.nfh-dwc-result-title{font-size:18px;font-weight:700;color:#1a3a5c;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #1a3a5c}
.nfh-dwc-legend{display:flex;gap:16px;margin-bottom:14px;font-size:13px}
.nfh-dwc-legend-item{display:flex;align-items:center;gap:6px}
.nfh-dwc-legend-dot{width:12px;height:12px;border-radius:3px}
.nfh-dwc-legend-dot.actual{background:#1a3a5c}
.nfh-dwc-legend-dot.dim{background:#C8622A}
.nfh-dwc-carrier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.nfh-dwc-carrier{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:16px 14px;text-align:center;transition:all 0.15s}
.nfh-dwc-carrier.bill-dim{border-color:#C8622A;background:#faeee6}
.nfh-dwc-carrier.bill-actual{border-color:#1a3a5c;background:#e8f0f8}
.nfh-dwc-carrier-name{font-size:14px;font-weight:700;color:#1a3a5c;margin-bottom:10px}
.nfh-dwc-carrier.bill-dim .nfh-dwc-carrier-name{color:#a34e20}
.nfh-dwc-carrier-dim{font-size:28px;font-weight:800;color:#1a3a5c;line-height:1}
.nfh-dwc-carrier.bill-dim .nfh-dwc-carrier-dim{color:#C8622A}
.nfh-dwc-carrier-label{font-size:11px;color:#888;margin-top:4px;text-transform:uppercase;letter-spacing:0.04em}
.nfh-dwc-carrier-bill{margin-top:10px;padding-top:8px;border-top:1px solid #eee;font-size:13px;font-weight:600}
.nfh-dwc-carrier.bill-dim .nfh-dwc-carrier-bill{color:#C8622A}
.nfh-dwc-carrier.bill-actual .nfh-dwc-carrier-bill{color:#1a3a5c}
.nfh-dwc-comparison{background:#f8f9fa;border-radius:10px;padding:1.25rem;margin-bottom:16px}
.nfh-dwc-comp-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.nfh-dwc-comp-row:last-child{margin-bottom:0}
.nfh-dwc-comp-label{font-size:13px;font-weight:600;color:#555;width:110px;flex-shrink:0}
.nfh-dwc-comp-track{flex:1;height:22px;background:#e8e8e8;border-radius:4px;overflow:hidden}
.nfh-dwc-comp-fill{height:100%;border-radius:4px;transition:width 0.5s}
.nfh-dwc-comp-fill.actual{background:#1a3a5c}
.nfh-dwc-comp-fill.dim{background:#C8622A}
.nfh-dwc-comp-val{font-size:14px;font-weight:700;width:70px;text-align:right;flex-shrink:0}
.nfh-dwc-tip{background:#faeee6;border:1px solid #e8b99a;border-radius:8px;padding:14px 16px;font-size:14px;color:#a34e20;line-height:1.6;margin-bottom:14px}
.nfh-dwc-tip strong{color:#1a3a5c}
.nfh-dwc-actions{display:flex;gap:8px;flex-wrap:wrap}
.nfh-dwc-abtn{padding:9px 16px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid #ccc;background:#fff;color:#555;transition:background 0.15s}
.nfh-dwc-abtn:hover{background:#f5f5f5}
.nfh-dwc-abtn.primary{background:#C8622A;color:#fff;border-color:#C8622A}
.nfh-dwc-abtn.primary:hover{background:#a34e20}
.nfh-dwc-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1a3a5c;color:#fff;font-size:14px;padding:10px 22px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity 0.3s;z-index:99999}
.nfh-dwc-toast.show{opacity:1}
