/* Shared styles for status page and free tool */
.sbar{background:#16293d;color:#f4f1ea;font-size:.86rem}
.sbar .wrap{display:flex;align-items:center;gap:14px;min-height:44px;flex-wrap:wrap;padding-block:6px}
.sbar b{font-weight:700;color:#f28c4b;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.sbar a{margin-left:auto;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.app-top{border-bottom:1px solid var(--line);background:var(--surface)}
.app-top-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.who{font-weight:500;color:var(--muted);font-size:.92rem}
.app-main{padding:44px 0 80px}
.app-h1{font:400 clamp(2.2rem,1.6rem + 2.4vw,3.4rem)/1.05 var(--display);letter-spacing:-.015em;margin:12px 0 10px}
.app-head .muted{max-width:56ch}
.prog{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:34px 0 30px}
.prog li{position:relative;padding:16px 14px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;gap:2px}
.prog li:before{content:"";height:5px;border-radius:999px;background:#dde2e7;margin-bottom:10px}
.prog li b{font-size:.95rem}
.prog li span{font-size:.82rem;color:var(--muted)}
.prog li.done:before{background:#3c9a5f}
.prog li.now{border-color:var(--accent);box-shadow:0 0 0 3px rgba(191,86,23,.12)}
.prog li.now:before{background:linear-gradient(90deg,var(--accent) 50%,#dde2e7 50%)}
.prog li.now span{color:var(--accent);font-weight:700}
@media (max-width:760px){.prog{grid-template-columns:1fr 1fr}.prog li:last-child{grid-column:span 2}}
.app-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.panel h2{font:700 1.15rem/1.3 var(--body);margin-bottom:6px}
.preview{padding:0;overflow:hidden}
.pv-shot{background:#0d1824;padding:14px 14px 0}
.pv-shot img{border-radius:8px 8px 0 0}
.pv-body{padding:24px}
.pv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ok-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#eef5ef;color:#2c5b3c;font-size:.92rem}
.chg{display:grid;gap:14px;margin-top:14px}
.chg label{display:grid;gap:6px;font-weight:500;font-size:.88rem;color:var(--muted)}
.chg select,.chg textarea,.tool-form input[type=text],.tool-form input[type=url]{font:500 1rem/1.4 var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
.chg button[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.todo,.files,.act{list-style:none;padding:0;display:grid;gap:2px;margin-top:10px}
.todo li{position:relative;padding:11px 0 11px 32px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.todo li:last-child,.files li:last-child,.act li:last-child{border-bottom:0}
.todo li:before{content:"";position:absolute;left:0;top:50%;width:20px;height:20px;border-radius:6px;border:2px solid #c3cad2;transform:translateY(-50%)}
.todo li.done{color:var(--muted)}
.todo li.done:before{background:#3c9a5f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;border-color:#3c9a5f}
.todo span{font-size:.85rem;color:var(--muted)}
.todo a{color:var(--accent);font-weight:700;font-size:.88rem;margin-left:auto}
.files li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.ft{font:700 .7rem/1 var(--body);letter-spacing:.08em;background:var(--band);color:var(--ink);padding:7px 8px;border-radius:6px}
.files em{margin-left:auto;font-style:normal;font-size:.82rem;color:var(--muted)}
.log{grid-column:1/-1}
.act li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.act b{color:var(--ink)}
.help{margin-top:26px;font-size:.92rem}
@media (max-width:900px){.app-grid{grid-template-columns:1fr}}
@media (max-width:560px){.who{display:none}}

/* Free tool */
.tool-main{padding:48px clamp(20px,4vw,48px) 90px}
.tool-head .muted{max-width:60ch;font-size:1.1rem}
.free{display:inline-block;background:#3c9a5f;color:#fff;padding:5px 9px;border-radius:999px;margin-right:8px;letter-spacing:.1em}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:36px;align-items:start}
.tool-form{display:grid;gap:14px}
.tool-form label{display:grid;gap:6px;font-weight:500;font-size:.88rem;color:var(--muted)}
.tool-form label.inline{display:flex;align-items:center;gap:10px}
.tool-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.tool-form input[type=file]{font:500 .9rem var(--body)}
.fs{border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px;display:grid;gap:12px}
.fs legend{float:none;width:auto;padding:0 6px;font-weight:700;font-size:.85rem;color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sw-row{display:flex;align-items:center;gap:10px;font-weight:500;font-size:.88rem;color:var(--muted)}
.sw-row span{margin-right:6px}
.sw{width:30px;height:30px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}
.sw.on{box-shadow:0 0 0 2px var(--ink)}
.card-wrap{position:sticky;top:96px}
.gcard{--c:#b4501f;aspect-ratio:5/7;background:#fffdf9;border-radius:6px;overflow:hidden;box-shadow:0 40px 70px -30px rgba(14,26,39,.55);display:flex;flex-direction:column;max-width:440px;margin:0 auto;container-type:inline-size}
.gc-photo{height:38%;background:var(--band)}
.gc-photo img{width:100%;height:100%;object-fit:cover}
.gc-body{flex:1;padding:6cqw 7cqw 7cqw;display:flex;flex-direction:column;border-top:2cqw solid var(--c)}
.gc-small{font:700 2.8cqw/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--c)}
.gc-name{font:400 8.4cqw/1.05 var(--display);margin:2.4cqw 0 2.6cqw;color:#14263a;overflow-wrap:anywhere}
.gc-welcome{font-size:3.6cqw;color:#4f5b68;line-height:1.4}
.gc-codes{display:flex;align-items:flex-start;gap:6cqw;margin-top:auto;padding-top:4cqw}
.gc-code{flex:1;display:grid;justify-items:start;align-content:start;gap:.8cqw;font-size:3cqw;color:#4f5b68;min-width:0}
.gc-code b{font-size:3.6cqw;color:#14263a;margin-top:1.4cqw}
.gc-code span{overflow-wrap:anywhere}


.center{text-align:center;margin-top:14px}
.upsell{margin-top:80px;display:grid;grid-template-columns:1.5fr auto;gap:30px;align-items:center;background:var(--forest);color:var(--cream);border-radius:18px;padding:clamp(26px,4vw,48px)}
.upsell .eyebrow{color:#f28c4b}
.upsell h2{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);margin:10px 0 12px;max-width:22ch}
.upsell .muted{color:#b3c2d1;max-width:52ch}
.up-price{display:grid;justify-items:center;gap:4px;text-align:center}
.up-price b{font:400 3rem/1 var(--display)}
.up-price span{color:#b3c2d1;margin-bottom:12px}
@media (max-width:900px){.tool-grid{grid-template-columns:1fr}.card-wrap{position:static}.upsell{grid-template-columns:1fr}.two{grid-template-columns:1fr}}

@media print{.no-print{display:none!important}}

/* Website checkup */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ck-form{display:flex;gap:10px;margin-top:32px;max-width:640px}
.ck-form input{flex:1;min-width:0;font:500 1.1rem/1.3 var(--body);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:15px 22px}
.ck-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(191,86,23,.15)}
.ck-form button[disabled]{opacity:.7;cursor:wait}
.ck-note{margin-top:10px}
.ck-msg{min-height:1.5em;margin-top:14px;font-weight:500;color:var(--muted)}
.ck-msg.err{color:#a3361b}
.ck-result{display:grid;grid-template-columns:320px 1fr;gap:18px;margin-top:20px;align-items:start}
.ck-score{position:sticky;top:96px;display:grid;justify-items:center;text-align:center;gap:6px}
.ck-score svg{width:180px;height:180px;transform:rotate(-90deg)}
.ck-score circle{fill:none;stroke-width:10}
.ck-score .trk{stroke:#e2e6ea}
.ck-score .val{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1)}
.ck-score .val[data-band=good]{stroke:#3c9a5f}
.ck-score .val[data-band=low]{stroke:#a3361b}
.ck-num{margin-top:-154px;height:128px;margin-bottom:26px;display:grid;align-content:center;justify-items:center}
.ck-num b{font:400 3.4rem/1 var(--display)}
.ck-num span{font-size:.82rem;color:var(--muted)}
.ck-host{font-weight:700;margin-top:18px;overflow-wrap:anywhere}
.ck-sum{color:var(--muted)}
.ck-groups{display:grid;gap:14px}
.ck-group h2{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ck-group h2 span{font-weight:500;font-size:.85rem;color:var(--muted)}
.ck-group ul{list-style:none;padding:0;margin-top:8px}
.ck-group li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.ck-group li i{width:22px;height:22px;border-radius:50%;margin-top:1px}
.ck-group li.ok i{background:#3c9a5f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.ck-group li.no i{background:#fff;border:2px solid var(--accent);position:relative}
.ck-group li.no i:after{content:"!";position:absolute;inset:0;display:grid;place-items:center;font:700 .78rem/1 var(--body);color:var(--accent)}
.ck-group li p{color:var(--muted);font-size:.94rem;margin-top:2px}
.ck-group li.no b{color:var(--ink)}
.ck-none{margin-top:56px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px)}
.ck-none h2{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);margin:10px 0}
.ck-list{list-style:none;padding:0;display:grid;gap:0}
.ck-list li{padding:11px 0 11px 30px;border-top:1px solid var(--line);position:relative;color:var(--muted);font-size:.95rem}
.ck-list li:before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:5px;border:2px solid #c3cad2}
.ck-list b{display:block;color:var(--ink)}
.upsell a:not(.btn){color:#f28c4b}
@media (max-width:900px){.ck-result,.ck-none{grid-template-columns:1fr}.ck-score{position:static}}
@media (max-width:560px){.ck-form{flex-direction:column}.ck-form .btn{width:100%}}
