.billing { max-width: 1000px; margin: auto; padding: 24px; box-sizing: border-box; }
.billing [hidden], .billing-admin[hidden] { display: none !important; }
.billing-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-bottom: 1px solid #cbd7dc; padding-bottom: 16px; margin-bottom: 24px; }
.billing-head h1 { font-size: 26px; margin: 0; }
.billing a { color: #136771; }
.billing-entry { display: inline-block; margin-top: 12px; color: #136771; font-weight: bold; }
.billing-auth { max-width: 440px; display: grid; gap: 16px; }
.billing-auth label, .billing-plan-editor label { display: grid; gap: 6px; }
.billing-modes { display: flex; gap: 24px; padding: 12px 0; }
.billing-modes label { display: flex; align-items: center; gap: 8px; }
.billing-modes input, .billing-admin input[type=checkbox] { width: auto; }
.billing-status { min-height: 24px; font-size: 15px; overflow-wrap: anywhere; }
.billing-plans { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 16px; margin: 20px 0; }
.billing-plan { border: 1px solid #ccd7db; border-radius: 6px; padding: 16px; display: grid; gap: 12px; }
.billing-plan h3, .billing-plan p { margin: 0; }
.billing-plan strong { font-size: 24px; }
.billing-table-wrap { overflow: auto; max-width: 100%; margin-top: 16px; }
.billing-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; }
.billing-table th, .billing-table td { padding: 10px; text-align: left; border-bottom: 1px solid #d4dfe3; overflow-wrap: anywhere; }
.billing-table button, .billing-table a { display: inline-block; font-size: 13px; margin: 4px; }
.billing-admin { border-top: 1px solid #ccd7db; border-bottom: 1px solid #ccd7db; padding: 16px 0; margin-bottom: 20px; }
.billing-admin summary { cursor: pointer; font-weight: bold; font-size: 18px; }
.billing-admin-content { padding-top: 16px; }
.billing-plan-editor { display: grid; grid-template-columns: minmax(100px,2fr) minmax(80px,1fr) 90px 40px; gap: 12px; align-items: end; margin: 12px 0; }
.billing-plan-editor input { width: 100%; box-sizing: border-box; }
.billing-tools { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0; }
.billing-test { color: #9b3c00; font-weight: bold; }
@media(max-width:600px) { .billing { padding: 16px; } .billing-head h1 { font-size: 22px; } .billing-plan-editor { grid-template-columns: 1fr 1fr; } }
