/* Tubulatură ventilare — panel Diagrame */
#panel-tubulatura-ventilare .ductv-wrap{--color-bg:transparent;--color-bg-secondary:var(--glass);--color-text:var(--ink);--color-text-secondary:var(--muted);--color-text-tertiary:var(--muted);--color-border:var(--glass-border);--color-border-tertiary:var(--glass-border);--color-success:#1D9E75;--color-warning:#C98A1B;--color-danger:#C0392B;--radius:10px;--curve:#1D9E75;--point:#D85A30}
#panel-tubulatura-ventilare .ductv-wrap *{box-sizing:border-box}
#panel-tubulatura-ventilare .ductv-wrap .container{max-width:1000px;margin:0 auto}
#panel-tubulatura-ventilare .ductv-wrap h1{font-size:20px;font-weight:600;margin:0 0 20px}
#panel-tubulatura-ventilare .ductv-wrap h2{font-size:14px;font-weight:600;margin:0 0 12px}
#panel-tubulatura-ventilare .ductv-wrap .row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:flex-start}
#panel-tubulatura-ventilare .ductv-wrap .field{flex:1;min-width:130px}
#panel-tubulatura-ventilare .ductv-wrap .field.wide{flex:1.6}
#panel-tubulatura-ventilare .ductv-wrap .field.unit{flex:0 0 100px;min-width:90px}
#panel-tubulatura-ventilare .ductv-wrap .field label{font-size:13px;color:var(--color-text-secondary);display:block;margin-bottom:4px}
#panel-tubulatura-ventilare .ductv-wrap select, #panel-tubulatura-ventilare .ductv-wrap input[type=text]{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#fff;color:var(--color-text);min-height:37px}
#panel-tubulatura-ventilare .ductv-wrap input[aria-invalid=true]{border-color:var(--color-danger);outline-color:var(--color-danger)}
#panel-tubulatura-ventilare .ductv-wrap button{font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
#panel-tubulatura-ventilare .ductv-wrap button:disabled{opacity:.45;cursor:not-allowed}
#panel-tubulatura-ventilare .ductv-wrap select:focus-visible, #panel-tubulatura-ventilare .ductv-wrap input:focus-visible, #panel-tubulatura-ventilare .ductv-wrap button:focus-visible, #panel-tubulatura-ventilare .ductv-wrap summary:focus-visible, #panel-tubulatura-ventilare .ductv-wrap a:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:3px}
#panel-tubulatura-ventilare .ductv-wrap .btn{padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-secondary);white-space:nowrap}
#panel-tubulatura-ventilare .ductv-wrap .btn:hover:not(:disabled){background:var(--color-bg-secondary)}
#panel-tubulatura-ventilare .ductv-wrap .input-with-reset{display:flex;gap:8px;align-items:stretch;width:100%}
#panel-tubulatura-ventilare .ductv-wrap .input-with-reset input{
  flex:1 1 auto;
  min-width:7.5rem;
  width:auto!important;
}
#panel-tubulatura-ventilare .ductv-wrap .input-with-reset .btn{
  flex:0 0 auto;
  width:auto!important;
  min-width:4.5rem;
}
#panel-tubulatura-ventilare .ductv-wrap .info-panel .field{max-width:none}
#panel-tubulatura-ventilare .ductv-wrap .info-panel .row .field:not(.wide){flex:0 1 280px;min-width:200px}
#panel-tubulatura-ventilare .ductv-wrap .field-hint{font-size:11px;display:block;color:var(--color-text-tertiary);margin-top:5px;line-height:1.5}
#panel-tubulatura-ventilare .ductv-wrap .checkbox-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;
  padding:8px 12px;border:1px solid var(--color-border-tertiary);border-radius:var(--radius);
  background:var(--glass);
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-row .chip{
  display:inline-flex;align-items:center;gap:10px;width:auto;max-width:100%;
  padding:6px 12px;border:1px solid var(--glass-border);border-radius:999px;
  background:var(--glass-hover);color:var(--ink);cursor:pointer;user-select:none;
  font-size:var(--text-sm);font-weight:500;line-height:1.3;
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-row .chip:has(input:checked){
  border-color:rgba(129,140,248,.55);background:rgba(129,140,248,.16);
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-row .chip input{
  width:auto;margin:0;accent-color:#818cf8;flex-shrink:0;
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-row .chip span{margin:0}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-size{
  flex:1 1 220px;min-width:0;max-width:min(320px,100%);width:auto;
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-row .bf-select{
  flex:1 1 220px;min-width:0;max-width:min(320px,100%);width:auto;
}
#panel-tubulatura-ventilare .ductv-wrap .ductv-manual-size[hidden],
#panel-tubulatura-ventilare .ductv-wrap .bf-select[hidden],
#panel-tubulatura-ventilare .ductv-wrap [hidden]{display:none!important}
#panel-tubulatura-ventilare .ductv-wrap .info-panel{border:1px solid var(--color-border-tertiary);border-radius:var(--radius);padding:10px 12px;margin:0 0 16px;font-size:12px;color:var(--color-text-secondary);line-height:1.65}
#panel-tubulatura-ventilare .ductv-wrap .info-panel summary{cursor:pointer;font-size:13px;color:var(--color-text);font-weight:500}
#panel-tubulatura-ventilare .ductv-wrap .info-panel p{margin:10px 0 0}
#panel-tubulatura-ventilare .ductv-wrap .info-panel .row{margin-top:14px}
#panel-tubulatura-ventilare .ductv-wrap .info-panel .row:last-child{margin-bottom:2px}
#panel-tubulatura-ventilare .ductv-wrap .catalog-summary{font-size:12px;color:var(--color-text-secondary);margin:0 0 14px;line-height:1.6}
#panel-tubulatura-ventilare .ductv-wrap #ductv-resultCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
#panel-tubulatura-ventilare .ductv-wrap .metric-card{background:var(--color-bg-secondary);border-radius:var(--radius);padding:16px 14px;min-width:0}
#panel-tubulatura-ventilare .ductv-wrap .metric-card p:first-child{font-size:12px;color:var(--color-text-secondary);margin:0 0 5px}
#panel-tubulatura-ventilare .ductv-wrap .metric-card p:nth-child(2){font-size:22px;font-weight:500;margin:0;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}
#panel-tubulatura-ventilare .ductv-wrap .metric-card small{font-size:12px;font-weight:400}
#panel-tubulatura-ventilare .ductv-wrap .status{font-size:12px;padding:10px 12px;border:1px solid var(--color-border);border-left:3px solid var(--color-warning);border-radius:8px;margin:0 0 12px;background:#fff;line-height:1.55}
#panel-tubulatura-ventilare .ductv-wrap .status.error{border-left-color:var(--color-danger)}
#panel-tubulatura-ventilare .ductv-wrap .status p{margin:0}
#panel-tubulatura-ventilare .ductv-wrap .status p+p{margin-top:6px}
#panel-tubulatura-ventilare .ductv-wrap .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0}
#panel-tubulatura-ventilare .ductv-wrap .toolbar .spacer{flex:1}
#panel-tubulatura-ventilare .ductv-wrap table{width:100%;font-size:13px;border-collapse:collapse}
#panel-tubulatura-ventilare .ductv-wrap th{text-align:right;padding:8px 6px;color:var(--color-text-secondary);font-weight:500;border-bottom:1px solid var(--color-border-tertiary);white-space:nowrap}
#panel-tubulatura-ventilare .ductv-wrap td{text-align:right;padding:7px 6px;border-bottom:1px solid var(--color-border-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}
#panel-tubulatura-ventilare .ductv-wrap th:first-child, #panel-tubulatura-ventilare .ductv-wrap td:first-child{text-align:left}
#panel-tubulatura-ventilare .ductv-wrap td:last-child{white-space:normal}
#panel-tubulatura-ventilare .ductv-wrap .table-wrap{overflow-x:auto;max-width:100%}
#panel-tubulatura-ventilare .ductv-wrap .table-wrap .all{min-width:860px}
#panel-tubulatura-ventilare .ductv-wrap .pick{background:var(--color-bg-secondary)}
#panel-tubulatura-ventilare .ductv-wrap .pick td:first-child{font-weight:600}
#panel-tubulatura-ventilare .ductv-wrap .good{color:#167758}
#panel-tubulatura-ventilare .ductv-wrap .warn{color:#936014}
#panel-tubulatura-ventilare .ductv-wrap .bad{color:var(--color-danger)}
#panel-tubulatura-ventilare .ductv-wrap .subtle{color:var(--color-text-tertiary)}
#panel-tubulatura-ventilare .ductv-wrap .chart-heading{margin:24px 0 5px}
#panel-tubulatura-ventilare .ductv-wrap .chart-heading h2{margin:0}
#panel-tubulatura-ventilare .ductv-wrap #ductv-chartWrap{position:relative;min-width:0;width:100%;height:min(820px,70vh)}
#panel-tubulatura-ventilare .ductv-wrap #ductv-chart{display:block;width:100%;height:100%}
@media(max-width:720px){#panel-tubulatura-ventilare .ductv-wrap #ductv-chartWrap{height:min(520px,62vh)}}
#panel-tubulatura-ventilare .ductv-wrap .note{font-size:12px;color:var(--color-text-secondary);line-height:1.6}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer{margin-top:24px;padding:16px 0 8px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px;line-height:1.65}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer h2{font-size:13px;margin:0 0 10px}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer dl{margin:0}
#panel-tubulatura-ventilare .ductv-wrap .source-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;margin:0 0 10px}
#panel-tubulatura-ventilare .ductv-wrap .source-row dt{font-weight:600;color:var(--color-text)}
#panel-tubulatura-ventilare .ductv-wrap .source-row dd{margin:0;overflow-wrap:anywhere}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer a{color:inherit;text-underline-offset:3px}
#panel-tubulatura-ventilare .ductv-wrap [hidden]{display:none!important}
@media(max-width:760px){#panel-tubulatura-ventilare .ductv-wrap #ductv-resultCards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){#panel-tubulatura-ventilare .ductv-wrap .checkbox-row{flex-wrap:wrap}
#panel-tubulatura-ventilare .ductv-wrap .checkbox-row select{flex-basis:100%;width:100%}
#panel-tubulatura-ventilare .ductv-wrap .field{min-width:145px}
#panel-tubulatura-ventilare .ductv-wrap .row.first>.field{flex-basis:100%;min-width:0}
#panel-tubulatura-ventilare .ductv-wrap .field.unit{flex:0 0 95px;min-width:95px}
#panel-tubulatura-ventilare .ductv-wrap #ductv-resultCards{grid-template-columns:repeat(2,minmax(0,1fr))}
#panel-tubulatura-ventilare .ductv-wrap .metric-card{padding:13px}
#panel-tubulatura-ventilare .ductv-wrap .metric-card p:nth-child(2){font-size:21px}
#panel-tubulatura-ventilare .ductv-wrap .source-row{grid-template-columns:1fr;gap:2px}
#panel-tubulatura-ventilare .ductv-wrap .toolbar .spacer{display:none}}
@media print{#panel-tubulatura-ventilare .ductv-wrap .toolbar{display:none}
#panel-tubulatura-ventilare .ductv-wrap .container{max-width:none}
#panel-tubulatura-ventilare .ductv-wrap .table-wrap{overflow:visible}
#panel-tubulatura-ventilare .ductv-wrap #ductv-chartWrap{min-width:0;height:480px}
#panel-tubulatura-ventilare .ductv-wrap .metric-card, #panel-tubulatura-ventilare .ductv-wrap .status, #panel-tubulatura-ventilare .ductv-wrap .source-row{break-inside:avoid}
#panel-tubulatura-ventilare .ductv-wrap #ductv-resultCards{grid-template-columns:repeat(4,minmax(0,1fr))}
#panel-tubulatura-ventilare .ductv-wrap .metric-card{padding:9px}
#panel-tubulatura-ventilare .ductv-wrap .metric-card p:nth-child(2){font-size:16px}
#panel-tubulatura-ventilare .ductv-wrap a{color:#333}
#panel-tubulatura-ventilare .ductv-wrap .table-wrap .all{min-width:0;font-size:10px}
#panel-tubulatura-ventilare .ductv-wrap th, #panel-tubulatura-ventilare .ductv-wrap td{padding:4px 3px}
#panel-tubulatura-ventilare .ductv-wrap #ductv-chartSection{break-before:page}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer{font-size:10px}}



#panel-tubulatura-ventilare .ductv-wrap select,
#panel-tubulatura-ventilare .ductv-wrap input[type=text]{
  background:var(--glass-hover); color:var(--ink); border-color:var(--glass-border);
  font-family:inherit;
}
body.light-mode #panel-tubulatura-ventilare .ductv-wrap select,
body.light-mode #panel-tubulatura-ventilare .ductv-wrap input[type=text]{
  background:#fff; color:#0f172a; border-color:#e5e7eb;
}
#panel-tubulatura-ventilare .ductv-wrap .btn{
  background:var(--glass); color:var(--ink); border-color:var(--glass-border);
}
#panel-tubulatura-ventilare .ductv-wrap .btn:hover:not(:disabled){
  background:var(--glass-hover);
}
#panel-tubulatura-ventilare .ductv-wrap .metric-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
}
#panel-tubulatura-ventilare .ductv-wrap .status{
  background:var(--glass);
  color:var(--ink);
}
#panel-tubulatura-ventilare .ductv-wrap .pick{
  background:rgba(45,212,191,.12);
}
#panel-tubulatura-ventilare .ductv-wrap h1{display:none}
#panel-tubulatura-ventilare .ductv-wrap .container{max-width:none;margin:0;padding:0}
#panel-tubulatura-ventilare .ductv-wrap .sources-footer a{color:var(--accent,#6366f1)}
