*{ box-sizing:border-box; }

html, body { height:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.45;
}

a{ color:inherit; }

.container{
  max-width:1100px;
  margin:0 auto;
  padding: var(--s-6);
}

/* typografie */
.H1{
  font-size:28px;
  font-weight: 850;
  margin: var(--s-6) 0 var(--s-2);
  letter-spacing: -0.02em;
}
.H2{
  font-size:18px;
  font-weight: 800;
  margin: 0 0 var(--s-3);
}
.Lead{
  color:var(--muted);
  margin: 0 0 var(--s-6);
}

/* layout helper */
.Grid3{
  display:grid;
  gap: var(--s-4);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px){
  .Grid3{ grid-template-columns: 1fr; }
}

/* panel/karta sekce */
.Panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow: var(--shadow);
  padding: var(--s-6);
  margin: 0 0 var(--s-6);
}

/* footer */
.Footer{
  border-top:1px solid var(--line);
  background:#fff;
}
.Footer__inner{
  color:var(--muted);
  padding-top: var(--s-4);
  padding-bottom: var(--s-4);
}
.Form__grid-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-6);
    align-items: start;
}

@media (min-width: 992px) {
    .Form__grid-layout {
        grid-template-columns: 2fr 1fr;
    }
}

.Detail__well {
    background: var(--bg-muted, #f8f9fa);
    padding: var(--s-4);
    border-radius: var(--radius-m);
    border: 1px solid var(--border-color);
    min-height: 100px;
}

.Btn--full { width: 100%; justify-content: center; margin-top: var(--s-4); }

/* Globální pomocné třídy pro rozvržení detailu */
.Form__row--2 { display: flex; gap: 24px; flex-wrap: wrap; }
.Form__column { flex: 1; min-width: 300px; }
.Form__column:first-child { flex: 2.5; } /* Hlavní obsah je širší */

/* Vzhled analytických boxů (Well) */
.Well { padding: 15px; border-radius: 4px; border: 1px solid var(--border-color); background: #fafafa; }
.Well--danger { border-left: 5px solid #d9534f; background: #fffcfc; }
.Well--success { border-left: 5px solid #5cb85c; background: #fcfdfc; }

/* Textové pomocníky */
.Text--primary { color: var(--primary); font-size: 1.5rem; margin-bottom: 10px; }
.Text--danger { color: #d9534f; font-weight: 600; }
.Text--success { color: #5cb85c; font-weight: 600; }
.Btn--full { width: 100%; justify-content: center; }