body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .3s ease,color .3s ease,border-color .3s ease}:root{--bg-primary:#f5f7fa;--bg-card:#fff;--bg-sidebar:#fff;--bg-hover:#0000000d;--bg-elevated:#fff;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--border-color:#e0e0e0;--primary-color:#556ee6;--primary-light:#556ee61a;--danger-color:#e74c3c;--success-color:#2ecc71;--warning-color:#f39c12;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 40px #0000001f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition-fast:0.2s ease;--transition-normal:0.3s ease}[data-theme=dark]{--bg-primary:#000;--bg-card:#2d2d2d;--bg-sidebar:#2d2d2d;--bg-hover:#ffffff0d;--bg-elevated:#363636;--text-primary:#f0f0f0;--text-secondary:#999;--text-muted:#666;--border-color:#404040;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 40px #00000080}.login-container{align-items:center;background:#f5f7fa;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;transition:background-color .3s ease}.login-box{animation:fadeInSlide .5s ease backwards;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:40px;width:90%}@keyframes fadeInSlide{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.login-box h1{color:#333;color:var(--text-primary);font-size:24px;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#666;color:var(--text-secondary);display:block;font-weight:500;margin-bottom:8px}.form-group input{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;color:#333;color:var(--text-primary);font-size:14px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#556ee6;border-color:var(--primary-color);box-shadow:0 0 0 3px #556ee626;outline:none;transform:scale(1.01)}.form-group input::placeholder{color:#666;color:var(--text-secondary)}.form-group input:-webkit-autofill{-webkit-text-fill-color:#333!important;-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important;-webkit-box-shadow:0 0 0 30px var(--bg-card) inset!important}.login-button{align-items:center;background:#556ee6;background:var(--primary-color);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.25,.8,.25,1);width:100%}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #00000026;filter:brightness(1.1);transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.8}.btn-loading{animation:circle .75s linear infinite;border:2px solid #ffffff4d;border-radius:100%;border-top-color:#fff;height:16px;width:16px}.gt-loading{align-items:center;color:currentColor;display:inline-flex;font-size:0;justify-content:center;position:relative;vertical-align:middle}.gt-loading__circular{animation:gt-rotate 2s linear infinite;display:block;height:100%;width:100%}.gt-loading__circular circle{stroke-width:3;stroke-linecap:round;stroke:currentColor;fill:none;animation:gt-circular 1.5s ease-in-out infinite}@keyframes gt-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes gt-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}@keyframes circle{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.dashboard{background:#f5f7fa;background:var(--bg-primary);display:flex;min-height:100vh;position:relative;transition:background-color .3s ease,border-color .3s ease}.sidebar-overlay{background:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease;visibility:hidden;width:100%;z-index:99}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar{background:#fff;background:var(--bg-sidebar);border-right:1px solid #e0e0e0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,border-color .3s ease;width:240px;z-index:100}@media (min-width:769px){.sidebar{transform:translateX(0)}.menu-toggle,.sidebar-overlay{display:none}.main-content{margin-left:240px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{transform:translateX(-237px)}.sidebar.collapsed .menu-item span,.sidebar.collapsed .sidebar-header h2{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:20px 10px}.sidebar.collapsed .menu-item{justify-content:center;padding:12px}.sidebar.collapsed .menu-item svg{margin-right:0}.sidebar.collapsed~.main-content{margin-left:3px}.sidebar-close{display:none}}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:6px;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.sidebar-toggle:hover{background:#0000001a;color:#333;color:var(--text-primary)}.sidebar-header-toggle{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:4px;justify-content:center;padding:6px 10px;transition:all .2s ease}.sidebar-header-toggle:hover,[data-theme=dark] .sidebar-header-toggle:hover{background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.sidebar-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:20px 10px}.sidebar.collapsed .sidebar-toggle{position:absolute;right:8px}.sidebar.open{transform:translateX(0)}.sidebar-header h2{color:#333;color:var(--text-primary);font-size:18px}.sidebar-close{background:none;border:none;border-radius:4px;color:#666;color:var(--text-secondary);cursor:pointer;display:none;padding:4px;transition:all .3s ease}.sidebar-close:hover{background:#0000001a}.sidebar-menu{flex:1 1;padding:10px 0}.menu-item{align-items:center;background:none;border:none;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;padding:12px 20px;text-align:left;transition:all .3s ease;width:100%}.menu-item:hover{background:#0000000d;color:#333;color:var(--text-primary)}[data-theme=dark] .menu-item:hover{background:#ffffff0d}.menu-item{position:relative}.menu-item.active{background:#556ee61a;color:#556ee6;color:var(--primary-color)}.menu-item.active:after{animation:slideIn .3s ease forwards;background:#556ee6;background:var(--primary-color);content:"";height:100%;position:absolute;right:0;top:0;width:3px}@keyframes slideIn{0%{height:0}to{height:100%}}.menu-item svg{margin-right:12px}.main-content{display:flex;flex:1 1;flex-direction:column;margin-top:60px;min-width:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,border-color .3s ease}.dashboard-header{background:#fff;background:var(--bg-card);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);box-shadow:0 2px 10px #0000001a;justify-content:space-between;left:0;padding:15px 20px;position:fixed;right:0;top:0;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:50}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.menu-toggle{background:none;border:none;border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;display:none;padding:8px;transition:all .3s ease}.menu-toggle:hover{background:#0000001a}[data-theme=dark] .menu-toggle:hover{background:#ffffff1a}.dashboard-header h1{color:#333;color:var(--text-primary);font-size:20px}.user-info{align-items:center;display:flex;gap:12px}.welcome-text{color:#666;color:var(--text-secondary);font-size:14px}.user-menu-container{position:relative}.user-avatar-button{background:none;border:none;border-radius:50%;cursor:pointer;padding:0;transition:all .3s ease}.user-avatar-button:hover{transform:scale(1.05)}.user-avatar{align-items:center;background:#556ee6;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.user-avatar-button:hover .user-avatar{box-shadow:0 4px 12px #556ee666}.user-dropdown{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:150px;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);transform:translateY(-10px);transition:all .3s cubic-bezier(.34,1.56,.64,1);visibility:hidden;z-index:1000}.user-dropdown.open{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{align-items:center;background:none;border:none;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:all .3s ease;width:100%}.dropdown-item:hover{background:#e74c3c1a;color:#e74c3c;color:var(--danger-color)}.dropdown-item svg{flex-shrink:0}.dashboard-content{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.page-content{flex:1 1;overflow:hidden;position:relative}.page-transition-inner{animation:pageSlideUp .25s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes pageSlideUp{0%{filter:blur(6px);opacity:.6;transform:translateY(24px)}50%{filter:blur(2px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}.custom-select{min-width:140px;position:relative}.custom-select-trigger{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 14px;transition:all .2s ease;width:100%}.custom-select-trigger.open,.custom-select-trigger:hover{border-color:#556ee6;border-color:var(--primary-color)}.custom-select-trigger.open{box-shadow:0 0 0 3px #556ee626}.dropdown-arrow{transition:transform .2s ease}.custom-select-trigger.open .dropdown-arrow{transform:rotate(180deg)}.custom-select-dropdown{animation:dropdownOpen .2s ease;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-select.closing .custom-select-dropdown{animation:dropdownClose .15s ease forwards}@keyframes dropdownClose{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.custom-select-option{background:none;border:none;color:#333;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 14px;text-align:left;transition:background .2s ease;width:100%}.custom-select-option:hover{background:#556ee61a}.custom-select-option.selected{background:#556ee61a;color:#556ee6;color:var(--primary-color)}.welcome-card{animation:fadeInSlide .5s ease backwards;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.welcome-card h2{color:#333;color:var(--text-primary);margin-bottom:10px}.welcome-card p{color:#666;color:var(--text-secondary);margin-bottom:20px}.balance-display{background:#3b82f6;border-radius:12px;margin-top:20px;padding:30px;text-align:center}.balance-amount{color:#fff;font-size:36px;font-weight:700}.token-info{background:#f5f7fa;background:var(--bg-primary);border-radius:12px;color:#666;color:var(--text-secondary);font-size:14px;padding:15px}.token-info code{color:#556ee6;color:var(--primary-color);display:block;margin-top:8px;word-break:break-all}.products-section{margin-top:20px}.products-card{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.products-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px 20px}.products-header h3{color:#333;color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.products-list{padding:8px 0}.product-item{align-items:center;cursor:pointer;display:flex;padding:12px 20px;transition:background .2s ease}.product-item:hover{background:#556ee60d}.product-icon{align-items:center;background:#556ee61a;border-radius:10px;color:#556ee6;color:var(--primary-color);display:flex;flex-shrink:0;height:44px;justify-content:center;margin-right:14px;width:44px}.product-info{flex:1 1;min-width:0}.product-name{color:#333;color:var(--text-primary);font-size:14px;font-weight:500}.product-desc{color:#666;color:var(--text-secondary);font-size:12px;margin-top:2px}.settings-card{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.settings-card h2{color:#333;color:var(--text-primary);font-size:18px;margin-bottom:20px}.setting-item{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:15px 0}.setting-item:last-child{border-bottom:none}.setting-label{color:#333;color:var(--text-primary);font-weight:500}.setting-description{color:#666;color:var(--text-secondary);font-size:12px;margin-top:4px}.theme-select{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:120px;padding:8px 14px;transition:all .3s ease}.theme-select:focus,.theme-select:hover{border-color:#556ee6;border-color:var(--primary-color)}.theme-select:focus{box-shadow:0 0 0 3px #556ee626;outline:none}.api-key-display{display:flex;flex-direction:column;gap:12px;width:100%}.api-key-header{align-items:center;display:flex;gap:8px}.api-key-value{background:#f5f7fa;background:var(--bg-primary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);flex:1 1;font-family:monospace;font-size:14px;padding:10px 12px;word-break:break-all}.api-key-actions{display:flex;gap:4px}.api-key-icon-btn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.api-key-icon-btn:hover:not(:disabled){background:#556ee61a;border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.api-key-icon-btn:disabled{cursor:not-allowed;opacity:.5}.api-key-icon-btn.spinning svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.api-key-btn{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#666;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:8px 16px;transition:all .3s ease}.api-key-btn:hover:not(:disabled){border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.api-key-btn:disabled{cursor:not-allowed;opacity:.6}.api-key-btn.primary{background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.api-key-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.api-key-btn.danger{border-color:#e74c3c;border-color:var(--danger-color);color:#e74c3c;color:var(--danger-color)}.api-key-btn.danger:hover:not(:disabled){background:#e74c3c;background:var(--danger-color);color:#fff}.settings-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.settings-card-header h2{margin-bottom:0}.api-key-toggle{cursor:pointer}.api-key-toggle,.api-key-toggle-wrapper{align-items:center;display:flex;gap:8px}.btn-loading-small{animation:circle .75s linear infinite;border:2px solid #556ee64d;border-radius:50%;border-top:2px solid var(--primary-color);height:16px;width:16px}.api-key-toggle input{display:none}.toggle-slider{background:#e0e0e0;background:var(--border-color);border-radius:12px;height:24px;position:relative;transition:all .3s ease;width:44px}.toggle-slider:after{background:#fff;border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:all .3s ease;width:18px}.api-key-toggle input:checked+.toggle-slider{background:#556ee6;background:var(--primary-color)}.api-key-toggle input:checked+.toggle-slider:after{transform:translateX(20px)}@media (max-width:768px){.menu-toggle{align-items:center;display:flex;justify-content:center}.sidebar-header-toggle{display:none}.sidebar-close{display:block}.api-key-header{flex-wrap:nowrap}.api-key-value{flex:1 1;min-width:0}.api-key-actions{flex-shrink:0}.api-key-icon-btn{padding:6px}.api-key-icon-btn svg{height:14px;width:14px}.sidebar{max-width:280px;width:80%}.dashboard-header{padding:12px 16px}.dashboard-header h1{font-size:18px}.header-left h1{display:none}.header-left h1:first-of-type{display:block}.welcome-text{display:none}.dashboard-content{padding:16px}.welcome-card{padding:20px}.welcome-card h2{font-size:18px}.setting-item{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.login-box{padding:30px 20px}.login-box h1{font-size:20px;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group input{padding:10px 12px}.login-button{font-size:15px;padding:10px}}.empty-state,.loading-state{align-items:center;color:#666;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.empty-state svg,.loading-state svg{height:48px;opacity:.5;width:48px}.loading-state .spinning{animation:spin 1s linear infinite}.products-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-card{transition:all .3s ease,border-color .3s ease,box-shadow .3s ease}.product-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.product-card-header h3{color:#333;color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.product-type-badge{border-radius:4px;font-size:11px;font-weight:500;padding:3px 8px}.product-type-badge.type-1{background:#556ee61a;color:#556ee6;color:var(--primary-color)}.product-type-badge.type-2{background:#2ecc711a;color:#2ecc71}.product-card-desc{color:#666;color:var(--text-secondary);flex:1 1;font-size:13px;line-height:1.5;margin:0 0 16px}.product-card-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px;padding-top:12px}.product-card-footer-bottom{width:100%}.product-price{align-items:baseline;gap:2px}.price-label{font-size:14px;font-weight:600}.price-label,.price-value{color:#e74c3c;color:var(--danger-color)}.price-value{font-size:20px;font-weight:700}.price-unit{color:#666;color:var(--text-secondary);font-size:12px}.buy-button{font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-overlay{align-items:center;animation:modalOverlayIn .3s ease forwards;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal-overlay.closing{animation:modalOverlayOut .3s ease forwards}@keyframes modalOverlayOut{0%{opacity:1}to{opacity:0}}.modal-content{animation:slideDownIn .3s cubic-bezier(.34,1.56,.64,1) forwards;background:#fff;background:var(--bg-card);border-radius:12px;max-height:90vh;max-width:440px;overflow-y:auto;width:100%}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-overlay.closing .modal-content{animation:slideUpOut .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes slideUpOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.modal-header h3{color:#333;color:var(--text-primary);font-size:16px;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#666;color:var(--text-secondary);cursor:pointer;padding:4px;transition:all .2s ease}.modal-close:hover{background:#0000001a;color:#333;color:var(--text-primary)}.modal-body{padding:20px}.buy-info{display:flex;flex-direction:column;gap:12px}.info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.info-row.total{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);margin-top:4px;padding-top:16px}.info-label{color:#666;color:var(--text-secondary);font-size:13px}.info-value{color:#333;color:var(--text-primary);font-size:14px;font-weight:500}.info-value.price{color:#e74c3c;color:var(--danger-color);font-size:18px;font-weight:700}.quantity-input{align-items:center;display:flex;gap:8px}.quantity-input input{color:#333;color:var(--text-primary);font-size:14px;padding:6px 8px;text-align:center;width:60px}.qty-btn,.quantity-input input{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px}.qty-btn{align-items:center;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.qty-btn:hover{border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-button{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px;padding:10px 16px;transition:all .2s ease}.modal-button:hover:not(:disabled){border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.modal-button.primary{background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.modal-button.primary:hover:not(:disabled){filter:brightness(1.1)}.modal-button:disabled{cursor:not-allowed;opacity:.6}.buy-success{padding:20px 0;text-align:center}.success-icon{align-items:center;background:#2ecc711a;border-radius:50%;color:#2ecc71;display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.success-message{color:#333;color:var(--text-primary);font-size:16px;margin-bottom:20px}.authcode-display{background:#f5f7fa;background:var(--bg-primary);border-radius:8px;margin-bottom:20px;padding:16px}.authcode-display label{color:#666;color:var(--text-secondary);display:block;font-size:12px;margin-bottom:8px}.authcode-value{color:#333;color:var(--text-primary);font-size:16px;margin-bottom:12px}.authcode-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.authcode-item{align-items:center;background:#f5f7fa;background:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.authcode-item code{color:#333;color:var(--text-primary);font-family:monospace;font-size:14px;word-break:break-all}.authcode-item .icon-btn{background:#0000;border:none;border-radius:4px;color:#666;color:var(--text-secondary);cursor:pointer;padding:4px}.authcode-item .icon-btn:hover{background:#f5f7fa;background:var(--bg-primary);color:#556ee6;color:var(--primary-color)}.copy-button{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#666;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease}.copy-button:hover{border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.buy-result-details{margin-bottom:20px;text-align:left}.result-row{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:8px 0}.result-row:last-child{border-bottom:none}.result-row span:first-child{color:#666;color:var(--text-secondary);font-size:13px}.result-row span:last-child{color:#333;color:var(--text-primary);font-weight:500}.section-title{color:#333;color:var(--text-primary);font-size:16px;margin-bottom:16px}.user-products-list{display:flex;flex-direction:column;gap:12px;position:relative}.products-grid-view{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.product-card-clickable{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:24px 16px;transition:all .3s cubic-bezier(.34,1.56,.64,1),border-color .3s ease,box-shadow .3s ease}.product-card-clickable:hover{border-color:#556ee6;border-color:var(--primary-color);box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.product-card-clickable:active{transform:translateY(-2px)}.product-card-icon{align-items:center;background:#f5f7fa;background:var(--bg-primary);border-radius:12px;color:#556ee6;color:var(--primary-color);display:flex;height:48px;justify-content:center;width:48px}.product-card-clickable h4{color:#333;color:var(--text-primary);font-size:14px;font-weight:600;margin:0;text-align:center}.product-detail-overlay{filter:blur(6px);height:100%;height:var(--card-height,100%);left:0;left:var(--card-left,0);opacity:0;position:absolute;top:0;top:var(--card-top,0);transition:top .4s cubic-bezier(.4,0,.2,1),left .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),opacity .2s ease,filter .35s ease;width:100%;width:var(--card-width,100%);z-index:100}.product-detail-overlay.expanded{filter:blur(0);height:100%;left:0;opacity:1;top:0;width:100%}.product-detail-view{display:flex;flex-direction:column;min-height:100%;width:100%}.product-detail-body{display:flex;flex:1 1;flex-direction:column;gap:20px;margin:0 auto;max-width:800px;overflow-y:auto;padding:24px;width:100%}.detail-section{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;padding:24px}.back-button{align-items:center;align-self:flex-start;background:#f5f7fa;background:var(--bg-primary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;gap:6px;margin:16px;padding:8px 16px;transition:all .2s ease}.back-button:hover{background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.product-detail-desc{color:#666;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:12px 0 0}.detail-info-section h2{color:#333;color:var(--text-primary);font-size:24px;font-weight:700;margin:0 0 12px}.product-authcode-section{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;margin-top:20px;padding:16px}.authcode-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.authcode-header label{color:#666;color:var(--text-secondary);display:block;font-size:12px}.running-status{border-radius:4px;font-size:12px;padding:2px 8px}.running-status.running{background:#2ecc7133;color:#2ecc71}.running-status.stopped{background:#e74c3c33;color:#e74c3c}.reset-btn{background:#f5f7fa;background:var(--bg-primary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;font-size:14px;margin-top:12px;padding:10px 16px;transition:all .2s ease;width:100%}.reset-btn:hover:not(:disabled){background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.reset-btn:disabled{cursor:not-allowed;opacity:.6}.product-authcode-section label{color:#666;color:var(--text-secondary);display:block;font-size:12px;margin-bottom:8px}.product-usage-section{margin-top:20px;padding:16px}.product-usage-section,.user-product-card{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px}.user-product-card{overflow:hidden;transition:all .3s ease}.user-product-card:hover{box-shadow:0 2px 12px #00000014}.user-product-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s ease}.user-product-header:hover{background:#00000005}.user-product-info{align-items:center;display:flex;gap:12px}.user-product-icon{align-items:center;background:#556ee61a;border-radius:8px;color:#556ee6;color:var(--primary-color);display:flex;height:40px;justify-content:center;width:40px}.user-product-info h4{color:#333;color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 4px}.expand-icon{transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.user-product-body{animation:expandIn .3s cubic-bezier(.34,1.56,.64,1) forwards;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);overflow:hidden;padding:0 20px 20px}@keyframes expandIn{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:500px;opacity:1;padding-bottom:16px;padding-top:16px}}.user-product-body.closing{animation:expandOut .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes expandOut{0%{max-height:500px;opacity:1;padding-bottom:16px;padding-top:16px}to{max-height:0;opacity:0;padding-bottom:0;padding-top:0}}.product-authcode{margin-top:16px}.product-authcode label{color:#666;color:var(--text-secondary);display:block;font-size:12px;margin-bottom:8px}.product-authcode-section .authcode-display{align-items:center;background:#f5f7fa;background:var(--bg-primary);border-radius:8px;display:flex;justify-content:space-between;max-width:100%;overflow-x:auto;padding:12px}.product-authcode-section code{color:#333;color:var(--text-primary);flex-shrink:1;font-family:monospace;font-size:14px;word-break:break-all}.icon-btn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#666;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.icon-btn:hover{border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.product-usage{display:flex;gap:20px;margin-top:16px}.usage-row{display:flex;flex-direction:column;gap:4px}.usage-row span:first-child{color:#666;color:var(--text-secondary);font-size:12px}.usage-row span:last-child{color:#333;color:var(--text-primary);font-size:16px;font-weight:600}.config-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.config-header label,.save-config-btn{color:#666;color:var(--text-secondary);font-size:12px}.save-config-btn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;gap:4px;padding:6px 12px;transition:all .2s ease}.save-config-btn:hover:not(:disabled){border-color:#556ee6;border-color:var(--primary-color);color:#556ee6;color:var(--primary-color)}.save-config-btn.has-changes{background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.save-config-btn:disabled{cursor:not-allowed;opacity:.5}.config-editor{background:#f5f7fa;background:var(--bg-primary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);font-family:monospace;font-size:13px;min-height:120px;padding:12px;resize:vertical;width:100%}.config-editor:focus{border-color:#556ee6;border-color:var(--primary-color);outline:none}.settings-card-header h2{align-items:center;display:flex;gap:8px}.settings-card-header h2 svg{height:20px;width:20px}.page-title{color:#333;color:var(--text-primary);font-size:20px;margin-bottom:20px}.loading-state{padding:40px}.empty-state,.loading-state{color:#666;color:var(--text-secondary);text-align:center}.empty-state{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;padding:60px 20px}.buy-page{width:100%}.product-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.product-card{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s ease}.product-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.product-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.product-header h3{color:#333;color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.product-type{border-radius:4px;font-size:12px;padding:4px 8px;white-space:nowrap}.product-type.type-1{background:#556ee61a;color:#556ee6;color:var(--primary-color)}.product-type.type-2{background:#2ecc711a;color:#2ecc71}.product-card .product-desc{color:#666;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.product-price{align-items:center;background:#f5f7fa;background:var(--bg-primary);border-radius:8px;display:flex;gap:8px;padding:12px}.price-label{color:#666;color:var(--text-secondary);font-size:13px}.price-value{color:#556ee6;color:var(--primary-color);font-size:18px;font-weight:600}.product-quantity{align-items:center;display:flex;gap:12px}.product-quantity label{color:#666;color:var(--text-secondary);font-size:13px}.product-quantity input{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#333;color:var(--text-primary);font-size:14px;padding:8px 12px;text-align:center;width:80px}.product-quantity input:focus{border-color:#556ee6;border-color:var(--primary-color);outline:none}.product-actions{margin-top:auto}.buy-button{background:#556ee6;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.buy-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.buy-button:disabled{cursor:not-allowed;opacity:.6}.purchase-result{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.authcode-box{background:#2ecc711a;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:center}.authcode-label{color:#666;color:var(--text-secondary);font-size:12px}.authcode-value{color:#2ecc71;font-family:monospace;font-size:14px;font-weight:600;word-break:break-all}.products-page{width:100%}.product-list{display:flex;flex-direction:column;gap:12px}.product-item{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease}.product-item:hover{border-color:#556ee6;border-color:var(--primary-color)}.product-item-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s ease;width:100%}.product-item-header:hover{background:#556ee60d}.product-item-id{color:#333;color:var(--text-primary);font-size:14px;font-weight:500}.expand-icon{align-items:center;color:#666;color:var(--text-secondary);display:flex;transition:transform .3s ease}.expand-icon.rotated{transform:rotate(180deg)}.product-item-content{background:#f5f7fa;background:var(--bg-primary);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding:16px 20px}.config-editor{display:flex;flex-direction:column;gap:8px}.config-editor label{color:#666;color:var(--text-secondary);font-size:13px}.config-editor textarea{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);font-family:monospace;font-size:13px;min-height:100px;padding:12px;resize:vertical;width:100%}.config-editor textarea:focus{border-color:#556ee6;border-color:var(--primary-color);outline:none}.config-actions{display:flex;justify-content:flex-end;margin-top:16px}.save-button{background:#556ee6;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.save-button:hover:not(:disabled){filter:brightness(1.1)}.save-button:disabled{cursor:not-allowed;opacity:.6}.bills-page{width:100%}.bills-list{display:flex;flex-direction:column;gap:12px}.bill-item{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;justify-content:space-between;padding:16px 20px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.bill-info{display:flex;flex-direction:column;gap:4px}.bill-type{color:#333;color:var(--text-primary);font-size:14px;font-weight:500}.bill-type.type-1{color:#e67e22}.bill-type.type-2{color:#e74c3c}.bill-time{color:#666;color:var(--text-secondary);font-size:12px}.bill-money{color:#e74c3c;font-size:16px;font-weight:600}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px;padding:16px}.page-btn{background:#fff;background:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.page-btn:hover:not(:disabled){background:#556ee6;background:var(--primary-color);border-color:#556ee6;border-color:var(--primary-color);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#666;color:var(--text-secondary);font-size:14px}@media (max-width:768px){.product-grid,.products-grid-view{grid-template-columns:1fr}.product-card-clickable:active{transform:scale(.98)}}.confirm-overlay{align-items:center;animation:confirmOverlayIn .2s cubic-bezier(.4,0,.2,1) forwards;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:200}.confirm-dialog{animation:confirmDialogIn .25s cubic-bezier(.34,1.56,.64,1) forwards;background:#fff;background:var(--bg-card);border-radius:16px;box-shadow:0 20px 60px #0006;max-width:360px;min-width:280px;padding:24px}.confirm-dialog p{color:#333;color:var(--text-primary);font-size:16px;line-height:1.5;margin:0 0 20px;text-align:center}.confirm-actions{display:flex;gap:12px}.confirm-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s cubic-bezier(.4,0,.2,1)}.confirm-btn.cancel{background:#f5f7fa;background:var(--bg-primary);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#333;color:var(--text-primary)}.confirm-btn.cancel:hover{background:#0000000d;background:var(--bg-hover)}.confirm-btn.confirm{background:#556ee6;background:var(--primary-color);color:#fff}.confirm-btn.confirm:hover{filter:brightness(1.1)}@keyframes confirmOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes confirmDialogIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
/*# sourceMappingURL=main.ef85abea.css.map*/