/* Brandbook 3.1: keep the existing constructor and A4 geometry. */
@font-face {
  font-family: 'Golos Text';
  src: url('../assets/brand/GolosText-400.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Golos Text';
  src: url('../assets/brand/GolosText-500.ttf') format('truetype');
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('../assets/brand/Manrope-600.ttf') format('truetype');
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('../assets/brand/Manrope-700.ttf') format('truetype');
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}

:root {
  --ink: #14283d;
  --muted: #546572;
  --line: #dce0df;
  --line-strong: #c5cece;
  --canvas: #fff;
  --surface: #fff;
  --soft: #f6f3ec;
  --accent: #316d72;
  --accent-dark: #25565a;
  --accent-soft: #eaf1f0;
  --brand-gold: #c3a98c;
}

html, body { font-family: 'Golos Text', Arial, sans-serif; }
h1, h2, h3, .print-card h3, .manager-editor__heading h3,
.print-doctor strong, .continuation-header strong,
.print-section-title { font-family: Manrope, Arial, sans-serif; }
.topbar { border-bottom-color: var(--brand-gold); }
.brand-logo { display: block; width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
.brand > div { min-width: 0; }
.editor-panel { background: #fff; }
.preview-panel { background: var(--soft); }
.bulk-dose { border-color: var(--line-strong); background: var(--soft); }
.section-format { background: #fff; border-color: var(--line); }
.favorite-button:hover { background: var(--soft); color: #8b6638; }
.favorite-button--active { color: #8b6638; text-shadow: none; }
.favorite-button--active:hover { color: #72522e; }
.segmented .segmented__active { color: var(--accent-dark); }

.paper { color: var(--ink); }
.print-header, .continuation-header { border-bottom-color: var(--brand-gold); }
.print-logo { display: block; width: 44px; height: 44px; flex: 0 0 44px; margin-right: 12px; object-fit: contain; }
.continuation-header .print-logo { width: 28px; height: 28px; flex-basis: 28px; }
.continuation-header > div { flex: 1; }
.print-doctor small, .print-dose { color: var(--accent); }
.print-section-title { color: var(--ink); border-left-color: var(--accent); background: #fff; }
.print-card__number { background: var(--accent); }
.print-meta, .safety-block { background: #fff; }
.print-mark { color: var(--muted); }

@media print {
  .paper { color: #111; }
  .print-header, .continuation-header { border-bottom-color: #777; }
  .print-doctor small, .print-mark, .continuation-header span,
  .continuation-header small, .print-section-title, .print-dose,
  .print-dose small, .print-comment, .safety-block p,
  .safety-block strong, .print-footer { color: #111; }
  .print-section-title { border-left-color: #555; background: #fff; }
  .print-card__number { background: #333; color: #fff; }
  .print-card, .print-meta, .safety-block, .print-footer { border-color: #999; }
  .print-dose { border-top-color: #999; }
  .print-meta, .safety-block { background: #fff; }
  .print-comment { border-left-color: #777; }
  .safety-block > div { border-color: #555; }
}

.instruction-budget { color: var(--muted); font-size: 10px; line-height: 1.4; }
/* Stable compact geometry: measurements in A4 preview also apply to print. */
.paper .print-header,
.paper .continuation-header,
.paper .print-section-title,
.paper .print-meta,
.paper .safety-block,
.paper .print-footer { flex-shrink: 0; }
.paper--compact .print-card { grid-template-columns: 34% 1fr; }
.paper--compact .print-card__content { overflow-wrap: anywhere; }
@media print {
  .paper--compact { padding: 42px 38px 45px; }
  .paper--compact .print-exercises { gap: 9px; }
  .paper--compact .print-header { margin-bottom: 18px; padding-bottom: 11px; }
  .paper--compact .print-doctor strong { font-size: 20px; }
  .paper--compact .print-doctor span,
  .paper--compact .print-doctor small { font-size: 10px; }
  .paper--compact .print-mark { font-size: 11px; }
  .paper--compact .print-meta p { font-size: 10px; }
  .paper--compact .continuation-header { margin-bottom: 16px; padding-bottom: 10px; }
  .paper--compact .continuation-header strong { font-size: 15px; }
  .paper--compact .continuation-header span,
  .paper--compact .continuation-header small { font-size: 9px; }
  .paper--compact .print-section-title { margin-bottom: 11px; padding: 8px 10px; font-size: 17px; }
  .paper--compact .print-card { min-height: 215px; padding: 11px; }
  .paper--compact .print-card__number { width: 23px; height: 23px; font-size: 10px; }
  .paper--compact .print-card h3 { font-size: 16px; }
  .paper--compact .print-card p { font-size: 10.5px; }
  .paper--compact .print-dose,
  .paper--compact .print-dose strong { font-size: 10px; }
  .paper--compact .print-dose small { font-size: 8px; }
  .paper--compact .safety-block { margin-top: auto; }
  .paper--compact .safety-block p { font-size: 9px; }
  .paper--compact .safety-block strong { font-size: 11px; }
  .paper--compact .print-footer { font-size: 9px; }
}
