/* Semantic shared catalog/tool compatibility styles. Legacy class names remain only as stable DOM contracts. */
:root{--cpf101-line:var(--cp87-line,#dce2e8);--cpf101-soft:var(--cp87-soft,#f5f7f9);--cpf101-panel:var(--cp87-panel,#fff);--cpf101-accent:var(--cp87-accent,#1262d6);--cpf101-text:var(--cp87-text,#17202a);--cpf101-muted:var(--cp87-muted,#65717d)}
.cpf101-page{max-width:1180px;margin:0 auto}.cpf101-page .cp87-pagehead{margin-bottom:1.15rem}.cpf101-form{border:1px solid var(--cpf101-line);border-radius:14px;background:var(--cpf101-panel);padding:1rem;margin:0 0 1.4rem;box-shadow:none}.cpf101-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.cpf101-field,.cpf101-check{display:flex;flex-direction:column;gap:.38rem;border:1px solid var(--cpf101-line);border-radius:12px;padding:.8rem;background:var(--cpf101-panel);min-width:0}.cpf101-field>span,.cpf101-check strong{font-size:.9rem;font-weight:700}.cpf101-field small,.cpf101-check small{display:block;margin-top:.2rem;color:var(--cpf101-muted);font-size:.78rem;line-height:1.4}.cpf101-field input,.cpf101-field select{width:100%;min-height:42px;border:1px solid var(--cpf101-line);border-radius:9px;padding:.55rem .65rem;background:#fff;color:inherit;font:inherit;box-shadow:none}.cpf101-inputwrap{display:flex;align-items:center;gap:.45rem}.cpf101-inputwrap input{min-width:0}.cpf101-inputwrap>span{white-space:nowrap;font-size:.82rem;color:var(--cpf101-muted)}.cpf101-check{flex-direction:row;align-items:flex-start;gap:.65rem;cursor:pointer}.cpf101-check input[type=checkbox]{width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--cpf101-accent)}.cpf101-submit{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.cpf101-sectionhead{max-width:760px;margin:0 0 .9rem}.cpf101-sectionhead>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cpf101-muted);font-weight:700}.cpf101-sectionhead h2{margin:.22rem 0 .32rem;font-size:clamp(1.45rem,2vw,2rem)}.cpf101-sectionhead p{margin:0;color:var(--cpf101-muted)}.cpf101-resultgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cpf101-result{border:1px solid var(--cpf101-line);border-radius:14px;padding:1rem;background:var(--cpf101-panel);box-shadow:0 10px 30px rgba(0,0,0,.045);display:flex;flex-direction:column;min-width:0}.cpf101-result.is-best{border-width:2px}.cpf101-resulttop{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.cpf101-rank{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cpf101-muted);font-weight:700}.cpf101-result h3{margin:.28rem 0 .45rem;font-size:1.18rem;letter-spacing:-.01em}.cpf101-result p{margin:0;color:var(--cpf101-muted);font-size:.9rem;line-height:1.48}.cpf101-fit{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto}.cpf101-fit strong{font-size:.78rem;white-space:nowrap}.cpf101-fit span{font-size:1rem;font-weight:800}.cpf101-facts{display:grid;gap:0;margin:.9rem 0;border-top:1px solid var(--cpf101-line)}.cpf101-facts>div{display:flex;justify-content:space-between;gap:.8rem;padding:.52rem 0;border-bottom:1px solid var(--cpf101-line);font-size:.82rem}.cpf101-facts span{color:var(--cpf101-muted)}.cpf101-facts strong{text-align:right}.cpf101-why,.cpf101-warnings{font-size:.84rem;margin:.35rem 0}.cpf101-why>strong,.cpf101-warnings>strong{display:block;margin-bottom:.25rem}.cpf101-why ul,.cpf101-warnings ul{margin:.2rem 0 0;padding-left:1.05rem}.cpf101-why li,.cpf101-warnings li{margin:.22rem 0;line-height:1.4}.cpf101-warnings{padding:.65rem .7rem;border-radius:10px;background:var(--cpf101-soft)}.cpf101-resultfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:.85rem;font-size:.8rem}.cpf101-resultfoot span{color:var(--cpf101-muted)}.cpf101-resultfoot a,.cpf101-cardfoot a{font-weight:700}.cpf101-compare{margin:1.5rem 0}.cpf101-tablewrap{overflow:auto;border:1px solid var(--cpf101-line);border-radius:14px}.cpf101-tablewrap table{width:100%;border-collapse:collapse;min-width:800px;background:var(--cpf101-panel)}.cpf101-tablewrap th,.cpf101-tablewrap td{padding:.72rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--cpf101-line);font-size:.84rem}.cpf101-tablewrap thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cpf101-muted)}.cpf101-tablewrap tr:last-child th,.cpf101-tablewrap tr:last-child td{border-bottom:0}.cpf101-excluded{border:1px solid var(--cpf101-line);border-radius:12px;padding:.75rem .85rem;margin:1rem 0;background:var(--cpf101-soft)}.cpf101-excluded summary{cursor:pointer;font-weight:700}.cpf101-excludedgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.7rem}.cpf101-excluded article{background:var(--cpf101-panel);border-radius:10px;padding:.7rem;border:1px solid var(--cpf101-line)}.cpf101-excluded ul{margin:.4rem 0 0;padding-left:1rem;font-size:.82rem}.cpf101-empty{padding:1rem;border:1px dashed var(--cpf101-line);border-radius:14px}.cpf101-empty h3{margin-top:0}.cpf101-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.35rem}.cpf101-start h2{grid-column:1/-1;margin:0}.cpf101-start>div{display:flex;gap:.7rem;border:1px solid var(--cpf101-line);border-radius:12px;padding:.8rem}.cpf101-start>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cpf101-soft);font-weight:800;flex:0 0 auto}.cpf101-start p{margin:0;font-size:.86rem;line-height:1.45}.cpf101-data{font-size:.78rem;color:var(--cpf101-muted);margin:1rem 0 0}.cpf101-cataloggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.4rem}.cpf101-catalogcard{border:1px solid var(--cpf101-line);border-radius:14px;padding:1rem;background:var(--cpf101-panel);display:flex;flex-direction:column;box-shadow:none}.cpf101-catalogcard>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cpf101-muted);font-weight:700}.cpf101-catalogcard h3{margin:.28rem 0 .45rem}.cpf101-catalogcard p{margin:0 0 .7rem;color:var(--cpf101-muted);font-size:.88rem;line-height:1.48}.cpf101-catalogcard dl{margin:0}.cpf101-catalogcard dl>div{display:flex;justify-content:space-between;gap:.7rem;border-top:1px solid var(--cpf101-line);padding:.48rem 0;font-size:.8rem}.cpf101-catalogcard dt{color:var(--cpf101-muted)}.cpf101-catalogcard dd{margin:0;text-align:right;font-weight:600}.cpf101-cardfoot{margin-top:auto;padding-top:.7rem;display:flex;justify-content:space-between;gap:.7rem;align-items:flex-end;font-size:.78rem}.cpf101-cardfoot span{color:var(--cpf101-muted)}.cpf101-catalog{margin-top:1.4rem}
/* One visual language for legacy network product finders. */
.cp86-toolhost .sw81-result,.cp86-toolhost .card{border:1px solid var(--cpf101-line)!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(0,0,0,.045)!important;background:var(--cpf101-panel)!important}.cp86-toolhost .sw81-result--hero{border-width:2px!important;background:var(--cpf101-panel)!important}.cp86-toolhost .sw81-panel,.cp86-toolhost .form,.cp86-toolhost .sw81-summary{border:1px solid var(--cpf101-line)!important;border-radius:14px!important;box-shadow:none!important}.cp86-toolhost .sw81-stepnav,.cp86-toolhost .steps{border-radius:12px!important}.cp86-toolhost .sw81-result-grid,.cp86-toolhost .results{gap:1rem!important}.cp86-pagehead,.cp87-pagehead{max-width:none}.cp86-kicker{font-size:.76rem;letter-spacing:.08em;font-weight:700;color:var(--cpf101-muted)}
/* Public pages must not expose implementation/version signatures. */
.cp88-signature,.cp89-signature,.cp90-signature,[data-public-technical-meta]{display:none!important}
@media(max-width:980px){.cpf101-fields,.cpf101-resultgrid,.cpf101-cataloggrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cpf101-start{grid-template-columns:1fr}.cpf101-start h2{grid-column:auto}}
@media(max-width:680px){.cpf101-fields,.cpf101-resultgrid,.cpf101-cataloggrid,.cpf101-excludedgrid{grid-template-columns:1fr}.cpf101-resulttop{display:block}.cpf101-fit{align-items:flex-start;margin-top:.55rem}.cpf101-form{padding:.75rem}.cpf101-page .cp87-pagehead{margin-bottom:.85rem}}

.cpf101-topicbar{padding-top:1rem!important;padding-bottom:0!important}
