/* ====== SCOPE RESET ====== */
#nk-airsizer, #nk-airsizer *, #nk-airsizer *::before, #nk-airsizer *::after { box-sizing: border-box; }
#nk-airsizer {
  /* tokens */
  --ink:#15191e;
  --ink-2:#232a31;
  --steel:#5f6b76;
  --steel-2:#8a95a0;
  --line:#e3e7eb;
  --line-2:#eef1f4;
  --surface:#ffffff;
  --panel:#f5f7f9;
  --panel-2:#eef1f4;
  --accent:#f5a300;        /* signální jantar – „čtení přístroje“ */
  --accent-deep:#c98400;
  --danger:#c0392b;
  --radius:14px;
  --radius-sm:9px;
  --shadow:0 1px 2px rgba(21,25,30,.05), 0 8px 24px -12px rgba(21,25,30,.18);

  font-family:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  max-width:1080px;
  margin:0 auto;
  position:relative;
}
#nk-airsizer .nk-wrap{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

/* ====== HEAD ====== */
#nk-airsizer .nk-head{ padding:26px 26px 22px; border-bottom:1px solid var(--line-2); }
#nk-airsizer .nk-eyebrow{
  display:inline-block; font-size:11.5px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-deep);
  padding:4px 9px; border:1px solid #f0dcae; background:#fdf6e6; border-radius:100px;
}
#nk-airsizer .nk-title{ margin:12px 0 6px; font-size:26px; line-height:1.15; font-weight:700; letter-spacing:-.01em; }
#nk-airsizer .nk-lead{ margin:0; color:var(--steel); font-size:15px; max-width:56ch; }

/* ====== GRID ====== */
#nk-airsizer .nk-grid{ display:grid; grid-template-columns:1fr 348px; align-items:start; }
#nk-airsizer .nk-inputs{ padding:22px 26px; }
#nk-airsizer .nk-block{ padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid var(--line-2); }
#nk-airsizer .nk-block:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
#nk-airsizer .nk-block-head{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
#nk-airsizer .nk-h3{ margin:0; font-size:13px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--steel); }
#nk-airsizer .nk-count{ margin-left:auto; font-size:12px; color:var(--steel-2); font-family:"IBM Plex Mono", ui-monospace, monospace; }

/* segment (režim) */
#nk-airsizer .nk-seg{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#nk-airsizer .nk-seg-btn{
  display:flex; flex-direction:column; align-items:flex-start; gap:1px;
  padding:11px 14px; border:1.5px solid var(--line); background:var(--surface);
  border-radius:var(--radius-sm); cursor:pointer; text-align:left; transition:all .12s ease;
}
#nk-airsizer .nk-seg-btn:hover{ border-color:var(--steel-2); }
#nk-airsizer .nk-seg-btn.is-active{ border-color:var(--ink); background:var(--ink); }
#nk-airsizer .nk-seg-btn.is-active .nk-seg-t{ color:#fff; }
#nk-airsizer .nk-seg-btn.is-active .nk-seg-s{ color:#aeb8c1; }
#nk-airsizer .nk-seg-t{ font-size:14.5px; font-weight:600; color:var(--ink); }
#nk-airsizer .nk-seg-s{ font-size:12px; color:var(--steel); }

/* řádky nářadí */
#nk-airsizer .nk-rows-head,
#nk-airsizer .nk-row{
  display:grid;
  grid-template-columns: 1fr 58px 76px 62px 34px;
  gap:8px; align-items:center;
}
#nk-airsizer .nk-rows-head{ padding:0 2px 8px; }
#nk-airsizer .nk-rows-head span{ font-size:11px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--steel-2); }
#nk-airsizer .nk-rows-head span:nth-child(2),
#nk-airsizer .nk-rows-head span:nth-child(3),
#nk-airsizer .nk-rows-head span:nth-child(4){ text-align:center; }

#nk-airsizer .nk-row{ margin-bottom:8px; }
#nk-airsizer .nk-row:last-child{ margin-bottom:0; }

#nk-airsizer select,
#nk-airsizer input[type="number"]{
  width:100%; font:inherit; font-size:14px; color:var(--ink);
  background:var(--surface); border:1.5px solid var(--line); border-radius:var(--radius-sm);
  padding:9px 10px; transition:border-color .12s ease, box-shadow .12s ease; -webkit-appearance:none; appearance:none;
}
#nk-airsizer select{
  padding-right:26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%235f6b76' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 9px center;
}
#nk-airsizer .nk-row input[type="number"]{ text-align:center; padding-left:6px; padding-right:6px; font-family:"IBM Plex Mono", ui-monospace, monospace; }
#nk-airsizer select:focus, #nk-airsizer input:focus{ outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(21,25,30,.08); }
#nk-airsizer .nk-row.is-custom input.nk-f{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(245,163,0,.14); }

#nk-airsizer .nk-lmin{
  font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:13px; color:var(--steel);
  text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;
}
#nk-airsizer .nk-del{
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid var(--line); background:var(--surface); border-radius:var(--radius-sm);
  color:var(--steel-2); cursor:pointer; transition:all .12s ease; padding:0;
}
#nk-airsizer .nk-del:hover{ border-color:var(--danger); color:var(--danger); background:#fdf1ef; }
#nk-airsizer .nk-del svg{ width:15px; height:15px; }

#nk-airsizer .nk-add{
  margin-top:12px; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:11px; font:inherit; font-size:14px; font-weight:600; color:var(--ink);
  background:var(--panel); border:1.5px dashed var(--line); border-radius:var(--radius-sm);
  cursor:pointer; transition:all .12s ease;
}
#nk-airsizer .nk-add:hover{ border-color:var(--ink); background:var(--panel-2); }
#nk-airsizer .nk-add-ico{ font-size:17px; line-height:1; margin-top:-1px; }

/* rezervy */
#nk-airsizer .nk-reserve{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
#nk-airsizer .nk-res{ display:flex; flex-direction:column; gap:6px; }
#nk-airsizer .nk-res-l{ font-size:12.5px; color:var(--steel); font-weight:500; }
#nk-airsizer .nk-res-in{ position:relative; display:block; }
#nk-airsizer .nk-res-in input{ text-align:left; padding-right:26px; font-family:"IBM Plex Mono", ui-monospace, monospace; }
#nk-airsizer .nk-res-in i{ position:absolute; right:10px; top:50%; transform:translateY(-50%); color:var(--steel-2); font-style:normal; font-size:13px; pointer-events:none; }

/* ====== RESULT ====== */
#nk-airsizer .nk-result{
  padding:22px; background:var(--panel);
  border-left:1px solid var(--line-2);
  align-self:stretch;
  position:sticky; top:16px;
}
#nk-airsizer .nk-gauge{
  position:relative; overflow:hidden;
  background:var(--ink); color:#fff;
  border-radius:var(--radius); padding:20px 20px 16px;
}
#nk-airsizer .nk-gauge-stripe{
  position:absolute; inset:0 0 auto 0; height:5px;
  background:repeating-linear-gradient(-45deg, var(--accent) 0 10px, #1e2429 10px 20px);
  opacity:.9;
}
#nk-airsizer .nk-gauge-label{ display:block; margin-top:6px; font-size:12px; letter-spacing:.02em; color:#9aa5af; }
#nk-airsizer .nk-gauge-readout{ display:flex; align-items:baseline; gap:8px; margin-top:6px; }
#nk-airsizer .nk-gauge-num{
  font-family:"IBM Plex Mono", ui-monospace, monospace; font-weight:500;
  font-size:52px; line-height:1; letter-spacing:-.02em; color:var(--accent);
  font-variant-numeric:tabular-nums;
}
#nk-airsizer .nk-gauge-unit{ font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:18px; color:#c7cfd6; }
#nk-airsizer .nk-gauge-sub{ margin-top:4px; font-size:13px; color:#9aa5af; font-family:"IBM Plex Mono", ui-monospace, monospace; }
#nk-airsizer .nk-ticks{ display:flex; gap:4px; margin-top:14px; }
#nk-airsizer .nk-ticks span{ flex:1; height:6px; border-radius:2px; background:#2a323a; }
#nk-airsizer[data-empty="false"] .nk-ticks span{ background:#3a444d; }
#nk-airsizer[data-empty="false"] .nk-ticks span:nth-child(-n+7){ background:var(--accent); opacity:.85; }

#nk-airsizer .nk-break{ margin-top:16px; }
#nk-airsizer .nk-break-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:9px 2px; font-size:13.5px; color:var(--steel);
  border-bottom:1px solid var(--line-2);
}
#nk-airsizer .nk-break-row em{ font-style:normal; color:var(--steel-2); font-size:12px; }
#nk-airsizer .nk-break-row b{ font-family:"IBM Plex Mono", ui-monospace, monospace; font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
#nk-airsizer .nk-break-row.is-add b{ color:var(--steel); }
#nk-airsizer .nk-break-row.is-sum{ border-bottom:2px solid var(--line); }
#nk-airsizer .nk-break-row.is-sum span{ font-weight:600; color:var(--ink); }
#nk-airsizer .nk-break-row.is-sum b{ font-weight:600; }

#nk-airsizer .nk-note{ margin:14px 0 0; font-size:11.5px; line-height:1.5; color:var(--steel-2); }

/* ====== TOOLTIP ====== */
#nk-airsizer .nk-hint-btn{
  width:18px; height:18px; border-radius:50%; border:1.5px solid var(--line);
  background:var(--surface); color:var(--steel-2); font-size:11px; font-weight:700;
  cursor:pointer; padding:0; line-height:1; display:inline-flex; align-items:center; justify-content:center;
}
#nk-airsizer .nk-hint-btn:hover{ border-color:var(--steel); color:var(--steel); }
#nk-airsizer .nk-tip{
  position:fixed; z-index:9999; max-width:260px;
  background:var(--ink); color:#eef1f4; font-size:12.5px; line-height:1.45;
  padding:10px 12px; border-radius:9px; box-shadow:0 10px 30px -8px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .12s ease, transform .12s ease;
  pointer-events:none;
}
#nk-airsizer .nk-tip.is-open{ opacity:1; visibility:visible; transform:translateY(0); }

/* ====== RESPONSIVE ====== */
@media (max-width:760px){
  #nk-airsizer .nk-grid{ grid-template-columns:1fr; }
  #nk-airsizer .nk-result{ border-left:0; border-top:1px solid var(--line-2); position:static; }
  #nk-airsizer .nk-title{ font-size:22px; }
  #nk-airsizer .nk-rows-head{ display:none; }
  #nk-airsizer .nk-row{
    grid-template-columns: 1fr 52px 68px; grid-template-areas:"sel sel sel" "qty fac lmin" "del del del";
    gap:6px 8px; padding:10px; border:1px solid var(--line-2); border-radius:var(--radius-sm); margin-bottom:10px;
  }
  #nk-airsizer .nk-row .nk-sel{ grid-area:sel; }
  #nk-airsizer .nk-row .nk-q{ grid-area:qty; }
  #nk-airsizer .nk-row .nk-f{ grid-area:fac; }
  #nk-airsizer .nk-row .nk-lmin{ grid-area:lmin; text-align:center; align-self:center; }
  #nk-airsizer .nk-row .nk-del{ grid-area:del; width:100%; }
  #nk-airsizer .nk-reserve{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce){ #nk-airsizer *{ transition:none !important; } }