
#fan-selector [hidden]{display:none!important}

#fan-selector{
  --accent:#4285f4;
  --accent-dark:#1b66d9;
  --accent-soft:#e9f1fe;
  --accent-soft-2:#d3e2fc;
  --accent-line:#9bbef9;
  --ink:#20252b;
  --muted:#667085;
  --line:#d7e0ec;
  --soft:#f7f9fc;
  --ok:#087f5b;
  --warn:#a15c00;
  --radius:11px;
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:0 0 42px;
  background:#fff;
}

#fan-selector,
#fan-selector *{box-sizing:border-box}

#fan-selector button,
#fan-selector input,
#fan-selector select{font:inherit}

#fan-selector button:focus-visible,
#fan-selector input:focus-visible,
#fan-selector select:focus-visible,
#fan-selector summary:focus-visible{
  outline:3px solid rgba(66,133,244,.25);
  outline-offset:2px;
}

/* Верхняя форма */
#fan-selector .selector-panel{
  border:1px solid var(--line);
  border-top:4px solid var(--accent);
  padding:22px;
  background:#fff;
}

#fan-selector fieldset{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

#fan-selector legend,
#fan-selector .metric-value>span{
  display:block;
  margin-bottom:6px;
  color:#344054;
  font-size:13px;
  font-weight:700;
}

#fan-selector .series-row>label>span,
#fan-selector .filter-grid label>span{
  display:block;
  margin-bottom:7px;
  color:#344054;
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}

#fan-selector .category-cards{
  display:grid;
  grid-template-columns:auto repeat(3,minmax(145px,1fr));
  gap:10px;
  margin-top:9px;
}

#fan-selector .category-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:70px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:#27364a;
  font-weight:700;
  cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s;
}

#fan-selector .category-card:not([data-category="all"]){
  padding:5px 10px;
}

#fan-selector .category-card[data-category="all"]{
  width:auto;
  min-width:0;
  padding:0 10px;
  white-space:nowrap;
}

#fan-selector .category-card__icon{
  display:inline-flex;
  flex:0 0 50px;
  width:50px;
  height:50px;
  align-items:center;
  justify-content:center;
}

#fan-selector .category-card__icon img{
  display:block;
  width:50px;
  height:50px;
  object-fit:contain;
}

#fan-selector .category-card[data-category="all"] .category-card__icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
}

#fan-selector .category-card__label{
  line-height:1.2;
}

#fan-selector .category-card__icon--all{
  display:grid;
  grid-template-columns:repeat(2,10px);
  grid-template-rows:repeat(2,10px);
  place-content:center;
  gap:4px;
  color:#5f7698;
}

#fan-selector .category-card__icon--all i{
  display:block;
  width:10px;
  height:10px;
  border-radius:2px;
  background:currentColor;
}

#fan-selector .category-card.active .category-card__icon--all{
  color:var(--accent);
}

#fan-selector .category-card:hover{
  border-color:var(--accent-line);
  background:#f8fbff;
}

#fan-selector .category-card.active{
  border:2px solid var(--accent);
  background:var(--accent-soft);
  color:#174ea6;
  box-shadow:0 0 0 2px rgba(66,133,244,.08);
}

#fan-selector .series-row{
  display:grid;
  grid-template-columns:minmax(320px,520px) minmax(130px,180px) minmax(260px,390px);
  align-items:end;
  gap:16px;
  max-width:1122px;
  margin-top:18px;
}

#fan-selector .series-row label,
#fan-selector .filter-grid label{
  display:block;
}

#fan-selector .series-row [hidden]{
  display:none!important;
}

#fan-selector select,
#fan-selector input[type="number"],
#fan-selector input[type="email"]{
  width:100%;
  height:45px;
  padding:0 12px;
  border:1px solid #cfd8e5;
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
}

#fan-selector select:focus,
#fan-selector input:focus{
  border-color:var(--accent);
  outline:2px solid rgba(66,133,244,.18);
}

/* Активные выпадающие фильтры */
#fan-selector select.filter-active{
  border-color:var(--accent);
  box-shadow:0 0 0 1px rgba(66,133,244,.12);
}

#fan-selector input[type="number"]{
  -moz-appearance:textfield;
  appearance:textfield;
}

#fan-selector input[type="number"]::-webkit-inner-spin-button,
#fan-selector input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Стрелки изменения значения только для полей допуска */
#fan-selector #flowTol,
#fan-selector #pressureTol{
  -moz-appearance:auto;
  appearance:auto;
}

#fan-selector #flowTol::-webkit-inner-spin-button,
#fan-selector #flowTol::-webkit-outer-spin-button,
#fan-selector #pressureTol::-webkit-inner-spin-button,
#fan-selector #pressureTol::-webkit-outer-spin-button{
  -webkit-appearance:auto;
  opacity:1;
  margin:0;
  cursor:pointer;
}

#fan-selector .primary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:20px;
}

#fan-selector .metric-card{
  min-width:0;
  padding:12px 16px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}

#fan-selector .metric-card.active{
  border-color:var(--accent-line);
  background:#f8fbff;
}

#fan-selector .metric-control-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 104px;
  align-items:end;
  gap:10px;
}

#fan-selector .metric-main-control{
  min-width:0;
}

#fan-selector .metric-title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  min-height:24px;
  margin-bottom:6px;
}

#fan-selector .metric-title-row>label:first-child{
  color:#26364a;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
}

#fan-selector .metric-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

#fan-selector .metric-toggle input,
#fan-selector .compare-check{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--accent);
  cursor:pointer;
}

#fan-selector .tolerance{
  display:block;
  min-width:0;
  color:#344054;
  font-size:13px;
  font-weight:700;
}

#fan-selector .tolerance>span:first-child{
  display:block;
  min-height:24px;
  margin-bottom:6px;
  line-height:24px;
}

#fan-selector .tolerance-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
}

#fan-selector .tolerance input{
  height:45px;
  min-width:0;
  padding-inline:7px;
  text-align:center;
}

#fan-selector .tolerance b{
  font-size:14px;
}

#fan-selector .metric-range{
  width:100%;
  height:22px;
  margin:7px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  accent-color:var(--accent);
  cursor:pointer;
}

#fan-selector .range-scale{
  display:flex;
  justify-content:space-between;
  margin-top:-2px;
  color:var(--muted);
  font-size:11px;
  line-height:1;
}

#fan-selector .filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,280px));
  gap:14px 16px;
  max-width:none;
  margin-top:18px;
}

#fan-selector .actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
}

#fan-selector .actions>span{
  margin-left:auto;
  color:var(--muted);
  font-size:14px;
}

#fan-selector .actions button,
#fan-selector .compare-toolbar button,
#fan-selector .detail-open,
#fan-selector .modal-actions button{
  min-height:42px;
  padding:0 20px;
  border:1px solid var(--accent);
  border-radius:9px;
  background:#fff;
  color:var(--accent-dark);
  font-weight:700;
  cursor:pointer;
}

#fan-selector #applyBtn,
#fan-selector .primary{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}

#fan-selector #applyBtn:hover,
#fan-selector .primary:hover{
  background:var(--accent-dark)!important;
}

#fan-selector #resetBtn:hover,
#fan-selector .compare-toolbar button:hover{
  background:var(--accent-soft);
}

#fan-selector button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* Результаты */
#fan-selector .results-panel{
  margin-top:34px;
  border:0;
  background:#fff;
}

#fan-selector .results-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  padding:0;
  margin-bottom:14px;
}

#fan-selector .results-head h2{
  margin:0 0 4px;
}

#fan-selector .results-head p{
  margin:0;
  color:var(--muted);
}

#fan-selector .compare-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-bottom:0;
  background:var(--soft);
}

#fan-selector .compare-toolbar>span{
  color:var(--muted);
  font-size:13px;
}

#fan-selector .compare-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

#fan-selector .compare-toolbar .link-button{
  min-height:36px;
  padding:0 10px;
  border:0;
  background:transparent;
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}

#fan-selector #compareBtn{
  min-width:190px;
  min-height:36px;
  padding-inline:14px;
  white-space:nowrap;
  font-size:13px;
}

#fan-selector .result-layout{
  display:grid;
  grid-template-columns:minmax(650px,1.15fr) minmax(440px,.85fr);
  min-height:650px;
  border:1px solid var(--line);
}

#fan-selector .table-wrap{
  min-width:0;
  max-height:720px;
  overflow-y:auto;
  overflow-x:hidden;
  border-right:1px solid var(--line);
}

#fan-selector .result-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:14px;
}

#fan-selector .result-table .col-fan{width:36%}
#fan-selector .result-table .col-engine{width:25%}
#fan-selector .result-table .col-point{width:27%}
#fan-selector .result-table .col-deviation{width:112px}

#fan-selector .result-table th{
  position:sticky;
  top:0;
  z-index:2;
  padding:11px 10px;
  border-bottom:1px solid var(--accent-line);
  background:var(--accent-soft);
  text-align:left;
  white-space:nowrap;
}

#fan-selector .result-table td{
  padding:11px 10px;
  border-bottom:1px solid #e6ebf2;
  vertical-align:top;
  overflow-wrap:anywhere;
}

/* Это собственный hover подборщика, gtab больше не используется. */
#fan-selector .result-table tbody tr{
  cursor:pointer;
  user-select:none;
}

#fan-selector .result-table tbody tr:hover{
  background:#f7faff;
}

#fan-selector .result-table tbody tr.selected{
  background:#dfeafe;
  box-shadow:inset 4px 0 0 var(--accent);
}


#fan-selector .sortable{
  cursor:pointer;
  user-select:none;
}

#fan-selector .sort-arrow{
  display:inline-block;
  width:12px;
  color:var(--accent-dark);
}

#fan-selector .sortable.active.asc .sort-arrow::after{content:"↑"}
#fan-selector .sortable.active.desc .sort-arrow::after{content:"↓"}

#fan-selector .fan-link{
  display:inline;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#174ea6;
  font-weight:700;
  line-height:1.3;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}

#fan-selector .fan-link:hover{
  color:var(--accent-dark);
  text-decoration:underline;
}


#fan-selector .fan-cell-inner{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:0;
}

#fan-selector .fan-cell-copy{
  min-width:0;
}

#fan-selector .fan-cell .compare-check{
  flex:0 0 auto;
  margin:2px 0 0;
}

#fan-selector .result-table td b{display:block;font-weight:600}
#fan-selector .result-table td small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3}
#fan-selector .row-config{max-width:260px}

#fan-selector .configuration-cell{
  font-size:12.5px;
  line-height:1.3;
}

#fan-selector .configuration-cell span{
  display:block;
}

#fan-selector .configuration-cell span+span{
  margin-top:2px;
}

#fan-selector .no-data{
  color:#9aa7b8;
}

#fan-selector .deviation{
  color:var(--ok);
  font-weight:700;
}

/* Правая мини-карточка */
#fan-selector .detail{
  min-width:0;
  padding:20px;
  background:#fff;
}

#fan-selector .detail .empty{
  min-height:300px;
  display:grid;
  place-items:center;
  margin:0;
  padding:30px;
  border-radius:var(--radius);
  background:var(--soft);
  color:var(--muted);
  text-align:center;
}

#fan-selector .deviation-row{
  display:flex;
  justify-content:flex-end;
  margin-bottom:7px;
}

#fan-selector .deviation-badge{
  display:inline-flex;
  padding:5px 8px;
  border:1px solid var(--accent-line);
  border-radius:8px;
  background:var(--accent-soft);
  color:#174ea6;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

#fan-selector .product-card-head{
  margin-bottom:14px;
}

#fan-selector .product-card-head h2,
#fan-selector .product-card-head h3{
  margin:0 0 4px;
}

#fan-selector .path{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

#fan-selector .specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:16px 0 0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

#fan-selector .spec{
  padding:9px 10px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

#fan-selector .spec span{
  display:block;
  color:var(--muted);
  font-size:12px;
}

#fan-selector .spec strong{
  display:block;
  margin-top:2px;
  font-weight:700;
}

#fan-selector .detail-open{
  margin-top:16px;
  background:var(--accent);
  color:#fff;
}

#fan-selector .detail-open:hover{
  background:var(--accent-dark);
}

#fan-selector .live-chart{
  width:100%;
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  overflow:hidden;
}

#fan-selector .live-chart svg,
#fan-selector .compare-chart svg{
  display:block;
  width:100%;
  height:auto;
}

#fan-selector .point-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-top:0;
}

#fan-selector .point-grid>div{
  min-width:0;
  padding:11px 12px;
  border-right:1px solid var(--line);
}

#fan-selector .point-grid>div:last-child{border-right:0}
#fan-selector .point-grid span{display:block;color:var(--muted);font-size:12px}
#fan-selector .point-grid b{display:block;margin-top:3px;font-size:18px;line-height:1.2}
#fan-selector .point-grid small{display:block;margin-top:2px;color:var(--muted);font-size:11px}
#fan-selector .product-link-wrap{margin:16px 0 0;text-align:right}
#fan-selector .product-link-wrap a{color:var(--accent-dark)}

#fan-selector .chart-card{
  margin-top:18px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}

#fan-selector .chart-card h3{
  margin:0 0 10px;
}

#fan-selector .chart-card img{
  display:block;
  width:100%;
  max-height:540px;
  object-fit:contain;
}

#fan-selector .chart-placeholder{
  min-height:250px;
  display:grid;
  place-items:center;
  padding:30px;
  border:1px dashed var(--accent-line);
  color:var(--muted);
  text-align:center;
}

#fan-selector .key-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-bottom:16px;
  border:1px solid var(--line);
  border-top:0;
}

#fan-selector .key-metric{
  padding:10px 12px;
  border-right:1px solid var(--line);
}

#fan-selector .key-metric:last-child{border-right:0}

#fan-selector .key-metric span{
  display:block;
  color:var(--muted);
  font-size:12px;
}

#fan-selector .key-metric strong{
  display:block;
  margin-top:3px;
  font-size:18px;
}

/* Сравнение */
#fan-selector .compare-section{
  margin-top:34px;
  padding:22px;
  border:1px solid var(--line);
  background:#fff;
}

#fan-selector .compare-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

#fan-selector .compare-head h2{margin:0 0 4px}
#fan-selector .compare-head p{margin:0;color:var(--muted)}


#fan-selector #closeCompareBtn{
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--accent);
  border-radius:9px;
  background:#fff;
  color:var(--accent-dark);
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}

#fan-selector #closeCompareBtn:hover{
  background:var(--accent-soft);
}


#fan-selector .compare-table-wrap{
  min-width:0;
  margin-top:18px;
}

#fan-selector .compare-chart{
  width:100%;
  min-width:0;
  margin-bottom:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}

#fan-selector .compare-chart svg{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

#fan-selector .compare-table-scroll{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}

#fan-selector .compare-table{
  width:100%;
  min-width:850px;
  border-collapse:collapse;
  font-size:13px;
}

#fan-selector .compare-table th,
#fan-selector .compare-table td{
  padding:8px 10px;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

#fan-selector .compare-table th{
  width:190px;
  background:var(--soft);
}

/* Модальные окна */
#fan-selector + .modal[hidden],
.modal[hidden]{display:none!important}

.modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:25px;
}

.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,28,42,.55);
}

.modal-card{
  position:relative;
  z-index:1;
  width:min(980px,96vw);
  max-height:92vh;
  overflow:auto;
  padding:24px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
}

.modal-close{
  position:absolute;
  top:12px;
  right:14px;
  padding:5px 9px;
  border:0;
  background:transparent;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}

.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}

.modal-open{overflow:hidden}



/* Печать */
.print-sheet{display:none}

@page{
  size:A4 portrait;
  margin:20mm;
}

@media print{
  html,body{background:#fff}
  body>*:not(.print-sheet){display:none!important}

  .print-sheet{
    display:block!important;
    width:auto;
    min-height:0;
    margin:0;
    padding:0;
    color:#20252b;
  }

  .print-head{
    height:12mm;
    margin-bottom:4mm;
    border-bottom:.3mm solid #8ab4f8;
  }

  .print-head__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:100%;
  }

  .print-brand{
    display:flex;
    align-items:center;
  }

  .print-brand img{
    display:block;
    width:42mm;
    height:auto;
    max-height:9mm;
  }

  .print-brand__mark{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:5px;
    background:#168dd0;
    color:#fff;
    font-size:20px;
    font-weight:700;
  }

  .print-brand strong{display:block;font-size:15px}
  .print-brand span,
  .print-contacts span{
    display:block;
    font-size:8pt;
    line-height:1.2;
  }

  .print-contacts{text-align:right}

  .print-meta{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:1.5mm;
  }

  .print-meta span{font-size:8pt}

  .print-title{
    margin:0 0 3mm;
    font-size:15pt;
    line-height:1.15;
    font-weight:500;
  }

  .print-main{
    width:100%;
  }

  .print-main--with-housing{
    display:grid;
    grid-template-columns:minmax(0,1fr) 200px;
    align-items:start;
    gap:4mm;
  }

  .print-table-wrap{
    min-width:0;
  }

  .print-housing-position{
    overflow:hidden;
    padding:2mm;
    border:.25mm solid #c5d4ea;
    border-radius:2mm;
    background:#fff;
    text-align:center;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .print-housing-position>span{
    display:block;
    margin-bottom:1mm;
    color:#4f5f73;
    font-size:7.3pt;
    line-height:1.15;
  }

  .print-housing-position img{
    display:block;
    width:200px;
    height:200px;
    max-width:100%;
    margin:0 auto;
    object-fit:contain;
  }

  .print-housing-position strong{
    display:block;
    margin-top:1mm;
    color:#20252b;
    font-size:10pt;
    line-height:1.15;
    font-weight:600;
  }

  .print-table{
    width:100%;
    table-layout:fixed;
    border:.25mm solid #c5d4ea;
    border-collapse:separate;
    border-spacing:0;
    border-radius:2mm;
    overflow:hidden;
    font-size:8.1pt;
    line-height:1.12;
  }

  .print-table col:nth-child(1){width:25%}
  .print-table col:nth-child(2){width:27%}
  .print-table col:nth-child(3){width:48%}

  .print-table th,
  .print-table td{
    padding:.72mm 1.25mm;
    border:0;
    border-right:.2mm solid #d8e2f0;
    border-bottom:.2mm solid #d8e2f0;
    vertical-align:top;
  }

  .print-table th:last-child,
  .print-table td:last-child{border-right:0}

  .print-table tbody tr:last-child td{border-bottom:0}

  .print-table thead th{
    border-bottom:.25mm solid #b9ccea;
    background:#edf3ff;
    color:#2d2d2d;
    font-weight:600;
    text-align:left;
  }

  .print-execution strong{
    display:block;
    color:#20252b;
    font-weight:700;
  }

  .print-execution span{
    display:block;
    margin-top:.2mm;
    color:#4f5f73;
    font-size:7.2pt;
    line-height:1.12;
    font-weight:400;
  }


  .print-chart-title{
    margin:4mm 0 1.5mm;
    color:#2d2d2d;
    font-size:9.5pt;
    line-height:1.15;
    font-weight:600;
    break-after:avoid;
    page-break-after:avoid;
  }

  .print-chart{
    position:relative;
    width:100%;
    height:78mm;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:.25mm solid #c5d4ea;
    border-radius:2mm;
    background:#fff;
  }

  .print-chart img,
  .print-chart svg{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .print-chart__empty{
    padding:12mm;
    color:#555;
    font-size:9pt;
    text-align:center;
  }

  .print-watermark{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    pointer-events:none;
  }

  .print-watermark span{
    transform:rotate(-25deg);
    color:rgba(30,80,150,.08);
    font-size:48pt;
    font-weight:700;
    white-space:nowrap;
  }

  .print-note{
    margin:1.5mm 0 0;
    color:#555;
    font-size:7pt;
    line-height:1.15;
  }

  .print-table,
  .print-chart{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  /* Автоматически включается для ВУОП-КО и других карточек
     с увеличенным количеством строк. */
  .print-sheet--dense .print-head{
    height:10mm;
    margin-bottom:3mm;
  }

  .print-sheet--dense .print-brand img{
    width:38mm;
    max-height:8mm;
  }

  .print-sheet--dense .print-meta{
    margin-bottom:1mm;
  }

  .print-sheet--dense .print-title{
    margin-bottom:2mm;
    font-size:14pt;
  }

  .print-sheet--dense .print-table{
    font-size:7.35pt;
    line-height:1.06;
  }

  .print-sheet--dense .print-table th,
  .print-sheet--dense .print-table td{
    padding:.42mm 1mm;
  }

  .print-sheet--dense .print-execution span{
    margin-top:0;
    font-size:6.7pt;
  }

  .print-sheet--dense .print-chart-title{
    margin:2.5mm 0 1mm;
    font-size:9pt;
  }

  .print-sheet--dense .print-chart{
    height:66mm;
  }

  .print-sheet--dense .print-main--with-housing{
    grid-template-columns:minmax(0,1fr) 176px;
    gap:3mm;
  }

  .print-sheet--dense .print-housing-position img{
    width:176px;
    height:176px;
  }

  .print-sheet--dense .print-note{
    margin-top:1mm;
    font-size:6.7pt;
  }

}


@media(max-width:1120px){
  #fan-selector .result-layout{
    grid-template-columns:1fr;
  }

  #fan-selector .table-wrap{
    max-height:550px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  #fan-selector .detail{
    padding:18px;
  }
}


@media(max-width:1180px) and (min-width:921px){
  #fan-selector .filter-grid{
    grid-template-columns:repeat(3,minmax(180px,1fr));
  }
}



@media(max-width:1100px) and (min-width:921px){
  #fan-selector .series-row{
    grid-template-columns:minmax(280px,1.35fr) minmax(120px,.55fr) minmax(220px,1fr);
    max-width:none;
  }
}

@media(max-width:920px) and (min-width:801px){
  #fan-selector .filter-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }
}

@media(max-width:800px){
  #fan-selector{
    padding-bottom:24px;
  }

  #fan-selector .series-row{
    grid-template-columns:1fr;
    max-width:none;
  }

  #fan-selector .selector-panel{
    padding:15px;
  }

  #fan-selector .category-cards{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:4px;
  }

  #fan-selector .category-card{
    flex:0 0 170px;
    min-width:170px;
    scroll-snap-align:start;
  }

  #fan-selector .category-card[data-category="all"]{
    flex:0 0 50px;
    width:50px;
    min-width:0;
  }

  #fan-selector .primary-grid{
    grid-template-columns:1fr;
  }

  #fan-selector .metric-control-row{
    grid-template-columns:minmax(0,1fr) 94px;
  }

  #fan-selector .metric-title-row>label:first-child{
    font-size:18px;
  }

  #fan-selector .filter-grid{
    grid-template-columns:1fr;
  }

  #fan-selector .actions{
    align-items:stretch;
    flex-wrap:wrap;
  }

  #fan-selector .actions>span{
    width:100%;
    margin:0;
  }

  #fan-selector .compare-toolbar{
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  #fan-selector .compare-toolbar>span{
    width:100%;
    margin:0;
  }

  #fan-selector .result-layout{
    border-left:0;
    border-right:0;
  }

  #fan-selector .table-wrap{
    overflow:auto;
    max-height:520px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }

  #fan-selector .result-table{
    min-width:690px;
  }

  #fan-selector .result-table .col-fan{
    width:250px;
  }

  #fan-selector .result-table .fan-column,
  #fan-selector .result-table .fan-cell{
    position:sticky;
    left:0;
  }

  #fan-selector .result-table .fan-column{
    z-index:4;
    background:var(--accent-soft);
    box-shadow:1px 0 0 var(--accent-line);
  }

  #fan-selector .result-table .fan-cell{
    z-index:1;
    background:#fff;
    box-shadow:1px 0 0 #e6ebf2;
  }

  #fan-selector .result-table tbody tr:hover .fan-cell{
    background:#f7faff;
  }

  #fan-selector .result-table tbody tr.selected .fan-cell{
    background:#dfeafe;
    box-shadow:inset 4px 0 0 var(--accent),1px 0 0 #c9d8ef;
  }

  #fan-selector .specs{
    grid-template-columns:1fr;
  }

  #fan-selector .key-metrics,
  #fan-selector .point-grid{
    grid-template-columns:1fr;
  }

  #fan-selector .key-metric,
  #fan-selector .point-grid>div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  #fan-selector .key-metric:last-child{border-bottom:0}


  #fan-selector .compare-section{
    padding:15px;
  }

  #fan-selector .compare-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #fan-selector .compare-chart{
    margin-bottom:10px;
  }

  #fan-selector .compare-table{
    min-width:760px;
  }
}

#fan-selector .load-error{color:#b42318!important;font-weight:600}


/* ============================================================
   Полная карточка вентилятора
   Модальное окно находится вне #fan-selector, поэтому получает
   собственную изолированную область стилей.
   ============================================================ */

.fanselection-modal{
  --accent:#4285f4;
  --accent-dark:#1b66d9;
  --accent-soft:#e9f1fe;
  --accent-line:#9bbef9;
  --ink:#20252b;
  --muted:#667085;
  --line:#d7e0ec;
  --soft:#f7f9fc;
  --ok:#087f5b;
  --radius:12px;
}

.fanselection-modal,
.fanselection-modal *{
  box-sizing:border-box;
}

.fanselection-modal .modal-card{
  width:min(1120px,96vw);
  padding:28px;
  border:1px solid #d9e2ef;
  border-radius:16px;
  background:#fff;
}

.fanselection-modal .modal-close{
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid transparent;
  border-radius:50%;
  background:#fff;
  color:#20252b;
  font-size:30px;
  line-height:1;
}

.fanselection-modal .modal-close:hover{
  border-color:#c9d7ea;
  background:#f4f7fb;
}

.fanselection-modal .deviation-row{
  display:flex;
  justify-content:flex-end;
  min-height:34px;
  margin:0 46px 6px 0;
}

.fanselection-modal .deviation-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 11px;
  border:1px solid var(--accent-line);
  border-radius:9px;
  background:var(--accent-soft);
  color:#174ea6;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.fanselection-modal .product-card-head{
  margin:0 0 18px;
}

.fanselection-modal .product-card-head h2{
  margin:0 0 5px;
  color:var(--ink);
  font-size:28px;
  line-height:1.18;
  font-weight:600;
}

.fanselection-modal .path{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
}

.fanselection-modal .live-chart{
  width:100%;
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius) var(--radius) 0 0;
  background:#fff;
}

.fanselection-modal .live-chart svg{
  display:block;
  width:100%;
  height:auto;
}

.fanselection-modal .point-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  margin:0 0 22px;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 var(--radius) var(--radius);
  background:#fff;
}

.fanselection-modal .point-grid>div{
  min-width:0;
  padding:13px 15px;
  border-right:1px solid var(--line);
}

.fanselection-modal .point-grid>div:last-child{
  border-right:0;
}

.fanselection-modal .point-grid span{
  display:block;
  color:var(--muted);
  font-size:13px;
}

.fanselection-modal .point-grid b{
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:21px;
  line-height:1.2;
  font-weight:600;
}

.fanselection-modal .point-grid small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}

.fanselection-modal .specs-title{
  margin:0 0 10px;
  color:var(--ink);
  font-size:19px;
  line-height:1.3;
  font-weight:600;
}

.fanselection-modal .specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  margin:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}

.fanselection-modal .spec{
  min-width:0;
  padding:12px 14px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.fanselection-modal .spec:nth-child(even){
  border-right:0;
}

.fanselection-modal .spec:nth-last-child(-n+2){
  border-bottom:0;
}

.fanselection-modal .spec span{
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.3;
}

.fanselection-modal .spec strong{
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:16px;
  line-height:1.35;
  font-weight:600;
  overflow-wrap:anywhere;
}


.fanselection-modal .housing-position-panel{
  margin-top:22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fbfcff;
}

.fanselection-modal .housing-position-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px;
}

.fanselection-modal .housing-position-head h3{
  margin:0;
  color:var(--ink);
  font-size:19px;
  line-height:1.3;
  font-weight:600;
}

.fanselection-modal .housing-position-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

.fanselection-modal .housing-clear{
  flex:0 0 auto;
  padding:5px 0;
  border:0;
  background:transparent;
  color:var(--accent-dark);
  font:inherit;
  font-size:13px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.fanselection-modal .housing-side-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  max-width:460px;
  margin-bottom:14px;
}

.fanselection-modal .housing-side-switch button{
  min-height:40px;
  padding:7px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:600;
  cursor:pointer;
}

.fanselection-modal .housing-side-switch button.active{
  border-color:var(--accent);
  background:var(--accent-soft);
  color:var(--accent-dark);
  box-shadow:0 0 0 1px rgba(66,133,244,.12);
}

.fanselection-modal .housing-options{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
  gap:9px;
}

.fanselection-modal .housing-option{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  align-self:start;
  min-width:0;
  height:auto;
  min-height:0;
  padding:6px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}

.fanselection-modal .housing-option:hover{
  border-color:#9cbaf0;
  background:#f7faff;
}

.fanselection-modal .housing-option.active{
  border-color:var(--accent);
  background:var(--accent-soft);
  box-shadow:0 0 0 1px rgba(66,133,244,.14);
}

.fanselection-modal .housing-option img{
  display:block;
  width:200px;
  height:200px;
  max-width:100%;
  flex:0 0 auto;
  margin:0 auto;
  object-fit:contain;
  background:#fff;
}

.fanselection-modal .housing-option span{
  display:block;
  flex:0 0 auto;
  margin-top:6px;
  font-size:13px;
  line-height:1.2;
  font-weight:600;
  text-align:center;
}

.fanselection-modal .housing-position-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:13px 0 0;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.fanselection-modal .housing-position-summary span{
  color:var(--muted);
  font-size:13px;
}

.fanselection-modal .housing-position-summary strong{
  color:var(--ink);
  font-size:15px;
  font-weight:600;
}

.fanselection-modal .product-link-wrap{
  margin:18px 0 0;
  text-align:left;
}

.fanselection-modal .product-link-wrap a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid var(--accent);
  border-radius:9px;
  color:var(--accent-dark);
  font-weight:600;
  text-decoration:none;
}

.fanselection-modal .product-link-wrap a:hover{
  background:var(--accent-soft);
}

.fanselection-modal .modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.fanselection-modal .modal-actions button{
  min-height:42px;
  padding:0 20px;
  border:1px solid var(--accent);
  border-radius:9px;
  background:#fff;
  color:var(--accent-dark);
  font-weight:700;
  cursor:pointer;
}

.fanselection-modal .modal-actions .primary{
  border-color:var(--accent)!important;
  background:var(--accent)!important;
  color:#fff!important;
}

.fanselection-modal .modal-actions .primary:hover{
  background:var(--accent-dark)!important;
}

@media(max-width:760px){
  .fanselection-modal{
    padding:10px;
  }

  .fanselection-modal .modal-card{
    width:100%;
    max-height:96vh;
    padding:18px;
    border-radius:12px;
  }

  .fanselection-modal .deviation-row{
    justify-content:flex-start;
    margin-right:44px;
  }

  .fanselection-modal .product-card-head h2{
    font-size:23px;
  }

  .fanselection-modal .point-grid{
    grid-template-columns:1fr;
  }

  .fanselection-modal .point-grid>div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .fanselection-modal .point-grid>div:last-child{
    border-bottom:0;
  }

  .fanselection-modal .specs{
    grid-template-columns:1fr;
  }

  .fanselection-modal .spec,
  .fanselection-modal .spec:nth-child(even),
  .fanselection-modal .spec:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .fanselection-modal .spec:last-child{
    border-bottom:0;
  }

  .fanselection-modal .housing-position-panel{
    padding:13px;
  }

  .fanselection-modal .housing-position-head{
    gap:10px;
  }

  .fanselection-modal .housing-side-switch{
    max-width:none;
  }

  .fanselection-modal .housing-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .fanselection-modal .housing-option img{
    width:100%;
    height:auto;
    aspect-ratio:1;
  }
}

#fan-selector .point-grid.no-power,
.fanselection-modal .point-grid.no-power{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:760px){
  #fan-selector .point-grid.no-power,
  .fanselection-modal .point-grid.no-power{
    grid-template-columns:1fr;
  }
}


/* Обновлённая компоновка правой карточки */
#fan-selector .mini-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

#fan-selector .mini-card-head .product-card-title{
  min-width:0;
  flex:1 1 auto;
}

#fan-selector .mini-card-head .detail-open{
  flex:0 0 auto;
  margin:0;
  white-space:nowrap;
}

#fan-selector .specs-title{
  margin:16px 0 9px;
  color:var(--ink);
  font-size:18px;
  line-height:1.3;
  font-weight:600;
}

#fan-selector .deviation-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-top:0;
  background:#f8fbff;
}

#fan-selector .deviation-summary span{
  color:var(--muted);
  font-size:12px;
}

#fan-selector .deviation-summary b{
  color:var(--ok);
  font-size:18px;
  white-space:nowrap;
}



#fan-selector .chart-curve-key{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:0 0 12px;
  color:var(--muted);
  font-size:12px;
}

#fan-selector .chart-curve-key>span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

#fan-selector .curve-key-line{
  display:inline-block;
  width:28px;
  height:0;
  border-top:3px solid var(--accent);
}

#fan-selector .curve-key-power{
  border-top-width:2px;
  border-top-style:dashed;
}

#fan-selector .curve-key-box{
  display:inline-block;
  width:27px;
  height:12px;
  border:2px dashed var(--accent);
  background:rgba(66,133,244,.08);
}

/* Легенда сравнения */
#fan-selector .compare-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:12px 0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfcff;
}

#fan-selector .compare-legend-item{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:210px;
}

#fan-selector .compare-legend-line{
  width:30px;
  height:0;
  flex:0 0 auto;
  margin-top:9px;
  border-top:3px solid var(--legend-color);
}

#fan-selector .compare-legend-item b{
  display:block;
  color:var(--ink);
  font-size:13px;
}

#fan-selector .compare-legend-item small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}


/* Верхняя строка полной карточки */
.fanselection-modal .full-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin:24px 0 18px;
  padding-right:44px;
}

.fanselection-modal .full-card-head .product-card-title{
  min-width:0;
  flex:1 1 auto;
}

.fanselection-modal .card-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.fanselection-modal .icon-button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--accent);
  border-radius:10px;
  background:#fff;
  color:var(--accent-dark);
  cursor:pointer;
}

.fanselection-modal .icon-button:hover{
  background:var(--accent-soft);
}

.fanselection-modal .icon-button svg{
  width:21px;
  height:21px;
}

.fanselection-modal .point-grid.with-deviation{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.fanselection-modal .point-grid.with-deviation.no-power{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.fanselection-modal .deviation-point{
  background:#f8fbff;
}

.fanselection-modal .deviation-point b{
  color:var(--ok);
}

.fanselection-modal .product-link-wrap a{
  gap:8px;
}

.fanselection-modal .product-link-wrap a svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
}

@media(max-width:760px){
  .fanselection-modal .full-card-head{
    display:block;
    margin-top:30px;
    padding-right:0;
  }

  .fanselection-modal .card-head-actions{
    margin-top:12px;
  }

  .fanselection-modal .point-grid.with-deviation,
  .fanselection-modal .point-grid.with-deviation.no-power{
    grid-template-columns:1fr;
  }

  #fan-selector .mini-card-head{
    display:block;
  }

  #fan-selector .mini-card-head .detail-open{
    margin-top:12px;
  }
}


/* Исполнение рядом с серией, без отдельного фильтра подсерии */
#fan-selector .category-field{
  margin:0;
  padding:0;
}

#fan-selector .series-row{
  grid-template-columns:minmax(320px,520px) minmax(130px,180px) minmax(260px,390px);
  max-width:1122px;
}

#fan-selector .execution-field select{
  font-weight:500;
}

@media(max-width:920px){
  #fan-selector .series-row{
    grid-template-columns:1fr;
    max-width:none;
  }
}


/* Обозначение исполнения и расшифровка */
#fan-selector .execution-value strong,
.fanselection-modal .execution-value strong{
  display:block;
  color:var(--ink);
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}

#fan-selector .execution-value small,
.fanselection-modal .execution-value small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  font-weight:400;
}


/* Каталожный режим: расход и давление отключены */
#fan-selector.catalog-mode .col-deviation,
#fan-selector.catalog-mode .deviation-column,
#fan-selector.catalog-mode .deviation-cell{
  display:none;
}

#fan-selector.catalog-mode .result-table .col-fan{width:35%}
#fan-selector.catalog-mode .result-table .col-engine{width:29%}
#fan-selector.catalog-mode .result-table .col-point{width:36%}

#fan-selector .catalog-range-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:760px){
  #fan-selector .catalog-range-grid,
  .fanselection-modal .catalog-range-grid{
    grid-template-columns:1fr;
  }
}


/* Предупреждение при широкой выдаче */
#fan-selector .results-head p.load-warning{
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  max-width:760px;
  padding:10px 13px;
  border:1px solid #dda12a;
  border-radius:8px;
  background:#fff;
  color:#654600;
  font-weight:400;
  line-height:1.35;
}

#fan-selector .load-warning .status-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:50%;
  background:#dda12a;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1;
}

#fan-selector .load-warning .status-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

#fan-selector .load-warning .status-copy strong,
#fan-selector .load-warning .status-copy span{
  display:block;
}

#fan-selector .load-warning .status-copy strong{
  font-weight:700;
}

#fan-selector .load-warning .status-copy span{
  font-weight:400;
}


/* v0.33 - PDF module is loaded only after explicit click */
.fanselection-modal .pdf-button{
  width:auto;
  min-width:154px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  white-space:nowrap;
  font:inherit;
  font-size:14px;
  font-weight:600;
}
.fanselection-modal .pdf-button svg{flex:0 0 20px}
.fanselection-modal .pdf-button:disabled{cursor:wait;opacity:.72}
.fanselection-modal .pdf-spinner{
  width:17px;height:17px;flex:0 0 17px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;
  animation:fan-pdf-spin .7s linear infinite;
}
@keyframes fan-pdf-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.fanselection-modal .pdf-button{min-width:0}}


/* v0.35 — единая строка действий, комментарий и изображения в PDF */
.fanselection-modal .full-card-head{
  display:block;
  margin:24px 0 18px;
  padding-right:44px;
}

.fanselection-modal .specs-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 10px;
}

.fanselection-modal .specs-heading-row .specs-title{
  margin:0;
}

.fanselection-modal .specs-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex:0 0 auto;
}

.fanselection-modal .pdf-button,
.fanselection-modal .product-page-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border:1px solid var(--accent);
  border-radius:10px;
  white-space:nowrap;
  font:inherit;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
}

.fanselection-modal .pdf-button{
  background:var(--accent);
  color:#fff;
}

.fanselection-modal .pdf-button:hover{
  background:var(--accent-dark);
}

.fanselection-modal .product-page-button{
  background:#fff;
  color:var(--accent-dark);
}

.fanselection-modal .product-page-button:hover{
  background:var(--accent-soft);
}

.fanselection-modal .pdf-button svg,
.fanselection-modal .product-page-button svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
}

.fanselection-modal .pdf-comment-field{
  margin:0 0 18px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fbfcff;
}

.fanselection-modal .pdf-comment-field__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}

.fanselection-modal .pdf-comment-field__head label{
  color:var(--ink);
  font-size:15px;
  line-height:1.3;
  font-weight:600;
}

.fanselection-modal .pdf-comment-field__head span,
.fanselection-modal .pdf-comment-field>small{
  color:var(--muted);
  font-size:12px;
}

.fanselection-modal .pdf-comment-field textarea{
  width:100%;
  min-height:62px;
  max-height:62px;
  display:block;
  resize:none;
  padding:10px 11px;
  border:1px solid #c9d7ea;
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:14px;
  line-height:1.42;
}

.fanselection-modal .pdf-comment-field textarea:focus{
  outline:0;
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(66,133,244,.12);
}

.fanselection-modal .pdf-comment-field>small{
  display:block;
  margin-top:6px;
  line-height:1.35;
}

@media(max-width:760px){
  .fanselection-modal .specs-heading-row{
    display:block;
  }
  .fanselection-modal .specs-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
    margin-top:10px;
  }
  .fanselection-modal .pdf-button,
  .fanselection-modal .product-page-button{
    min-width:0;
  }
}

@media print{
  .print-comment{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 2.5mm;
    padding:2mm 2.5mm;
    border:.25mm solid #c5d4ea;
    border-radius:2mm;
    background:#fff;
    color:#26364a;
    font-size:9.2pt;
    line-height:1.25;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .print-main--with-side{
    display:grid;
    grid-template-columns:minmax(0,1fr) 200px;
    align-items:start;
    gap:4mm;
  }

  .print-side-media{
    display:grid;
    gap:3mm;
    min-width:0;
  }

  .print-side-card{
    overflow:hidden;
    padding:2mm;
    border:.25mm solid #c5d4ea;
    border-radius:2mm;
    background:#fff;
    text-align:center;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .print-side-card>span{
    display:block;
    margin-bottom:1mm;
    color:#4f5f73;
    font-size:7.3pt;
    line-height:1.15;
  }

  .print-side-card img{
    display:block;
    width:200px;
    height:200px;
    max-width:100%;
    margin:0 auto;
    object-fit:contain;
  }

  .print-side-card strong{
    display:block;
    margin-top:1mm;
    color:#20252b;
    font-size:10pt;
    line-height:1.15;
    font-weight:600;
  }

  .print-sheet--dense .print-main--with-side{
    grid-template-columns:minmax(0,1fr) 176px;
    gap:3mm;
  }

  .print-sheet--dense .print-side-media{
    gap:2mm;
  }

  .print-sheet--dense .print-side-card img{
    width:176px;
    height:176px;
  }

  .print-sheet--dense .print-comment{
    margin-bottom:1.7mm;
    padding:1.5mm 2mm;
    font-size:8.4pt;
  }
}
