/* === Panels: Fine-tune, HC, Conflict, Apt Detail, Share bars, Queue, Results table === */

/* ═══ DASHBOARD: ТЭП-панели, Fine Tune, очереди, результаты ═══ */
 /* Fine Tune Panel */
 .fine-tune-wrapper { margin-top: 16px }
 
 /* Conflict indicator */
 .conflict-indicator { margin-top: 0; margin-bottom: 16px; border: 1px solid var(--brd); padding: 14px 16px }
 
 
 .ci-bars { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px }
 .ci-bar-row { display: flex; align-items: center; gap: 8px }
 .ci-bar-label { font-size: var(--fs-base); font-weight: var(--fw-medium); color: var(--txt3); width: 56px; text-align: right }
 .ci-bar-fill.ci-product { background: var(--type-b) }
 .ci-bar-fill.ci-tep { background: var(--type-a) }
 .ci-bar-value { font-size: var(--fs-md); font-weight: var(--fw-normal); width: 52px; text-align: left; color: var(--txt) }
 .ci-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px }
 .ci-metric { text-align: center; padding: 6px 4px; border: 1px solid var(--brd) }
 .ci-metric-label { font-size: var(--fs-sm); color: var(--txt3); margin-bottom: 2px; letter-spacing: var(--ls-normal) }
 .ci-metric-value { font-size: var(--fs-xl); font-weight: var(--fw-normal); color: var(--txt) }

 .ci-comp-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border: 1px solid rgba(255,51,102,0.15); border-radius: var(--radius-md); margin-top: 4px }
 .ci-comp-row.ci-comp-ok { border-color: rgba(0,212,170,0.15) }
 .ci-comp-label { font-size: var(--fs-base); font-weight: var(--fw-medium); color: var(--txt3) }
 .ci-comp-value { font-size: var(--fs-2xl); font-weight: var(--fw-black); color: var(--red) }
#conflictIndicator { grid-template-rows: auto auto auto auto auto; }
 @media(max-width:600px){ .ci-metrics { grid-template-columns: repeat(2, 1fr) } }
 
 /* Housing Classes */
 .hc-panel { margin-top: 0; margin-bottom: 16px; padding: 0; border: none }
 
 
 .hc-toggles { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px }
 .hc-toggle-group { display: flex; align-items: center; gap: 0 }
 .hc-toggle-label { font-size: var(--fs-lg); font-weight: var(--fw-semi); color: var(--txt3); width: 90px; flex-shrink: 0 }
 .hc-radio-group { display: flex; gap: 0; border: 1px solid var(--brd); padding: 0; flex: 1 }
 .hc-radio { font-size: var(--fs-xl); padding: 7px 16px; cursor: pointer; color: var(--txt3); font-weight: var(--fw-medium); transition: all var(--t-base); border: none; background: none; white-space: nowrap; letter-spacing: var(--ls-tight); border-right: 1px solid var(--brd); flex: 1; text-align: center }
 .hc-radio:last-child { border-right: none }
 .hc-radio.active { background: var(--accent-bg-2); color: var(--blue) }
 .hc-assign-row { display: flex; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; align-items: center }
 .hc-assign-item { display: flex; align-items: center; gap: 8px }
 .hc-assign-label { font-size: var(--fs-lg); font-weight: var(--fw-semi); color: var(--txt3) }
 .hc-assign-select { font-size: var(--fs-xl); padding: 7px 16px; border-radius: 0; border: 1px solid var(--brd); background: transparent; color: var(--txt); cursor: pointer; font-weight: var(--fw-medium); letter-spacing: var(--ls-tight) }
 .hc-class-badge { display: inline-block; font-size: var(--fs-md); font-weight: var(--fw-bold); padding: 2px 8px; border-radius: var(--radius-md); color: #fff; vertical-align: middle }
 .hc-validation { margin-top: 10px }
 .hc-assign-status { font-size: var(--fs-xl); margin-left: 4px }

 /* HC section overrides */
 .hc-section .dash-tbl .dash-type-lbl { vertical-align: middle }
 .hc-section .hc-row-area td { border-bottom: none }
 .hc-section .hc-row-share td { border-bottom: 1px dashed var(--brd); padding-top: 0 }

 /* Area section overrides — match HC spacing */
 .area-section 
 .area-section .dash-cell {
 display: block;
 box-sizing: content-box;
 padding: 12px 0 0;
 margin: 0 auto;
 line-height: 16px;
 height: 16px;
 overflow: visible }
 .area-section .dash-mm { margin: -20px 0 0; padding: 0; line-height: 1 }

 .ft-toggle-btn {
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 padding: 10px 16px;
 margin-bottom: 16px;
 font-weight: var(--fw-medium); font-size: var(--fs-lg);
 letter-spacing: var(--ls-wide);
 text-transform: uppercase;
 color: var(--txt3);
 background: transparent;
 border: 1px dashed var(--brd);
 cursor: pointer;
 transition: all var(--t-base) }
 .ft-toggle-btn:hover { color: var(--blue); border-color: var(--blue) }
 .ft-toggle-btn.open { color: var(--blue); border-color: var(--blue); border-style: solid }
 .ft-toggle-btn.open svg { transform: rotate(45deg) }
 .ft-toggle-btn svg { transition: transform var(--t-base) }

 /* Fine-tune split-screen panel */
 #ftPanel {
 overflow: hidden;
 height: 0;
 opacity: 0;
 position: relative;
 left: 50%;
 transform: translateX(-50%);
 width: 100vw;
 padding: 0;
 will-change: height, opacity;
 transition: height 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.6s ease }
 #ftPanel.open {
 height: 80vh;
 opacity: 1;
 padding: 0;
 overflow-x: auto;
 overflow-y: auto }

 .ft-inner {
 max-width: 1600px;
 margin: 0 auto;
 padding: 0 40px;
 min-height: 100%;
 display: flex;
 flex-direction: column;
 justify-content: center }
 .ft-header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 margin-bottom: 20px;
 padding-bottom: 12px;
  font-size: var(--fs-xl);
 letter-spacing: var(--ls-widest);
 text-transform: uppercase;
 color: var(--txt3) }
 .ft-actions { display: flex; gap: 6px }
 .ft-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 12px }
 .ft-card-pent { grid-column: 1 / -1; max-width: 50%; justify-self: center; width: 100% }
 .ft-card { margin-bottom: 0 }
 .ft-card .tep-panel-header {
 margin-bottom: 12px;
 padding-bottom: 8px;
  font-weight: var(--fw-semi) }
 .ft-card-tbl { width: 100%; border-collapse: separate; border-spacing: 0 }
 .ft-card-tbl th { font-size: var(--fs-lg); border: none !important }
 .ft-card-tbl thead tr { border: none !important }
 .ft-card .tep-panel-header { border-bottom: none !important }
 .ft-card-tbl th:first-child { width: 52px }
 .ft-card-tbl .dash-type-lbl { font-size: var(--fs-md); white-space: nowrap }
 /* Share cells: tep-box style */
 .ft-card-tbl .ft-share-inp.dash-cell {
   width: 100%; height: 40px;
   font-size: var(--fs-2xl);
   border: 1px solid var(--brd) !important;
   border-radius: var(--inp-radius);
   background: transparent !important;
   color: var(--txt) !important;
   box-shadow: var(--inp-shadow) }
 /* Area cells: same height, same style */
 .ft-card-tbl .ft-range-pair { gap: 4px; justify-content: center }
 .ft-card-tbl .ft-range-inp {
   width: 48px; height: 40px;
   font-size: var(--fs-md); padding: 0 6px;
   border: 1px solid var(--brd) !important;
   border-radius: var(--inp-radius);
   background: transparent !important;
   color: var(--txt) !important;
   box-shadow: var(--inp-shadow) }
 .ft-card-tbl .ft-range-dash { font-size: var(--fs-sm) }
 .ft-card-tbl td { padding: 4px 6px }
 .ft-row-share td, .ft-row-area td { border: none !important }
 .ft-card-tbl td, .ft-card-tbl th { border: none !important }
 .ft-card-tbl .ft-inp { border-width: 1px !important; border-color: var(--brd) !important; background: var(--bg3) !important }
 .ft-card-tbl .dash-cell { border: none; border-bottom: 1px solid var(--brd) }
 .ft-card { margin-bottom: 0; display: block !important }
 .ft-tbody-a, .ft-tbody-b { box-shadow: none }
 .ft-card-tbl .ft-range-pair { gap: 4px; justify-content: stretch; width: 100% }
 .ft-card-tbl .ft-range-inp { flex: 1; width: 0; min-width: 0; height: 40px; font-size: var(--fs-md); padding: 0 6px; border: 1px solid var(--brd) !important; border-radius: var(--inp-radius); background: transparent !important; color: var(--txt) !important; box-shadow: var(--inp-shadow) }
 tr.ft-spacer td { height: 20px; border: none !important; padding: 0 !important; background: transparent }
 /* Light theme: dark bg */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 /* Dark theme: light bg */
  #ftPanel.open {
 background: #2a2d33 }
  #ftPanel.open .dash-section {
 border-color: var(--white-10);
 background: rgba(255,255,255,0.04) }
  #ftPanel.open .dash-section-hdr { color: rgba(255,255,255,0.5) }
  #ftPanel.open .dash-section-hdr svg { stroke: rgba(255,255,255,0.3) }
  #ftPanel.open .dash-tbl th { color: rgba(255,255,255,0.4); border-bottom-color: var(--white-10) }
  #ftPanel.open .dash-tbl td { border-bottom-color: rgba(255,255,255,0.08) }
  #ftPanel.open .dash-type-lbl.ta { color: #4ecdc4 }
  #ftPanel.open .dash-type-lbl.tb { color: #ffa726 }
  #ftPanel.open .dash-type-lbl.tt { color: var(--blue-light) }
  #ftPanel.open .dash-cell.ta { color: #4ecdc4 }
  #ftPanel.open .dash-cell.tb { color: #ffa726 }
  #ftPanel.open .dash-cell:focus { background: rgba(255,255,255,0.05) }
  #ftPanel.open .dash-sigma { color: var(--blue-light) }
  #ftPanel.open .dash-total-cell { border-left-color: var(--white-10) }
  #ftPanel.open .ft-share-total { background: var(--white-6) !important }
  #ftPanel.open .ft-share-total.ok { background: transparent !important }
  #ftPanel.open .ft-share-total.err { background: transparent !important }
  #ftPanel.open .ft-room-hdr { border-left-color: var(--white-10) }
  #ftPanel.open .ft-range-dash { color: rgba(255,255,255,0.3) }
  #ftPanel.open .btn { color: rgba(255,255,255,0.5); border-color: rgba(255,255,255,0.15) }
  #ftPanel.open .btn:hover { color: var(--blue-light); border-color: var(--blue-light) }
  #ftPanel.open .ft-row-area td { border-bottom-color: var(--white-10) !important }
  #ftPanel.open .ft-row-share td { border-bottom: none !important }
 .hc-actions { display: flex; gap: 0; margin-top: 12px }
 .hc-actions .btn { font-size: var(--fs-lg); padding: 8px 16px; flex: 1; text-align: center; border: 1px solid var(--brd); border-right: none }
 .hc-actions .btn:last-child { border-right: 1px solid var(--brd) }
 .hc-none-msg { font-size: var(--fs-xl); color: var(--txt3); font-style: italic; padding: 8px 0 }
 .hc-sec-sel { font-size: var(--fs-base); padding: 2px 4px; border-radius: 0; border: 1px solid var(--brd); background: transparent; color: var(--txt); width: 68px; font-weight: var(--fw-semi) }
 .hc-sec-badge { font-size: var(--fs-xs); font-weight: var(--fw-bold); padding: 0 4px; border-radius: 3px; color: #fff; margin-left: 3px; vertical-align: middle }
 
 /* Apt Detail Panel */
 .ad-grp-row { display: flex; flex-wrap: wrap; gap: 4px; padding: 2px 0 }
 .ad-cat-lbl { font-size: var(--fs-base); font-weight: var(--fw-medium); color: var(--txt3); text-transform: uppercase; letter-spacing: 0.08em; text-align: left !important; padding-left: 2px !important }
 .ad-summary-tbl td[rowspan] { vertical-align: middle; border-bottom: none !important }
 .ad-summary-tbl .dash-sigma.c1 { color: var(--room-1k) }
 .ad-summary-tbl .dash-sigma.c2 { color: var(--room-2k) }
 .ad-summary-tbl .dash-sigma.c3 { color: var(--room-3k) }
 .ad-summary-tbl .dash-sigma.c4 { color: var(--room-4k) }
 .ad-summary-tbl .dash-sigma.cp { color: var(--room-p) }
 .ad-summary-tbl th.c1 { color: var(--room-1k) !important }
 .ad-summary-tbl th.c2 { color: var(--room-2k) !important }
 .ad-summary-tbl th.c3 { color: var(--room-3k) !important }
 .ad-summary-tbl th.c4 { color: var(--room-4k) !important }
 .ad-summary-tbl th.cp { color: var(--room-p) !important }
 .ad-summary-tbl .dash-row-a td { background: transparent }
 .ad-summary-tbl .dash-row-b td { background: transparent }
 .ad-summary-tbl .dash-row-sigma td { background: var(--type-t-bg) }

 /* Section info tooltips */
 .sec-info-wrap { position: relative; display: inline-flex; align-items: center; margin-left: auto }
 .sec-info-btn {
 width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--brd);
 background: transparent; color: var(--txt3); font-size: var(--fs-base); font-weight: var(--fw-bold);
 cursor: help; display: flex; align-items: center; justify-content: center; transition: all var(--t-base); flex-shrink: 0 }
 .sec-info-btn:hover { border-color: var(--blue); color: var(--blue) }
 .sec-info-tip {
 display: none }
 .sec-info-portal {
 position: fixed;
 background: var(--bg2); border: 1px solid var(--brd); padding: 14px 16px;
 box-shadow: 0 8px 32px rgba(0,0,0,0.35); z-index: 999999; width: 360px;
 font-size: var(--fs-md); line-height: 1.6; color: var(--txt2); letter-spacing: 0;
 pointer-events: auto;
 opacity: 0; transition: opacity 0.15s ease;
 max-height: 80vh; overflow-y: auto }
 .sec-info-portal.visible { opacity: 1 }
 .sec-info-portal.in-ft {
 background: #1a1d22; border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.7) }
 .sec-info-btn.active { border-color: var(--blue); color: var(--blue) }
 @media(max-width:600px) {
 .sec-info-portal { width: calc(100vw - 24px); max-width: 360px }
 }
 #ftPanel .sec-info-btn { border-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.4) }
 #ftPanel .sec-info-btn:hover { border-color: var(--blue); color: var(--blue) }

 /* Share distribution bars */
 .share-bars { margin-top: 12px; display: flex; flex-direction: column; gap: 8px }
 .share-bar-row { display: flex; align-items: center; gap: 8px }
 .share-bar-lbl { font-size: var(--fs-lg); font-weight: var(--fw-semi); letter-spacing: var(--ls-wide); text-transform: uppercase; width: 28px; flex-shrink: 0 }

 
 
 
 
 
 .share-bar-seg span { padding: 0 3px }
 .share-bar-seg.c1 { background: var(--room-1k) }
 .share-bar-seg.c2 { background: var(--room-2k) }
 .share-bar-seg.c3 { background: var(--room-3k) }
 .share-bar-seg.c4 { background: var(--room-4k) }
 .share-bar-seg.cp { background: var(--room-p) }
 .sec-info-tip .si-title, .sec-info-portal .si-title { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--txt); margin-bottom: 6px; text-transform: uppercase; letter-spacing: var(--ls-wide) }
 .sec-info-tip .si-block, .sec-info-portal .si-block { margin-bottom: 8px }
 .sec-info-tip .si-label, .sec-info-portal .si-label { font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--blue); text-transform: uppercase; letter-spacing: var(--ls-wide); margin-bottom: 2px }
 .sec-info-tip .si-formula, .sec-info-portal .si-formula { font-size: var(--fs-base); color: var(--green); padding: 3px 6px; background: var(--accent-bg-1); border-left: 2px solid var(--blue); margin: 4px 0 }
 
 
 
 
 
 
 .ad-full-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 3px; padding: 4px 0 }
 .ad-full-item { font-size: var(--fs-md); text-align: center; padding: 3px; border-radius: 0; background: transparent; border: 1px solid var(--brd) }
 .ad-full-item.c1 { border-color: rgba(90,150,250,0.2); color: var(--room-1k) } 
 .ad-full-item.c2 { border-color: rgba(92,201,142,0.2); color: var(--room-2k) }
 .ad-full-item.c3 { border-color: rgba(255,180,50,0.2); color: var(--room-3k) } 
 .ad-full-item.c4 { border-color: rgba(232,91,107,0.2); color: var(--room-4k) }
 .ad-full-item.cp { border-color: rgba(168,120,230,0.2); color: var(--room-p) }
 .fine-tune-toggle {
 width: 100%;
 padding: 10px 16px;
 background: transparent;
 border: 1px solid var(--brd);
 color: var(--txt3); font-size: var(--fs-base);
 font-weight: var(--fw-medium);
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 10px;
 transition: all var(--t-base);
 letter-spacing: var(--ls-wider);
 text-transform: uppercase }
 .fine-tune-toggle:hover { color: var(--txt2); border-color: var(--accent-bg-4) }
 .fine-tune-toggle.open { color: var(--blue); border-color: var(--accent-bg-5) }
 .fine-tune-arrow { transition: transform var(--t-slow) }
 .fine-tune-toggle.open .fine-tune-arrow { transform: rotate(180deg) }
 .fine-tune-panel {
 display: none;
 margin-top: 12px;
 padding: 16px;
 border: 1px solid var(--brd);
 border-top: none }
 .fine-tune-panel.open { display: block; animation: ftSlideDown 0.3s ease }
 @keyframes ftSlideDown { from { opacity: 0; transform: translateY(-10px) } to { opacity: 1; transform: translateY(0) } }
 .fine-tune-desc {
 font-size: var(--fs-lg);
 color: var(--txt3);
 margin-bottom: 16px;
 line-height: 1.5 }
 .fine-tune-grid {
 display: flex;
 flex-direction: column;
 gap: 8px }
 .fine-tune-room {
 background: transparent;
 border-radius: var(--radius-sm);
 padding: 14px;
 min-width: 0;
 overflow: hidden }
 .fine-tune-room-header {
 font-size: var(--fs-2xl);
 font-weight: var(--fw-bold);
 color: var(--txt);
 margin-bottom: 12px;
 text-align: center;
 padding-bottom: 8px; }
 .fine-tune-types { display: flex; gap: 24px }
 .fine-tune-type { flex: 1; min-width: 0 }
 .ft-gap { --ft-gap: 30px }
 .fine-tune-type-header {
 display: flex; align-items: center; margin-bottom: 6px }
 .fine-tune-type-header .fth-spacer-lbl { width: 22px; flex-shrink: 0 }
 .fine-tune-type-header .fth-spacer-cell { width: 48px; flex-shrink: 0 }
 .fine-tune-type-header .fth-spacer-sep { width: 30px; flex-shrink: 0 }
 .fine-tune-type-label {
 width: 48px; flex-shrink: 0;
 font-size: var(--fs-xl); font-weight: var(--fw-bold); text-transform: uppercase;
 letter-spacing: 0.5px; text-align: center }
 .fine-tune-type.ta .fine-tune-type-label { color: var(--type-a) }
 .fine-tune-type.tb .fine-tune-type-label { color: var(--type-b) }
 .ft-col-headers {
 display: flex; align-items: center; margin-bottom: 4px }
 .ft-col-headers .fth-spacer-lbl { width: 22px; flex-shrink: 0 }
 .ft-col-headers .fth-spacer-sep { width: 30px; flex-shrink: 0 }
 .ft-col-headers .ft-ch-label {
 width: 48px; flex-shrink: 0;
 font-size: var(--fs-xs); font-weight: var(--fw-semi); text-transform: uppercase;
 letter-spacing: 0.3px; text-align: center; color: var(--txt3) }
 .fine-tune-sizes { display: flex; flex-direction: column; gap: 2px }
 .fine-tune-size {
 display: flex;
 align-items: flex-start }
 .size-label {
 width: 22px; min-width: 22px; flex-shrink: 0;
 font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--txt3);
 text-align: center; padding-top: 10px }
 .ft-cell {
 display: flex; flex-direction: column; align-items: center;
 width: 48px; min-width: 48px; flex-shrink: 0 }

 .ft-inp:focus { outline: none; background: var(--bg) }
 .ft-inp::placeholder { color: var(--txt3); font-size: var(--fs-base); font-weight: var(--fw-medium) }
 .ft-cell .pm-bar {
 display: flex; align-items: center; justify-content: center;
 margin-top: 2px; height: 18px; width: 46px;
 border-radius: var(--radius-lg); overflow: hidden;
 opacity: 0; pointer-events: none; transition: opacity var(--t-fast);
 user-select: none }
 .ft-cell:hover .pm-bar { opacity: 1; pointer-events: auto }
 .ft-sep {
 width: 30px; min-width: 30px; flex-shrink: 0;
 text-align: center; font-size: var(--fs-base); color: var(--txt3);
 padding-top: 10px }
 .ft-share-inp {
 width: 48px; padding: 8px 4px;
 background: var(--bg4); border: 2px solid var(--txt3); border-radius: var(--radius-sm);
 color: var(--txt); font-size: var(--fs-2xl); font-weight: var(--fw-bold); text-align: center;
 box-sizing: border-box; transition: all var(--t-base) }
 .ft-share-inp:focus { outline: none; background: var(--bg) }
 .ft-share-pct {
 font-size: var(--fs-md); color: var(--txt3);
 padding-top: 10px; margin-left: 2px; flex-shrink: 0 }
 .ft-sum-row { display: flex; align-items: flex-start; margin-top: 2px }
 .ft-sum-row .fth-spacer-lbl { width: 22px; flex-shrink: 0 }
 .ft-sum-row .fth-spacer-cell { width: 48px; flex-shrink: 0 }
 .ft-sum-row .fth-spacer-sep { width: 30px; flex-shrink: 0 }
 .ft-share-total {
 width: 48px; min-width: 48px; flex-shrink: 0;
 padding: 8px 4px;
 background: var(--bg4, var(--white-6));
 border: 2px solid transparent; border-radius: var(--radius-sm); font-size: var(--fs-2xl); font-weight: var(--fw-semi);
 text-align: center; box-sizing: border-box }
 .ft-share-total.ok { color: var(--green); background: transparent }
 .ft-share-total.err { color: var(--red); background: transparent }
 
 /* Table */
 .tbl-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--brd) }
 table.main-tbl { width: 100%; min-width: 900px; border-collapse: collapse; font-size: var(--fs-lg) }
 table.main-tbl th { background: transparent; padding: 14px 8px; text-align: center; font-weight: var(--fw-medium); font-size: var(--fs-sm); text-transform: uppercase; color: var(--txt3); letter-spacing: var(--ls-wide); border-bottom: 1px solid var(--brd) }
 table.main-tbl th.lk { cursor: pointer }
 table.main-tbl th.lk:hover { background: var(--accent-bg-0) }
 table.main-tbl th.lkd { background: transparent; color: var(--yellow) }
 table.main-tbl td { padding: 10px 8px; text-align: center; border-bottom: 1px solid var(--brd); font-size: var(--fs-2xl); font-weight: var(--fw-normal) }
 table.main-tbl tr:hover td { background: var(--accent-bg-0) }
 table.main-tbl tr.ta td { background: transparent }
 table.main-tbl tr.tb td { background: transparent }
 table.main-tbl tr.row-lk td { border-bottom-width:2px }
 table.main-tbl tr.row-lk td:first-child { box-shadow: inset 4px 0 0 currentColor }
 table.main-tbl tr.row-lk .rn { font-weight: var(--fw-bold) }
 table.main-tbl tr.row-lk.ta td { background: transparent !important; border-bottom-color: rgba(80,205,137,0.4) }
 table.main-tbl tr.row-lk.ta td:first-child { color:var(--type-a) }
 table.main-tbl tr.row-lk.ta .rn { color:var(--type-a) }
 table.main-tbl tr.row-lk.ta .tinp, table.main-tbl tr.row-lk.ta .tsel, table.main-tbl tr.row-lk.ta .qsel { background:transparent; border-color:rgba(80,205,137,0.35) }
 table.main-tbl tr.row-lk.tb td { background: transparent !important; border-bottom-color: rgba(232,91,107,0.4) }
 table.main-tbl tr.row-lk.tb td:first-child { color: var(--room-4k) }
 table.main-tbl tr.row-lk.tb .rn { color: var(--room-4k) }
 table.main-tbl tr.row-lk.tb .tinp, table.main-tbl tr.row-lk.tb .tsel, table.main-tbl tr.row-lk.tb .qsel { background:transparent; border-color:rgba(232,91,107,0.35) }
 table.main-tbl tr.tot td { background: transparent; font-weight: var(--fw-semi); border-top: 1px dashed var(--brd) }

 
 

 .tsel { padding: 9px 11px; background: transparent; border: 1px solid var(--brd); border-radius: 0; color: var(--txt); font-size: 15px; font-weight: var(--fw-medium); cursor: pointer; height: 42px; box-sizing: border-box }
 .tsel.ta { background: transparent; color: var(--type-a) }
 .tsel.tb { background: transparent; color: var(--type-b) }
 .apt { font-weight: var(--fw-semi) }
 .a1 { color: var(--red) }
 .a2 { color: var(--green) }
 .a3 { color: var(--yellow) }
 .a4 { color: var(--blue) }
 .ap { color: var(--purple) }
 .pct { display: block; font-size: var(--fs-sm); color: var(--txt3); font-weight: var(--fw-normal) }
 .rn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: transparent; border-radius: 0; font-size: var(--fs-base); color: var(--txt3) }
 .rlk { width: 24px; height: 24px; border: none; background: transparent; color: var(--txt3); cursor: pointer; font-size: var(--fs-md); opacity: 0.5 }
 .rlk:hover { opacity: 1 }
 .rlk.on { opacity: 1; color: var(--yellow) }
 .del { width: 42px; height: 42px; background: transparent; border: none; border-radius: var(--radius-sm); color: var(--red); font-size: 21px; cursor: pointer; transition: all var(--t-slow) }
 .del:hover { background: var(--red); color: #fff }
 .add { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 14px; margin-top: 18px; background: transparent; border: 1px dashed var(--brd); border-radius: var(--radius-sm); color: var(--txt3); font-size: var(--fs-lg); cursor: pointer; transition: all var(--t-slow) }
 .add:hover { border-color: var(--txt); color: var(--txt) }
 
 /* Settings grid */
 .settings-grid { display: grid; grid-template-columns: 1fr; gap: 20px }
 .settings-title { font-size: var(--fs-md); font-weight: var(--fw-medium); color: var(--txt3); margin-bottom: 14px; text-transform: uppercase; letter-spacing: var(--ls-wide) }
 .settings-row { margin-bottom: 12px }
 .settings-row:last-child { margin-bottom: 0 }
 
 /* Checkbox items */
 .chk-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; background: var(--bg3); border-radius: var(--radius-sm); margin-bottom: 8px; cursor: pointer; transition: all var(--t-slow); border: 1px solid var(--brd) }
 .chk-item:hover { background: var(--bg4) }
 .chk-item:last-child { margin-bottom: 0 }
 .chk-item input { display: none }
 .chk-box { width: 20px; height: 20px; min-width: 20px; border-radius: var(--radius-lg); background: var(--bg2); border: 1px solid var(--brd); display: flex; align-items: center; justify-content: center; transition: all var(--t-slow) }
 .chk-item input:checked + .chk-box { background: var(--txt); border-color: var(--txt) }
 .chk-item input:checked + .chk-box::after { content: ''; width: 10px; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") center/contain no-repeat }
 .chk-label { font-size: var(--fs-lg); color: var(--txt2); line-height: 1.4 }
 .chk-item input:checked ~ .chk-label { color: var(--txt) }
 
 /* Range inputs */
 .range-input { display: flex; align-items: center; gap: 8px }
 .range-sep { color: var(--txt3); font-size: var(--fs-lg) }
 .form-input.sm { width: 80px; padding: 8px 10px; font-size: var(--fs-lg) }
 .form-input.xs { width: 65px; padding: 9px 6px; font-size: 15px; text-align: center; height: 42px; box-sizing: border-box; -moz-appearance: textfield }
 .form-input.xs::-webkit-outer-spin-button, .form-input.xs::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0 }
 
 /* Limits grid */
 .limits-grid { display: flex; flex-direction: column; gap: 8px }
 .limits-header { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 12px; padding-bottom: 8px;  font-weight: var(--fw-semi); text-align: center; padding: 6px; border-radius: 0 }
 .limits-type.ta { background: transparent; color: var(--type-a) }
 .limits-type.tb { background: transparent; color: var(--type-b) }
 .limits-row { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 12px; align-items: center }
 .limits-label { font-size: var(--fs-md); color: var(--txt2) }
 .limits-inputs { display: flex; align-items: center; justify-content: center; gap: 4px }
 
 /* Queue filter */
 .queue-filter { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding: 12px 16px; background: var(--bg3); border-radius: var(--radius-sm); flex-wrap: wrap }
 
 /* Queue settings panel */
 .queue-settings { 
 display: none;
 margin-bottom: 16px }
 .queue-settings.show { display: block }
 .queue-settings-group {
 display: flex;
 flex-direction: column;
 gap: 3px }
 .queue-settings-group label {
 font-size: var(--fs-sm);
 font-weight: var(--fw-semi);
 text-transform: uppercase;
 color: var(--txt3);
 letter-spacing: 0.3px }
 .queue-settings-group input {
 width: 100%;
 background: var(--bg2);
 border: 2px solid var(--brd);
 border-radius: var(--radius-sm);
 padding: 9px 11px; font-size: 15px;
 font-weight: var(--fw-medium);
 color: var(--txt);
 height: 42px;
 box-sizing: border-box }
 .queue-settings-group input:focus { outline: none; border-color: var(--blue) }
 .queue-settings-group input::placeholder { color: var(--txt3); font-weight: var(--fw-normal); font-style: italic }
 .queue-settings-auto {
 font-size: var(--fs-sm);
 color: var(--txt3);
 font-style: italic }
 .queue-settings-title {
 font-size: var(--fs-md);
 font-weight: var(--fw-semi);
 color: var(--txt2);
 white-space: nowrap;
 align-self: center }
 .queue-settings-sep {
 width: 1px;
 height: 36px;
 background: var(--brd);
 align-self: center }
 /* Внутренние карточки очередей */
 .qs-cards {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 14px;
 align-items: start }
 .qs-card {
 min-width: 0;
 background: transparent;
 border: 1px solid var(--brd);
 padding: 14px 16px;
 display: flex;
 flex-direction: column;
 gap: 10px }
 .qs-card-title {
 font-size: var(--fs-md);
 font-weight: var(--fw-medium);
 color: var(--txt2);
 text-align: center;
 padding-bottom: 8px;
 
 letter-spacing: var(--ls-wide);
 text-transform: uppercase }
 .qs-card-q1 .qs-card-title { border-color: var(--blue); color: var(--blue) }
 .qs-card-q2 .qs-card-title { border-color: var(--green); color: var(--green) }
 .qs-card-q3 .qs-card-title { border-color: var(--yellow); color: var(--yellow) }
 .qs-card-sum {
 min-width: 0;
 background: transparent;
 border: 1px dashed var(--brd);
 padding: 14px 16px;
 display: flex;
 flex-direction: column;
 gap: 10px;
 text-align: center }
 .qs-sum-title {
 font-size: var(--fs-base);
 font-weight: var(--fw-medium);
 color: var(--txt3);
 text-align: center;
 letter-spacing: var(--ls-wide);
 text-transform: uppercase }
 .qs-sum-label {
 font-size: var(--fs-sm);
 text-transform: uppercase;
 color: var(--txt3);
 font-weight: var(--fw-medium);
 letter-spacing: var(--ls-wide) }
 .qs-sum-val {
 font-size: var(--fs-3xl);
 font-weight: var(--fw-normal); color: var(--txt);
 padding: 10px 14px;
 text-align: center }
 .queue-summary {
 display: flex;
 gap: 16px;
 margin-left: auto;
 align-items: center }
 .queue-summary-item {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 2px }
 .queue-summary-val {
 font-size: var(--fs-xl);
 font-weight: var(--fw-bold); color: var(--txt) }
 .queue-summary-lbl {
 font-size: var(--fs-xs);
 text-transform: uppercase;
 color: var(--txt3);
 font-weight: var(--fw-semi) }
 
 /* Bаннер автогенерации секций */
 .auto-gen-banner { 
 display: none;
 background: linear-gradient(135deg, rgba(91,141,239,0.15), rgba(0,217,233,0.1));
 border: 1px solid rgba(91,141,239,0.3);
 border-radius: var(--radius-sm); 
 padding: 12px 16px; 
 margin-bottom: 16px;
 animation: slideDown 0.3s ease }
 @keyframes slideDown {
 from { opacity: 0; transform: translateY(-10px) }
 to { opacity: 1; transform: translateY(0) }
 }
 .auto-gen-content { display: flex; align-items: center; gap: 12px; flex-wrap: wrap }
 .auto-gen-icon { font-size: var(--fs-4xl) }
 .auto-gen-text { flex: 1; min-width: 200px; font-size: var(--fs-lg); color: var(--txt); line-height: 1.5 }
 .auto-gen-text strong { color: var(--blue); font-size: var(--fs-xl) }
 .auto-gen-text span { color: var(--txt2) }
 
 /* Метка автосгенерированной секции */
 .auto-badge { 
 display: inline-block;
 background: linear-gradient(135deg, var(--blue), var(--cyan));
 color: #fff;
 font-size: var(--fs-xs);
 font-weight: var(--fw-bold);
 padding: 2px 5px;
 border-radius: var(--radius-md);
 margin-left: 6px;
 text-transform: uppercase;
 letter-spacing: 0.5px }
 .queue-label { font-size: var(--fs-lg); color: var(--txt3); font-weight: var(--fw-medium) }
 .queue-btn { padding: 0 14px; border: none; background: var(--bg2); color: var(--txt3); border-radius: var(--radius-sm); font-size: var(--fs-md); font-weight: var(--fw-medium); cursor: pointer; transition: all var(--t-base); box-shadow: var(--shadow-btn); height: 36px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box }
 .queue-btn:hover { color: var(--txt2) }
 .queue-btn.on { background: var(--blue); color: #fff }
 
 /* Queue select in table */
 .qsel { padding: 9px 11px; background: var(--bg3); border: 1px solid transparent; border-radius: var(--radius-sm); color: var(--txt); font-size: 15px; font-weight: var(--fw-medium); cursor: pointer; height: 42px; box-sizing: border-box }
 .qsel.q1 { background: transparent; color: var(--blue) }
 .qsel.q2 { background: transparent; color: var(--green) }
 .qsel.q3 { background: transparent; color: var(--yellow) }
 
 /* Result cards */
 .res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 10px 0; overflow: visible }
 @media (max-width: 900px) { .res-grid { grid-template-columns: 1fr; max-width: 400px } }
 .res-card { background: transparent; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--brd); transition: all var(--t-smooth); display: flex; flex-direction: column; min-width: 0 }
 .res-card .res-bd { overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; min-width: 0 }
 .res-card .shares-detail { min-width: 0; max-width: 100% }
 .res-card .res-comp { min-width: 0 }
 .res-card .comp-det { min-width: 0 }
 .res-card .comp-panel { min-width: 0 }
 .res-card.rec { border-color: var(--green) }
 .res-hd { padding: 18px 20px 14px; background: transparent;  font-weight: var(--fw-semi); margin-bottom: 2px }
 .res-hd p { font-size: var(--fs-base); color: var(--txt3) }
 .res-bd { padding: 16px 18px; overflow-x: auto; flex: 1; display: flex; flex-direction: column }
 
 /* Результат: таблица сравнения */
 .res-tbl { width: 100%; border-collapse: collapse; font-size: var(--fs-base); margin-bottom: 10px }
 .res-tbl th, .res-tbl td { padding: 5px 4px; text-align: center; border-bottom: 1px solid var(--brd) }
 .res-tbl th { background: transparent; color: var(--txt3); font-size: var(--fs-sm); font-weight: var(--fw-medium); text-transform: uppercase; letter-spacing: var(--ls-wide) }
 .res-tbl th:first-child { text-align: left }
 .res-tbl td:first-child { text-align: left; color: var(--txt2) }
 .res-tbl td { font-weight: var(--fw-medium) }
 .res-tbl .t { color: var(--txt3) }
 .res-tbl .f { color: var(--txt); font-weight: var(--fw-semi) }
 .res-tbl .d { font-size: var(--fs-base) }
 .res-tbl .d.up { color: var(--green) }
 .res-tbl .d.dn { color: var(--red) }
 .res-tbl .d.eq { color: var(--txt3) }
 .res-tbl .p { font-size: var(--fs-base) }
 .res-tbl .p.up { color: var(--green) }
 .res-tbl .p.dn { color: var(--red) }
 .res-tbl .p.eq { color: var(--txt3) }
 
 .res-row { display: flex; justify-content: space-between; padding: 10px 0;  font-size: var(--fs-lg) }
 .res-row:last-of-type { border-bottom: none }
 .res-row .lb { color: var(--txt2) }
 .res-row .vl { font-weight: var(--fw-semi) }
 .res-row .dv { font-size: var(--fs-base); margin-left: 8px }
 .res-row .dv.up { color: var(--green) }
 .res-row .dv.dn { color: var(--red) }
 
 /* Распределение по комнатности в результатах */
 .apt-dist-grid { display: flex; justify-content: space-between; gap: 16px; margin: 8px 0 10px; padding: 10px; background: transparent; border-radius: 0 }
 .apt-dist-item { flex: 1; display: flex; flex-direction: column; align-items: center }
 .apt-dist-bar { width: 100%; height: 90px; border-radius: 0; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; margin-bottom: 4px }
 .apt-dist-bar.bg1 { background: transparent }
 .apt-dist-bar.bg2 { background: transparent }
 .apt-dist-bar.bg3 { background: transparent }
 .apt-dist-bar.bg4 { background: transparent }
 .apt-dist-bar.bgp { background: transparent }
 .apt-dist-fill { width: 100%; border-radius: 0; transition: height 0.3s; display: flex; align-items: center; justify-content: center; font-size: var(--fs-md); font-weight: var(--fw-bold); color: #fff; min-height: 24px }
 .apt-dist-fill.c1 { background: var(--room-1k) }
 .apt-dist-fill.c2 { background: var(--room-2k) }
 .apt-dist-fill.c3 { background: var(--room-3k) }
 .apt-dist-fill.c4 { background: var(--room-4k) }
 .apt-dist-fill.cp { background: var(--room-p) }
 .apt-dist-count { font-size: var(--fs-2xl); font-weight: var(--fw-black); color: var(--txt); margin-bottom: 1px }
 .apt-dist-label { font-size: var(--fs-base); color: var(--txt3); text-transform: uppercase; font-weight: var(--fw-semi) }
 
 .apt-dist { display: flex; gap: 6px }
 .apt-dist span { padding: 3px 8px; border-radius: 0; font-size: var(--fs-md); font-weight: var(--fw-semi) }
 .apt-dist .aq1 { background: transparent; color: var(--room-4k) }
 .apt-dist .aq2 { background: transparent; color: var(--type-a) }
 .apt-dist .aq3 { background: var(--warning-bg); color: var(--orange-tag) }
 .apt-dist .aq4 { background: transparent; color: var(--blue-tag) }
 .apt-dist .aqp { background: transparent; color: var(--purple-deep) }
 .res-comp { margin-top: 10px; padding: 0; background: transparent; border-radius: 0; text-align: center; border-left: none; flex: 1; display: flex; flex-direction: column }
 .res-comp.ok { border-color: transparent }
 .res-comp .lb { display: none }
 .res-comp .vl { display: none }
 .res-comp.ok .vl { color: var(--green) }
 
