@charset "UTF-8";body,html{margin:0;padding:0}.app-container{height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff;font-family:Arial,sans-serif;opacity:1;transition:opacity .3s ease-in-out}.app-container.loading{opacity:.7}.app-content{max-width:350px;width:100%;text-align:center;position:relative;display:flex;flex-direction:column;gap:20px;opacity:0;transform:translateY(20px);animation:fade-in-up-keyframes .2s ease-out forwards}.app-content.loading{opacity:.5;animation:none}.app-title{font-size:24px;margin:0;color:#333;font-weight:400}.tagline{font-size:14px;color:#666;margin:0}.qr-code-wrapper{display:flex;justify-content:center}.divider{border:none;border-top:1px solid #ddd;margin:0}.message{font-size:14px;color:#666;margin:0}.message.error{color:#dc3545}.icp-registration{text-align:center}.icp-registration a{font-size:12px;color:#999;text-decoration:none;transition:color .2s ease}.icp-registration a:hover{color:#666;text-decoration:underline}.signin-form{display:flex;flex-direction:column;gap:20px}.form-input{width:100%;padding:12px;font-size:16px;border:1px solid #ddd;border-radius:4px;margin:0;box-sizing:border-box}.form-input:disabled{background-color:#f5f5f5;color:#999}.email-display{font-size:14px;color:#333;margin:0 0 30px;font-weight:700}.verification-input{width:100%;padding:12px;font-size:16px;border:1px solid #ddd;border-radius:4px;margin:0;box-sizing:border-box;font-size:20px;text-align:center;letter-spacing:4px;font-family:Courier New,monospace}.verification-input:disabled{background-color:#f5f5f5;color:#999}.primary-button{width:100%;padding:12px;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#333;color:#fff;transition:background-color .2s ease}.primary-button.verify-button{margin-bottom:10px}.secondary-button{width:100%;padding:8px;font-size:14px;background-color:transparent;color:#666;border:none;cursor:pointer;text-decoration:underline}.qr-code-container{position:relative;display:inline-flex;align-items:center}.wechat-consult-text{font-size:12px;color:#666;transition:opacity .3s ease}.qr-icon{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);opacity:.8;transition:all .3s ease;color:inherit;cursor:pointer}.qr-icon:hover{opacity:1;background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.qr-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:12px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 8px 32px #0000001f;padding:12px;z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fade-in-up .2s ease-out}.qr-popup:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid rgba(0,0,0,.1)}.qr-popup:after{content:"";position:absolute;top:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.qr-image{width:120px;height:120px;display:block;border-radius:8px;box-shadow:0 2px 8px #0000001a}.qr-placeholder{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;border:2px dashed #ddd}.qr-placeholder-content{text-align:center;color:#666}.qr-placeholder-icon{opacity:.4;margin-bottom:8px}.qr-placeholder-text{font-size:12px;font-weight:500;margin:4px 0;color:#555}.qr-placeholder-hint{font-size:10px;color:#888;font-style:italic}.coming-soon-text{font-size:16px;font-weight:500;color:#666;margin:0;text-align:center}.qr-loading{width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666}.qr-loading p{font-size:12px;margin:8px 0 0}.loading-spinner{width:24px;height:24px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes fade-in-up{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.logout-panel{display:flex;flex-direction:column;gap:4px}.logout-panel .description{margin:0}.signed-in-email{font-size:14px;color:#333;margin:0;font-weight:400}.link-button{background:none;border:none;padding:8px 0 0;font-size:12px;color:#666;text-decoration:underline;cursor:pointer;font-family:inherit;transition:color .2s ease;text-align:left;width:100%}.link-button:hover{color:#333}.primary-button{width:100%;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#333;color:#fff;transition:background-color .2s ease;padding:8px 16px;font-size:14px}.primary-button:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.primary-button:hover:not(:disabled){background-color:#444}.api-key-table{width:100%;max-width:100%}.api-key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header-left{display:flex;gap:12px;align-items:center}.create-key-button{width:100%;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#333;color:#fff;transition:background-color .2s ease;padding:8px 16px;font-size:14px;width:auto}.create-key-button:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.create-key-button:hover:not(:disabled){background-color:#444}.usage-guide-button{background-color:#fff;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px}.usage-guide-button:disabled{background-color:#fff;color:#666;border-color:#ddd;cursor:default}.usage-guide-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;color:#333}.key-count{font-size:14px;color:#666}.api-key-loading{text-align:center;color:#666;padding:40px;font-size:16px}.no-keys{text-align:center;color:#666;padding:40px 20px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#f9f9f9}.key-list{display:flex;flex-direction:column;gap:20px}.key-item{display:flex;justify-content:space-between;align-items:center;padding:20px;border:1px solid #ddd;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px #0000001a;gap:20px}.key-info{display:flex;flex-direction:column;flex:1}.key-date{font-size:14px;color:#666}.key-command-row{display:flex;align-items:flex-start;gap:12px;margin-top:8px}.key-display{flex:1;font-family:Courier New,monospace;font-size:14px;color:#333;background-color:#f8f9fa;padding:9px 12px;border-radius:4px;display:flex;align-items:center}.key-display code{font-family:inherit;font-size:inherit;color:inherit;word-break:break-all}.key-buttons{display:flex;gap:8px;align-items:flex-start}.copy-key-button{background-color:#fff;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:8px 10px}.copy-key-button:disabled{background-color:#fff;color:#666;border-color:#ddd;cursor:default}.copy-key-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;color:#333}.copy-key-button svg{width:16px;height:16px}.delete-button{background-color:#fff;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:8px 10px}.delete-button:disabled{background-color:#fff;color:#666;border-color:#ddd;cursor:default}.delete-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;color:#333}.delete-button svg{width:16px;height:16px}.api-disabled-message{background-color:#fff3cd;color:#856404;padding:12px 16px;border:1px solid #ffeaa7;border-radius:4px;margin:16px 0;font-size:14px;text-align:center}.request-access-link{background:none;border:none;color:#666;text-decoration:underline;cursor:pointer;font-size:14px;padding:0;margin:0;font-family:inherit}.request-access-link:hover{color:#666}.request-access-link:focus{outline:2px solid #666;outline-offset:2px}.modal-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;width:90%;text-align:center}.modal-content h3{margin:0 0 15px;color:#333;font-size:18px}.modal-content p{margin:0 0 15px;color:#666;font-size:16px}.api-key-preview{font-family:Courier New,monospace;font-size:14px;color:#333;background-color:#f8f9fa;padding:8px 12px;border-radius:4px;margin:15px 0 25px}.modal-actions{display:flex;gap:12px;justify-content:center}.cancel-button{background-color:#fff;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:8px 20px;font-size:14px}.cancel-button:disabled{background-color:#fff;color:#666;border-color:#ddd;cursor:default}.cancel-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;color:#333}.confirm-delete-button{background:#dc3545;color:#fff;border:1px solid #dc3545;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:auto}.confirm-delete-button:hover{background:#c82333;border-color:#c82333}.loading-text{font-size:16px;color:#999;margin:0 0 30px}.modal-content.usage-guide{max-width:600px;text-align:left}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.usage-content{margin:20px 0}.usage-content h1{margin:0 0 20px;color:#333;font-size:20px;font-weight:600;border-bottom:2px solid #eee;padding-bottom:10px}.usage-content h2{margin:25px 0 12px;color:#333;font-size:16px;font-weight:600}.usage-content h3{margin:20px 0 8px;color:#555;font-size:14px;font-weight:600}.usage-content p{margin:8px 0;line-height:1.5;color:#666;font-size:14px}.usage-content code{background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Monaco,Menlo,monospace;font-size:12px;color:#333}.usage-content pre{background-color:#333;color:#fff;padding:12px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.4;overflow-x:auto;margin:0;flex:1}.usage-content pre code{background-color:transparent;color:inherit;padding:0;font-size:inherit;white-space:pre-wrap}.usage-content strong{color:#333}.usage-content ul{margin:12px 0;padding-left:20px}.usage-content ul li{margin-bottom:6px;line-height:1.4;color:#666;font-size:14px}.usage-content ul li strong{color:#333}.command-example{margin:0 0 15px}.code-block-container{position:relative}.copy-code-button{background-color:#fff;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:absolute;top:6px;right:6px;background-color:#ffffffe6;border:1px solid rgba(0,0,0,.1);padding:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.7}.copy-code-button:disabled{background-color:#fff;color:#666;border-color:#ddd;cursor:default}.copy-code-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;color:#333}.copy-code-button svg{width:16px;height:16px}.copy-code-button:disabled{color:#666;border-color:#0000001a;background-color:#ffffffe6;opacity:.7;cursor:default}.copy-code-button svg{width:14px;height:14px}.payment-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .2s ease-out}.payment-modal{position:relative;background:#fff;border:1px solid #ddd;max-width:360px;width:90%;max-height:90vh;overflow-y:auto;animation:scale-in .2s ease-out}.close-button{position:absolute;top:12px;right:12px;background:#fff;border:1px solid #ddd;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .2s ease}.close-button:hover{background:#f5f5f5;border-color:#999;color:#333}.payment-modal-content{padding:40px 24px 24px;display:flex;flex-direction:column;align-items:center}.payment-modal-content h2{margin:0 0 12px;font-size:20px;font-weight:600;color:#333;text-align:center}.wechat-pay-logo{margin-bottom:16px;display:flex;align-items:center;justify-content:center}.wechat-pay-logo .wechat-pay-official-logo{height:28px;width:auto}.payment-amount{font-size:28px;font-weight:700;color:#34a853;margin-bottom:24px;text-align:center}.payment-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0;color:#666}.payment-loading p{font-size:14px;margin:12px 0 0;color:#888}.loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #34a853;border-radius:50%;animation:spin 1s linear infinite}.payment-qr-section{display:flex;flex-direction:column;align-items:center;width:100%}.payment-instructions{font-size:14px;color:#666;text-align:center;margin:0 0 20px;line-height:1.5}.payment-qr-container{background:#fff;padding:12px;border:1px solid #ddd;margin-bottom:12px}.payment-qr-image{display:block;width:200px;height:200px}.payment-hint{font-size:12px;color:#999;text-align:center;margin:8px 0 0}.payment-success{display:flex;flex-direction:column;align-items:center;padding:32px 0}.payment-success .success-icon{color:#34a853;margin-bottom:12px}.payment-success p{font-size:16px;font-weight:500;color:#34a853;margin:0}.payment-error{display:flex;flex-direction:column;align-items:center;padding:32px 0}.payment-error .error-icon{color:#dc3545;margin-bottom:12px}.payment-error p{font-size:14px;font-weight:500;color:#dc3545;margin:0;text-align:center}.payment-cancelled{display:flex;flex-direction:column;align-items:center;padding:32px 0}.payment-cancelled p{font-size:14px;color:#666;margin:0}.subscription-panel{width:100%;max-width:800px;margin:0 auto}.subscription-panel .loading-container{text-align:center;padding:40px 20px}.subscription-panel .loading-container .loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.subscription-panel .loading-container p{color:#666;font-size:14px}.subscription-panel .subscription-content{display:flex;flex-direction:column;gap:32px}.subscription-panel .current-subscription-section h3,.subscription-panel .no-subscription-section h3,.subscription-panel .available-plans-section h3{font-size:18px;font-weight:600;padding:20px 0;margin:0;color:#333}.subscription-panel .no-subscription-section p{color:#666;font-size:14px;margin-bottom:0}.subscription-panel .available-plans-section .plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (width <= 968px){.subscription-panel .available-plans-section .plans-grid{grid-template-columns:repeat(2,1fr)}}@media (width <= 640px){.subscription-panel .available-plans-section .plans-grid{grid-template-columns:1fr}}.subscription-item{background:#fff;border:1px solid #ddd;border-radius:4px;padding:20px}.subscription-item .subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.subscription-item .subscription-header .subscription-plan{display:flex;align-items:center;gap:12px}.subscription-item .subscription-header .subscription-plan .plan-name{font-size:18px;font-weight:600;color:#000}.subscription-item .subscription-header .subscription-plan .status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.subscription-item .subscription-header .subscription-plan .status-badge.refunded-badge{background:#f8d7da;color:#a85861}.subscription-item .subscription-header .refund-button{background:#f8d7da;color:#a85861;border:none;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.subscription-item .subscription-header .refund-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.subscription-item .subscription-header .refund-button:hover:not(:disabled){background:#f1b0b7}.subscription-item .subscription-header .refund-button:active:not(:disabled){background:#ec9397}.subscription-item .subscription-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.subscription-item .subscription-details .detail-row:last-child{border-bottom:none}.subscription-item .subscription-details .detail-row .detail-label{font-size:14px;color:#000}.subscription-item .subscription-details .detail-row .detail-value{font-size:14px;font-weight:500;color:#000}.subscription-item .subscription-details .detail-row .detail-value.days-remaining{color:#000;font-weight:600}.subscription-plan-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column}.subscription-plan-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.subscription-plan-card.active-plan{border-color:#28a745;background:#fff}.subscription-plan-card .plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subscription-plan-card .plan-header h4.plan-name{font-size:16px;font-weight:600;color:#333;margin:0}.subscription-plan-card .plan-header .current-plan-badge{padding:3px 8px;background:transparent;color:#28a745;font-size:10px;font-weight:600;text-transform:uppercase}.subscription-plan-card .plan-pricing{margin-bottom:16px}.subscription-plan-card .plan-pricing .price-container{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.subscription-plan-card .plan-pricing .plan-price{font-size:20px;font-weight:700;color:#333}.subscription-plan-card .plan-pricing .plan-price-original{font-size:14px;font-weight:500;color:#666;text-decoration:line-through}.subscription-plan-card .plan-pricing .discount-badge{background:transparent;color:#e74c3c;font-size:11px;font-weight:500;text-transform:uppercase}.subscription-plan-card .plan-pricing .plan-duration{font-size:12px;color:#666;margin-left:4px}.subscription-plan-card .plan-features{margin-bottom:16px;flex:1}.subscription-plan-card .plan-features .feature-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.subscription-plan-card .plan-features .feature-item:last-child{margin-bottom:0}.subscription-plan-card .plan-features .feature-item .feature-icon{font-size:14px;width:16px;text-align:center;color:#28a745}.subscription-plan-card .plan-features .feature-item .feature-text{font-size:13px;color:#333;flex:1}.subscription-plan-card .plan-actions{margin-top:auto}.subscription-plan-card .plan-actions .plan-button{width:100%;padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.subscription-plan-card .plan-actions .plan-button.select-button{background:#28a745;color:#fff}.subscription-plan-card .plan-actions .plan-button.select-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.subscription-plan-card .plan-actions .plan-button.select-button:hover:not(:disabled){background:#218838}.subscription-plan-card .plan-actions .plan-button.select-button:active:not(:disabled){background:#1e7e34}.subscription-plan-card .plan-actions .plan-button.active-button{background:#e9ecef;color:#6c757d;cursor:not-allowed}.refund-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1500;animation:fade-in .2s ease-out}.refund-confirm-dialog{background:#fff;border:1px solid #ddd;border-radius:4px;max-width:360px;width:90%;padding:24px;animation:scale-in .2s ease-out}.refund-confirm-dialog.refund-confirm-dialog p{margin:0 0 20px;font-size:14px;line-height:1.5;color:#666}.refund-confirm-dialog.refund-confirm-dialog h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#333}.refund-confirm-dialog .refund-amount-display{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:20px;background:#f5f5f5;border:1px solid #ddd}.refund-confirm-dialog .refund-amount-display .refund-amount-label{font-size:14px;color:#666}.refund-confirm-dialog .refund-amount-display .refund-amount-value{font-size:18px;font-weight:700;color:#333}.refund-confirm-dialog .refund-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.refund-confirm-dialog .refund-confirm-actions button{padding:10px 20px;border:1px solid #ddd;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.refund-confirm-dialog .refund-confirm-actions button.cancel-button{background:#fff;color:#666}.refund-confirm-dialog .refund-confirm-actions button.cancel-button:hover{background:#f5f5f5;border-color:#999;color:#333}.refund-confirm-dialog .refund-confirm-actions button.confirm-button{background:#dc3545;color:#fff;border-color:#dc3545}.refund-confirm-dialog .refund-confirm-actions button.confirm-button:disabled{background:#e9ecef;color:#6c757d;border-color:#ddd;cursor:not-allowed}.refund-confirm-dialog .refund-confirm-actions button.confirm-button:hover:not(:disabled){background:#c82333;border-color:#c82333}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.referral-panel{width:100%;max-width:800px;margin:0 auto}.referral-panel .loading,.referral-panel .error{text-align:center;padding:40px 20px;color:#666;font-size:14px}.referral-panel .referral-content{display:flex;flex-direction:column;gap:32px}.referral-panel .rules-section h3,.referral-panel .referral-link-section h3,.referral-panel .points-section h3,.referral-panel .stats-section h3{font-size:18px;font-weight:600;padding:20px 0;margin:0;color:#333}.referral-panel .rules-section .rules-list{list-style:none;margin:0;padding:0}.referral-panel .rules-section .rules-list li{padding:10px 0 10px 25px;position:relative;color:#333;font-size:14px}.referral-panel .rules-section .rules-list li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.referral-panel .referral-link-section .link-container{display:flex;gap:10px;align-items:center}.referral-panel .referral-link-section .link-container .referral-link-input{flex:1;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;color:#333;font-family:monospace}.referral-panel .referral-link-section .link-container .copy-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;white-space:nowrap}.referral-panel .referral-link-section .link-container .copy-button:hover{background:#218838}.referral-panel .referral-link-section .link-container .copy-button.success{background:#28a745}.referral-panel .referral-link-section .link-container .copy-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.referral-panel .points-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:30px;color:#fff;border:1px solid #ddd;border-radius:4px}.referral-panel .points-section h3{color:#fff;padding-bottom:20px}.referral-panel .points-section .points-display{text-align:center}.referral-panel .points-section .points-display .points-value{font-size:48px;font-weight:700;margin-bottom:10px;color:#fff}.referral-panel .points-section .points-display .points-label{font-size:16px;opacity:.9;color:#fff}.referral-panel .stats-section .no-referrals,.referral-panel .stats-section .referrals-notice{color:#666;font-size:14px;margin:0 0 20px}.referral-panel .stats-section .referrals-list .user-list{list-style:none;padding:0;margin:0;border:1px solid #ddd;border-radius:4px;overflow:hidden}.referral-panel .stats-section .referrals-list .user-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border-bottom:1px solid #ddd}.referral-panel .stats-section .referrals-list .user-item:last-child{border-bottom:none}.referral-panel .stats-section .referrals-list .user-email{font-family:monospace;color:#333;font-size:14px}.referral-panel .stats-section .referrals-list .status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.referral-panel .stats-section .referrals-list .status-badge.paid{background:#d4edda;color:#155724}.referral-panel .stats-section .referrals-list .status-badge.unpaid{background:#fff3cd;color:#856404}@media (width <= 768px){.referral-panel{padding:15px}.referral-panel .referral-content{gap:20px}.referral-panel .referral-content .referral-link-section .link-container{flex-direction:column}.referral-panel .referral-content .referral-link-section .link-container .referral-link-input,.referral-panel .referral-content .referral-link-section .link-container .copy-button{width:100%}.referral-panel .referral-content .points-section{padding:20px}.referral-panel .referral-content .points-section .points-display .points-value{font-size:36px}}.dashboard-container{display:flex;height:100vh;background-color:#fff;font-family:Arial,sans-serif}.sidebar{width:260px;background-color:#f8f9fa;border-right:1px solid #ddd;display:flex;flex-direction:column}.sidebar-content{display:flex;flex-direction:column;height:100%;justify-content:space-between}.sidebar-top{display:flex;flex-direction:column;gap:44px}.sidebar-top .header-section{padding:30px 20px 0;display:flex;flex-direction:column;gap:8px}.sidebar-bottom{border-top:1px solid #ddd;display:flex;flex-direction:column;gap:20px}.sidebar-bottom .description{font-size:12px;color:#666;margin:0}.sidebar-bottom .logout-panel{gap:4px;padding:20px 20px 0}.sidebar-bottom .primary-button{width:100%;font-size:16px;border:none;cursor:pointer;background-color:#333;color:#fff;transition:background-color .2s ease;padding:12px 20px;font-size:14px;margin:0;border-radius:0}.sidebar-bottom .primary-button:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.sidebar-bottom .primary-button:hover:not(:disabled){background-color:#444}.sidebar-bottom .icp-section{border-top:1px solid #ddd;padding:16px 20px 20px}.sidebar-bottom .icp-section .icp-registration{text-align:left}.sidebar-bottom .icp-section .icp-registration a{font-size:12px;color:#666;text-decoration:none;transition:color .2s ease}.sidebar-bottom .icp-section .icp-registration a:hover{color:#333;text-decoration:underline}.tab-navigation{display:flex;flex-direction:column}.tab-button{display:block;width:100%;padding:12px 20px;background:#fff;border:none;border-top:1px solid #ddd;text-align:left;font-size:14px;color:#666;cursor:pointer;border-radius:0;margin-bottom:0;transition:all .2s ease}.tab-button:first-child{border-top:1px solid #ddd}.tab-button:last-child{border-bottom:1px solid #ddd}.tab-button:hover{background-color:#f5f5f5;color:#333}.tab-button.active{background-color:#fff;color:#333;font-weight:600}.tab-button.active:hover{background-color:#fff}.main-panel{flex:1;overflow-y:auto}.main-panel-content{padding:40px;max-width:800px;margin:0 auto}.api-keys-section h2,.usage-section h2,.subscription-section h2,.referral-section h2{font-size:24px;color:#333;margin:0 0 10px;font-weight:400}.api-keys-section .description,.usage-section .description,.subscription-section .description,.referral-section .description{font-size:14px;color:#666;margin:0 0 30px}.api-keys-section .usage-notice,.usage-section .usage-notice,.subscription-section .usage-notice,.referral-section .usage-notice{font-size:12px;color:#999;margin:10px 0 20px;font-style:italic}.usage-stats-container .loading-message,.usage-stats-container .error-message{text-align:center;padding:40px;color:#666;font-size:16px}.usage-stats-container .error-message{color:#dc3545}.usage-stats-container .retry-button{width:100%;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#333;color:#fff;transition:background-color .2s ease;padding:8px 16px;font-size:14px;width:auto;margin-top:16px}.usage-stats-container .retry-button:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.usage-stats-container .retry-button:hover:not(:disabled){background-color:#444}.usage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background-color:#f8f9fa;padding:20px;border-radius:4px;border:1px solid #e9ecef}.summary-card h3{font-size:14px;color:#666;margin:0 0 8px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.summary-card .summary-value{font-size:24px;color:#333;font-weight:600;margin:0}.summary-card .summary-value .token-breakdown{font-size:12px;color:#666;font-weight:400;margin-top:4px}.usage-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:4px;background-color:#fff}.usage-table{width:100%;border-collapse:collapse;font-size:12px}.usage-table th{background-color:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e9ecef;white-space:nowrap}.usage-table th:nth-child(3),.usage-table th:nth-child(4),.usage-table th:nth-child(5),.usage-table th:nth-child(6),.usage-table th:nth-child(7),.usage-table th:nth-child(8){text-align:right}.usage-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.usage-table td:nth-child(3),.usage-table td:nth-child(4),.usage-table td:nth-child(5),.usage-table td:nth-child(6),.usage-table td:nth-child(7),.usage-table td:nth-child(8){text-align:right}.usage-table .day-row{border-top:1px solid #dee2e6}.usage-table .day-row td{padding:8px 12px;vertical-align:top;border-bottom:none}.usage-table .day-row .day-cell{font-weight:600;color:#495057;padding:12px}.usage-table .day-row .models-cell,.usage-table .day-row .stats-cell{line-height:1.8}.usage-table .day-row .stats-cell{text-align:right;color:#666}.model-name{background-color:#e9ecef;padding:2px 6px;border-radius:3px;font-family:Monaco,Courier New,monospace;font-size:10px;color:#666}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase}.status-badge.success{background-color:#d4edda;color:#155724}.status-badge.error{background-color:#f8d7da;color:#721c24}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{font-size:16px;margin:0}@keyframes fade-in-up-keyframes{to{opacity:1;transform:translateY(0)}}@keyframes fade-in-keyframes{to{opacity:1}}.message-toast{position:fixed;top:20px;right:20px;background-color:#333;color:#fff;padding:12px 16px;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:9999;display:flex;align-items:center;gap:12px;font-size:14px;max-width:400px;animation:slide-in-right .3s ease-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
