.upgrade-modal-content{width:96vw;max-width:780px;overflow-y:auto}.upgrade-modal-content h3{text-align:center;color:var(--text-primary);margin-bottom:16px}.billing-toggle{background:#27272acc;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:fit-content;margin:0 auto 24px;padding:4px;display:flex}.billing-toggle-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;opacity:.85;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 20px;font-size:14px;font-weight:500;transition:color .2s,background .2s,box-shadow .2s,font-weight .2s;display:flex}.billing-toggle-btn:hover:not(.active){color:var(--text-secondary);opacity:1}.billing-toggle-btn.active{background:var(--bg-panel);color:var(--text-primary);opacity:1;font-weight:600;box-shadow:0 2px 8px #0000004d}.billing-toggle-badge{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.purchase-modal-content{max-width:480px}.purchase-modal-content h3{text-align:center;color:var(--text-primary);margin-bottom:16px}.history-modal-content{background:#111113fa;max-height:min(80vh,620px);overflow:hidden}.history-modal-content h3{color:var(--text-primary);margin-bottom:16px}
.upgrade-modal-cancel-row{text-align:center;margin-top:12px}.upgrade-modal-cancel-link{color:var(--text-tertiary,#71717a);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;-webkit-text-decoration:underline #ffffff26;text-decoration:underline #ffffff26;transition:color .2s,text-decoration-color .2s;display:inline-block}.upgrade-modal-cancel-link:hover{color:var(--text-secondary,#a1a1aa);text-decoration-color:#ffffff59}.cancel-subscription-actions{justify-content:space-between;align-items:center;gap:16px;padding:24px 32px 32px;display:flex}.cancel-subscription-actions .btn-primary{order:2;min-width:180px;padding:10px 24px}.cancel-subscription-actions .cancel-link{color:var(--text-secondary,#a1a1aa);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;order:1;padding:4px 2px;font-size:13px;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40;transition:color .2s}.cancel-subscription-actions .cancel-link:hover{color:var(--text-primary,#fff);text-decoration-color:#ffffff80}.cancel-subscription-actions .cancel-link.is-loading{opacity:.5;pointer-events:none}
.upgrade-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px;display:grid}.upgrade-card{border-radius:var(--radius-lg);text-align:left;transition:border-color .3s var(--ease-premium), background .3s var(--ease-premium), transform .4s var(--ease-spring), box-shadow .3s var(--ease-premium);cursor:pointer;background:#18181be6;border:1px solid #ffffff14;flex-direction:column;align-items:flex-start;padding:20px 16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.upgrade-card:hover{background:#27272af2;border-color:#ffffff26;transform:translateY(-3px);box-shadow:0 12px 32px #0000004d,inset 0 1px #ffffff0f}.upgrade-card.featured{background:#10b9810a;border-color:#10b9814d;box-shadow:0 0 0 1px #10b98126,0 12px 32px #10b9811a,inset 0 1px #10b98114}.upgrade-card.featured:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-primary), #06b6d4, transparent);height:2px;position:absolute;top:0;left:0;right:0}.upgrade-card.current{opacity:.75;background:#18181b80;border-color:#fff3}.tier-name{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.tier-price-main{letter-spacing:-1.5px;color:var(--text-primary);margin-bottom:2px;font-size:30px;font-weight:800;line-height:1}.tier-price-main .currency{vertical-align:top;margin-top:5px;font-size:16px;font-weight:600;display:inline-block}.tier-price-main .unit{color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:400}.tier-price-sub{color:var(--text-muted);opacity:.5;min-height:16px;margin-bottom:14px;font-size:11px}.tier-points-row{color:var(--accent-primary);align-items:center;gap:4px;margin-bottom:14px;font-size:14px;font-weight:800;display:flex}.tier-points-row:before{content:"";background:var(--accent-primary);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.tier-upgrade-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background .25s var(--ease-premium), transform .35s var(--ease-spring), box-shadow .3s var(--ease-premium);color:var(--text-primary);background:#ffffff14;border:none;margin-bottom:14px;padding:9px 12px;font-size:13px;font-weight:600}.tier-upgrade-btn:hover{background:#ffffff24;transform:translateY(-1px)}.tier-upgrade-btn.primary-upgrade{background:var(--accent-primary);color:#000}.tier-upgrade-btn.primary-upgrade:hover{background:#0da670;transform:translateY(-2px);box-shadow:0 8px 24px #10b98159}.tier-upgrade-btn.disabled-btn{color:var(--text-muted);cursor:default;pointer-events:none;background:#ffffff0d}.tier-feat-list{flex-direction:column;gap:7px;width:100%;margin:0;padding:0;list-style:none;display:flex}.tier-feat-list li{color:var(--text-secondary);align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;display:flex}.tier-feat-list li:before{content:"✓";color:var(--accent-primary);flex-shrink:0;margin-top:1px;font-size:11px;font-weight:700}.tier-feat-list li.dimmed{opacity:.35}.tier-feat-list li.has-subs{flex-wrap:wrap}.tier-feat-list li .tier-feat-text{flex:auto;min-width:0}.tier-feat-list .tier-feat-subs{flex-direction:column;flex:0 0 100%;gap:3px;margin:6px 0 2px 18px;padding:0;list-style:none;display:flex}.tier-feat-list .tier-feat-subs li{color:#fff3d1;letter-spacing:.01em;background:linear-gradient(90deg,#ffc85a1a 0%,#ffc85a05 80%);border:1px solid #ffc85a38;border-radius:999px;padding:2px 8px 2px 30px;font-size:11px;font-weight:600;line-height:1.4;position:relative}.tier-feat-list .tier-feat-subs li:before{content:"陆";color:#fff;letter-spacing:0;background:linear-gradient(135deg,#e53e3e 0%,#c53030 100%);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;line-height:1;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 0 6px #e53e3e8c,inset 0 1px #ffffff4d}@media (max-width:640px){.tier-feat-list .tier-feat-subs li{padding-left:28px;font-size:10.5px}.tier-feat-list .tier-feat-subs li:before{width:18px;height:18px;font-size:10px}}.tier-feat-list .tier-feat-subs li{box-sizing:border-box;background:linear-gradient(90deg,#ffa03c2e,#ff648c1a);border:1px solid #ffb45a4d;border-radius:6px;width:190px;margin-left:6px;padding:4px 10px 4px 30px;font-size:11.5px;line-height:1.4}.tier-feat-list .tier-feat-subs li:before{content:"";background:linear-gradient(90deg,#0000 0 6px,#fff3d1f2 6px 9px,#0000 9px),linear-gradient(#f87171 0 5px,#dc2626 5px 100%);border:1px solid #fff3d18c;border-radius:3px;width:16px;height:14px;left:6px;box-shadow:0 0 7px #e53e3e8c,inset 0 1px #ffffff4d}.tier-feat-list .tier-feat-subs li:after{content:"";background:linear-gradient(90deg,#dc2626 0 45%,#fff3d1f2 45% 58%,#dc2626 58% 100%);border:1px solid #fff3d1cc;border-bottom:0;border-radius:6px 6px 0 0;width:12px;height:5px;position:absolute;top:50%;left:8px;transform:translateY(-11px)}@media (max-width:640px){.tier-feat-list .tier-feat-subs li:before{background:linear-gradient(90deg,#0000 0 5px,#fff3d1f2 5px 8px,#0000 8px),linear-gradient(#f87171 0 5px,#dc2626 5px 100%);width:15px;height:13px;left:5px}.tier-feat-list .tier-feat-subs li:after{width:11px;height:5px;left:7px}}
.purchase-grid{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.pack-card{border-radius:var(--radius-md);text-align:center;cursor:pointer;min-width:100px;transition:border-color .25s var(--ease-premium), background .25s var(--ease-premium), transform .35s var(--ease-spring), box-shadow .3s var(--ease-premium);background:#18181be6;border:1px solid #ffffff14;flex:calc(33.333% - 8px);padding:16px;box-shadow:inset 0 1px #ffffff0a}@media (max-width:480px){.purchase-grid{flex-direction:column}.pack-card{flex:100%}}.pack-card:hover{border-color:var(--accent-primary);background:#27272ae6}.pack-card.highlight{border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-glow), 0 0 0 1px var(--accent-primary)}.pack-card.selected{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow), 0 0 0 2px var(--accent-primary);background:#10b98126}.pack-card b{color:var(--text-primary);margin-bottom:4px;font-size:20px;display:block}.pack-card span{color:var(--text-secondary);font-size:12px}
.history-table-wrapper{max-height:400px;margin:20px 0;overflow-y:auto}.billing-data-table-wrapper{border-radius:var(--radius-md);background:#18181bcc;border:1px solid #fff3;flex-direction:column;height:clamp(240px,100dvh - 240px,400px);margin:0;display:flex;overflow:hidden}.history-table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%;font-size:14px}.billing-data-table-head{flex:none}.billing-data-table-scroll{flex:auto;min-height:0;overflow-y:auto}.billing-data-table-body{min-width:100%}.billing-col-history-time{width:28%}.billing-col-history-type{width:18%}.billing-col-history-change{width:16%}.billing-col-history-note{width:38%}.billing-col-credit-remaining{width:24%}.billing-col-credit-source{width:20%}.billing-col-credit-granted,.billing-col-credit-expires{width:28%}.history-table th{color:var(--text-primary);text-align:left;z-index:1;background:#27272ae6;border-bottom:1px solid #ffffff40;padding:14px 16px;font-weight:600;position:sticky;top:0}.history-table.billing-data-table-head th{position:static;top:auto}.history-table td{color:var(--text-primary);border-top:1px solid #ffffff26;padding:14px 16px}.history-table tr:hover td{background:#27272a99}.history-table .billing-table-status{text-align:center;vertical-align:middle;height:220px;color:var(--text-secondary)}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}
.invoice-modal-content{background:#111113fa;width:min(720px,96vw);max-height:86vh;overflow:hidden}.invoice-modal-content h3{flex-shrink:0;margin-bottom:4px;padding-right:40px}.invoice-modal-body{flex:auto;min-height:280px;padding-right:4px;overflow-y:auto}.invoice-tabs{background:#27272acc;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;width:fit-content;padding:4px;display:flex}.invoice-tab{color:var(--text-muted);cursor:pointer;transition:background .2s var(--ease-premium), color .2s var(--ease-premium);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600}.invoice-tab:hover:not(.active){color:var(--text-secondary)}.invoice-tab.active{background:var(--bg-panel);color:var(--text-primary);box-shadow:0 2px 8px #00000040}.invoice-form{flex-direction:column;gap:16px;display:flex}.invoice-form-group{flex-direction:column;gap:8px;display:flex}.invoice-form-group label{color:var(--text-secondary);font-size:14px;font-weight:600}.invoice-form-group .required{color:var(--danger)}.invoice-form-input{width:100%;color:var(--text-primary);transition:border-color .2s var(--ease-premium), background .2s var(--ease-premium), box-shadow .2s var(--ease-premium);background:#27272a99;border:1px solid #ffffff1a;border-radius:12px;padding:13px 16px;font-size:15px}.invoice-form-input:focus{border-color:var(--accent-primary);background:#27272acc;outline:none;box-shadow:0 0 0 4px #10b9811a}.invoice-type-select{width:100%}.invoice-type-select .custom-select-trigger{border-radius:var(--radius-md);width:100%;min-height:44px;padding:12px 14px}.invoice-type-select .custom-select-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.invoice-type-select .custom-select-dropdown{z-index:100;max-height:240px;overflow-y:auto}.invoice-type-select .custom-select-option{text-align:left;width:100%;font:inherit;background:0 0;border:0;display:block}.invoice-upload-zone{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;min-height:88px;transition:border-color .2s var(--ease-premium), background .2s var(--ease-premium), color .2s var(--ease-premium);background:#18181bb8;border:1px dashed #ffffff3d;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"media text""media hint";align-items:center;gap:4px 12px;width:100%;padding:12px;display:grid}.invoice-upload-zone:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:#10b9810f}.invoice-upload-zone:disabled{cursor:wait;opacity:.78}.invoice-upload-zone .upload-icon,.invoice-upload-preview{border-radius:var(--radius-sm);background:#27272abf;border:1px solid #ffffff1f;grid-area:media;justify-content:center;align-self:stretch;align-items:center;width:72px;height:64px;display:flex}.invoice-upload-zone .upload-icon{color:var(--text-muted)}.invoice-upload-preview{object-fit:cover}.invoice-upload-text{color:var(--text-primary);overflow-wrap:anywhere;grid-area:text;max-width:100%;font-size:14px;font-weight:600}.invoice-upload-hint{color:var(--text-muted);grid-area:hint;font-size:12px;line-height:1.4}.invoice-remark{resize:vertical;min-height:96px}.invoice-char-count{color:var(--text-muted);align-self:flex-end;font-size:12px}.invoice-records-table{--ui-data-table-height:clamp(260px, calc(100dvh - 300px), 420px);--ui-data-table-row-height:56px;height:var(--ui-data-table-height);max-height:none;margin:0}.invoice-actions{border-top:1px solid #ffffff1f;flex-shrink:0;margin-top:0;padding-top:16px}@media (max-width:768px){.invoice-modal-content{width:100%;max-height:calc(100dvh - 40px)}.invoice-modal-body{min-height:220px;padding-right:0}.invoice-tabs{width:100%}.invoice-tab{flex:1 1 0;padding:8px 10px;font-size:12px}.invoice-upload-zone{grid-template-columns:56px minmax(0,1fr);gap:4px 10px;min-height:76px;padding:10px}.invoice-upload-zone .upload-icon,.invoice-upload-preview{width:56px;height:56px}}
@media (max-width:768px){.upgrade-modal-content{max-height:calc(100dvh - 16px);padding:16px 12px;overflow-y:auto}.upgrade-grid{grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;padding-bottom:4px;overflow-x:auto}.upgrade-modal-content{width:100%;padding:20px 16px}.upgrade-modal-content h3{margin-bottom:10px;font-size:16px}.billing-toggle{transform-origin:50%;margin-bottom:12px;transform:scale(.9)}.upgrade-card{padding:12px}.tier-name{margin-bottom:6px;font-size:13px}.tier-price-main{font-size:22px}.tier-price-main .currency{margin-top:4px;font-size:12px}.tier-price-sub{min-height:auto;margin-bottom:8px;font-size:10px}.tier-points-row{margin-bottom:8px;font-size:11px}.tier-upgrade-btn{margin-bottom:10px;padding:7px 10px;font-size:12px}.tier-feat-list{gap:4px}.tier-feat-list li{font-size:11px;line-height:1.3}.upgrade-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px;margin-bottom:12px}}@media (max-width:480px){.purchase-grid{flex-direction:column}.pack-card{flex:100%}.history-table{font-size:11px}.history-table th,.history-table td{padding:8px 6px}.invoice-records-table{--ui-data-table-row-height:48px}}@media (hover:none) and (pointer:coarse){.upgrade-card:hover{transform:none}}@media (max-width:768px){.pack-card,.upgrade-card{-webkit-tap-highlight-color:#10b98133;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer!important}}
.alert-modal-container{text-align:center;background:#111113fa;border:1px solid #ffffff14;max-width:400px;padding:0;box-shadow:inset 0 1px #ffffff0a}.alert-icon{width:64px;height:64px;color:var(--accent-primary);background:#10b98126;border:1px solid #10b9814d;border-radius:50%;justify-content:center;align-items:center;margin:32px auto 0;display:flex}.alert-icon.warning{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b4d}.alert-icon.error{color:var(--danger);background:#ef444426;border-color:#ef44444d}.alert-icon.success{color:var(--accent-primary);background:#10b98126;border-color:#10b9814d}.alert-content{padding:20px 32px 0}.alert-content h4{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.alert-content p{color:var(--text-secondary);font-size:14px;line-height:1.6}.cancel-subscription-desc{min-height:45px}.cancel-subscription-date{color:var(--text-primary);font-weight:700}.cancel-subscription-date-fallback{color:var(--text-muted)}.cancel-subscription-date-skeleton{vertical-align:-2px;width:86px;height:16px;margin:0 2px;display:inline-block}.alert-actions{justify-content:center;gap:12px;padding:24px 32px 32px;display:flex}.alert-actions .btn-primary,.alert-actions .btn-secondary{min-width:100px;padding:10px 24px}.alert-actions .btn-secondary{color:var(--text-primary);background:#27272ae6;border:1px solid #fff3}
