/* A777AA — раздел «Инструменты»: калькуляторы, генераторы документов, Excel-шаблоны.
   Только токены из site.css (обе темы). */
.tool-hero .tool-free{display:block;margin-top:14px;font-size:14px;color:var(--muted)}
.tool-hero .hero-actions{flex-wrap:wrap;align-items:center}
.tool-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tool-jump a{padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;color:var(--ink-2)}
.tool-jump a:hover{border-color:var(--accent);color:var(--ink)}
.tool-group+.tool-group{margin-top:clamp(18px,2.5vw,32px)}
.tool-group .index-head{margin-bottom:18px}
.tool-card h3{font:600 19px/1.3 var(--sans);color:var(--ink);margin:0}
.tool-card .eyebrow{margin:0}

.tool-section{padding-top:clamp(20px,3vw,40px)}
.tool-shell{scroll-margin-top:96px}
.tool-h2{font-size:clamp(28px,3.4vw,44px);margin:0 0 8px}
.tool-sub{color:var(--muted);margin:0 0 22px}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.tool-form{min-width:0}
.tool-form fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.tool-form legend{font:600 13px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px;padding:0}
.tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.tool-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tool-field.is-wide{grid-column:1/-1}
.tool-field label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.tool-unit{font-weight:500;color:var(--muted)}
.tool-field input,.tool-field select,.tool-field textarea{width:100%;min-width:0;padding:11px 13px;border-radius:12px;border:1px solid var(--field-edge);background:var(--field);color:var(--ink);font:inherit;font-size:16px}
.tool-field select{background-color:var(--bg-2);color:var(--ink)}
.tool-field select option{background-color:var(--bg-2);color:var(--ink)}
.tool-field textarea{resize:vertical;min-height:76px}
.tool-field input:focus-visible,.tool-field select:focus-visible,.tool-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tool-field small{font-size:13px;line-height:1.4;color:var(--muted)}
.tool-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

.tool-result{position:sticky;top:96px;padding:clamp(20px,2.5vw,28px);border-radius:var(--r-card,22px);background:var(--card);border:1px solid var(--card-edge);box-shadow:var(--shadow);min-width:0}
.tool-result .eyebrow{margin-bottom:6px}
.tool-metric{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.tool-metric span{color:var(--ink-2);font-size:15px;line-height:1.35}
.tool-metric strong{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:17px;white-space:nowrap}
.tool-metric.is-key strong{color:var(--accent-ink);font-size:21px}
.tool-metric.is-neg strong{color:#d65c5c}
.tool-metric strong:only-child{white-space:normal}
.tool-note{font-size:14px;line-height:1.5;color:var(--ink-2);margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--accent);background:var(--tile);border-radius:0 10px 10px 0;max-width:none}
.tool-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.tool-privacy{font-size:13px;color:var(--muted);margin:12px 0 0}
.tool-table{margin-top:22px}
.tool-table table,.sheet-preview table{width:100%;border-collapse:collapse;font-size:14px}
.tool-table th,.tool-table td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;color:var(--ink-2)}
.tool-table th{color:var(--ink);font-weight:600}
.tool-table th:first-child,.tool-table td:first-child{text-align:left}
.sheet-preview td,.sheet-preview th{text-align:left}
.sheet-summary{columns:2;column-gap:32px;color:var(--ink-2)}
.tool-shell h3{margin:24px 0 10px}

/* Генератор документов: лист бумаги одинаковый в обеих темах */
.doc-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.doc-preview{position:sticky;top:96px;min-width:0}
.doc-preview .tool-actions{margin:0 0 14px}
.doc-paper{background:#fff;color:#111;font:15px/1.5 'Times New Roman',Times,serif;padding:clamp(18px,3vw,40px);border-radius:6px;box-shadow:var(--shadow);max-height:78vh;overflow:auto;border:1px solid var(--line-2)}
.doc-paper p,.doc-paper h2,.doc-paper h3{color:#111;max-width:none;font-family:inherit;letter-spacing:0}
.doc-paper .doc-title{font-size:17px;font-weight:700;text-align:center;margin:0 0 10px;line-height:1.3}
.doc-paper .doc-center{text-align:center;margin:0 0 10px;white-space:pre-wrap}
.doc-paper .doc-right{text-align:right}
.doc-paper .doc-h{font-size:15px;font-weight:700;margin:14px 0 6px}
.doc-paper .doc-p,.doc-paper .doc-li{text-align:justify;text-indent:1.25em;margin:0 0 6px}
.doc-paper .doc-note{font-size:12px}
.doc-paper .doc-space{min-height:1em}
.doc-grid{width:100%;border-collapse:collapse;margin:8px 0 10px;font-size:14px}
.doc-grid th,.doc-grid td{border:1px solid #444;padding:4px 7px;text-align:left;vertical-align:top;color:#111}
.doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;font-size:14px}
.doc-sign div{white-space:normal;color:#111}
.tool-links{padding-left:1.2em}
.tool-links li{margin:6px 0}

@media (max-width:980px){
  .tool-grid,.doc-layout{grid-template-columns:minmax(0,1fr)}
  .tool-result,.doc-preview{position:static}
  .doc-paper{max-height:none}
}
@media (max-width:560px){
  .tool-fields{grid-template-columns:minmax(0,1fr)}
  .sheet-summary{columns:1}
  .doc-sign{grid-template-columns:1fr}
  .tool-metric strong{white-space:normal}
  .tool-hero .hero-actions .btn{width:100%;justify-content:center;text-align:center}
}
@media print{
  .site-header,.site-footer,.site-cta,.tool-hero,.editorial-grid,.tool-form,.tool-actions,.tool-privacy,.tool-sub,.tool-h2,#chat-launcher,.chat-widget,.cookie-banner,[class*="consent"]{display:none!important}
  body,.site{background:#fff!important;color:#000!important}
  .site::before,.site::after{display:none!important}
  .section-panel{background:none!important;box-shadow:none!important;border:0!important;padding:0!important}
  .section-panel::before,.section-panel::after{display:none!important}
  .tool-grid,.doc-layout{display:block}
  .tool-result{position:static;box-shadow:none;border:1px solid #999;background:#fff}
  .tool-result *,.tool-table *{color:#000!important}
  .doc-paper{box-shadow:none;border:0;max-height:none;overflow:visible;padding:0}
  .tool-section,.site-section{padding:0!important}
}
