/* /wp-content/themes/slots/assets/slots.css — Light UI */

/* ====== Палитра ====== */
:root{
  --bg:#f6f7fb;               /* фон страницы */
  --text:#1b2533;             /* основной текст */
  --muted:#64748b;            /* вторичный текст */
  --card:#ffffff;             /* карточки, инпуты */
  --border:#e5e9f2;           /* границы */
  --shadow:0 10px 25px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04);

  --accent:#2563eb;           /* кнопки/ссылки */
  --accent-2:#7c3aed;         /* второй градиент в кнопке */
  --accent-ghost:#e8f0ff;     /* легкий фон для акцентных элементов */

  --good:#10b981;
  --bad:#ef4444;
}

a#export-xlsx {
    text-decoration: none;
}

.slots-container.header-inner {
    box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .3);
}

*{box-sizing:border-box}

/* ====== База ====== */
html,body{
  margin:0; padding:0;
  background:var(--bg);
  color:var(--text);
  font-family: Montserrat;
  line-height:1.5;
}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

h1{font-size:28px; line-height:1.2; margin:0 0 18px}
h2{font-size:20px; margin:0}

.muted{color:var(--muted)}
.slots-container{max-width:1400px; margin:40px auto;}

/* ====== Карточки ====== */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:28px;
}
.card.success{border-color:rgba(16,185,129,.35)}

/* ====== Сетка формы ====== */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.field{display:flex; flex-direction:column; gap:8px}
.col-2{grid-column:1/-1}

label{font-size:13px; color:#334155; font-weight:600}

/* ====== Поля ввода ====== */
input,select{
  appearance:none;
  font-family: Montserrat;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  color:var(--text);
  padding:12px 12px;
  box-shadow:0 1px 0 rgba(0,0,0,.02) inset;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  width: 100%;
}
select{
  background-image:
    linear-gradient(45deg, transparent 50%, #9aa4b2 50%),
    linear-gradient(135deg, #9aa4b2 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 4px),
    calc(100% - 13px) calc(50% - 4px);
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:36px;
}
input::placeholder{color:#9aa4b2}

input:focus, select:focus{
  outline:none;
  border-color:#bfdbfe;
  box-shadow:0 0 0 4px #dbeafe;
  background:#fff;
}

/* ====== Кнопки ====== */
.btn-primary, .btn-secondary{
  display:inline-block;
  font-family: Montserrat;
  border-radius:12px;
  padding:12px 16px;
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  font-weight:700;
  transition:transform .05s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.btn-primary{
  background:linear-gradient(90deg, var(--accent), var(--accent-2));
  color:#fff;
  font-family: Montserrat;
  box-shadow:0 6px 14px rgba(37,99,235,.25);
}
.btn-primary:hover{box-shadow:0 8px 18px rgba(37,99,235,.32)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:disabled{opacity:.6; cursor:not-allowed; box-shadow:none}

.btn-secondary{
  background:#ffffff;
  color:var(--accent);
  border-color:#c7d2fe;
}
.btn-secondary:hover{
  background:#f8faff;
  border-color:#a5b4fc;
}

/* ====== Статус формы ====== */
.actions{display:flex; align-items:center; gap:16px}
.form-status{min-height:20px; font-size:14px}
.form-status.err{color:#dc2626}
.form-status.ok{color:#059669}

/* ====== Табло ====== */
.dash-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px}

.live-badge{
  background:var(--bad); color:#fff; font-weight:800;
  padding:6px 10px; border-radius:999px; letter-spacing:.06em;
  animation:pulse 1.3s infinite alternate;
  box-shadow:0 0 0 0 rgba(239,68,68,.45);
}
@keyframes pulse{
  from{transform:translateZ(0); box-shadow:0 0 0 0 rgba(239,68,68,.45)}
  to  {transform:translateZ(0); box-shadow:0 0 18px 6px rgba(239,68,68,0)}
}

.slots-grid{display:grid; grid-template-columns:1fr; gap:16px}

.slot-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.slot-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  background:#fafbff;
}

.slot-title{margin:0; font-size:20px}

.slot-stats{display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.pill{
  background:var(--accent-ghost);
  border:1px solid #dbeafe;
  color:#1e40af;
  border-radius:999px;
  padding:6px 10px;
  display:inline-block;
  font-weight:600;
}

.apps-table{width:100%; border-collapse:separate; border-spacing:0}
.apps-table th, .apps-table td{padding:10px 12px; font-size:14px; border-bottom:1px solid var(--border)}
.apps-table th{color:#475569; text-align:left; background:#f8fafc}
.apps-table tbody tr:hover{background:#f9fbff}
.table-actions{display:flex; gap:8px}

.action-btn{
  background:#ffffff;
  border:1px solid var(--border);
  color:#334155;
  border-radius:8px;
  padding:6px 10px;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.action-btn:hover{background:#f8fafc; border-color:#d6dbe6; box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* ====== Адаптив ====== */
@media (max-width: 720px){
  .grid-2{grid-template-columns:1fr}
  .slot-head{flex-direction:column; align-items:flex-start; gap:10px}
}

/* ... остальной ваш светлый стиль как раньше ... */

/* Иконка-кнопка (удалить) */
.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:8px;
  margin-bottom: 5px;
  background:#ffffff; border:1px solid var(--border); color:#334155;
  padding:0; cursor:pointer; transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.icon-btn:hover{background:#fff5f5; border-color:#fecaca; color:#b91c1c; box-shadow:0 2px 8px rgba(0,0,0,.06)}
.icon-btn svg{display:block}

/* ====== Tabs (вкладки слотов) ====== */
.tabs{
  display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px;
}
.tab{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border:1px solid var(--border); border-radius:999px;
  background:#fff; color:#334155; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.04);
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .05s ease;
}
.tab:hover{background:#f8fafc; border-color:#d6dbe6}
.tab.active{border-color:#bfdbfe; box-shadow:0 4px 12px rgba(59,130,246,.15)}
.tab:active{transform:translateY(1px)}
.tab .tab-title{font-weight:600; font-family: Montserrat;}

.free-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:28px; height:22px; padding:0 8px; border-radius:999px; font-weight:700; font-size:12px;
  border:1px solid transparent;
  font-family: Montserrat;
}

/* Цвета по % свободных мест */
.free-badge.pct-high{ color:#065f46; background:#ecfdf5; border-color:#a7f3d0; }   /* ≥80% — зелёный */
.free-badge.pct-mid { color:#92400e; background:#fffbeb; border-color:#fde68a; }   /* 20–79% — жёлтый */
.free-badge.pct-low { color:#991b1b; background:#fef2f2; border-color:#fecaca; }   /* <20% — красный */


/* ====== Кнопки-иконки действий ====== */
.table-actions{display:flex; gap:6px; align-items:center; justify-content:flex-start}
.actions-col{width:56px}

.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; padding:0;
  border-radius:8px;
  background:#ffffff;
  border:1px solid var(--border);
  color:#334155;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.icon-btn:hover{background:#f8fafc; border-color:#d6dbe6; box-shadow:0 2px 8px rgba(0,0,0,.06)}
.icon-btn svg{display:block}
.icon-btn.move:hover{color:#2563eb; border-color:#bfdbfe; background:#f0f7ff}
.icon-btn.delete:hover{color:#b91c1c; border-color:#fecaca; background:#fff5f5}

/* ====== Modal (перенос заявки) ====== */
.modal-backdrop[hidden]{display:none!important}
.modal-backdrop{
  position:fixed; inset:0; background:rgba(15,23,42,.35);
  display:flex; align-items:center; justify-content:center; z-index:999;
  backdrop-filter:saturate(120%) blur(2px);
}
.modal{
  position:relative;
  width:min(560px, 92vw);
  background:#fff; color:var(--text);
  border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow);
  padding:22px;
}
.modal h2{margin:0 0 8px; font-size:20px}
.modal .field{margin-top:12px}
.modal-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:18px}
.modal-close{
  position:absolute; right:12px; top:12px;
  border:none; background:transparent; cursor:pointer; color:#64748b
}
.modal-close:hover{color:#1f2937}
#move-slot-select{
  background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:12px 12px; width:100%;
}

/* ====== Modern Select ====== */
.select-modern{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 100%;
  padding: 12px 42px 12px 14px;
  font-size: 14px;
  line-height: 1.4;
  font-family: Montserrat, ui-sans-serif, system-ui;

  color: var(--text);
  background: #fff;

  border: 1px solid var(--border);
  border-radius: 12px;

  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset, 0 4px 10px rgba(15,23,42,.04);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .05s ease;

  /* Красивая стрелка (SVG через data URI) */
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239aa4b2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 18px 18px;
}
.select-modern:hover{
  background: #fff;
  border-color: #d6dbe6;
  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset, 0 6px 14px rgba(15,23,42,.06);
}
.select-modern:focus{
  outline: none;
  border-color: #93c5fd;
  box-shadow:
    0 0 0 4px #dbeafe,
    0 1px 0 rgba(0,0,0,.02) inset;
  background: #fff;
}
.select-modern:active{
  transform: translateY(1px);
}
.select-modern:disabled{
  color: #9aa4b2;
  background: #f8fafc;
  cursor: not-allowed;
  opacity: .9;
}

/* Вариант компактнее — если нужен в таблицах */
.select-modern.sm{
  padding: 8px 38px 8px 12px;
  font-size: 13px;
  border-radius: 10px;
  background-position: right 10px center;
  background-size: 16px 16px;
}

/* Ошибка/валидно (если используешь классы .is-error / .is-valid) */
.select-modern.is-error{
  border-color: #fecaca;
  box-shadow: 0 0 0 4px #fee2e2;
}
.select-modern.is-valid{
  border-color: #bbf7d0;
  box-shadow: 0 0 0 4px #dcfce7;
}

/* ====== Tiles (3 в ряд) ====== */
.tiles{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
  margin-top:12px;
}
.tile{
  display:flex; flex-direction:column; justify-content:center;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
  text-decoration:none;
  transition:transform .06s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.tile:hover{
  transform: translateY(-1px);
  box-shadow:0 12px 28px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);
  border-color:#c7d2fe;
  background: #f9fbff;
  text-decoration:none;
}
.tile-title{
  font-size:18px; font-weight:800; margin-bottom:4px; color:#111827;
}
.tile-sub{
  font-size:14px; color:var(--muted);
}

/* Адаптив: 2 колонки и 1 колонка на узких экранах */
@media (max-width: 1000px){
  .tiles{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .tiles{ grid-template-columns: 1fr; }
}


/* ====== Header (новая версия) ====== */
.site-header {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  padding: 20px 15px;
    border-radius: 20px;
    background: #fff;
}

.site-logo img {
  display: block;
  height: 42px;
  width: auto;
}

/* ====== Навигация ====== */
.main-nav .nav {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease;
}

.nav-link:hover {
  color: var(--accent);
  text-decoration: none;
}

/* ====== Подменю ====== */
.submenu {
  position: absolute;
  top: calc(100% + 2px); /* убран зазор */
  left: 0;
  min-width: 340px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  list-style: none;
  padding: 6px;
  margin: 0;
  display: none;
  z-index: 1000;
  margin-top: -5px;
}

.nav-item:hover > .submenu {
  display: block;
}

.submenu li {
  margin: 0;
}

.submenu li a {
  display: block;
  padding: 10px 12px;
  color: var(--text);
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.15s ease, color 0.15s ease;
}

.submenu li a:hover {
  background: #f3f6ff;
  color: var(--accent);
}

/* ====== Убираем стрелки/указатели ====== */
.nav-item.has-sub::before,
.nav-item.has-sub::after {
  content: none !important;
}

/* ====== Адаптив ====== */
@media (max-width: 860px) {
  .header-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .main-nav .nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .submenu {
    position: static;
    box-shadow: none;
    border: none;
    background: #f8faff;
    padding: 4px 0;
  }
}



















/* Сам блок счётчика: центрируем и ограничиваем ширину */
.countdown-gate {
  position: relative;
  z-index: 5;

  /* центрирование + аккуратные боковые поля */
  max-width: 1200px;
  margin: 32px auto;         /* центр по горизонтали */
  padding-inline: 16px;      /* «воздух» слева/справа на узких экранах */
}

@media (min-width: 640px) {
  .countdown-gate { padding-inline: 24px; }
}
@media (min-width: 1024px) {
  .countdown-gate { padding-inline: 32px; }
}

/* Содержимое карточки счётчика — без растяжения на всю страницу */
.cg-wrap {
  display: grid;
  gap: 16px;
  padding: 24px;
  border-radius: 16px;
  background: #0f172a;
  color: #fff;
  box-shadow: 0 10px 30px rgba(2,6,23,.4);
  text-align: center;

  /* растягивается на ширину .countdown-gate, но не больше 1200px */
  width: 100%;
}

/* Остальные стили из прошлой версии — без изменений */

.countdown-gate.cg--hidden { display: none; }
.cg-title { font-size: clamp(18px, 2vw, 22px); font-weight: 600; opacity: .95; }
.cg-timer { display: grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 12px; justify-items: center; }
.cg-unit { display: grid; gap: 8px; }
.cg-unit .value {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(36px, 6vw, 56px);
  line-height: 1;
  padding: 18px 12px;
  border-radius: 14px;
  background: #111827;
  min-width: 110px;
  box-shadow: inset 0 -4px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.35);
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
  transform-origin: center top;
}
.cg-unit .label { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; opacity: .8; }
.cg-unit .value.flip { animation: cg-flip .6s ease both; }
@keyframes cg-flip { 0%{transform:rotateX(0)} 50%{transform:rotateX(-75deg)} 100%{transform:rotateX(0)} }
.gate-content.gate--hidden { filter: blur(3px); pointer-events: none; user-select: none; opacity: .3; }
@media (max-width: 640px) { .cg-timer { grid-template-columns: repeat(2, minmax(120px, 1fr)); } }

