/* Pricing and account pages. Colours come from the site tokens in style.css, so light and dark both work. */
.btn{display:inline-block;font:inherit;font-weight:700;color:var(--ink);background:var(--cta);border:1px solid var(--cta);border-radius:9px;padding:.55rem 1.1rem;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.06)}.btn:focus-visible,button.link:focus-visible,.plan a:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.btn[disabled]{opacity:.6;cursor:progress}
.btn.quiet{background:var(--card);color:var(--fg);border-color:var(--line);font-weight:600;padding:.35rem .8rem}
button.link{font:inherit;background:none;border:0;color:var(--acc);text-decoration:underline;cursor:pointer;padding:0 .2rem}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin:1.2rem 0}
.plan{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;display:flex;flex-direction:column}
.plan h2{margin:0 0 .3rem;font-size:1.15rem}.plan .price{font-weight:700;margin:.1rem 0 .6rem}.plan ul{margin:0 0 1rem;padding-left:1.1rem;flex:1}.plan li{margin:.2rem 0}.plan p:last-child{margin-bottom:0}
#portal label{display:block;font-weight:600;margin:.2rem 0}
#portal input,#portal select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--mutline);border-radius:8px;padding:.45rem .6rem;max-width:100%}
#portal input:focus-visible,#portal select:focus-visible{outline:3px solid var(--acc);outline-offset:1px}
#portal .row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}#portal .row input{flex:1 1 16rem}
#portal .field{margin:0 0 1rem}#portal .field p.small{margin:.35rem 0 0}#portal #licensee{width:28rem}
.msg{min-height:1.2em;margin:.4rem 0}.msg.bad{color:#b3261e;font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .msg.bad{color:#ff8a80}}
.lic{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin:0 0 1rem}
.lic h3{margin:0 0 .3rem}.lic textarea{width:100%;box-sizing:border-box;font:.85rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.5rem;resize:vertical;word-break:break-all}
.lic .acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 0}.lic dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .8rem;margin:.4rem 0}.lic dt{color:var(--mut)}.lic dd{margin:0;overflow-wrap:anywhere}
.testbadge{display:inline-block;font-size:.8rem;font-weight:700;border:1px solid var(--warn);color:var(--warn);border-radius:999px;padding:0 .5rem;margin-left:.4rem;vertical-align:middle}
.who{margin:.2rem 0 0}#devlink{margin:.6rem 0}
