/* css/base.css — сброс + общие утилиты */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 15px; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--bg); color: var(--text);
  line-height: 1.55; -webkit-font-smoothing: antialiased;
}
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }

/* Общие helpers */
.scroll-x       { overflow-x: auto; }
.text-muted     { color: var(--text-muted); }
.text-small     { font-size: 12px; }
.fw-600         { font-weight: 600; }
.fw-700         { font-weight: 700; }
.mt-8           { margin-top: 8px; }
.mt-16          { margin-top: 16px; }
.gap-8          { gap: 8px; }
.flex-center    { display: flex; align-items: center; }
.section-label  {
  font-size: 12px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-muted); margin-bottom: 12px;
}
.back-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--primary); cursor: pointer; font-weight: 500;
  margin-bottom: 18px;
}
.back-btn:hover { text-decoration: underline; }
.info-banner {
  background: var(--primary-light); border: 1px solid rgba(52,100,184,.2);
  border-radius: 8px; padding: 10px 14px;
  font-size: 12.5px; color: var(--primary-dark); margin-bottom: 16px;
}
.upload-zone {
  border: 2px dashed var(--border); border-radius: var(--radius);
  padding: 28px; text-align: center; cursor: pointer;
  transition: border-color .15s, background .15s;
  color: var(--text-muted); font-size: 13px; line-height: 1.5;
}
.upload-zone:hover { border-color: var(--primary); background: var(--primary-light); }
.upload-zone-icon { font-size: 28px; margin-bottom: 8px; color: var(--text-light); }
.empty-state { text-align: center; padding: 56px 24px; color: var(--text-muted); }
.empty-state-icon { font-size: 42px; margin-bottom: 14px; opacity: .4; }
.empty-state h3   { font-size: 16px; font-weight: 700; margin-bottom: 6px; color: var(--text); }
.empty-state p    { font-size: 13px; }
