:root{
  --bg0:#070A12;
  --bg1:#0B1020;
  --card:#0E162B;
  --card2:#0C1326;
  --line:rgba(255,255,255,.08);
  --txt:rgba(255,255,255,.88);
  --mut:rgba(255,255,255,.62);
  --mut2:rgba(255,255,255,.45);
  --acc:#ff3b62;
  --acc2:#ff5c7d;
}

body,
body.min-h-screen{
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(255,60,98,.14), transparent 55%),
    radial-gradient(900px 700px at 75% 18%, rgba(97,190,255,.12), transparent 60%),
    radial-gradient(900px 700px at 55% 90%, rgba(255,255,255,.06), transparent 65%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 40%, #070A12) !important;
  color:var(--txt) !important;
  min-height: 100vh;
}

.glass{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--line);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}

.chip{border:1px solid var(--line); background: rgba(255,255,255,.03);}
.chip:hover{border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.04);}
.chip[data-on="1"]{border-color: rgba(255,59,107,.55); background: rgba(255,59,107,.12);}

.btn{border:1px solid var(--line); background: rgba(255,255,255,.03);}
.btn:hover{background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.16);}

.btn-primary{background: linear-gradient(90deg, var(--acc), var(--acc2)); border-color: transparent;}
.btn-primary:hover{filter:brightness(1.05);}

.soft-divider{height:1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);}

.ring-acc{box-shadow: 0 0 0 1px rgba(255,59,98,.35), 0 16px 60px rgba(255,59,98,.10);}

.mut{color:var(--mut);}
.mut2{color:var(--mut2);}

/* ===== Topbar: strong blur + readable ===== */
.topbar{
  background: rgba(0,0,0,.40);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
}

/* ===== Nav: поддержка структуры CMS <ul><li><a> ===== */
/* Минимальные стили для <ul> и <li>, чтобы не ломать верстку */
header nav ul{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
header nav li{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ===== Nav: no classes on <a>, only .active ===== */
header nav a{
  color: rgba(255,255,255,.80);
  padding: .45rem .75rem;
  border-radius: .75rem;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
header nav a:hover{
  color: rgba(255,255,255,.95);
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
/* CMS классы: is-current, is-active на <li> применяются к <a> */
header nav li.is-current > a,
header nav li.is-active > a,
header nav a.active,
header nav a[aria-current="page"]{
  color: rgba(255,255,255,.98);
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.14);
  backdrop-filter: blur(10px) saturate(1.15);
  -webkit-backdrop-filter: blur(10px) saturate(1.15);
  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.04) inset;
}

/* modal */
.overlay{background: rgba(0,0,0,.55); backdrop-filter: blur(10px);}
.modal-backdrop{background: rgba(0,0,0,.55); backdrop-filter: blur(10px);}

/* tiny content area */
.content h1{font-size: 28px; font-weight: 750; letter-spacing:-.02em; margin:0 0 8px;}
.content h2{font-size: 18px; font-weight: 700; margin: 22px 0 10px;}
.content h3{font-size: 14px; font-weight: 800; margin: 16px 0 8px; letter-spacing:.01em;}
.content p{color: rgba(255,255,255,.72); line-height: 1.75; margin: 0 0 12px;}
.content ul{margin: 0 0 12px 18px; color: rgba(255,255,255,.72); line-height:1.75;}
.content li{margin: 2px 0;}
.content blockquote{
  margin: 14px 0; padding: 10px 12px;
  border-left: 2px solid rgba(255,59,98,.55);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.78);
}

/* footer links (чтобы без инлайнов) */
.footer-link{
  color: rgba(255,255,255,.85);
  transition: color .15s ease;
}
.footer-link:hover{ color: rgba(255,255,255,.98); }

/* ===== Schedule page styles ===== */
.glass2{background: rgba(255,255,255,.07); border:1px solid var(--line);}

.btn-accent{background: linear-gradient(90deg, rgba(255,59,107,.95), rgba(255,91,59,.95));}
.btn-accent:hover{filter: brightness(1.05);}

.btn-quiet{background: rgba(255,255,255,.06); border:1px solid var(--line);}
.btn-quiet:hover{background: rgba(255,255,255,.09);}

.day-head{color: rgba(255,255,255,.86);}

.time{color: rgba(255,59,107,.95);}

.badge{background: rgba(255,255,255,.06); border:1px solid var(--line); color: rgba(255,255,255,.78);}
.badge.good{border-color: rgba(64,255,156,.30); background: rgba(64,255,156,.10);}
.badge.warn{border-color: rgba(255,200,64,.35); background: rgba(255,200,64,.12);}

.kbd{border:1px solid var(--line); background: rgba(255,255,255,.04); padding:.05rem .4rem; border-radius:.4rem; font-size:.75rem; color: rgba(255,255,255,.75);}

.hint{color: var(--mut2);}

/* Валидация форм */
input.error, textarea.error {
  border-color: rgba(239, 68, 68, 0.5) !important;
  background: rgba(239, 68, 68, 0.05) !important;
}

input.error:focus, textarea.error:focus {
  border-color: rgba(239, 68, 68, 0.7) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
