/* weather — стили модуля (клон mobile).
   Подключается после css/app.css, поэтому здесь же живут уточнения
   метео-секции app.css (тепловые карты, индикатор осадков в строке дня). */

/* --- Пустое состояние метео-экранов (MockView, cloud_upload_1) ---------- */
.meteo-mock{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 24px;gap:0}
.meteo-mock img{width:96px;height:96px;object-fit:contain;margin-bottom:8px}

/* --- Выбор глубины измерений (depth_selection_content.dart) ------------- */
.depth-sel{display:flex;align-items:center;padding:6px 10px;min-width:0;width:100%}
.depth-sel__back{flex:0 0 auto;padding:10px;border-radius:100px;
  display:flex;align-items:center;justify-content:center}
.depth-sel__back:active{background:var(--default5)}
.depth-tabs{display:flex;align-items:center;padding:4px;border-radius:120px;
  background:var(--text300);overflow-x:auto;scrollbar-width:none;max-width:100%}
.depth-tabs::-webkit-scrollbar{display:none}
.depth-tab{flex:0 0 auto;padding:6px 8px;border-radius:120px;white-space:nowrap;
  font-size:12px;font-weight:500;line-height:1.35;color:var(--text700);border:0.5px solid transparent}
.depth-tab.on{background:#fff;border-color:var(--text300);color:var(--text900)}

/* --- Почасовая строка: осадки и ветер (hourly_temperature_chart.dart) ---
   _buildPrecipitationValue / _buildWindValue. Стартовая позиция значения —
   50 % ширины строки, дальше сдвиг по интенсивности (осадки) либо по
   нормализованной скорости (ветер). */
.hrow__rainoff{position:absolute;left:50%;top:50%;transform:translateY(-50%);display:flex}
.hrow__precip,.hrow__wind{position:absolute;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;white-space:nowrap}
.hrow__mm{border-radius:4px;background:var(--text300);
  font-size:12px;font-weight:500;line-height:1.35;color:var(--text900)}
.hrow__mm.is-heavy{background:var(--red);color:#fff}
.hrow__precip .hrow__mm{padding:2px 6px;margin-right:4px}
.hrow__wind .hrow__mm{padding:1px 3px;margin-right:6px}
.hrow__prob{font-size:12px;font-weight:500;line-height:1.35;color:var(--text500)}
.hrow__arrow{position:absolute;left:50%;top:50%;margin-top:-8px;display:flex;
  transform-origin:50% 50%}

/* --- Индикатор интенсивности осадков на иконке дня ----------------------
   weather_icon_with_precipitation_intensity.dart: полупрозрачная заливка
   снизу вверх (mainBlueLight, radius 5) на 20/50/90 % высоты иконки. */
.dday__icon{position:relative;margin:0 12px 0 7px;display:flex;flex:0 0 16px;
  width:16px;height:16px;align-items:center;justify-content:center}
.dday__fillrain{position:absolute;left:0;right:0;bottom:0;border-radius:5px;background:#8DBFF7}
.dday__icon img{position:relative;z-index:1}

/* --- Графики факта ------------------------------------------------------ */
.chart-legend--center{justify-content:center;gap:4px 12px}
.chart-badges{display:flex;flex-wrap:wrap;gap:4px}

/* Тепловые карты почвы (soil_heatmap_chart.dart) */
.heat{margin-top:8px}
.heat__sprouts{position:relative;display:flex;justify-content:space-between;
  align-items:flex-end;height:14px;padding:0}
.heat__sprouts img{display:block;width:19px;height:14px;object-fit:contain}
.heat__surface{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--statusWarningBg)}
.heat__body{position:relative}
.heat__row{position:relative;height:20px;margin:0;display:block;background:#E2AF98}
.heat__row + .heat__row::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:3;
  background-image:linear-gradient(to right,var(--text400) 0 4px,transparent 4px 7px);
  background-size:7px 1px;background-repeat:repeat-x}
.heat__cells{position:absolute;inset:0;display:flex;border-radius:0;overflow:hidden}
.heat__cells i{display:block;height:100%}
/* Бейдж глубины — внутри карты слева (labelDark, белый текст 10/600) */
.heat__badge{position:absolute;left:2px;top:50%;transform:translateY(-50%);z-index:4;
  height:14px;padding:0 4px;border-radius:4px;background:#5E5A66;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:600;line-height:1;color:#fff}
/* Значение справа — белый бейдж с точкой цвета ячейки */
.heat__val{position:absolute;right:2px;top:50%;transform:translateY(-50%);z-index:4;
  height:14px;padding:0 4px;border-radius:4px;background:#fff;
  box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;align-items:center;gap:4px;
  font-size:10px;font-weight:600;line-height:1;color:var(--text700)}
.heat__val i{width:8px;height:8px;border-radius:2px;flex:0 0 8px}
.heat__cursor{position:absolute;top:0;bottom:0;width:2px;opacity:1;z-index:5;background:none;
  background-image:linear-gradient(to bottom,var(--primary400) 0 4px,transparent 4px 8px);
  background-size:2px 8px;background-repeat:repeat-y}
.heat__legend{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px}
.heat__legend i{flex:0 0 10px;width:10px;height:10px;border-radius:2.5px}

/* --- Планирование работ: тулбар ниже, чем на прогнозе (bottom + 30) ----- */
.toolbar--planning{bottom:30px}

/* ==========================================================================
   Детализация дня планирования (work_day_detail_bottom_sheet.dart)
   ========================================================================== */
.wdd__status{display:flex;align-items:center;gap:8px;padding-bottom:16px}
.wdd__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wdd__cell{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;min-width:0}
.wdd__cellcol{display:flex;flex-direction:column;gap:4px;min-width:0}

.wdd__timeline{padding:0 12px}
.wdd__scale{position:relative;height:20px}
.wdd__tick{position:absolute;transform:translateX(-8px);display:flex;flex-direction:column;align-items:center}
.wdd__tick span{font-size:11px;line-height:1.2;color:var(--text600)}
.wdd__tick i{display:block;width:1px;height:4px;background:var(--text600)}
.wdd__slider{position:relative;height:48px;margin-top:8px;touch-action:none;cursor:pointer}
.wdd__segs{position:absolute;left:0;right:0;top:7px;height:7px;display:flex}
.wdd__segs i{flex:1;height:7px}
.wdd__segs i:first-child{border-radius:100px 0 0 100px}
.wdd__segs i:last-child{border-radius:0 100px 100px 0}
.wdd__thumb{position:absolute;top:0;width:20px;height:20px;border-radius:4px;background:#fff;
  border:2px solid var(--text700);box-shadow:0 2px 4px rgba(87,102,116,.2)}
.wdd__tip{position:absolute;top:24px;width:60px;display:flex;flex-direction:column;align-items:center;
  opacity:0;transition:opacity .2s;pointer-events:none}
.wdd__tip.on{opacity:1}
.wdd__tip i{display:block;width:0;height:0;border-left:5px solid transparent;
  border-right:5px solid transparent;border-bottom:6px solid #fff}
.wdd__tip span{padding:4px 10px;border-radius:8px;background:#fff;color:var(--text900);
  box-shadow:0 1px 8px 1px rgba(29,33,38,.15)}

.wdd__days{display:flex;justify-content:center}
.wdd__daypill{display:flex;align-items:center;justify-content:center;
  max-width:55%;min-height:62px;padding:0 4px}
.wdd__arrow{width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:100px;flex:0 0 44px}
.wdd__arrow:active:not([disabled]){background:var(--default5)}
.wdd__daypill span{padding:0 15px}
