/* Production-only layer: additions to the approved design system for the public
   site. Keeps brand.css and landing.css close to the approved design system. */

/* Buttons are reachable by keyboard: brand.css styles :focus-visible for links
   and inputs, not for <button>. */
button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sr-focus);outline-offset:4px}

/* Honest status next to the primary call to action. */
.cta-note{margin-top:var(--sr-space-4);font-size:var(--sr-text-label);color:var(--sr-ink-2);max-width:46ch}
.week-sample .note{margin-top:var(--sr-space-4)}
#areas .note{margin-top:var(--sr-space-6)}

/* --- Standalone pages: /app/ (coming soon) and 404 ------------------------ */
body.standalone{background:var(--sr-paper);min-height:100vh;display:flex;flex-direction:column}
.standalone-nav{max-width:1328px;width:100%;box-sizing:border-box;padding:var(--sr-space-6);margin-inline:auto}
.standalone-nav img{height:38px;width:auto;max-width:240px;display:block}
.standalone-main{flex:1;max-width:1328px;width:100%;box-sizing:border-box;padding-inline:var(--sr-space-6);margin-inline:auto;display:flex;align-items:center}
.standalone-card{max-width:60ch;padding-block:var(--sr-space-12) var(--sr-space-16)}
.standalone-card h1{font-size:clamp(2.75rem,7vw,5rem);line-height:1.04;letter-spacing:-.06em;font-weight:500;margin-block:var(--sr-space-5)}
.standalone-card .lead{font-size:var(--sr-text-h2);color:var(--sr-ink-2);max-width:42ch;margin-top:0}
.standalone-card .button-row{margin-top:var(--sr-space-8);display:flex;gap:var(--sr-space-3);flex-wrap:wrap}
.plan-list{list-style:none;margin:var(--sr-space-8) 0 0;padding:0;display:grid;gap:var(--sr-space-4);max-width:52ch}
.plan-list li{padding-top:var(--sr-space-4);border-top:1px solid var(--sr-line);color:var(--sr-ink-2);font-size:var(--sr-text-small)}
.plan-list b{display:block;color:var(--sr-ink);font-weight:500;font-size:var(--sr-text-body);margin-bottom:var(--sr-space-2)}
.standalone-footer{max-width:1328px;width:100%;box-sizing:border-box;padding:var(--sr-space-6);margin-inline:auto;border-top:1px solid var(--sr-line);font-size:var(--sr-text-label);color:var(--sr-ink-2);display:grid;gap:var(--sr-space-2)}
.standalone-footer a{width:fit-content;min-height:44px;display:flex;align-items:center}
@media(max-width:760px){
  .standalone-nav,.standalone-main,.standalone-footer{padding-inline:var(--sr-space-5)}
  .standalone-card{padding-block:var(--sr-space-8) var(--sr-space-10)}
  .standalone-card .lead{font-size:var(--sr-text-body)}
  .standalone-card .button-row .btn{width:100%}
}

/* --- Правовые страницы: /privacy/, /terms/ ------------------------------- */
.legal-main{flex:1;max-width:1328px;width:100%;box-sizing:border-box;padding-inline:var(--sr-space-6);margin-inline:auto}
.legal{max-width:68ch;padding-block:var(--sr-space-10) var(--sr-space-16)}
.legal h1{font-size:clamp(2.25rem,4.5vw,3.25rem);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin-block:var(--sr-space-4) var(--sr-space-5)}
.legal h2{font-size:var(--sr-text-title);line-height:1.2;letter-spacing:-.03em;font-weight:500;margin-block:var(--sr-space-10) var(--sr-space-4)}
.legal h3{font-size:var(--sr-text-h2);font-weight:500;margin-block:var(--sr-space-6) var(--sr-space-3)}
.legal p,.legal li{color:var(--sr-ink-2);max-width:68ch}
.legal p+p{margin-top:var(--sr-space-4)}
.legal ul{margin-block:var(--sr-space-4);padding-inline-start:var(--sr-space-6);display:grid;gap:var(--sr-space-3)}
.legal a{color:var(--sr-mark)}
.legal .updated{font-size:var(--sr-text-label);color:var(--sr-ink-3)}
.legal .callout{margin-block:var(--sr-space-6);padding:var(--sr-space-6);border-radius:var(--sr-radius-lg);background:var(--sr-mark-soft)}
.legal .callout p{color:var(--sr-ink)}
.legal .callout :first-child{margin-top:0}
.legal .facts{margin-block:var(--sr-space-6);display:grid;gap:var(--sr-space-3);font-size:var(--sr-text-small)}
.legal .facts div{display:grid;grid-template-columns:minmax(0,14rem) 1fr;gap:var(--sr-space-4);padding-top:var(--sr-space-3);border-top:1px solid var(--sr-line)}
.legal .facts dt,.legal .facts b{font-weight:500;color:var(--sr-ink)}
.legal code{font-family:var(--sr-font-mono);font-size:.92em;background:var(--sr-surface-sunk);padding:.1em .35em;border-radius:var(--sr-radius-sm)}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sr-space-2)}
.footer-links a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){
  .legal-main{padding-inline:var(--sr-space-5)}
  .legal{padding-block:var(--sr-space-8) var(--sr-space-10)}
  .legal .facts div{grid-template-columns:1fr;gap:var(--sr-space-1)}
}

/* Closing action and footer: one prominent action, compact grouped links. */
.landing-close {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sr-space-12);
  padding: var(--sr-space-12);
  margin-bottom: var(--sr-space-12);
}
.landing-close h2 { font-size: clamp(2.25rem, 3.8vw, 3.5rem); }
.landing-close p { max-width: 46ch; margin-top: var(--sr-space-4); }
.landing-close .btn {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: var(--sr-space-6); min-height: var(--sr-space-16); min-width: 17rem;
  padding: var(--sr-space-4) var(--sr-space-6);
  border-radius: var(--sr-radius); font-size: var(--sr-text-h2);
  line-height: var(--sr-lh-h2); font-weight: 500;
}
.landing-close .btn:hover { background: var(--sr-brand-ice); color: var(--sr-brand-blue); }
.landing-close .btn:focus-visible { outline: 2px solid var(--sr-brand-white); outline-offset: 4px; }
.landing-footer {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start; column-gap: var(--sr-space-12); row-gap: var(--sr-space-6);
  padding-block: var(--sr-space-8);
}
.landing-footer > * { min-width: 0; }
.landing-footer .caption { margin-top: var(--sr-space-3); max-width: none; }
.footer-identity .caption span { white-space: nowrap; }
.landing-footer .footer-notes { gap: var(--sr-space-3); align-content: start; }
.footer-nav {
  grid-column: 1 / -1; display: flex; justify-content: space-between;
  flex-wrap: wrap; column-gap: var(--sr-space-8); row-gap: var(--sr-space-2);
  padding-top: var(--sr-space-4); border-top: 1px solid var(--sr-line);
  font-size: var(--sr-text-label); color: var(--sr-ink-2);
}
.footer-nav__group { display: flex; flex-wrap: wrap; column-gap: var(--sr-space-6); }
.footer-nav a {
  display: inline-flex; align-items: center; gap: var(--sr-space-1);
  min-height: var(--sr-control); padding-block: var(--sr-space-2);
  text-decoration-color: var(--sr-line-strong); text-underline-offset: 4px;
}
.footer-nav a:hover { color: var(--sr-mark); text-decoration-color: currentColor; }
@media (max-width: 900px) {
  .landing-close { grid-template-columns: minmax(0, 1fr); gap: var(--sr-space-6); }
  .landing-close .btn { justify-self: start; }
}
@media (max-width: 760px) {
  .landing-close { padding: var(--sr-space-6); margin-bottom: var(--sr-space-8); }
  .landing-close .btn { width: 100%; min-width: 0; }
  .landing-footer { grid-template-columns: minmax(0, 1fr); gap: var(--sr-space-5); padding-block: var(--sr-space-6); }
  .footer-nav { display: grid; gap: var(--sr-space-2); padding-top: var(--sr-space-3); }
  .footer-nav__group { column-gap: var(--sr-space-5); }
}

/* Worksheet: separate blank-file and browser-entry paths. */
.worksheet-shell { grid-template-columns: minmax(14rem, .65fr) minmax(0, 1.65fr); align-items: start; gap: var(--sr-space-6); background: transparent; border: 0; overflow: visible; }
.worksheet-aside { padding: var(--sr-space-6); background: var(--sr-surface-sunk); color: var(--sr-ink); border-radius: var(--sr-radius-lg); }
.worksheet-aside h3 { font-size: var(--sr-text-h2); line-height: var(--sr-lh-h2); font-weight: 500; letter-spacing: normal; }
.worksheet-aside p { color: var(--sr-ink-2); margin-top: var(--sr-space-3); }
.worksheet-aside .worksheet-caption { margin-top: var(--sr-space-6); font-size: var(--sr-text-label); }
.worksheet-downloads { display: grid; gap: var(--sr-space-3); width: 100%; margin-top: var(--sr-space-5); }
.worksheet-downloads .btn { justify-content: space-between; gap: var(--sr-space-3); width: 100%; text-align: start; }
.worksheet-fields { min-width: 0; padding: var(--sr-space-8); background: var(--sr-surface); border-radius: var(--sr-radius-lg); gap: var(--sr-space-6); }
.worksheet-form-heading .caption { margin-top: var(--sr-space-2); }
.worksheet-period { display: grid; gap: var(--sr-space-2); max-width: 17rem; font-size: var(--sr-text-small); }
.worksheet-period input { min-height: var(--sr-control); width: 100%; min-width: 0; padding: var(--sr-space-2) var(--sr-space-3); border: 1px solid var(--sr-line-strong); border-radius: var(--sr-radius-control); background: var(--sr-surface); color: var(--sr-ink); }
.worksheet-area-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sr-space-5); }
.worksheet-area-fields .field:last-child { grid-column: 1 / -1; }
.worksheet-fields textarea { min-width: 0; width: 100%; font-size: var(--sr-text-body); font-weight: 400; line-height: var(--sr-lh-body); padding: var(--sr-space-3); border-radius: var(--sr-radius-control); }
.worksheet-fields textarea::placeholder { color: var(--sr-ink-3); opacity: 1; font-weight: 400; }
.worksheet-fields .field-dot, .worksheet-fields .has-value .field-dot { flex-shrink: 0; border: 0; background: var(--sr-area); border-radius: var(--sr-radius-full); }
.worksheet-export { border-top: 1px solid var(--sr-line); padding-top: var(--sr-space-5); }
.worksheet-export .worksheet-notice { margin-top: var(--sr-space-3); }
.worksheet-actions .btn { min-height: var(--sr-control); gap: var(--sr-space-2); }
.worksheet-notice[role=status]:empty { display: none; }
.worksheet-fields .field-label { flex-wrap: nowrap; }
@media (max-width: 1000px) {
  .worksheet-shell { grid-template-columns: minmax(0, 1fr); }
  .worksheet-aside { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--sr-space-6); }
  .worksheet-aside h3, .worksheet-aside > p { grid-column: 1; }
  .worksheet-downloads { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0; }
  .worksheet-aside .worksheet-caption { margin-top: var(--sr-space-3); }
}
@media (max-width: 600px) {
  .worksheet-aside { display: block; padding: var(--sr-space-5); }
  .worksheet-downloads { margin-top: var(--sr-space-4); }
  .worksheet-fields { padding: var(--sr-space-5); }
  .worksheet-area-fields { grid-template-columns: minmax(0, 1fr); }
  .worksheet-actions { flex-direction: column; }
  .worksheet-actions .btn { width: 100%; }
  .landing-close .btn { font-size: var(--sr-text-body); padding-inline: var(--sr-space-4); gap: var(--sr-space-3); }
}
@media print {
  @page { size: letter; margin: 18mm 18mm 23mm; }
  html, body { background: white; color: black; font-family: Arial, sans-serif; font-size: 11pt; }
  .print-worksheet { font-family: Arial, sans-serif; color: black; }
  .print-worksheet .sheet-brand { display: flex; align-items: center; gap: 8pt; font-size: 11pt; margin-bottom: 12pt; }
  .print-worksheet h1 { font: 700 20pt/1.15 Arial, sans-serif; letter-spacing: normal; margin: 0 0 8pt; }
  .print-worksheet .sheet-intro { font-size: 10pt; line-height: 1.35; max-width: none; margin: 0 0 9pt; }
  .print-worksheet .sheet-week { margin-bottom: 10pt; }
  .print-worksheet .sheet-area h2 { font: 700 11pt/1.3 Arial, sans-serif; letter-spacing: normal; margin: 10pt 0 5pt; break-after: avoid; page-break-after: avoid; }
  .print-worksheet .sheet-answer { font: 400 11pt/1.35 Arial, sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; max-width: none; orphans: 2; widows: 2; }
  .print-worksheet .sheet-answer--blank { min-height: 44pt; border-bottom: .5pt solid #7F8CA2; margin-bottom: 5pt; }
  .print-worksheet .sheet-footer { position: static; padding-top: 12pt; font: 400 9pt/1.35 Arial, sans-serif; }
  .print-worksheet .sheet-footer p { margin-top: 3pt; }
  .print-worksheet a { color: black; }
}

@media print {
  .sheet-pages { width: 100%; border-collapse: collapse; table-layout: fixed; }
  .sheet-pages > thead { display: table-header-group; }
  .sheet-pages > tfoot { display: table-footer-group; }
  .sheet-pages td { padding: 0; border: 0; vertical-align: top; text-align: start; }
}
