/* Shared identity and interface refinements for Сопроматика. */
:root{--sand:#806747;--muted:#5e6562;--brand-green:#263e35;--brand-warm:#e9dfd1}
.header{background:#fafbf9}
.header-inner{min-height:84px;gap:26px}
.brand{gap:11px}
.brand img{width:46px;height:46px;flex-shrink:0}
.brand .brand-lockup{display:flex;flex-direction:column;gap:4px;line-height:1.1}
.brand .brand-name{font-size:26px;font-weight:700;letter-spacing:-.8px;white-space:nowrap}
.brand .brand-descriptor{font-size:10px;font-weight:400;letter-spacing:.65px;white-space:nowrap;color:#59665f}
.brand-note{font-size:12px}
.header nav{font-size:14px;gap:25px}
.header nav a[aria-current]{color:var(--brand-green);font-weight:600}
.header nav a[aria-current]:after{background:var(--brand-green)}
.header .search-link{font-size:13px;min-height:44px}
.login-link{font-size:13px;min-width:110px;min-height:44px;border-radius:5px;background:#e9e2d7}
.login-link:hover{background:#ded3c2}
.menu-toggle{width:44px;height:44px;padding:0;flex-shrink:0}
.hero-photo{background-image:linear-gradient(90deg,#f2f2f2d9 0%,#f2f2f2b8 23%,#f2f2f24d 41%,#f2f2f200 58%),url('/_assets/5efd1b732075629c42c0/hero-reference.webp')}
.hero-description{line-height:1.6;max-width:530px}
.hero .benefits{max-width:570px;gap:22px;padding:18px 20px;background:#fffdf7f5}
.hero .benefits>div{flex:1;gap:12px}
.hero .benefits b,.hero .benefits small{font-size:12px}
.hero .benefits small{line-height:1.5}
.hero .button.sand{background:var(--brand-green);border-color:var(--brand-green)}
.hero .button.sand:hover{background:#355448}
.text-link,.card-bottom,.back-link{color:#745b3b}
.section-heading .eyebrow,.page-heading .eyebrow{color:#785e3d}
.card-number{color:#737974}
.badge{color:#6d593d}
.ready-tools{padding-top:62px;padding-bottom:58px}
.ready-tools .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ready-tools+.section{padding-top:56px;border-top:1px solid var(--line)}
.tool-ready{background:#f8faf6;border-color:#cbd6cc;border-radius:6px;position:relative}
.tool-ready:hover{background:#f0f5ed;border-color:#8ca393}
.tool-ready .line-icon{color:var(--brand-green)}
.tool-ready .card-bottom{color:var(--brand-green);font-weight:600}
.badge-ready{color:#305840;background:#eaf2e8;border-color:#c8dbc5}
.badge-ready:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#527952;margin-right:6px;vertical-align:1px}
.ready-note{font-size:13px;color:var(--muted);margin:20px 0 0;line-height:1.7;max-width:820px}
.availability-filter{display:flex;align-items:center;gap:10px;min-height:44px;width:fit-content;margin:0 0 25px;font-size:14px;cursor:pointer}
.availability-filter input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--brand-green)}
.availability-filter b{font-size:12px;background:#eaf2e8;color:#305840;border-radius:4px;padding:3px 7px;margin-left:5px}
.tool-card .card-top{gap:12px}.tool-card .badge{text-align:center}
.tool-card h3,.category-card h3{overflow-wrap:anywhere}
.tool-grid,.category-grid{grid-auto-rows:auto}
.tool-grid>*{min-width:0}
.brand:focus-visible{border-radius:5px}
footer .brand img{filter:none}
footer .brand .brand-descriptor{color:#c4cec6}
footer .footer-note{color:#b3c0b6}
footer .footer-grid>div>a:not(.brand){padding:4px 0}
.tc-unit-switch input:focus-visible+span{outline:2px solid #806747;outline-offset:2px}
.tc-input-panel .tc-field>span{font-size:12px;line-height:1.4}
.tc-input-panel .tc-field input,.tc-input-panel .tc-field select{font-size:13px;height:34px}
.tc-input-panel .tc-hint{font-size:11px;line-height:1.55;color:#596354}
.tc-panel-title button,.tc-export button{min-height:36px}
.tc-report-brand{font-weight:600;letter-spacing:.3px;padding-bottom:14px;border-bottom:1px solid #d6ddd3}
@media(min-width:1501px) and (max-width:1800px){.brand-note{display:none}.hero-description{max-width:560px}}
@media(max-width:1300px){.header .search-link span{display:none}.header-inner{gap:20px}.header nav{gap:20px}}
@media(max-width:1100px){
 .header-inner{height:80px;min-height:80px;padding:0 24px;gap:18px}
 .header .search-link{margin-left:auto;border:0;padding:0;width:44px;justify-content:center}
 .menu-toggle{display:block}
 .header nav{display:none}
 .header.menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:14px 24px 20px;background:#fafbf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #142a2014}
 .header nav a{padding:13px 12px;font-size:16px;min-height:48px;border-radius:4px}
 .header nav a[aria-current]{background:#eaf0e8}
 .header nav a[aria-current]:after{display:none}
 .hero-photo{background-image:linear-gradient(90deg,#f2f2f2f5,#f2f2f2c9 40%,#f2f2f233 78%),url('/_assets/5efd1b732075629c42c0/hero-reference.webp')}
}
@media(max-width:760px){
 .header-inner{height:76px;min-height:76px;gap:10px;padding:0 20px}
 .brand .brand-name{font-size:24px}
 .brand .brand-descriptor{font-size:9px;letter-spacing:.35px}
 .brand img{width:40px;height:40px}
 .hero-description{max-width:520px;font-size:15px}
 .hero .benefits{display:grid;grid-template-columns:1fr;padding:18px;gap:16px;max-width:530px}
 .hero .benefits>div{align-items:center;gap:14px}
 .hero .benefits b{font-size:13px}
 .hero .benefits small{margin-top:2px;font-size:12px}
 .hero .benefits .line-icon{width:25px;height:28px}
 .hero-photo{background-image:linear-gradient(90deg,#f2f2f2f5,#f2f2f2e3),url('/_assets/5efd1b732075629c42c0/hero-reference.webp')}
 .hero .eyebrow{font-size:11px;max-width:330px}
 .ready-tools{padding-top:44px;padding-bottom:40px}
 .ready-tools .tool-grid{grid-template-columns:1fr}
 .ready-tools+.section{padding-top:40px}
 .ready-tools .section-heading{gap:18px}
 .tc-input-panel .tc-fields{gap:10px}
 .tc-input-panel .tc-field{grid-template-columns:minmax(95px,.85fr) minmax(0,1.15fr)}
 .tc-input-panel .tc-field input,.tc-input-panel .tc-field select{font-size:16px;height:44px;padding:8px 6px}
 .tc-input-panel .tc-field>span{font-size:12px}
 .tc-input-panel .tc-field:has(select[name="scheme"]){grid-template-columns:minmax(0,1fr);gap:7px}
 .tc-input-panel legend{font-size:17px}
 .tc-input-panel fieldset{padding:12px 0}
 .tc-input-panel .tc-check{min-height:44px;font-size:12px!important}
 .tc-check input{width:18px;height:18px;flex-shrink:0}
 .tc-unit-switch span{min-width:44px;min-height:40px;display:grid;place-items:center}
 .tc-panel-title button,.tc-export button{min-height:44px;padding:10px 12px}
 .tc-panel h2{font-size:20px}
 .tc-live{white-space:normal;text-align:right;max-width:125px}
 .tc-export{gap:10px}
 .tc-nav{flex-wrap:wrap}.tc-nav a{padding:13px 8px}
}
@media(max-width:600px){
 .header .login-link{display:flex;flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0}
 .header-inner{gap:4px;padding:0 16px}
 .brand{gap:9px}
 .brand .brand-name{font-size:23px}
 .brand .brand-descriptor{font-size:9px}
 .brand img{width:38px;height:38px}
 .category-grid{grid-template-columns:minmax(0,1fr)}
 .category-card{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:16px;padding:22px}
 .category-card .card-top{grid-row:1/4;align-items:flex-start;padding-top:2px}
 .category-card .card-number{display:none}
 .category-card h3{font-size:18px;margin:0;line-height:1.35}
 .category-card p{font-size:13px;margin:8px 0 12px;line-height:1.55}
 .category-card .card-bottom{grid-column:2;font-size:12px}
 .footer-grid .brand .brand-name{font-size:26px}
 .page-heading h1{font-size:32px;overflow-wrap:anywhere}
 .availability-filter{font-size:13px}
}
@media(max-width:360px){
 .brand .brand-name{font-size:20px;letter-spacing:-.6px}
 .brand .brand-descriptor{font-size:8px;letter-spacing:.2px}
 .brand img{width:34px;height:34px}
 .hero h1{font-size:31px}
 .wrap{padding-left:18px;padding-right:18px}
 .tc-input-panel .tc-field{grid-template-columns:90px minmax(0,1fr);gap:6px}
 .tool-card{padding:20px}
 .page-heading h1{font-size:29px}
}
@media print{.tc-report-brand{font-size:12px!important;color:#263e35!important}}
@media(min-width:1251px){.ready-tools .tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(max-width:380px){.header .header-inner{padding:0 8px;gap:2px}.header .brand{gap:6px}.header .brand .brand-name{font-size:19px}.header .brand .brand-descriptor{font-size:8px;letter-spacing:0}.header .brand img{width:32px;height:32px}.header .search-link{flex:0 0 30px;justify-content:center}.header .login-link,.header .menu-toggle{flex:0 0 40px;width:40px;min-width:40px}}

/* Planned tools stay discoverable, but visually distinct from working calculators. */
:is(.tool-card,.category-card,.quick-sections>a,.calculator-menu-group a).is-development{filter:grayscale(1);opacity:.58}
:is(.tool-card,.category-card,.quick-sections>a,.calculator-menu-group a).is-development:hover,:is(.tool-card,.category-card,.quick-sections>a,.calculator-menu-group a).is-development:focus-visible{filter:grayscale(1);opacity:.72}
