.vedomost-page {
  --container:1120px;
}

.vedomost-page main {
  background:
    linear-gradient(180deg, rgba(228,242,235,.7), rgba(246,248,245,0) 320px),
    var(--paper);
}

.vedomost-hero {
  padding:68px 0 38px;
  border-bottom:1px solid var(--line);
}

.vedomost-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,.62fr);
  gap:42px;
  align-items:start;
}

.vedomost-copy {
  padding-top:18px;
}

.vedomost-copy h1 {
  max-width:720px;
  margin:18px 0 16px;
  color:var(--ink);
  font-size:var(--fs-display);
  font-weight:700;
  line-height:1.04;
  letter-spacing:0;
}

.lead {
  max-width:620px;
  margin:0;
  color:var(--ink-muted);
  font-size:var(--fs-lead);
}

.hero-chips {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.result-preview {
  display:grid;
  gap:14px;
  padding:18px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-raised);
}

.result-preview__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.source-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  padding:4px;
  background:var(--surface-sunk);
  border:1px solid var(--line);
  border-radius:var(--r-control);
}

.source-tab {
  min-height:34px;
  padding:7px 10px;
  color:var(--ink-muted);
  background:transparent;
  border:0;
  border-radius:var(--r-chip);
  font-family:var(--font-mono);
  font-size:var(--fs-micro);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.source-tab.active {
  color:var(--brand-ink);
  background:var(--surface);
  box-shadow:var(--shadow-card);
}

.mini-result {
  display:grid;
  grid-template-columns:118px 1fr;
  gap:12px;
  align-items:stretch;
}

.mini-sheet {
  display:grid;
  align-content:center;
  gap:10px;
  min-height:138px;
  padding:18px;
  background:var(--surface-sunk);
  border:1px solid var(--line);
  border-radius:var(--r-control);
}

.mini-sheet__line {
  display:block;
  width:78%;
  height:8px;
  background:var(--line-strong);
  border-radius:var(--r-pill);
}

.mini-sheet__line.wide {
  width:100%;
  background:var(--brand);
}

.mini-sheet__line.short {
  width:52%;
}

.mini-table {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r-control);
  background:var(--surface);
  font-family:var(--font-mono);
  font-size:12px;
}

.mini-row {
  display:grid;
  grid-template-columns:32px 1fr 42px;
  gap:8px;
  min-height:34px;
  align-items:center;
  padding:0 10px;
  color:var(--ink-muted);
  border-bottom:1px solid var(--line);
}

.mini-row:last-child {
  border-bottom:0;
}

.mini-row.head {
  color:var(--ink-faint);
  background:var(--surface-sunk);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.process-strip,
.side-status {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.process-step {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:6px 10px;
  color:var(--ink-faint);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  font-family:var(--font-mono);
  font-size:var(--fs-micro);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.process-step::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}

.process-step.done {
  color:var(--brand-ink);
  background:var(--brand-wash);
  border-color:rgba(14,143,99,.22);
}

.process-step.current {
  color:var(--warn);
  background:var(--warn-wash);
  border-color:rgba(183,121,31,.22);
}

.vedomost-workspace {
  padding:34px 0 72px;
}

.layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
  gap:18px;
  align-items:start;
}

.panel,
.side {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
}

.panel {
  padding:22px;
}

.side {
  display:grid;
  gap:14px;
  padding:22px;
}

.panel-head {
  margin-bottom:18px;
}

.panel-head h2,
.side h2 {
  margin:6px 0 0;
  color:var(--ink);
  font-size:var(--fs-h3);
  font-weight:700;
  line-height:1.25;
}

.form {
  display:grid;
  gap:16px;
}

.field {
  display:grid;
  gap:8px;
}

.field label:not(.upload-zone),
.check {
  font-weight:600;
}

.hint {
  color:var(--ink-faint);
  font-family:var(--font-mono);
  font-size:var(--fs-mono);
}

.upload-zone {
  position:relative;
  display:grid;
  place-items:center;
  gap:9px;
  min-height:250px;
  padding:30px;
  color:var(--ink-muted);
  background:var(--surface-sunk);
  border:1.5px dashed var(--line-strong);
  border-radius:var(--r-card);
  text-align:center;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.upload-zone:hover,
.upload-zone:focus-within {
  background:var(--brand-wash);
  border-color:var(--brand);
  box-shadow:var(--shadow-focus);
}

.upload-zone__icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  color:var(--brand-ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-control);
}

.upload-zone__icon::before {
  content:"";
  width:22px;
  height:22px;
  border:2px solid currentColor;
  border-top:0;
  border-radius:0 0 6px 6px;
  box-shadow:0 -9px 0 -7px currentColor;
}

.upload-zone__title {
  color:var(--ink);
  font-size:22px;
  font-weight:700;
  line-height:1.2;
}

.upload-zone__text {
  max-width:420px;
  color:var(--ink-muted);
  font-size:var(--fs-sm);
}

.upload-zone input[type=file] {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}

.upload-zone__file {
  min-height:1.25em;
  color:var(--brand-ink);
  font-family:var(--font-mono);
  font-size:var(--fs-mono);
  font-weight:700;
  word-break:break-all;
}

.upload-zone.has-file {
  border-style:solid;
  border-color:var(--brand);
  background:var(--brand-wash);
}

.upload-zone.dragover {
  background:var(--brand-wash);
  border-color:var(--brand);
  box-shadow:var(--shadow-focus);
}

/* selected-file state (WS-C) */
.upload-zone__check,
.upload-zone__replace-hint {
  display:none;
}

.upload-zone.has-file .upload-zone__icon,
.upload-zone.has-file .upload-zone__title,
.upload-zone.has-file .upload-zone__text,
.upload-zone.has-file .dropzone-hint {
  display:none;
}

.upload-zone.has-file .upload-zone__replace-hint {
  display:block;
}

.upload-zone.has-file .upload-zone__check {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color:#fff;
  background:var(--brand);
  border-radius:50%;
}

.upload-zone__check::before {
  content:"";
  width:18px;
  height:9px;
  border:3px solid #fff;
  border-top:0;
  border-right:0;
  transform:translateY(-2px) rotate(-45deg);
}

.upload-zone.has-file .upload-zone__file {
  font-size:18px;
}

.upload-zone__replace-hint {
  color:var(--ink-faint);
  font-size:var(--fs-sm);
}

.upload-zone__remove {
  display:none;
  min-height:40px;
  margin-top:10px;
  padding:8px 16px;
  color:var(--danger);
  background:var(--surface);
  border:1px solid rgba(192,57,43,.32);
  border-radius:var(--r-control);
  font-weight:700;
  cursor:pointer;
}

.upload-zone__remove.is-visible {
  display:inline-flex;
  align-items:center;
}

.upload-zone__remove:hover {
  background:#FCECEA;
}

input[type=email] {
  width:100%;
  min-height:46px;
  padding:11px 13px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line-strong);
  border-radius:var(--r-control);
}

input[type=email]::placeholder {
  color:var(--ink-faint);
}

.check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--ink-muted);
  font-size:var(--fs-sm);
  line-height:1.45;
}

.check input {
  flex:none;
  width:17px;
  height:17px;
  margin-top:2px;
  accent-color:var(--brand-ink);
}

.hp {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

#submitBtn {
  width:max-content;
}

#submitBtn:disabled {
  cursor:not-allowed;
  transform:none;
  background:var(--surface-sunk);
  border-color:var(--line-strong);
  color:var(--ink-faint);
}

.notice {
  margin-top:18px;
  padding:14px;
  white-space:pre-wrap;
  color:var(--ink-muted);
  background:var(--surface-sunk);
  border:1px solid var(--line);
  border-radius:var(--r-control);
  font-size:var(--fs-sm);
}

.notice.bad {
  color:var(--danger);
  background:#FCECEA;
  border-color:rgba(192,57,43,.22);
}

.notice.ok {
  color:var(--brand-ink);
  background:var(--brand-wash);
  border-color:rgba(14,143,99,.22);
}

#status.status {
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:var(--fs-sm);
  font-weight:400;
  letter-spacing:0;
  line-height:1.45;
  text-transform:none;
  white-space:normal;
}

#status.status::before {
  content:none;
}

#status .line {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--ink-muted);
}

#status .line.on {
  color:var(--ink);
}

#status .dot {
  flex:none;
  width:9px;
  height:9px;
  margin-top:7px;
  background:var(--line-strong);
  border-radius:50%;
}

#status .line.on .dot {
  background:var(--brand);
}

#status .line-label {
  flex:1;
  min-width:0;
}

#status .elapsed {
  flex:none;
  color:var(--ink-faint);
  font-family:var(--font-mono);
  font-size:var(--fs-mono);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* W5 — queue visibility lines (position/ETA + "arrives by email" reassurance) */
#status .queue-info {
  margin:0;
  color:var(--ink);
  font-weight:500;
}

#status .queue-note {
  margin:0;
  color:var(--ink-muted);
}

.pay {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:42px;
  margin-top:4px;
  padding:10px 16px;
  color:#fff;
  background:var(--brand-ink);
  border:1px solid var(--brand-ink);
  border-radius:var(--r-control);
  font-weight:700;
}

.pay:hover {
  background:#085F42;
  border-color:#085F42;
  text-decoration:none;
}

.inline-rating {
  display:grid;
  gap:12px;
  margin-top:6px;
  padding:14px;
  background:var(--surface-sunk);
  border:1px solid var(--line);
  border-radius:var(--r-control);
}

.inline-rating__form {
  display:grid;
  gap:12px;
}

.inline-rating__title,
.inline-rating__label {
  margin:0;
  color:var(--ink-muted);
  font-size:var(--fs-sm);
  font-weight:700;
}

.inline-rating__scores {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.inline-rating__score {
  min-height:42px;
  padding:9px 11px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line-strong);
  border-radius:var(--r-control);
  font-weight:700;
}

.inline-rating__score[aria-pressed="true"] {
  color:var(--brand-ink);
  background:var(--brand-wash);
  border-color:var(--brand);
}

.inline-rating__reasons {
  display:grid;
  gap:8px;
}

.inline-rating__reason {
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--ink-muted);
  font-size:var(--fs-sm);
}

.inline-rating__reason input {
  flex:none;
  margin-top:3px;
  accent-color:var(--brand-ink);
}

.inline-rating__comment {
  display:grid;
  gap:8px;
}

.inline-rating__comment textarea {
  width:100%;
  min-height:92px;
  resize:vertical;
  padding:10px 12px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line-strong);
  border-radius:var(--r-control);
}

.inline-rating__comment textarea::placeholder {
  color:var(--ink-faint);
}

.inline-rating__submit {
  width:max-content;
}

.inline-rating__submit:disabled {
  cursor:not-allowed;
  transform:none;
  background:var(--surface-sunk);
  border-color:var(--line-strong);
  color:var(--ink-faint);
}

.inline-rating__error {
  min-height:1.3em;
  margin:0;
  color:var(--danger);
  font-size:var(--fs-sm);
}

.inline-rating__thanks {
  margin:0;
  color:var(--brand-ink);
  font-weight:700;
}

.side ul {
  margin:0;
  padding-left:19px;
  color:var(--ink-muted);
}

.side li {
  margin:9px 0;
}

.side-status {
  padding-top:4px;
}

@media (max-width:900px) {
  .vedomost-hero__grid,
  .layout,
  .mini-result {
    grid-template-columns:1fr;
  }

  .vedomost-hero {
    padding:48px 0 30px;
  }

  .vedomost-copy {
    padding-top:0;
  }
}

@media (max-width:560px) {
  .vedomost-workspace {
    padding-bottom:48px;
  }

  .panel,
  .side,
  .result-preview {
    padding:16px;
  }

  .upload-zone {
    min-height:210px;
    padding:22px 16px;
  }

  .source-tabs {
    grid-template-columns:1fr;
  }

  #submitBtn {
    width:100%;
  }

  .inline-rating__scores {
    grid-template-columns:1fr;
  }

  .inline-rating__submit,
  .inline-rating__open {
    width:100%;
  }
}
