/* ═══ Страница загрузки расписания ══════════════════════════════════════════ */
.t-upload-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px;
  max-width: 560px;
  margin: 0 auto;
}
.t-file-drop {
  border: 2px dashed var(--border);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  display: block;
}
.t-file-drop:hover { border-color: var(--green); background: var(--mint); }
.t-file-drop input { display: none; }
.t-upload-drop-text { font-size: 13px; font-weight: 500; margin-top: 10px; margin-bottom: 4px; }
.t-preview-img { max-height: 280px; border-radius: 8px; border: 1px solid var(--border); margin-top: 10px; display: block; }
.t-change-file-btn { margin-top: 6px; }
.t-image-preview { display: none; flex-direction: column; align-items: center; gap: 8px; }
.t-image-preview.visible { display: flex; }

/* ═══ Страница входа / регистрации ══════════════════════════════════════════ */
.t-auth-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 48px;
}
.t-auth-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 32px;
  width: 380px;
  max-width: 100%;
}
.t-auth-title { font-size: 20px; font-weight: 700; letter-spacing: -.02em; text-align: center; margin-bottom: 24px; }
.t-auth-footer { text-align: center; font-size: 12.5px; color: var(--muted); margin-top: 16px; }
.t-auth-footer a { color: var(--green); font-weight: 600; }

/* ═══ Кнопка шаринга ══════════════════════════════════════════════════════════ */
.t-share-copy-btn { border-radius: 0 8px 8px 0; border-left: none; }
