.current-plan{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.current-plan h2{margin:0 0 8px;font-size:18px}.tier-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:bold;margin-bottom:12px}.tier-free{background:var(--border-light);color:var(--primary-hover)}.tier-pro{background:var(--success-bg);color:var(--success-text)}.tier-business{background:var(--warning-bg);color:var(--warning-text)}.usage-bar{background:var(--border);border-radius:6px;height:8px;margin:12px 0;overflow:hidden}.usage-fill{height:100%;border-radius:6px;transition:width .3s}.usage-fill.low{background:var(--success)}.usage-fill.mid{background:var(--warning)}.usage-fill.high{background:var(--danger)}.upgrade-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.upgrade-modal-overlay[hidden]{display:none}.upgrade-modal{background:var(--background);border-radius:14px;padding:32px;max-width:420px;width:100%;position:relative;box-shadow:0 8px 32px var(--shadow);margin:auto}.upgrade-close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:24px;color:var(--text-light);cursor:pointer;line-height:1;padding:4px}.upgrade-close:hover{color:var(--text)}.upgrade-modal h2{margin:0 0 4px;font-size:22px;color:var(--primary)}.upgrade-subtitle{margin:0 0 20px;font-size:14px;color:var(--text-light)}.upgrade-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.upgrade-option{cursor:pointer;display:block}.upgrade-option input{position:absolute;opacity:0;pointer-events:none}.upgrade-option-card{border:2px solid var(--border);border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:border-color .15s,background .15s}.upgrade-option.selected .upgrade-option-card{border-color:var(--primary);background:var(--primary-bg)}.upgrade-option:hover .upgrade-option-card{border-color:var(--border-hover)}.upgrade-option-name{font-size:15px;font-weight:bold;color:var(--text)}.upgrade-save-badge{font-size:11px;font-weight:normal;color:var(--success);background:var(--success-bg);padding:2px 8px;border-radius:10px;margin-left:6px}.upgrade-option-price{font-size:20px;font-weight:bold;color:var(--primary)}.upgrade-option-price small{font-size:13px;font-weight:normal;color:var(--text-light)}.upgrade-continue{display:block;width:100%;text-align:center;padding:12px;border-radius:8px;background:var(--primary);color:var(--background);font-size:15px;font-weight:bold;text-decoration:none;transition:opacity .15s}.upgrade-continue:hover{opacity:.9}.upgrade-provider-note{text-align:center;font-size:12px;color:var(--text-light);margin:12px 0 0}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:12px}@media(max-width:700px){.plans{grid-template-columns:1fr}}.plan-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:24px;text-align:center;position:relative}.plan-card.current{border-color:var(--primary)}.plan-card.current::after{content:'Current';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--background);padding:3px 14px;border-radius:12px;font-size:12px;font-weight:bold}.plan-name{font-size:20px;font-weight:bold;margin:0 0 4px}.plan-price{font-size:32px;font-weight:bold;color:var(--primary);margin:12px 0}.plan-price small{font-size:14px;font-weight:normal;color:var(--text-light)}.plan-features{list-style:none;padding:0;margin:16px 0;text-align:left}.plan-features li{padding:6px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.plan-features li:last-child{border-bottom:0}.plan-features li::before{content:'✓ ';color:var(--success);font-weight:bold}.plan-btn{display:inline-block;width:100%;padding:10px;border-radius:8px;border:0;cursor:pointer;font-size:14px;font-weight:bold;text-decoration:none;text-align:center;margin-top:8px}.plan-btn-upgrade{background:var(--primary);color:var(--background)}.plan-btn-upgrade:hover{opacity:.9}.plan-btn-current{background:var(--border-light);color:var(--primary-hover);cursor:default}.plan-btn-free{background:var(--border-light);color:var(--primary-hover)}.plan-btn-downgrade{background:var(--background);color:var(--primary);border:2px solid var(--primary)}.plan-btn-downgrade:hover{background:var(--primary-bg)}.provider-note{text-align:center;color:var(--text-light);font-size:13px;margin:0 0 24px}.alert{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.alert-error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.alert-info{background:var(--border-light);border:1px solid var(--primary-border);color:var(--primary)}.subscription-info{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.subscription-info h2{margin:0 0 12px;font-size:18px}.subscription-info p{margin:6px 0;color:var(--text)}.subscription-info .label{font-weight:bold;color:var(--text)}.history{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.history h2{margin:0 0 12px;font-size:18px}.history table{width:100%;border-collapse:collapse;font-size:13px}.history th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--border);color:#555}.history td{padding:8px 12px;border-bottom:1px solid var(--border-soft)}.history td .tier-badge{font-size:11px;padding:2px 10px;margin:0}.footer{text-align:center;padding:20px;color:#999;font-size:13px}.footer a{color:var(--primary-hover);text-decoration:none}.footer a:hover{text-decoration:underline}@media(max-width:600px){.history table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.current-plan,.subscription-info,.history{padding:16px}.upgrade-modal{padding:20px;max-width:calc(100vw - 32px);box-sizing:border-box}.upgrade-modal-overlay{padding:16px}}