.input-group-custom { margin-bottom:1rem; }
        .deep-dive { margin:1.8rem 0; }
        .deep-dive p { text-align:justify; }
        .unit-note { font-size:0.9rem; color:#6c757d; }
        .coord-input { margin-bottom:0.5rem; }
        .chart-canvas { width:100%; height:auto; background:#f9f9f9; border:1px solid #ddd; border-radius:8px; margin-top:1.5rem; display:block; }
        .canvas-container { text-align:center; margin-top:1rem; }
        .legend { display:flex; justify-content:center; gap:2rem; margin:0.5rem 0; font-size:0.9rem; flex-wrap:wrap; }
        .legend-item { display:flex; align-items:center; gap:0.3rem; }
        .legend-color { width:16px; height:16px; border-radius:50%; }
        .legend-color.orange { background:#f39c12; }
        .legend-color.blue { background:#0d6efd; }
        .legend-color.green { background:#28a745; }
        .legend-color.red { background:#dc3545; }
        .result-highlight { background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%); border-radius:8px; padding:1.2rem 1.5rem; margin:0.5rem 0; }
        .inline-icon { margin-right:0.5rem; }
        .sizing-badge { display:inline-block; padding:0.3rem 0.8rem; border-radius:20px; font-size:0.9rem; font-weight:600; }
        .sizing-badge.recommended { background:#d4edda; color:#155724; }
        .sizing-badge.caution { background:#fff3cd; color:#856404; }
        .sizing-badge.undersized { background:#f8d7da; color:#721c24; }
        .sizing-badge.oversized { background:#cce5ff; color:#004085; }
        .inverter-specs { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin:1rem 0; }
        .spec-card { background:white; border-radius:8px; padding:1rem; border:1px solid #eee; text-align:center; box-shadow:0 2px 4px rgba(0,0,0,0.04); }
        .spec-card .spec-value { font-size:1.6rem; font-weight:700; color:var(--primary-color); }
        .spec-card .spec-label { font-size:0.85rem; color:#6c757d; text-transform:uppercase; letter-spacing:0.5px; }
        .load-breakdown { margin:1rem 0; }
        .load-bar { display:flex; align-items:center; gap:0.5rem; margin:0.3rem 0; }
        .load-bar-label { width:120px; font-size:0.9rem; flex-shrink:0; }
        .load-bar-track { flex:1; height:20px; background:#e9ecef; border-radius:10px; overflow:hidden; }
        .load-bar-fill { height:100%; border-radius:10px; background:linear-gradient(90deg,#28a745,#f39c12); transition:width 0.6s ease; }
        .load-bar-fill.warning { background:linear-gradient(90deg,#f39c12,#dc3545); }
        .load-bar-fill.danger { background:#dc3545; }
        .load-bar-value { font-size:0.9rem; font-weight:600; min-width:60px; text-align:right; }
        .power-flow { display:flex; align-items:center; justify-content:space-around; flex-wrap:wrap; gap:1rem; padding:1rem; background:#f8f9fa; border-radius:8px; margin:1rem 0; }
        .power-flow .flow-item { text-align:center; }
        .power-flow .flow-arrow { font-size:2rem; color:var(--primary-color); }
        .power-flow .flow-value { font-weight:700; font-size:1.2rem; }
        .power-flow .flow-label { font-size:0.85rem; color:#6c757d; }
        .cable-input-group { background:#f0f4f8; border-radius:8px; padding:0.75rem 1rem; margin-top:0.5rem; }
        .cable-input-group .status-help { font-size:0.85rem; color:#6c757d; margin-top:0.2rem; }
        @media (max-width:576px) {
            .load-bar-label { width:80px; font-size:0.8rem; }
            .power-flow { flex-direction:column; }
            .power-flow .flow-arrow { transform:rotate(90deg); }
        }