/* CTS Portal — uses Automatic.css brand variables when present, with fallbacks */
:root{--cts-action:#1f5bd8;--cts-base:#0b1d3f;--cts-tint:#eef5ff;--cts-radius:var(--radius,1em)}
.cts-plans,.cts-form,.cts-grid,.cts-card,.cts-notice{color:var(--cts-base)}
.cts-plans,.cts-form,.cts-grid,.cts-login,.cts-notice{margin-left:auto;margin-right:auto}
.cts-plans,.cts-grid{max-width:1100px;padding:0 1em}
.cts-plan:nth-child(2){border-color:var(--cts-action);box-shadow:0 10px 30px rgba(10,36,52,.12)}
.cts-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5em;margin:1.5em 0}
.cts-plan,.cts-card{border:1px solid rgba(0,0,0,.12);border-radius:var(--cts-radius);padding:1.5em;background:#fff}
.cts-plan h3,.cts-card h2,.cts-card h3{margin-top:0}
.cts-price{font-size:1.75em;font-weight:700;margin:.25em 0 1em}
.cts-plan ul{padding-left:1.1em;margin:0 0 1.25em}
.cts-btn{display:inline-block;padding:.8em 1.4em;line-height:1.2;border-radius:8px;border:0;background:var(--cts-action);color:#fff!important;text-decoration:none;font-weight:600;cursor:pointer;font-size:1em!important}
.cts-btn:hover{filter:brightness(1.08)}
.cts-btn-secondary{background:#fff;color:var(--cts-action)!important;border:1px solid var(--cts-action)}
.cts-form{max-width:560px;display:grid;gap:1em}
.cts-form label{display:grid;gap:.35em;font-weight:600}
.cts-form input,.cts-form select{padding:.65em .75em;border:1px solid rgba(0,0,0,.25);border-radius:8px;font:inherit;font-weight:400;width:100%;box-sizing:border-box}
.cts-form .cts-check{display:flex;gap:.5em;align-items:flex-start;font-weight:400}
.cts-form .cts-check input{width:auto;margin-top:.3em}
.cts-row{display:grid;grid-template-columns:1fr 1fr;gap:1em}
@media (max-width:600px){.cts-row{grid-template-columns:1fr}}
.cts-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cts-notice{padding:.9em 1em;border-radius:8px;background:var(--cts-tint);margin:0 0 1.25em}
.cts-error{background:#fdecec;color:#8a1c1c}
.cts-success{background:#e8f6ec;color:#17602d}
.cts-notice ul{margin:0;padding-left:1.1em}
.cts-small{font-size:.875em;opacity:.8}
.cts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25em;margin-bottom:1.25em}
.cts-wide{grid-column:1/-1}
.cts-stat{font-size:2.25em;font-weight:700;line-height:1.1}
.cts-badge{display:inline-block;padding:.2em .6em;border-radius:999px;font-size:.8em;font-weight:600;background:#eee}
.cts-active{background:#e8f6ec;color:#17602d}.cts-past_due,.cts-error{background:#fff4e5;color:#8a4b00}.cts-suspended,.cts-canceled{background:#fdecec;color:#8a1c1c}
.cts-table{width:100%;border-collapse:collapse}.cts-table th,.cts-table td{text-align:left;padding:.5em;border-bottom:1px solid rgba(0,0,0,.08)}
.cts-inline{display:inline}
.cts-login{max-width:420px}.cts-login input[type=text],.cts-login input[type=password]{width:100%;padding:.6em;box-sizing:border-box}

.cts-form{padding:0 1em}.cts-login{margin-top:2em}.cts-plan .cts-btn{width:100%;text-align:center;box-sizing:border-box}
.cts-annual{font-size:.85em;color:var(--cts-action);font-weight:600;margin:-.6em 0 1em}
.cts-interval{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:.6em 1em;display:grid;gap:.4em}
.cts-interval legend{font-weight:600;padding:0 .3em}
/* Signup: terms first */
.cts-signup{max-width:760px;margin:0 auto;padding:0 1em;color:var(--cts-base)}
.cts-step{display:flex;align-items:center;gap:.6em;font-size:1.2em;margin:2em 0 .8em}
.cts-step span{display:inline-grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:var(--cts-action);color:#fff;font-size:.8em}
.cts-plan-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8em}
.cts-plan-option{border:2px solid rgba(11,29,63,.12);border-radius:12px;padding:1em;cursor:pointer;display:grid;gap:.2em;background:#fff}
.cts-plan-option input{position:absolute;opacity:0;pointer-events:none}
.cts-plan-option strong{font-size:1.1em}
.cts-plan-option em{font-style:normal;font-size:.85em;color:var(--cts-action);font-weight:600}
.cts-plan-option.is-selected,.cts-plan-option:has(input:checked){border-color:var(--cts-action);box-shadow:0 6px 20px rgba(31,91,216,.15)}
.cts-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1em;margin-bottom:1em}
.cts-rates{margin:.5em 0 1em}.cts-rates td:last-child,.cts-rates th:last-child{text-align:right;white-space:nowrap}
.cts-terms{margin:0;padding-left:1.1em;display:grid;gap:.45em;font-size:.92em;line-height:1.5}
.cts-summary .cts-price{margin:0;font-size:1.5em}
.cts-signup .cts-form{max-width:none;padding:0}
.cts-signup .cts-interval legend{display:none}
@media (max-width:560px){.cts-summary-grid{grid-template-columns:1fr}}
.cts-plan-option,.cts-plan-option strong,.cts-plan-option span{color:var(--cts-base)!important;opacity:1}
.cts-inv-paid{background:#e8f6ec;color:#17602d}.cts-inv-open{background:#fff4e5;color:#8a4b00}
.cts-statement h3{margin:1.4em 0 .4em;font-size:1.05em}
.cts-statement .cts-total td{border-top:2px solid var(--cts-base)}
.cts-months summary{cursor:pointer;font-weight:600;margin:1em 0 .4em}
.cts-statement .cts-btn{margin-top:.5em}
/* Account page: respect the site max width */
.cts-account{max-width:1140px;margin:2.5em auto 3em;padding:0 1.25em;box-sizing:border-box}
.cts-account .cts-grid{padding:0;max-width:none}
.cts-account .cts-login{margin-left:auto;margin-right:auto}
/* Payment methods */
.cts-card-actions{text-align:right;white-space:nowrap}
.cts-card-actions form{margin-left:.6em}
.cts-link-btn{background:none;border:0;padding:0;color:var(--cts-action);font:inherit;font-size:.9em;font-weight:600;cursor:pointer}
.cts-link-btn:hover{text-decoration:underline}
.cts-card-add{display:flex;flex-wrap:wrap;gap:.6em;margin:1em 0 .5em}
.cts-profile-form{max-width:none;padding:0}.cts-profile-form input[disabled]{background:#f4f6f9;color:#555}
