/* NFH Container Load Calculator */
#nfh-clc-app{max-width:700px;margin:0 auto;padding:2rem 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#111;box-sizing:border-box}
#nfh-clc-app *,#nfh-clc-app *::before,#nfh-clc-app *::after{box-sizing:border-box}
.nfh-clc-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #1a3a5c}
.nfh-clc-header h2{font-size:24px;font-weight:700;color:#1a3a5c;margin:0 0 4px}
.nfh-clc-header p{font-size:14px;color:#666;margin:0;line-height:1.5}
.nfh-clc-section-label{font-size:12px;font-weight:700;color:#1a3a5c;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px}
.nfh-clc-container-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:1.25rem}
.nfh-clc-cbox{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px;cursor:pointer;text-align:center;transition:all 0.15s}
.nfh-clc-cbox:hover{border-color:#999}
.nfh-clc-cbox.sel{border:2px solid #1a3a5c;background:#e8f0f8}
.nfh-clc-cbox-name{font-size:13px;font-weight:700;color:#1a3a5c;margin-bottom:2px}
.nfh-clc-cbox-dims{font-size:10px;color:#888}
.nfh-clc-cbox.sel .nfh-clc-cbox-name{color:#0f2840}
.nfh-clc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1.25rem}
@media(max-width:520px){.nfh-clc-grid{grid-template-columns:1fr}.nfh-clc-container-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}
.nfh-clc-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.15rem}
.nfh-clc-card h3{font-size:12px;font-weight:700;color:#1a3a5c;text-transform:uppercase;letter-spacing:0.05em;margin:0 0 .75rem;padding-bottom:5px;border-bottom:1px solid #eee}
.nfh-clc-field{margin-bottom:.85rem}
.nfh-clc-field label{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:4px}
.nfh-clc-help{display:block;font-size:10px;color:#999;margin-top:4px;line-height:1.4}
.nfh-clc-iw{display:flex;align-items:stretch;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;transition:border-color 0.15s}
.nfh-clc-iw:focus-within{border-color:#1a3a5c;box-shadow:0 0 0 3px rgba(26,58,92,0.08)}
.nfh-clc-iw input{flex:1;border:none;padding:9px 12px;font-size:15px;outline:none;color:#111;background:transparent;min-width:0}
.nfh-clc-iw input::placeholder{color:#bbb}
.nfh-clc-u{padding:9px 10px;background:#f5f5f5;font-size:11px;font-weight:700;color:#888;display:flex;align-items:center;border-left:1px solid #eee}
.nfh-clc-dims{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.nfh-clc-dims .nfh-clc-field{margin-bottom:0}
.nfh-clc-toggle{display:flex;gap:0;border:1px solid #ddd;border-radius:6px;overflow:hidden;margin-bottom:.75rem}
.nfh-clc-toggle button{flex:1;padding:6px 0;font-size:11px;font-weight:600;border:none;cursor:pointer;background:#f5f5f5;color:#888;transition:all 0.15s}
.nfh-clc-toggle button.on{background:#1a3a5c;color:#fff}
.nfh-clc-presets{display:flex;gap:6px;margin-bottom:.75rem;flex-wrap:wrap}
.nfh-clc-preset{padding:5px 10px;font-size:11px;border:1px solid #ddd;border-radius:6px;cursor:pointer;background:#fff;color:#555;transition:all 0.15s}
.nfh-clc-preset:hover{border-color:#1a3a5c;color:#1a3a5c}
.nfh-clc-preset.on{background:#1a3a5c;color:#fff;border-color:#1a3a5c}
.nfh-clc-checks{display:flex;flex-direction:column;gap:6px;margin-bottom:.5rem}
.nfh-clc-chk{padding:9px 11px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:13px;color:#222;background:#fff;transition:all 0.15s;user-select:none}
.nfh-clc-chk:hover{border-color:#999}
.nfh-clc-chk.checked{border-color:#1a3a5c;background:#e8f0f8;color:#1a3a5c;font-weight:500}
.nfh-clc-btn{display:block;width:100%;padding:12px;font-size:15px;font-weight:700;border:none;border-radius:8px;cursor:pointer;background:#1a3a5c;color:#fff;transition:background 0.15s;margin-bottom:1.5rem}
.nfh-clc-btn:hover{background:#0f2840}
/* Results */
.nfh-clc-result{display:none;margin-bottom:1.5rem}
.nfh-clc-result.show{display:block}
.nfh-clc-result-hero{text-align:center;padding:1.5rem;background:#1a3a5c;border-radius:10px;color:#fff;margin-bottom:14px}
.nfh-clc-hero-num{font-size:56px;font-weight:800;line-height:1}
.nfh-clc-hero-label{font-size:12px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.7;margin-bottom:6px}
.nfh-clc-hero-sub{font-size:13px;opacity:0.85;margin-top:4px}
.nfh-clc-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.nfh-clc-st{background:#f8f9fa;border-radius:8px;padding:10px 12px;text-align:center}
.nfh-clc-sv{font-size:17px;font-weight:700;color:#1a3a5c}
.nfh-clc-sl{font-size:10px;color:#888;margin-top:2px}
@media(max-width:520px){.nfh-clc-stats-row{grid-template-columns:1fr 1fr}}
/* Utilization bars */
.nfh-clc-util-wrap{background:#f8f9fa;border-radius:10px;padding:1rem;margin-bottom:14px}
.nfh-clc-util-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.nfh-clc-util-row:last-child{margin-bottom:0}
.nfh-clc-util-label{font-size:11px;font-weight:600;color:#555;width:120px;flex-shrink:0}
.nfh-clc-util-track{flex:1;height:20px;background:#e8e8e8;border-radius:4px;overflow:hidden}
.nfh-clc-util-fill{height:100%;border-radius:4px;background:#1a3a5c;transition:width 0.6s}
.nfh-clc-util-fill.wt{background:#C8622A}
.nfh-clc-util-fill.over{background:#c0392b}
.nfh-clc-util-pct{font-size:13px;font-weight:700;color:#1a3a5c;width:50px;text-align:right}
.nfh-clc-util-pct.over{color:#c0392b}
/* Alerts */
.nfh-clc-alert{border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5;margin-bottom:14px;display:none}
.nfh-clc-alert.warn{display:block;background:#faeee6;border:1px solid #e8b99a;color:#a34e20}
.nfh-clc-alert.good{display:block;background:#e1f5ee;border:1px solid #a3d9c0;color:#0f6e56}
.nfh-clc-alert.danger{display:block;background:#fde8e8;border:1px solid #e8a0a0;color:#9b2c2c}
.nfh-clc-alert strong{color:#1a3a5c}
/* Specs */
.nfh-clc-specs{background:#f8f9fa;border-radius:8px;padding:10px 14px;font-size:11px;color:#888;line-height:1.6;margin-bottom:14px}
.nfh-clc-specs strong{color:#555}
/* Actions */
.nfh-clc-actions{display:flex;gap:8px;flex-wrap:wrap}
.nfh-clc-abtn{padding:8px 14px;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid #ccc;background:#fff;color:#555;transition:background 0.15s}
.nfh-clc-abtn:hover{background:#f5f5f5}
.nfh-clc-abtn.primary{background:#C8622A;color:#fff;border-color:#C8622A}
.nfh-clc-abtn.primary:hover{background:#a34e20}
/* Toast */
.nfh-clc-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1a3a5c;color:#fff;font-size:13px;padding:10px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity 0.3s;z-index:99999}
.nfh-clc-toast.show{opacity:1}
