/* ابزارهای مهندسی سالار سازه — هماهنگ با توکن‌های site.css */
.ct-hero{padding:48px 0 24px}.ct-hero h1{margin:0 0 12px}
.ct-sub{color:var(--ink2);max-width:680px;line-height:1.9;margin:0 0 18px}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ct-chips li{font-size:12.5px;color:var(--ink2);border:1px solid rgba(0,0,0,.1);border-radius:999px;padding:5px 14px;background:var(--bg)}
.ct-main{padding:8px 0 56px}
.ct-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:stretch}
.ct-box{border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#fff;padding:24px}
.ct-form{display:flex;flex-direction:column;gap:20px}
.ct-form[hidden]{display:none!important}
.ct-form .ct-push{margin-top:auto}
.ct-form>*{min-width:0}
.ct-form fieldset{border:0;margin:0;padding:0;min-width:0}
.ct-form legend,.ct-lab{font-weight:700;font-size:14.5px;margin:0 0 10px;padding:0;display:block}
.ct-hint{font-size:12.5px;color:var(--ink3);margin:6px 0 0;line-height:1.8}
.ct-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ct-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ct-seg label,.ct-opt{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-width:0;min-height:50px;line-height:1.5;border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:10px 14px;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s;margin:0}
.ct-seg input,.ct-opt input{accent-color:var(--gold);width:17px;height:17px;margin:0;flex-shrink:0}
.ct-seg label:has(input:checked),.ct-opt:has(input:checked){border-color:var(--gold);background:rgba(166,40,46,.05)}
.ct-seg label:focus-within,.ct-opt:focus-within,.ct-in:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.ct-in{display:flex;align-items:center;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;overflow:hidden}
.ct-in input{flex:1;min-width:0;border:0;padding:13px 14px;font:inherit;font-size:16px;background:transparent;outline:0;text-align:center}
.ct-in span{padding:0 14px;color:var(--ink3);font-size:13px;white-space:nowrap}
.ct-sel{width:100%;box-sizing:border-box;padding:13px 12px;border:1px solid rgba(0,0,0,.15);border-radius:6px;font:inherit;background:#fff}
.ct-result [hidden],.ct-form [hidden]{display:none!important}
.ct-error{color:var(--gold);font-size:13px}.ct-error:empty{display:none}
.ct-result{display:flex;flex-direction:column;background:var(--ink);color:#fff;border-radius:8px;padding:26px}
.ct-result h2{font-size:14px;font-weight:500;color:rgba(255,255,255,.65);margin:0 0 6px}
.ct-big{font-size:2rem;font-weight:800;line-height:1.35;word-break:break-word}
.ct-big small{font-size:.9rem;font-weight:500;color:rgba(255,255,255,.7);margin-right:6px}
.ct-meta{margin:16px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:8px;font-size:13.5px}
.ct-meta div{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.85)}
.ct-meta b{color:#fff;font-weight:600;text-align:left}
.ct-actions{display:grid;gap:10px;margin-top:auto;padding-top:22px}
.ct-actions .btn{text-align:center;background:var(--gold);width:100%}
.ct-ghost{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:6px;padding:12px;font:inherit;font-size:13.5px;cursor:pointer}
.ct-ghost:hover{background:rgba(255,255,255,.1)}
.ct-warn{font-size:12.5px;line-height:1.9;color:rgba(255,255,255,.65);margin:14px 0 0}
.ct-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid rgba(0,0,0,.08);font-size:14px}
.ct-table th,.ct-table td{padding:12px 14px;text-align:right;border-bottom:1px solid rgba(0,0,0,.06)}
.ct-table th{background:var(--bg2);font-weight:700;font-size:13px}
.ct-table td small{display:block;color:var(--ink3);font-size:12px;margin-top:2px;line-height:1.7}
.ct-scroll{overflow-x:auto}
.ct-res-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ct-res-table td{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top}
.ct-res-table td:last-child{text-align:left;font-weight:600;white-space:nowrap}
.ct-res-table small{display:block;color:rgba(255,255,255,.55);font-weight:400;margin-top:2px;font-size:11.5px}
.ct-foot{font-size:12.5px;color:var(--ink3);line-height:1.9;margin:16px 0 0;max-width:820px}
.ct-sec{padding:48px 0}.ct-alt{background:var(--bg2)}
.ct-prose{max-width:780px;line-height:2;color:var(--ink2);font-size:15px}.ct-prose h2{color:var(--ink)}
.ct-lead{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:center}
.ct-lead h2{font-size:1.15rem;margin:0 0 8px}.ct-lead p{margin:0;color:var(--ink2);font-size:14px;line-height:1.9}
.ct-lrow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;gap:10px}
.ct-lrow input[type=text],.ct-lrow input[type=tel]{min-width:0;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:13px 14px;font:inherit;font-size:15px;background:#fff}
.ct-lrow input:focus{outline:2px solid var(--gold);outline-offset:2px}
.ct-lcode{margin-top:10px;grid-template-columns:minmax(0,1fr) auto}
.ct-lead [hidden]{display:none!important}
.ct-lcons{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:12.5px;color:var(--ink2);line-height:1.8;cursor:pointer}
.ct-lcons input{accent-color:var(--gold);margin-top:5px;flex-shrink:0}
.ct-lmsg{margin-top:10px;font-size:13.5px;min-height:1.4em;line-height:1.8}
.ct-lmsg.ct-bad{color:var(--gold)}.ct-lmsg.ct-good{color:#1b7a3e}
.ct-lres{background:transparent;border:0;color:var(--gold);cursor:pointer;font:inherit;font-size:13px;padding:0}
.ct-lres:disabled{color:var(--ink3);cursor:default}
/* چک‌لیست مدارک */
.ct-check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-check label{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:12px 14px;cursor:pointer;background:#fff;line-height:1.8;font-size:14px;margin:0}
.ct-check input{accent-color:var(--gold);margin-top:6px;flex-shrink:0;width:17px;height:17px}
.ct-check label:has(input:checked){background:var(--bg2);color:var(--ink3);text-decoration:line-through}
.ct-check small{display:block;color:var(--ink3);font-size:12.5px;text-decoration:none}
.ct-prog{height:8px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden;margin-top:10px}
.ct-prog i{display:block;height:100%;background:var(--gold-light);width:0;transition:width .2s}
/* مبدل مختصات */
.ct-tabs{display:flex;gap:6px;margin-bottom:18px}
.ct-tab{flex:1;border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:6px;padding:11px;font:inherit;font-size:14px;cursor:pointer}
.ct-tab[aria-selected=true]{border-color:var(--gold);background:rgba(166,40,46,.06);font-weight:700;color:var(--gold)}
.ct-code{direction:ltr;text-align:left;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px}
.ct-copy{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:6px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer;margin-right:8px}
/* هاب */
.ct-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ct-card{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#fff;padding:22px;transition:border-color .15s,transform .15s}
.ct-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.ct-card h3{margin:0;font-size:1.02rem}.ct-card p{margin:0;color:var(--ink2);font-size:13.5px;line-height:1.9;flex:1}
.ct-card .go{color:var(--gold);font-size:13.5px;font-weight:700}
.ct-card .links{display:flex;gap:8px;flex-wrap:wrap}
.ct-card .links a{border:1px solid var(--gold);color:var(--gold);border-radius:6px;padding:7px 14px;font-size:13px;font-weight:700}
.ct-card .links a:hover{background:var(--gold);color:#fff}
.ct-tag{align-self:flex-start;font-size:11.5px;background:var(--bg2);color:var(--ink2);border-radius:999px;padding:2px 10px}
@media(max-width:900px){.ct-layout,.ct-lead{grid-template-columns:1fr}.ct-lrow,.ct-lcode{grid-template-columns:1fr}}
@media(max-width:560px){.ct-row,.ct-seg{grid-template-columns:1fr}.ct-box{padding:18px}.ct-big{font-size:1.7rem}}
@media print{header,footer,nav,.ct-form,.ct-actions,.ct-lead,.ct-sec,.ct-chips{display:none!important}.ct-result{background:#fff;color:#000;border:1px solid #000}.ct-result *{color:#000!important}.ct-layout{display:block}}
