#vt-contribution-history-modal-portal,#vt-contribution-modal-portal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;pointer-events:none}.vt-contribution-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin:0;box-sizing:border-box;pointer-events:auto}.vt-contribution-modal-overlay .vt-contribution-modal-content{background-color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.5);width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;transform:scale(.9);animation:vtContributionModalAppear .3s ease-out forwards;position:relative;z-index:10002;pointer-events:auto}@keyframes vtContributionModalAppear{to{transform:scale(1)}}.vt-contribution-modal-overlay .vt-contribution-modal-body{padding:20px;overflow-y:auto;flex:1 1;color:#374151}.vt-contribution-history-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin:0;box-sizing:border-box;pointer-events:auto}.vt-contribution-history-modal-overlay .vt-contribution-history-modal-content{background-color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.5);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;transform:scale(.9);animation:vtContributionHistoryModalAppear .3s ease-out forwards;position:relative;z-index:10002;pointer-events:auto}@keyframes vtContributionHistoryModalAppear{to{transform:scale(1)}}.vt-contribution-history-modal-overlay .vt-contribution-history-modal-body{padding:0 1px 0 0;overflow-y:auto;overflow-x:hidden;flex:1 1;color:#374151}.modal-overlay{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center}.contribution-history-modal-content,.contribution-modal-content{background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.2);width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column}.contribution-history-modal-content{max-height:70vh;margin:15vh auto;max-width:900px}.contribution-history-modal-header,.contribution-modal-header{background-color:#2c3e50;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.4rem;font-weight:600;margin:0}.close-modal{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-modal:hover{background-color:hsla(0,0%,100%,.1)}.contribution-history-modal-body,.contribution-modal-body{padding:0 1px 0 0;overflow-y:auto;overflow-x:hidden}.user-balance-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-bottom:25px;box-shadow:0 4px 8px rgba(0,0,0,.05)}.balance-info-display{display:flex;align-items:center;gap:12px;font-weight:600;color:#0369a1;font-size:1.3rem}.balance-info-icon{color:#10b981;font-size:1.6rem}.balance-info-text{color:#0369a1}.topup-button-green{margin-left:auto;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:1px solid #15803d;padding:10px 16px;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(34,197,94,.35),0 2px 6px rgba(0,0,0,.08);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap;flex-shrink:0}.topup-button-green:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(34,197,94,.45),0 4px 10px rgba(0,0,0,.12);filter:brightness(1.03)}.topup-button-green:active{transform:translateY(0);box-shadow:0 4px 12px rgba(34,197,94,.35),0 2px 6px rgba(0,0,0,.1)}.topup-button-green:disabled{opacity:.7;cursor:not-allowed}:root.dark-mode .topup-button-green{background:linear-gradient(135deg,#16a34a,#15803d);border-color:#166534;box-shadow:0 6px 16px rgba(34,197,94,.25),0 2px 6px rgba(0,0,0,.3)}:root.dark-mode .topup-button-green:hover{box-shadow:0 10px 22px rgba(34,197,94,.35),0 4px 10px rgba(0,0,0,.4)}@media (max-width:480px){.balance-info-display{gap:8px;font-size:1.1rem}.topup-button-green{padding:8px 12px;font-size:.9rem}}@media (max-width:360px){.balance-info-display{font-size:1rem}.topup-button-green{padding:6px 10px;font-size:.85rem;border-radius:8px}}.balance-label{font-size:.9rem;color:#6b7280;margin-bottom:5px}.balance-value{font-size:1.4rem;font-weight:700;color:#2ecc71}.contribute-form{display:flex;flex-direction:column;gap:15px}.contribution-form-group,.form-group{display:flex;flex-direction:column;gap:0}.contribution-form-label,.form-group label{font-weight:600;color:#374151;font-size:1.2rem;margin:0 0 15px}.contribution-form-group input,.contribution-form-group textarea,.form-group input,.form-group textarea{padding:10px;border:1px solid #d1d5db;border-radius:4px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.contribution-form-group input:focus,.contribution-form-group textarea:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1e3a8a;box-shadow:0 0 0 3px rgba(30,58,138,.1)}.contribution-form-group textarea,.form-group textarea{min-height:100px;resize:vertical;font-family:inherit}.contribution-actions{display:flex;gap:10px;margin-top:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.95rem;flex:1 1}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.contribution-modal-btn-primary{background-color:#1e3a8a;color:#fff}.contribution-modal-btn-primary:hover:not(:disabled){background-color:#1e40af;transform:translateY(-2px)}.btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#4b5563}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb;transform:translateY(-2px)}.history-table{width:100%;border-collapse:collapse;table-layout:fixed}.history-table td:first-child,.history-table th:first-child{width:25%;min-width:0}.history-table td:nth-child(2),.history-table th:nth-child(2){width:45%;min-width:0}.history-table td:nth-child(3),.history-table td:nth-child(4),.history-table th:nth-child(3),.history-table th:nth-child(4){width:15%;min-width:0;text-align:right}.history-table td,.history-table th{padding:12px 8px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top;position:relative;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.history-table td:not(:last-child),.history-table th:not(:last-child){border-right:1px solid rgba(0,0,0,.05);padding-right:12px}.history-table th{background-color:#f3f4f6;font-weight:600;color:#4b5563;font-size:1rem}.history-table td{font-size:1rem}.contributor-info{display:flex;flex-direction:column;gap:4px}.history-user,.system-user{font-weight:500;color:#1f2937;display:flex;align-items:center;gap:6px}.system-user{color:#1e3a8a;font-weight:600}.system-icon{color:#1e3a8a;font-size:14px;flex-shrink:0}.contribution-date{font-size:.85rem;color:#6b7280;font-weight:400}.contribution-note{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;line-height:1.4}.system-row{background-color:#f8f9fa}.history-amount{font-weight:600;white-space:nowrap}.history-amount.positive{color:#2ecc71}.history-amount.negative{color:#e74c3c}.history-balance{color:#2ecc71;font-weight:600;white-space:nowrap}.empty-state{text-align:center;padding:40px 20px;color:#6b7280}.empty-state-icon{font-size:3rem;margin-bottom:15px}.empty-state p{font-size:1.1rem;margin:0}.faq-toggle-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background-color:#f5f5f5;border-radius:4px;border:1px solid #999;padding:4px 8px;font-size:12px;cursor:pointer;color:#333;white-space:nowrap;transition:all .2s ease}.faq-section{margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:4px;font-size:.9rem;line-height:1.5}.faq-title{font-weight:700;margin-bottom:.75rem}.faq-question{margin-bottom:.5rem}.faq-answer{margin-bottom:1rem;padding-left:1rem}.faq-answer:last-child{margin-bottom:0}.module-form-modal-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;width:80%;max-width:600px;background:#fff;box-shadow:0 0 20px rgba(0,0,0,.5);border-radius:8px}.icon-margin-right{margin-right:8px}.novel-balance{display:flex;align-items:center;gap:10px;margin-bottom:15px;background-color:#effaf5;padding:15px;border-radius:8px;border-left:4px solid #2ecc71}.balance-icon{font-size:24px;color:#2ecc71}.balance-info{display:flex;flex-direction:column}.auto-unlock-btn{align-items:center;gap:8px;background:#007bff;color:#fff;border:1px solid #0056b3;padding:8px 12px;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .3s ease;cursor:pointer;margin-left:auto}.auto-unlock-btn:hover:not(:disabled){background:#0056b3;border-color:#004085;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,123,255,.3)}.auto-unlock-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(0,123,255,.3)}.auto-unlock-btn:disabled{opacity:.5;cursor:not-allowed;background:#6c757d;border-color:#6c757d}.auto-unlock-btn i{font-size:1rem;min-width:16px}.auto-unlock-btn .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.contribution-history-modal-content,.contribution-modal-content{width:95%;margin:10px}.contribution-history-modal-header,.contribution-modal-header{padding:12px 15px}.modal-title{font-size:1.2rem}.contribution-history-modal-body,.contribution-modal-body,.modal-body{padding:15px}.user-balance-info{padding:15px;margin-bottom:20px}.balance-info-display{font-size:1.1rem;gap:10px}.balance-info-icon{font-size:1.4rem}.contribution-form-label,.form-group label{font-size:1.1rem;margin:0 0 12px}.history-table{font-size:.9rem}.history-table td,.history-table th{padding:10px 6px}.history-table td:not(:last-child),.history-table th:not(:last-child){padding-right:8px}.contributor-info{gap:3px}.contribution-date{font-size:.8rem}.system-icon{font-size:12px}}@media (max-width:576px){.contribution-history-modal-content,.vt-contribution-history-modal-overlay .vt-contribution-history-modal-content{width:95%;max-width:95%}.contribution-history-modal-body,.vt-contribution-history-modal-overlay .vt-contribution-history-modal-body{padding:10px;overflow-x:hidden}.contribution-history-modal-header{padding:10px 15px}.modal-title{font-size:1.1rem}.user-balance-info{padding:12px;margin-bottom:15px}.balance-info-display{font-size:1rem;gap:8px}.balance-info-icon{font-size:1.3rem}.contribution-form-label,.form-group label{font-size:1rem;margin:0 0 10px}.history-table{font-size:.8rem;width:100%;table-layout:fixed}.history-table td,.history-table th{padding:8px 4px}.history-table td:not(:last-child),.history-table th:not(:last-child){padding-right:6px}.history-table td:first-child,.history-table th:first-child{width:30%}.history-table td:nth-child(2),.history-table th:nth-child(2){width:40%}.history-table td:nth-child(3),.history-table td:nth-child(4),.history-table th:nth-child(3),.history-table th:nth-child(4){width:15%}.contributor-info{gap:2px}.history-user,.system-user{font-size:.85rem;gap:4px}.contribution-date{font-size:.75rem}.system-icon{font-size:11px}.contribution-note{font-size:.8rem;line-height:1.3}.history-amount,.history-balance{font-size:.8rem}}:root.dark-mode .contribution-history-modal-content,:root.dark-mode .contribution-modal-content{background-color:#1a1a1a;color:#e0e0e0}:root.dark-mode .vt-contribution-modal-overlay .vt-contribution-modal-content{background-color:#1f2937;color:#f9fafb}:root.dark-mode .vt-contribution-modal-overlay .vt-contribution-modal-body{color:#e5e7eb}:root.dark-mode .vt-contribution-history-modal-overlay .vt-contribution-history-modal-content{background-color:#1f2937;color:#f9fafb}:root.dark-mode .vt-contribution-history-modal-overlay .vt-contribution-history-modal-body{color:#e5e7eb}:root.dark-mode .contribution-history-modal-header,:root.dark-mode .contribution-modal-header{background-color:#2c3e50}:root.dark-mode .contribution-history-modal-body,:root.dark-mode .contribution-modal-body{color:#e0e0e0}:root.dark-mode .contribution-form-label,:root.dark-mode .form-group label{color:#f9fafb}:root.dark-mode .contribution-form-group input,:root.dark-mode .contribution-form-group textarea,:root.dark-mode .form-group input,:root.dark-mode .form-group textarea{background-color:#333;border-color:#444;color:#fff}:root.dark-mode .contribution-form-group input:focus,:root.dark-mode .contribution-form-group textarea:focus,:root.dark-mode .form-group input:focus,:root.dark-mode .form-group textarea:focus{border-color:#09f;box-shadow:0 0 0 3px rgba(0,153,255,.1)}:root.dark-mode .btn-secondary{background-color:#333;border-color:#444;color:#e0e0e0}:root.dark-mode .btn-secondary:hover:not(:disabled){background-color:#444}:root.dark-mode .user-balance-info{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3b82f6}:root.dark-mode .balance-info-display,:root.dark-mode .balance-info-text{color:#dbeafe}:root.dark-mode .balance-info-icon{color:#10b981}:root.dark-mode .user-balance-info .balance-label{color:var(--text-secondary-dark,#a0aec0)}:root.dark-mode .history-table th,:root.dark-mode .user-balance-info .balance-value{color:var(--text-color-dark,#e2e8f0)}:root.dark-mode .history-table th{background:var(--table-header-bg-dark,#2d3748);border-color:hsla(0,0%,100%,.1)}:root.dark-mode .history-table td{border-color:hsla(0,0%,100%,.1)}:root.dark-mode .history-table td:not(:last-child),:root.dark-mode .history-table th:not(:last-child){border-right-color:hsla(0,0%,100%,.1)}:root.dark-mode .history-user,:root.dark-mode .system-user{color:var(--text-color-dark,#e2e8f0)}:root.dark-mode .system-icon,:root.dark-mode .system-user{color:#66b0ff}:root.dark-mode .contribution-date{color:var(--text-secondary-dark,#a0aec0)}:root.dark-mode .contribution-note{color:var(--text-color-dark,#e2e8f0)}:root.dark-mode .system-row{background:var(--table-row-hover-dark,#2d3748)}:root.dark-mode .history-amount.positive{color:var(--success-color,#27ae60)}:root.dark-mode .history-amount.negative{color:var(--danger-color,#e74c3c)}:root.dark-mode .history-balance{color:var(--success-color,#27ae60)}:root.dark-mode .empty-state{color:var(--text-secondary-dark,#a0aec0)}:root.dark-mode .novel-balance{background:var(--table-row-hover-dark,#2d3748)}:root.dark-mode .balance-icon{color:var(--success-color,#27ae60)}:root.dark-mode .balance-info{color:var(--text-color-dark,#e2e8f0)}:root.dark-mode .auto-unlock-btn{background:#0d6efd;border-color:#0b5ed7}:root.dark-mode .auto-unlock-btn:hover:not(:disabled){background:#0b5ed7;border-color:#0a58ca;box-shadow:0 4px 12px rgba(13,110,253,.4)}:root.dark-mode .auto-unlock-btn:disabled{background:#495057;border-color:#495057}:root.dark-mode .faq-toggle-btn{background-color:#333;border-color:#666;color:#e0e0e0}:root.dark-mode .faq-section{background-color:#2d3748;color:#e2e8f0}:root.dark-mode .faq-answer,:root.dark-mode .faq-question,:root.dark-mode .faq-title{color:#e2e8f0}:root.dark-mode .module-form-modal-overlay{background:#1a1a1a;box-shadow:0 0 20px hsla(0,0%,100%,.1)}.history-pagination{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.history-pagination .btn{min-width:120px;padding:8px 14px;border-radius:10px;font-weight:700;flex:0 0 auto;white-space:nowrap}.history-pagination .btn:disabled{opacity:.6}.history-page-indicator{min-width:110px;text-align:center;font-weight:600;white-space:nowrap}@media (max-width:768px){.history-pagination{gap:8px;flex-direction:column}.history-pagination .btn{min-width:auto;max-width:110px;padding:8px 12px;border-radius:8px;font-size:.9rem;font-weight:700;flex:0 1 auto;line-height:1.15;text-align:center}.history-page-indicator{min-width:90px;font-size:.9rem;white-space:nowrap}}@media (max-width:576px){.history-pagination{gap:6px;flex-direction:column}.history-pagination .btn{min-width:auto;max-width:96px;padding:7px 10px;border-radius:8px;font-size:.85rem;flex:0 1 auto;line-height:1.15;text-align:center}.history-page-indicator{min-width:80px;font-size:.85rem;white-space:nowrap}}:root.dark-mode .history-pagination .btn-secondary{background-color:#2b2b2b;border-color:#3a3a3a;color:#e6e6e6}:root.dark-mode .history-pagination .btn-secondary:hover:not(:disabled){background-color:#333}:root.dark-mode .history-page-indicator{color:#d1d5db}