/* Certificate request checker, on the shared navy direction (/assets/site.css). Form fields and the results table keep
   their lines; everything else is separated by space and tone. */
.tool-hero{padding-bottom:clamp(48px,6vw,88px)}
.tool-hero h1{font-size:clamp(32px,4vw + 8px,72px)}
.tool-hero .answer{max-width:38rem}
.tool{padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,96px)}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.pane{background:#fff;padding:clamp(24px,3vw,40px)}
@media (min-width:901px){.pane.contract{position:sticky;top:24px}}
.pane h2{font:400 var(--s-head)/1.08 var(--serif);letter-spacing:-.015em;margin:0 0 10px}
.hint{color:var(--muted);margin:0 0 22px;max-width:34rem}
.note,.meta{font-size:var(--s-small);color:var(--muted);margin:12px 0 0}
.file{position:relative;display:inline-block;background:var(--surface);font-weight:700;padding:13px 18px;cursor:pointer;margin-bottom:16px;transition:background .15s}
.file:hover{background:var(--surface-2)}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}.file:focus-within{outline:3px solid #8fb0f0}
textarea,.pane input:not([type=checkbox]),.client input{font:16px/1.5 var(--sans);color:var(--ink);background:#fff;border:2px solid var(--surface-2);border-radius:0;padding:12px 14px;width:100%}
textarea{resize:vertical;min-height:360px}
textarea:focus,.pane input:focus{outline:none;border-color:var(--navy)}
.client{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:22px;font-weight:700}
fieldset{border:0;margin:0 0 20px;padding:0}
legend{font-weight:700;padding:0;margin-bottom:10px}
fieldset label{display:block;font-size:var(--s-small);color:var(--muted);margin-bottom:10px}
fieldset label input{margin-top:4px;color:var(--ink)}
.check{display:flex!important;gap:10px;align-items:flex-start;color:var(--ink)!important;font-size:var(--s-small)}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy);flex:none}
.ends{columns:2;column-gap:24px}.ends legend{column-span:all}.ends label{break-inside:avoid}
.link{background:none;border:0;padding:0;font:700 var(--s-small) var(--sans);color:var(--navy);text-decoration:underline;cursor:pointer}
.go-row{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.go{background:var(--navy);color:#fff;border:0;padding:20px 30px;font:700 18px/1 var(--sans);cursor:pointer;transition:background .15s,transform .15s}
.go:hover{background:#1d2f52}.go:active{transform:translateY(1px)}.go:disabled{opacity:.6;cursor:wait}
.status{color:var(--muted)}.status.err{color:var(--bad);font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.results{padding:clamp(56px,7vw,112px) 0;background:#fff}
.res-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}
.res-head h2{font:400 var(--s-head)/1.08 var(--serif);letter-spacing:-.015em;margin:0 0 10px;max-width:24ch}
.res-head p{margin:0;color:var(--muted);max-width:44rem}
.score{margin:0 0 56px}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.nums div{padding:22px 24px;background:var(--surface)}.nums div.bad{background:var(--bad-bg)}.nums div.ok{background:var(--ok-bg)}
.nums b{display:block;font:400 clamp(44px,4vw + 16px,76px)/1 var(--serif);letter-spacing:-.02em}
.nums span{font-weight:700}
.score p{margin:0;color:var(--muted)}
.block{margin:0 0 56px}
.block h3{font:400 30px/1.15 var(--serif);margin:0 0 16px}
.small{font-size:var(--s-small);color:var(--muted);margin:12px 0 0}
.tbl{overflow-x:auto}
.tbl table{width:100%;border-collapse:collapse;font-size:var(--s-small)}
.tbl th{text-align:left;font-weight:700;padding:10px 12px;border-bottom:2px solid var(--ink);white-space:nowrap}
.tbl td{padding:12px;border-bottom:1px solid var(--surface-2);vertical-align:top}
.tbl td.req b{display:block}.tbl td.q{max-width:40ch;color:#333}
.tbl q{quotes:"\201C" "\201D"}
.unv{display:block;color:var(--warn);font-size:14px;font-weight:700;margin-top:4px}
.pill{display:inline-block;padding:3px 10px;font-size:14px;font-weight:700;white-space:nowrap}
.s-ok{background:var(--ok-bg);color:var(--ok)}.s-short,.s-missing{background:var(--bad-bg);color:var(--bad)}.s-unknown{background:var(--surface);color:var(--muted)}
.end{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:14px 16px}.end:nth-child(odd){background:var(--surface)}
.end span{color:var(--muted);font-size:var(--s-small)}
.flags{list-style:none;padding:0;margin:0}.flags li{padding:2px 0 2px 18px;margin:0 0 26px;border-left:4px solid var(--surface-2)}.flags li.h{border-left-color:var(--bad)}
.flags b{display:block;font-size:19px;margin-bottom:4px}.flags .sev{font-size:14px;margin-right:8px}
.sev.high{color:var(--bad)}.sev.medium{color:var(--warn)}.sev.low{color:var(--muted)}
.flags q{display:block;color:#444;font-size:var(--s-small);margin-top:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.ticks{padding-left:1.1em;margin:0}.ticks li{margin:0 0 10px}
.drafts .draft{margin:20px 0 0}
.draft h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:18px}
.draft pre{white-space:pre-wrap;font:var(--s-small)/1.6 var(--sans);background:var(--surface);padding:18px 20px;margin:0}
.copy{background:none;border:0;font:700 var(--s-small) var(--sans);color:var(--navy);text-decoration:underline;cursor:pointer}
@media (max-width:900px){.tool-grid,.two{grid-template-columns:minmax(0,1fr)}.ends{columns:1}.res-head{flex-direction:column}.nums{grid-template-columns:1fr}textarea{min-height:240px}}
@media print{.tool,.tool-hero,.tool-handoff,.copy,#print{display:none!important}.results{padding:0}.draft pre{background:#fff}} /* taste-skill-ignore */
