/* Компаньон-CCTV — общие стили калькуляторов и сервисов. */
.tools-page{background:var(--light-gray);min-height:100vh}
.tools-main{max-width:1000px;margin:0 auto;padding:calc(var(--header-h) + 2rem) 20px 3.5rem}
.tools-main a:not(.btn):not(.tool-card):not(.logo):not(.header-cta){color:var(--primary-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.breadcrumbs a{color:var(--muted)!important}
.tools-hero{max-width:820px;margin-bottom:2rem}
.tools-hero h1{font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.17;margin-bottom:.75rem}
.tools-hero p{font-size:1.08rem;line-height:1.65;color:var(--text)}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.25rem;margin:1.5rem 0 2.5rem}
.tool-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);color:var(--text);transition:transform .2s,box-shadow .2s,border-color .2s}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:rgba(245,158,11,.55)}
.tool-card-badge{display:inline-flex;align-self:flex-start;padding:.3rem .65rem;border-radius:999px;background:rgba(245,158,11,.13);color:var(--primary-dark);font-size:.78rem;font-weight:700;margin-bottom:.9rem}
.tool-card h2{font-size:1.25rem;text-align:left;margin:0 0 .55rem;color:var(--secondary)}
.tool-card p{margin:0 0 1rem;color:var(--text);line-height:1.6}
.tool-card-link{margin-top:auto;color:var(--primary-dark);font-weight:700}
.tool-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr);gap:1.4rem;align-items:start;margin:1.8rem 0 2.5rem}
.tool-panel,.result-panel,.tool-lead-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}
.tool-panel h2,.result-panel h2,.tool-lead-form h2{text-align:left;font-size:1.35rem;margin:0 0 1.15rem}
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;padding:.35rem;background:var(--light-gray);border-radius:10px}
.mode-switch label{cursor:pointer;text-align:center}
.mode-switch input{position:absolute;opacity:0;pointer-events:none}
.mode-switch span{display:block;padding:.7rem .5rem;border-radius:8px;font-weight:600;color:var(--muted)}
.mode-switch input:checked+span{background:var(--white);color:var(--secondary);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.tool-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tool-field{display:flex;flex-direction:column;gap:.4rem}
.tool-field[hidden]{display:none!important}
.tool-field.full{grid-column:1/-1}
.tool-field label,.field-label{font-size:.9rem;font-weight:650;color:var(--ink)}
.tool-field input,.tool-field select,.tool-field textarea,.tool-lead-form input,.tool-lead-form textarea{width:100%;padding:.78rem .85rem;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}
.tool-field textarea{min-height:88px;resize:vertical}
.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus,.tool-lead-form input:focus,.tool-lead-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(245,158,11,.14)}
.field-hint{font-size:.78rem;line-height:1.4;color:var(--muted)}
.inline-check{display:flex;align-items:flex-start;gap:.55rem;margin-top:.15rem;font-size:.87rem;color:var(--text);cursor:pointer}
.inline-check input{width:18px;height:18px;min-width:18px;margin-top:.05rem;accent-color:var(--primary)}
.tool-submit{width:100%;margin-top:1.2rem;padding:.9rem 1rem;border:0;border-radius:8px;background:var(--primary);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}
.tool-submit:hover{background:var(--primary-dark);transform:translateY(-1px)}
.result-panel{position:sticky;top:calc(var(--header-h) + 1rem);border-top:4px solid var(--primary)}
.result-kicker{text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;font-weight:700;color:var(--primary-dark)}
.result-main{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;line-height:1.12;color:var(--secondary);margin:.35rem 0}
.result-note{color:var(--muted);line-height:1.5;margin-bottom:1.1rem}
.result-list{display:grid;gap:.65rem;padding:1rem 0;margin:0 0 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.result-row{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem}
.result-row span{color:var(--muted)}
.result-row strong{text-align:right;color:var(--ink)}
.result-warning{font-size:.82rem;line-height:1.5;color:var(--muted);background:var(--light-gray);border-radius:8px;padding:.8rem;margin-bottom:1rem}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.result-actions button,.result-actions a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--secondary);font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;text-decoration:none!important}
.result-actions button:hover,.result-actions a:hover{border-color:var(--primary);color:var(--primary-dark)}
.result-actions .primary-action{grid-column:1/-1;background:var(--secondary);border-color:var(--secondary);color:#fff!important}
.result-actions .primary-action:hover{background:#1d2b38}
.tool-lead{scroll-margin-top:calc(var(--header-h) + 1rem);margin:2rem 0}
.tool-lead[hidden]{display:none}
.tool-lead-form{max-width:700px;margin:0 auto}
.tool-lead-form p{color:var(--text);line-height:1.55;margin-bottom:1rem}
.tool-lead-form form{display:grid;gap:.85rem}
.tool-lead-form textarea{min-height:125px;resize:vertical}
.tool-lead-form .consent input{width:18px;height:18px;padding:0}
.tool-lead-success{padding:1.2rem;border-radius:10px;background:#ecfdf5;color:#166534;text-align:center;font-weight:600}
.content-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem);margin:1.5rem 0;box-shadow:var(--shadow)}
.content-card h2{font-size:1.45rem;text-align:left;margin:1.8rem 0 .7rem}
.content-card h2:first-child{margin-top:0}
.content-card h3{font-size:1.12rem;margin:1.25rem 0 .45rem}
.content-card p,.content-card li{font-size:1.02rem;line-height:1.7;color:var(--text);margin-bottom:.75rem}
.content-card ul,.content-card ol{padding-left:1.35rem;margin-bottom:1rem}
.formula-box{padding:1rem 1.1rem;background:#fff8eb;border-left:4px solid var(--primary);border-radius:8px;margin:1rem 0;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.faq-list{display:grid;gap:.9rem}
.faq-list details{background:var(--light-gray);border-radius:10px;padding:1rem 1.1rem}
.faq-list summary{font-weight:700;color:var(--ink);cursor:pointer}
.faq-list details p{margin:.7rem 0 0}
.tools-note{background:#eef6ff;border-left:4px solid #3b82f6;border-radius:8px;padding:1rem 1.1rem;margin:1rem 0;color:var(--text);line-height:1.6}
.copy-status{min-height:1.25em;margin-top:.55rem;color:#166534;font-size:.82rem;text-align:center}
.quick-values{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.quick-values button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--secondary);padding:.38rem .7rem;font:inherit;font-size:.8rem;font-weight:650;cursor:pointer}
.quick-values button:hover,.quick-values button:focus-visible{border-color:var(--primary);color:var(--primary-dark);outline:none}
.reference-table-wrap{overflow-x:auto;margin:1rem 0}
.reference-table{width:100%;border-collapse:collapse;min-width:580px;font-size:.92rem}
.reference-table th,.reference-table td{padding:.7rem .75rem;border:1px solid var(--line);text-align:left}
.reference-table th{background:var(--light-gray);color:var(--ink)}
.reference-table td{color:var(--text)}
.optional-label{font-size:.76rem;font-weight:500;color:var(--muted)}
.compact-checks{display:grid;gap:.65rem;padding:.2rem 0}
.small-note,.sign-hint{font-size:.82rem;line-height:1.5;color:var(--muted)}

/* Генератор информационной таблички */
.sign-workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:1.4rem;align-items:start;margin:1.8rem 0 2.5rem}
.sign-preview-panel{position:sticky;top:calc(var(--header-h) + 1rem);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.3rem}
.sign-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.sign-preview-heading h2{font-size:1.35rem;text-align:left;margin:0}
.format-badge{display:inline-flex;align-items:center;padding:.3rem .6rem;border-radius:999px;background:#fff8eb;color:var(--primary-dark);font-size:.78rem;font-weight:700;white-space:nowrap}
.sign-sheet{width:100%;overflow:hidden;background:#fff;border:1px solid #cbd5e1;border-radius:5px;box-shadow:0 10px 30px rgba(15,23,42,.16);transition:aspect-ratio .2s}
.sign-sheet.landscape{aspect-ratio:1.414/1}
.sign-sheet.portrait{aspect-ratio:1/1.414}
.sign-preview,.sign-preview svg{display:block;width:100%;height:100%}
.sign-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:1rem}
.sign-actions button{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--secondary);font:inherit;font-size:.86rem;font-weight:650;cursor:pointer}
.sign-actions button:hover{border-color:var(--primary);color:var(--primary-dark)}
.sign-actions .primary-action{background:var(--secondary);border-color:var(--secondary);color:#fff}
.sign-actions .primary-action:hover{background:#1d2b38;color:#fff}
.sign-preview-panel .copy-status{text-align:left}

@media(max-width:800px){
  .tool-shell{grid-template-columns:1fr}
  .result-panel{position:static}
  .sign-workspace{grid-template-columns:1fr}
  .sign-preview-panel{position:static}
}
@media(max-width:560px){
  .tools-main{padding-left:14px;padding-right:14px}
  .tool-form-grid{grid-template-columns:1fr}
  .tool-field.full{grid-column:auto}
  .tool-panel,.result-panel,.tool-lead-form{padding:1.15rem}
  .result-actions{grid-template-columns:1fr}
  .result-actions .primary-action{grid-column:auto}
  .mode-switch{grid-template-columns:1fr}
  .sign-actions{grid-template-columns:1fr}
  .sign-preview-panel{padding:1rem}
  .sign-preview-heading{align-items:flex-start;flex-direction:column;gap:.45rem}
}
@media print{
  .header,.footer,.breadcrumbs,.tool-panel,.result-actions,.tool-lead,.cookie-bar{display:none!important}
  body,.tools-page{background:#fff!important}
  .tools-main{max-width:none;padding:0}
  .tools-hero{margin-bottom:1rem}
  .tool-shell{display:block;margin:0}
  .result-panel,.content-card{box-shadow:none;border:1px solid #bbb;break-inside:avoid}
  .content-card{margin-top:1rem}
}
@media print{
  .sign-generator-page .header,.sign-generator-page .footer,.sign-generator-page .breadcrumbs,.sign-generator-page .tools-hero,.sign-generator-page .tool-panel,.sign-generator-page .sign-preview-heading,.sign-generator-page .sign-actions,.sign-generator-page .sign-hint,.sign-generator-page .copy-status,.sign-generator-page .tool-lead,.sign-generator-page .content-card,.sign-generator-page .cookie-bar{display:none!important}
  .sign-generator-page .tools-main,.sign-generator-page .sign-workspace,.sign-generator-page .sign-preview-panel{display:block!important;max-width:none;margin:0;padding:0;border:0;box-shadow:none}
  .sign-generator-page .sign-sheet{position:fixed;inset:0;width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none}
}
