body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}:root{--primary-color:#1aad19;--primary-hover:#179b16;--primary-light:#f0f9f0;--primary-border:#e8f5e8;--gold-color:#f0b90b;--gold-hover:#f8d33a;--gold-light:#fff9e6;--gold-border:#f8e4b3;--gold-bright:gold;--gold-lighter:#fff4cc;--text-primary:#191919;--text-secondary:#2c3e50;--text-muted:#576b95;--text-disabled:#969799;--text-light:#646566;--bg-primary:#fff;--bg-secondary:#f7f7f7;--bg-card:#f8fffe;--bg-table-header:#f7f8fa;--bg-mobile-card:#f7f8fa;--border-light:#f0f0f0;--border-medium:#e5e5e5;--border-input:#d9d9d9;--border-mobile:#e8e8e8;--color-purchase:#fa5151;--color-sale:#1aad19;--color-success:#1aad19;--color-warning:#fa5151;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-size-sm:0.8rem;--font-size-base:0.9rem;--font-size-lg:1.2rem;--border-radius-sm:4px;--border-radius-md:8px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #0000001a;--shadow-tooltip:0 2px 8px #0003;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--bg-hover:#f0f0f0;--border-dark:#bfbfbf}*{box-sizing:border-box;margin:0;padding:0}.app{background-color:#f7f7f7;background-color:var(--bg-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.app-header{align-items:center;background:#f8fffe;background:var(--bg-card);border-bottom:2px solid #e8f5e8;border-bottom:2px solid var(--primary-border);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);color:#2c3e50;color:var(--text-secondary);display:flex;height:60px;justify-content:space-between;min-height:60px;padding:.25rem 2rem;padding:var(--spacing-xs) var(--spacing-xl)}.app-header h1{font-size:1.2rem;font-size:var(--font-size-lg);line-height:1;margin:0;transition:transform .3s ease;transition:transform var(--transition-normal)}.app-header h1 svg{color:#f0b90b;color:var(--gold-color);transition:color .3s ease;transition:color var(--transition-normal)}.app-header h1:hover svg{color:#f8d33a;color:var(--gold-hover)}.app-header h1:hover{transform:scale(1.1)}.header-buttons{display:flex;gap:1rem}.header-btn{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #1aad19;border:1px solid var(--primary-color);border-radius:4px;border-radius:var(--border-radius-sm);color:#1aad19;color:var(--primary-color);cursor:pointer;display:flex;font-size:.9rem;font-size:var(--font-size-base);gap:.5rem;gap:var(--spacing-sm);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease;transition:all var(--transition-normal)}.header-btn:before{font-size:1rem}.header-btn:first-child:before{content:"⚙️"}.header-btn:last-child:before{content:"📅"}.header-btn:hover{background:#1aad19;background:var(--primary-color);color:#fff;color:var(--bg-primary)}.header-icon-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:background-color .3s}.header-icon-btn:hover{background-color:#1aad1933}.tab-nav{background:#fff;border-bottom:1px solid #e5e5e5;display:flex;overflow-x:auto}.tab-nav button{background:none;border:none;color:#576b95;cursor:pointer;flex:1 1;font-size:.9rem;padding:1rem;transition:all .3s;white-space:nowrap}.tab-nav button.active{background:#f0f9f0;border-bottom:2px solid #1aad19;color:#2c3e50}.app-main{margin:0 auto;max-width:1200px;padding:1rem}.record-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{flex-shrink:0;font-size:.9rem;font-weight:600;margin-bottom:0;text-align:left;width:100px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .3s}.form-group select{height:auto;line-height:1.5;padding:.5rem .75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1aad19;box-shadow:0 0 0 2px #1aad191a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.radio-group{align-items:center;display:flex;flex:1 1;gap:2rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:400;gap:.5rem;white-space:nowrap;width:auto}.submit-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:1rem;transition:background-color .2s;width:100%}.submit-btn:hover{background:#179b16}.statistics{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:2rem}.stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.period-selector{display:flex;gap:1rem}.period-selector label{align-items:center;color:#576b95;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.period-selector input[type=radio]{margin:0}.stats-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card-group{background:#f8fffe;border:1px solid #e8f5e8;border-radius:8px;color:#2c3e50;display:flex;flex-direction:column;gap:.5rem;padding:.8rem}.stat-item{padding:.3rem 0 .3rem 1rem;text-align:left}.stat-item h3{font-size:.9rem;margin-bottom:.3rem;opacity:.9}.stat-value{font-size:.9rem;padding-left:1rem}.return-rate .stat-value,.stat-value{color:#1aad19;font-weight:700}.stat-card{background:#f8fffe;border:1px solid #e8f5e8;border-radius:8px;color:#2c3e50;padding:1.5rem;text-align:center}.stat-card h3{font-size:.9rem;margin-bottom:.5rem;opacity:.9}.item-breakdown{border-top:1px solid #e5e5e5;padding-top:2rem}.item-breakdown h3{font-size:.9rem;margin-bottom:1rem}.item-stats-table{border-collapse:collapse;width:100%}.item-stats-table td,.item-stats-table th{border-bottom:1px solid #f0f0f0;font-size:.9rem;padding:.75rem;text-align:left}.item-stats-table th{background:#f7f8fa;color:#646566;font-weight:600}.item-stats-table td:first-child{color:#191919;font-weight:600}.record-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:2rem}.no-records{color:#969799;font-size:.9rem;padding:2rem;text-align:center}.records-table{overflow-x:auto}.table-header,.table-row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:1fr .8fr 1fr 1fr .8fr .6fr .8fr .8fr .8fr 1fr;overflow:hidden;padding:.75rem;white-space:nowrap}.table-header{background:#f7f8fa;border-radius:4px;color:#646566;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.table-row{border-bottom:1px solid #f0f0f0;font-size:.9rem}.table-header span,.table-row span{text-align:center}.table-header span:first-child,.table-row span:first-child{text-align:left}.purchase{color:#fa5151}.purchase,.sale{font-size:.9rem;font-weight:600}.sale{color:#1aad19}.mobile-item-stats{display:none}.remark-cell{cursor:help;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.remark-cell:hover:after{word-wrap:break-word;background:#333;border-radius:4px;box-shadow:0 2px 8px #0003;color:#fff;content:attr(title);font-size:.8rem;margin-bottom:5px;max-width:200px;padding:.5rem;white-space:normal}.remark-cell:hover:after,.remark-cell:hover:before{bottom:100%;left:50%;position:absolute;transform:translateX(-50%);z-index:1000}.remark-cell:hover:before{border:5px solid #0000;border-top-color:#333;content:""}.remark-cell:hover{background-color:#f0f9f0;border-radius:4px;padding:.25rem}.mobile-page{background:#fff;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1000}.back-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;left:1rem;padding:.5rem;position:absolute;top:1rem;transition:background-color .3s}.back-btn:hover{background-color:#1aad191a}.import-page,.user-management{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1200px;padding:2rem}.import-page{position:relative}.import-page .page-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.import-page .back-btn{align-items:center;background:none;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;display:flex;font-size:1.2rem;gap:.5rem;padding:.5rem;transition:background-color .3s}.import-page .back-btn:hover{background-color:#1aad191a}.dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.dialog{animation:dialogSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:400px;width:100%}.dialog.confirm{border-left:4px solid #1aad19;border-left:4px solid var(--primary-color)}.dialog.error{border-left:4px solid #ff4d4f}.dialog-header{gap:.75rem;justify-content:space-between;padding:1.5rem 1.5rem .5rem}.dialog-header,.dialog-icon{align-items:center;display:flex}.dialog-icon{border-radius:50%;flex-shrink:0;height:40px;justify-content:center;width:40px}.dialog.confirm .dialog-icon{background-color:#f0f9f0;background-color:var(--primary-light);color:#1aad19;color:var(--primary-color)}.dialog.error .dialog-icon{background-color:#fff2f0;color:#ff4d4f}.dialog-title{color:#191919;color:var(--text-primary);flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.dialog-close{align-items:center;background:none;border:none;border-radius:4px;color:#576b95;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s ease}.dialog-close:hover{background-color:#f0f0f0;background-color:var(--bg-hover);color:#191919;color:var(--text-primary)}.dialog-content{padding:0 1.5rem 1.5rem}.dialog-message{color:#2c3e50;color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:0 1.5rem 1.5rem}.dialog-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.dialog-btn-cancel{background-color:#f7f7f7;background-color:var(--bg-secondary);border:1px solid #e5e5e5;border:1px solid var(--border-medium);color:#2c3e50;color:var(--text-secondary)}.dialog-btn-cancel:hover{background-color:#f0f0f0;background-color:var(--bg-hover);border-color:#bfbfbf;border-color:var(--border-dark)}.dialog-btn-confirm{background-color:#1aad19;background-color:var(--primary-color);color:#fff}.dialog-btn-confirm:hover{background-color:#179b16;background-color:var(--primary-hover)}.dialog.error .dialog-btn-confirm{background-color:#ff4d4f}.dialog.error .dialog-btn-confirm:hover{background-color:#ff7875}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.dialog-overlay{padding:.5rem}.dialog{margin:0 .5rem;max-width:none}.dialog-header{padding:1rem 1rem .5rem}.dialog-actions,.dialog-content{padding:0 1rem 1rem}.dialog-actions{flex-direction:column-reverse}.dialog-btn{padding:.75rem 1rem;width:100%}}.user-management .page-header{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr 2fr 1fr;margin-bottom:2rem}.user-management .back-btn{background:none;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:1.2rem;justify-self:start;padding:.5rem;position:static;transition:background-color .3s}.user-management .back-btn:hover{background-color:#1aad191a}.user-management .add-user-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;grid-column:5;justify-self:start;padding:.5rem 1rem;transition:background-color .3s}.user-management .add-user-btn:hover{background:#179b16}.user-management .users-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.user-management .table-header{background:#f7f8fa;border-bottom:1px solid #e9ecef;color:#646566;font-weight:600}.user-management .table-header,.user-management .table-row{display:grid;font-size:.9rem;grid-template-columns:1fr 1fr 1fr 2fr 1fr;padding:1rem}.user-management .table-row{align-items:center;border-bottom:1px solid #f0f0f0;color:#191919}.user-management .table-row:last-child{border-bottom:none}.user-management .toggle-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background-color .3s}.user-management .toggle-btn:hover{background:#179b16}.user-management .action-buttons{display:flex;flex-wrap:wrap;gap:0}.user-management .disable-btn{background:#ff4d4f;border:1px solid #ff4d4f;border-radius:4px 0 0 4px;color:#fff}.user-management .disable-btn:hover{background:#ff7875;border-color:#ff7875}.user-management .enable-btn{background:#52c41a;border:1px solid #52c41a;border-radius:4px 0 0 4px;color:#fff}.user-management .enable-btn:hover{background:#73d13d;border-color:#73d13d}.user-management .reset-password-btn{background:#1890ff;border:1px solid #1890ff;border-radius:0 4px 4px 0;color:#fff;cursor:pointer;font-size:.8rem;font-size:var(--font-size-sm);padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.user-management .reset-password-btn:hover{background:#40a9ff;border-color:#40a9ff}.user-management .delete-btn{background:#ff4d4f;border:1px solid #ff4d4f;border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:.8rem;font-size:var(--font-size-sm);margin-left:4px;padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.user-management .delete-btn:hover{background:#ff7875;border-color:#ff7875}.user-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.user-form .form-group{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.user-form .form-group label{color:#2c3e50;font-weight:500;min-width:100px;white-space:nowrap}.user-form .form-group input,.user-form .form-group select{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:.9rem;padding:.75rem}.user-form .form-group input:focus,.user-form .form-group select:focus{border-color:#1aad19;outline:none}.user-form .form-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.user-form .submit-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background-color .2s}.user-form .submit-btn:hover{background:#179b16}.user-form .cancel-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s}.user-form .cancel-btn:hover{background:#e8e8e8;border-color:#ccc}.monthly-config{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1200px;padding:2rem}.monthly-config .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.monthly-config .back-btn{background:none;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:1.2rem;padding:.5rem;position:static;transition:background-color .3s}.monthly-config .back-btn:hover{background-color:#1aad191a}.config-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.config-form .form-group{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.config-form .form-group label{color:#2c3e50;font-weight:500;min-width:140px;white-space:nowrap}.config-form .form-group input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:.9rem;padding:.75rem}.config-form .form-group input:focus{border-color:#1aad19;outline:none}.save-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:1rem;transition:background-color .2s;width:100%}.save-btn:hover{background:#179b16}.config-preview{background:#f8fffe;border:1px solid #e8f5e8;border-radius:8px;color:#2c3e50;padding:1.5rem}.config-preview h3{color:#2c3e50;font-size:.9rem;margin-bottom:1rem}.config-preview p{color:#191919;font-size:.9rem;margin-bottom:.5rem}.config-table-section{margin-top:2rem;margin-top:var(--spacing-xl)}.config-table-title{color:#2c3e50;color:var(--text-secondary);font-size:1.2rem;font-size:var(--font-size-lg);font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.no-configs{color:#969799;color:var(--text-disabled);font-size:.9rem;font-size:var(--font-size-base);padding:2rem;padding:var(--spacing-xl);text-align:center}.config-table{background:#fff;background:var(--bg-primary);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden}.config-table .table-header,.config-table .table-row{grid-gap:.5rem;grid-gap:var(--spacing-sm);align-items:center;display:grid;gap:.5rem;gap:var(--spacing-sm);grid-template-columns:1fr 1fr 1fr 1fr 80px;overflow:hidden;padding:1rem;padding:var(--spacing-md);white-space:nowrap}.config-table .table-header{background:#f7f8fa;background:var(--bg-table-header);border-bottom:2px solid #e5e5e5;border-bottom:2px solid var(--border-medium);color:#646566;color:var(--text-light);font-size:.9rem;font-size:var(--font-size-base);font-weight:600}.config-table .table-row{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-light);font-size:.9rem;font-size:var(--font-size-base)}.config-table .table-row:last-child{border-bottom:none}.config-table .table-header span,.config-table .table-row span{padding:.25rem;padding:var(--spacing-xs);text-align:center}.config-table .table-header span:first-child,.config-table .table-row span:first-child{text-align:left}.mobile-page .game-config .config-table .table-header span,.mobile-page .game-config .config-table .table-row span{text-align:center}.mobile-page .game-config .config-table .table-header,.mobile-page .game-config .config-table .table-row{grid-template-columns:1fr 1fr}.amount-cell{color:#1aad19;color:var(--color-success);font-weight:600}.action-cell{text-align:center}.monthly-config .form-actions{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md);margin-top:1.5rem;margin-top:var(--spacing-lg)}.monthly-config .cancel-btn{background:#f7f7f7;background:var(--bg-secondary);border:1px solid #e5e5e5;border:1px solid var(--border-medium);border-radius:4px;border-radius:var(--border-radius-sm);color:#2c3e50;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-size:var(--font-size-base);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.monthly-config .cancel-btn:hover{background:#f0f0f0;background:var(--bg-hover);border-color:#bfbfbf;border-color:var(--border-dark)}.ant-radio-button-wrapper{border-color:#d9d9d9!important;color:#576b95!important;text-align:center!important}.ant-radio-button-wrapper:hover{border-color:#1aad19!important;color:#1aad19!important}.ant-radio-button-wrapper-checked,.ant-radio-button-wrapper-checked:hover{border-color:#1aad19!important;box-shadow:-1px 0 0 0 #1aad19!important;color:#1aad19!important}.ant-radio-button-wrapper-checked:before{background-color:#1aad19!important}.ant-radio-button-wrapper:first-child{border-left:1px solid #d9d9d9!important}.ant-radio-button-wrapper:first-child.ant-radio-button-wrapper-checked{border-left:1px solid #1aad19!important}.price-list{background:#fff;background:var(--bg-primary);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);padding:2rem;padding:var(--spacing-xl)}.price-filter{align-items:center;background:#f8fffe;background:var(--bg-card);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:4px;border-radius:var(--border-radius-sm);display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1rem;padding:var(--spacing-md)}.filter-input{border:1px solid #d9d9d9;border:1px solid var(--border-input);border-radius:4px;border-radius:var(--border-radius-sm);flex:1 1;font-size:.9rem;font-size:var(--font-size-base);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .3s ease;transition:border-color var(--transition-normal)}.filter-input:focus{border-color:#1aad19;border-color:var(--primary-color);box-shadow:0 0 0 2px #1aad191a;outline:none}.filter-count{color:#576b95;color:var(--text-muted);font-size:.8rem;font-size:var(--font-size-sm);white-space:nowrap}.no-prices{color:#969799;color:var(--text-disabled);font-size:.9rem;font-size:var(--font-size-base);padding:2rem;padding:var(--spacing-xl);text-align:center}.price-table{overflow-x:auto}.price-table .table-header,.price-table .table-row{grid-gap:.5rem;grid-gap:var(--spacing-sm);align-items:center;display:grid;gap:.5rem;gap:var(--spacing-sm);grid-template-columns:1fr 1fr 1.5fr .8fr 1fr;overflow:hidden;padding:1rem;padding:var(--spacing-md);white-space:nowrap}.price-table .table-header{background:#f7f8fa;background:var(--bg-table-header);border-radius:4px;border-radius:var(--border-radius-sm);color:#646566;color:var(--text-light);font-size:.9rem;font-size:var(--font-size-base);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.price-table .table-row{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-light);font-size:.9rem;font-size:var(--font-size-base)}.price-table .table-header span,.price-table .table-row span{text-align:center}.price-table .table-header span:first-child,.price-table .table-row span:first-child{text-align:left}.price-cell{color:#1aad19;color:var(--color-success);font-weight:600}.price-cards{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md)}.price-card{background:#f7f8fa;background:var(--bg-mobile-card);border:1px solid #e5e5e5;border:1px solid var(--border-medium);border-radius:8px;border-radius:var(--border-radius-md);padding:1rem;padding:var(--spacing-md);transition:box-shadow .3s ease;transition:box-shadow var(--transition-normal)}.price-card:hover{box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md)}.price-value{color:#1aad19;color:var(--color-success);font-weight:600}.price-card-content{display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.price-field{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0;padding:var(--spacing-xs) 0}.price-label{color:#576b95;color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-size:var(--font-size-sm);font-weight:500;margin-right:.5rem;margin-right:var(--spacing-sm)}.price-text{color:#191919;color:var(--text-primary);flex:1 1;font-size:.9rem;font-size:var(--font-size-base);text-align:right}@media (max-width:768px){.app-main,.record-form,.record-list,.statistics{padding:1rem}.import-btn,.record-form>div:first-child{display:none}.stats-grid{grid-template-columns:1fr}.stats-header{align-items:flex-start;flex-direction:column;gap:1rem}.period-selector{align-self:stretch;justify-content:center}.item-stat{background:#f7f8fa;border:1px solid #e5e5e5;border-radius:8px;display:block;margin-bottom:1rem;padding:1rem}.item-stat .item-name{color:#191919;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;text-align:center}.item-stat span:not(.item-name){align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.item-stat span:last-child{border-bottom:none;margin-bottom:0}.item-stat span:not(.item-name):before{color:#969799;content:attr(data-label);font-weight:600;text-align:left}.table-header{display:none}.table-row{background:#f7f8fa;border:1px solid #e5e5e5;border-radius:8px;display:block;grid-template-columns:none;margin-bottom:1rem;padding:1rem}.table-row span{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.table-row span:last-child{border-bottom:none;margin-bottom:0}.config-table .table-header{display:none!important}.config-table .table-row{background:#f7f8fa;border:1px solid #e5e5e5;border-radius:8px;display:block!important;grid-template-columns:none!important;margin-bottom:1rem;padding:1rem}.config-table .table-row span{align-items:center;border-bottom:1px solid #e8e8e8;display:flex!important;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0;text-align:left}.config-table .table-row span:last-child{border-bottom:none;margin-bottom:0}.config-table .table-row .action-cell{justify-content:space-between!important}.config-table .table-row span:before{color:#576b95;color:var(--text-muted);content:attr(data-label);flex-shrink:0;font-size:.8rem;font-size:var(--font-size-sm);font-weight:500;margin-right:.5rem;margin-right:var(--spacing-sm)}.config-table .table-row span:first-child:before{content:"月份:"}.config-table .table-row span:nth-child(2):before{content:"开始时间:"}.config-table .table-row span:nth-child(3):before{content:"结束时间:"}.config-table .table-row span:nth-child(4):before{content:"初始金额:"}.config-table .table-row span:nth-child(5):before{content:"操作:"}.mobile-page .config-table .table-row span:first-child:before{content:"游戏名称:"}.mobile-page .config-table .table-row span:nth-child(2):before{content:"操作:"}.record-list .table-row span[data-field=date]:before{color:#2c3e50;color:var(--text-secondary);content:"日期: ";font-weight:500}.record-list .table-row span[data-field=game]:before{color:#2c3e50;color:var(--text-secondary);content:"游戏: ";font-weight:500}.record-list .table-row span[data-field=category]:before{color:#2c3e50;color:var(--text-secondary);content:"道具类别: ";font-weight:500}.record-list .table-row span[data-field=name]:before{color:#2c3e50;color:var(--text-secondary);content:"具体名称: ";font-weight:500}.record-list .table-row span[data-field=type]:before{color:#2c3e50;color:var(--text-secondary);content:"类型: ";font-weight:500}.record-list .table-row span[data-field=quantity]:before{color:#2c3e50;color:var(--text-secondary);content:"数量: ";font-weight:500}.record-list .table-row span[data-field=price]:before{color:#2c3e50;color:var(--text-secondary);content:"单价: ";font-weight:500}.record-list .table-row span[data-field=total]:before{color:#2c3e50;color:var(--text-secondary);content:"总额: ";font-weight:500}.record-list .table-row span[data-field=method]:before{color:#2c3e50;color:var(--text-secondary);content:"交易方式: ";font-weight:500}.record-list .table-row span[data-field]{align-items:center;border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border-mobile);display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0;text-align:right}.record-list .table-row span[data-field]:last-child{border-bottom:none;margin-bottom:0}.record-list .table-row .remark-cell:before{color:#2c3e50;color:var(--text-secondary);content:"备注: ";flex-shrink:0;font-weight:500;margin-right:.5rem;margin-right:var(--spacing-sm)}.record-list .table-row .remark-cell{align-items:flex-start;color:#576b95;display:flex!important;font-size:.9rem;justify-content:space-between;min-height:auto;padding:.25rem 0}.record-list .table-row .remark-cell .remark-content{word-wrap:break-word;display:block;flex:1 1;line-height:1.4;min-height:auto;padding:.25rem 0;text-align:right;white-space:pre-wrap}.record-list .table-row .remark-cell .remark-content:before{content:none!important}.record-list .table-row .remark-cell .remark-content--clickable{cursor:pointer;transition:color .2s ease}.record-list .table-row .remark-cell .remark-content--expanded{color:#1aad19}.user-management .table-row span[data-field=username]:before{color:#969799;color:var(--text-disabled);content:"用户名:";font-weight:600}.user-management .table-row span[data-field=role]:before{color:#969799;color:var(--text-disabled);content:"用户角色:";font-weight:600}.user-management .table-row span[data-field=status]:before{color:#969799;color:var(--text-disabled);content:"状态:";font-weight:600}.user-management .table-row span[data-field=created]:before{color:#969799;color:var(--text-disabled);content:"创建时间:";font-weight:600}.user-management .table-row span[data-field=actions]:before{color:#969799;color:var(--text-disabled);content:"操作:";font-weight:600}.user-management .table-row span[data-field]{align-items:center;border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border-mobile);display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.user-management .table-row span[data-field=actions]{justify-content:flex-start!important;text-align:left!important}.user-management .table-row span[data-field=actions]:before{margin-right:auto!important}.user-management .table-row span[data-field=actions].action-buttons{justify-content:flex-end!important;margin-left:auto!important}.user-management .table-row span[data-field]:last-child{border-bottom:none;margin-bottom:0}.user-management .action-buttons{flex-direction:row!important;flex-wrap:nowrap!important;gap:0!important;justify-content:flex-end!important;margin:0!important;padding:0!important}.user-management .action-buttons button{border:1px solid!important;border-left:none!important;border-right:none!important;flex:none!important;font-size:.8rem!important;font-size:var(--font-size-sm)!important;margin:0!important;padding:.25rem .5rem!important;padding:var(--spacing-xs) var(--spacing-sm)!important;position:relative!important;width:auto!important}.user-management .action-buttons button:first-child{border-left:1px solid!important;border-radius:4px 0 0 4px!important;margin-right:-1px!important}.user-management .action-buttons button:last-child{border-radius:0 4px 4px 0!important;border-right:1px solid!important;margin-left:-1px!important}.price-list{padding:1rem;padding:var(--spacing-md)}.price-filter{align-items:stretch;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.filter-input{box-sizing:border-box;width:100%}.filter-count{text-align:center}.price-cards{gap:.5rem;gap:var(--spacing-sm)}.price-card{padding:.5rem;padding:var(--spacing-sm)}.price-value{font-size:.9rem;font-size:var(--font-size-base)}.price-field{padding:.25rem 0;padding:var(--spacing-xs) 0}.price-label{margin-right:.25rem;margin-right:var(--spacing-xs)}.price-label,.price-text{font-size:.8rem;font-size:var(--font-size-sm)}.radio-group{gap:1.5rem;justify-content:space-around}.radio-group label{justify-content:center;min-width:100px;padding:.75rem}.item-stats-table{display:none}.mobile-item-stats,.mobile-page{display:block}.user-management .page-header{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:1rem;margin-top:0;padding:1rem;width:100%}.user-management .page-header h2{display:none}.user-management .back-btn{background:none;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;flex-shrink:0;font-size:1rem;padding:.25rem;position:static;transition:background-color .3s}.user-management .back-btn:hover{background-color:#1aad191a}.user-management .add-user-btn{align-items:center;background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;font-weight:500;height:32px;padding:.25rem .75rem;transition:background-color .3s}.user-management .add-user-btn:hover{background:#179b16}.user-management .table-header{display:none}.user-management .table-row{background:#f7f8fa;border:1px solid #e5e5e5;border-radius:8px;display:block;margin-bottom:1rem;padding:1rem}.monthly-config .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:0 20px}.monthly-config .back-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.25rem;transition:all .2s ease}.monthly-config .back-btn:hover{background-color:#f5f5f5;color:#333}.monthly-config .add-btn{background:#52c41a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.monthly-config .add-btn:hover{background:#389e0d}.monthly-config .add-config-btn{background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-left:auto;padding:.5rem 1rem;transition:background-color .3s}.monthly-config .add-config-btn:hover:not(:disabled){background:#179b16}.monthly-config .add-config-btn:disabled{background:#ccc;cursor:not-allowed}.game-config .page-header{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:1rem;margin-top:0;padding:1.5rem;width:100%}.game-config .back-btn{align-items:center;background:none;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;gap:.5rem;padding:.25rem;position:static;transition:background-color .3s}.game-config .back-btn:hover{background-color:#1aad191a}.game-config .add-config-btn{align-items:center;background:#1aad19;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;font-weight:500;gap:.5rem;height:32px;padding:.25rem .75rem;transition:background-color .3s}.game-config .add-config-btn:hover{background:#179b16}.config-form{padding:1rem}.config-form .form-group{align-items:center;flex-direction:row;gap:1rem}.config-form .form-group label{flex-shrink:0;min-width:80px}.config-form .form-group input{flex:1 1;min-width:0}.user-form{padding:1rem;padding:var(--spacing-md)}.user-form .form-group{align-items:center;flex-direction:row;gap:1rem}.user-form .form-group label{flex-shrink:0;min-width:100px}.user-form .form-group input,.user-form .form-group select{flex:1 1;min-width:0}.user-form .form-actions{align-items:stretch;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.user-form .cancel-btn,.user-form .submit-btn{padding:1rem;padding:var(--spacing-md);width:100%}.monthly-config .form-actions{flex-direction:column;gap:1rem;gap:var(--spacing-md);margin-top:1.5rem;margin-top:var(--spacing-lg)}.monthly-config .cancel-btn,.monthly-config .submit-btn{border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.9rem;font-size:var(--font-size-base);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.monthly-config .submit-btn{background:#1aad19;background:var(--primary-color);border:none;color:#fff}.monthly-config .submit-btn:hover{background:#179b16;background:var(--primary-hover)}.monthly-config .cancel-btn{background:#f7f7f7;background:var(--bg-secondary);border:1px solid #e5e5e5;border:1px solid var(--border-medium);color:#2c3e50;color:var(--text-secondary)}.monthly-config .cancel-btn:hover{background:#f0f0f0;background:var(--bg-hover);border-color:#bfbfbf;border-color:var(--border-dark)}}.login-page{padding:1rem}.login-container{border:2px solid #f8e4b3;border:2px solid var(--gold-border);border-radius:16px;box-shadow:0 20px 40px #ffd70066;padding:2.5rem}.login-header{margin-bottom:2rem}.login-header h1{align-items:center;color:#2c3e50;display:flex;font-size:1.8rem;font-weight:600;gap:1rem;justify-content:center;margin-bottom:.5rem}.login-header h1 svg{color:#f0b90b;color:var(--gold-color);transition:color .3s ease;transition:color var(--transition-normal)}.login-header h1:hover svg{color:#f8d33a;color:var(--gold-hover)}.login-header p{color:#7f8c8d;font-size:.9rem}.login-form{margin-bottom:1.5rem}.login-form .form-group{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.login-form .form-group label{color:#2c3e50;display:inline-block;font-size:.9rem;font-weight:500}.login-form .form-group input{border:2px solid #e1e8ed;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.login-form .form-group input:focus{border-color:#f0b90b;border-color:var(--gold-color);box-shadow:0 0 0 3px #ffd7004d;outline:none}.password-input-container{align-items:center;display:flex;flex:1 1;position:relative}.password-input-container input{flex:1 1;padding-right:2.5rem}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .2s,background-color .2s}.password-toggle-btn:hover{background-color:#f5f5f5;color:#333}.password-toggle-btn:focus{background-color:#fff9e6;background-color:var(--gold-light);color:#f0b90b;color:var(--gold-color);outline:none}.login-btn{background:#f0b90b;background:var(--gold-color);border-radius:8px;box-shadow:0 4px 12px #ffd70066;font-size:1rem;font-weight:600;padding:.875rem;transition:all .3s ease;width:100%}.login-btn:hover{background:#f8d33a;background:var(--gold-hover);box-shadow:0 6px 16px #ffd70080;transform:translateY(-1px)}.login-btn:active{transform:translateY(1px)}.error-message{background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.login-footer{color:#7f8c8d;font-size:.8rem;line-height:1.5}.login-footer p{margin:.25rem 0}@media (max-width:768px){.login-page{padding:1rem}.login-container{border-radius:8px;padding:2rem 1.5rem}.login-header h1{font-size:1.5rem}.login-form .form-group{align-items:stretch;flex-direction:column;gap:.5rem}.login-form .form-group label{min-width:auto}.login-form .form-group input{flex:none;font-size:1rem;padding:.875rem}.login-btn{font-size:1rem;padding:1rem}}@media (min-width:769px){.mobile-page{background:#0000;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1200px;padding:2rem;position:static}.back-btn,.mobile-page{display:block}}.login-page{align-items:center;background:linear-gradient(135deg,gold,#f0b90b 30%,#f8d33a 70%,#f0b90b);background:linear-gradient(135deg,var(--gold-bright) 0,var(--gold-color) 30%,var(--gold-hover) 70%,#f0b90b 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;background:var(--bg-primary);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#191919;color:var(--text-primary);font-size:2.5rem;margin:0 0 10px}.login-header p{color:#576b95;color:var(--text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{align-items:center;display:flex;flex-direction:row;gap:1rem}.login-form .form-group{align-items:stretch;flex-direction:column;gap:.5rem}.form-group label{color:#191919;color:var(--text-primary);font-weight:500}.login-form .form-group label{flex-shrink:0;min-width:60px}.form-group input{border:2px solid #d9d9d9;border:2px solid var(--border-input);border-radius:4px;border-radius:var(--border-radius-sm);font-size:16px;padding:12px;transition:border-color .3s ease;transition:border-color var(--transition-normal)}.login-form .form-group input{flex:1 1}.form-group input:focus{border-color:#f0b90b;border-color:var(--gold-color);box-shadow:0 0 0 3px #ffd7004d;outline:none}.error-message{background:#fdf2f2;border:1px solid #fecaca;border-radius:4px;border-radius:var(--border-radius-sm);color:#fa5151;color:var(--color-warning);font-size:14px;padding:10px;text-align:center}.login-btn{background:linear-gradient(135deg,gold,#f0b90b);background:linear-gradient(135deg,var(--gold-bright) 0,var(--gold-color) 100%);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;color:var(--bg-primary);cursor:pointer;font-size:16px;font-weight:500;padding:14px;transition:transform .2s ease,box-shadow .2s ease;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.login-btn:hover:not(:disabled){box-shadow:0 5px 15px #ffd70080;transform:translateY(-2px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-footer{color:#576b95;color:var(--text-muted);font-size:14px;margin-top:30px;text-align:center}.login-footer p{margin:5px 0}.auth-loading{align-items:center;background:linear-gradient(135deg,gold,#f0b90b 30%,#f8d33a 70%,#f0b90b);background:linear-gradient(135deg,var(--gold-bright) 0,var(--gold-color) 30%,var(--gold-hover) 70%,#f0b90b 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-loading:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='10' height='10' patternUnits='userSpaceOnUse'%3E%3Cpath d='M10 0H0v10' fill='none' stroke='rgba(255,255,255,0.1)' stroke-width='.5'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.loading-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e8f5e8;border:1px solid var(--primary-border);border-radius:20px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);padding:40px 60px;position:relative;text-align:center;z-index:1}.loading-spinner{height:80px;margin:0 auto 30px;position:relative;width:80px}.spinner-ring{animation:spin 1.2s linear infinite;border:3px solid #0000;border-radius:50%;border-top-color:#1aad19;border-top:3px solid var(--primary-color);height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:0s}.spinner-ring:nth-child(2){animation-delay:.2s;border-top-color:#179b16;border-top-color:var(--primary-hover);height:60px;left:10px;top:10px;width:60px}.spinner-ring:nth-child(3){animation-delay:.4s;border-top-color:#f0f9f0;border-top-color:var(--primary-light);height:40px;left:20px;top:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1aad19,#179b16);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;background-clip:text;color:#191919;color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 10px}.loading-text p{color:#2c3e50;color:var(--text-secondary);font-size:16px;margin:0;opacity:.8}@media (max-width:768px){.loading-container{margin:20px;padding:30px 40px}.loading-spinner{height:60px;margin-bottom:20px;width:60px}.spinner-ring:nth-child(2){height:45px;left:7.5px;top:7.5px;width:45px}.spinner-ring:nth-child(3){height:30px;left:15px;top:15px;width:30px}.loading-text h3{font-size:20px}.loading-text p{font-size:14px}}.user-info{gap:10px}.user-info,.username{align-items:center;display:flex}.username{background-color:#1aad19;background-color:var(--primary-color);border-radius:50%;color:#fff;font-size:12px;font-weight:600;height:32px;justify-content:center;text-transform:uppercase;width:32px}.username.clickable{cursor:pointer;transition:all .2s ease}.username.clickable:hover{background-color:#179b16;background-color:var(--primary-hover);transform:scale(1.05)}.username-container{display:inline-block;position:relative}.username-tooltip{left:50%;margin-top:8px;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);z-index:1000}.tooltip-content{animation:tooltipFadeIn .2s ease;background:#000000e6;border-radius:6px;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:12px;padding:8px 12px;white-space:nowrap}.tooltip-content:before{border-bottom:4px solid #000000e6;border-left:4px solid #0000;border-right:4px solid #0000;content:"";height:0;left:50%;position:absolute;top:-4px;transform:translateX(-50%);width:0}.tooltip-username{font-weight:600;margin-bottom:2px}.tooltip-role{color:#ccc;font-size:11px;margin-bottom:4px}.tooltip-hint{color:#aaa;font-size:10px;font-style:italic}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.username{font-size:11px;height:28px;width:28px}.login-container{padding:30px 20px}}.message{align-items:center;animation:messageSlideIn .3s ease;border-radius:8px;border-radius:var(--border-radius-md);display:flex;font-size:.9rem;font-size:var(--font-size-base);font-weight:500;margin:1rem 0;padding:.75rem 1rem}.message.success{background-color:#f0f9f0;background-color:var(--primary-light);border:1px solid #e8f5e8;border:1px solid var(--primary-border);color:#1aad19;color:var(--color-success)}.message.error{background-color:#fff2f0;border:1px solid #ffccc7;color:#fa5151;color:var(--color-warning)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.change-password-dialog{max-width:500px;width:90%}.change-password-dialog .form-group{align-items:center!important;display:flex!important;gap:1rem!important;margin-bottom:1rem!important}.change-password-dialog .form-group label{color:#191919!important;color:var(--text-primary)!important;flex-shrink:0!important;font-size:.9rem!important;font-weight:600!important;text-align:left!important;width:100px!important}.change-password-dialog .form-group input{border:1px solid #d9d9d9!important;border-radius:4px!important;box-sizing:border-box!important;flex:1 1!important;font-family:inherit!important;font-size:.9rem!important;padding:.75rem!important;transition:border-color .3s!important}.change-password-dialog .form-group input:focus{border-color:#1aad19!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #1aad1933!important;outline:none!important}.change-password-dialog .dialog-close{align-items:center!important;display:flex!important;font-size:1.5rem!important;font-weight:700!important;height:32px!important;justify-content:center!important;width:32px!important}.change-password-dialog .dialog-header h3{align-items:center!important;color:#191919!important;color:var(--text-primary)!important;display:flex!important;font-size:1.1rem!important;font-weight:600!important;line-height:1!important;margin:0!important}.user-management .loading-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e8f5e8;border:1px solid var(--primary-border);border-radius:20px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);margin:2rem auto;max-width:400px;padding:30px 50px;position:relative;text-align:center;z-index:1}.user-management .loading-spinner{height:60px;margin:0 auto 20px;position:relative;width:60px}.user-management .spinner-ring{animation:spin 1.2s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#1aad19;border-top:2px solid var(--primary-color);height:100%;position:absolute;width:100%}.user-management .spinner-ring:first-child{animation-delay:0s}.user-management .spinner-ring:nth-child(2){animation-delay:.2s;border-top-color:#179b16;border-top-color:var(--primary-hover);height:45px;left:7.5px;top:7.5px;width:45px}.user-management .spinner-ring:nth-child(3){animation-delay:.4s;border-top-color:#f0f9f0;border-top-color:var(--primary-light);height:30px;left:15px;top:15px;width:30px}.user-management .loading-text h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1aad19,#179b16);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;background-clip:text;color:#191919;color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.user-management .loading-text p{color:#2c3e50;color:var(--text-secondary);font-size:14px;margin:0;opacity:.8}.monthly-config .loading-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e8f5e8;border:1px solid var(--primary-border);border-radius:20px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);margin:2rem auto;max-width:400px;padding:30px 50px;position:relative;text-align:center;z-index:1}.monthly-config .loading-spinner{height:60px;margin:0 auto 20px;position:relative;width:60px}.monthly-config .spinner-ring{animation:spin 1.2s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#1aad19;border-top:2px solid var(--primary-color);height:100%;position:absolute;width:100%}.monthly-config .spinner-ring:first-child{animation-delay:0s}.monthly-config .spinner-ring:nth-child(2){animation-delay:.2s;border-top-color:#179b16;border-top-color:var(--primary-hover);height:45px;left:7.5px;top:7.5px;width:45px}.monthly-config .spinner-ring:nth-child(3){animation-delay:.4s;border-top-color:#f0f9f0;border-top-color:var(--primary-light);height:30px;left:15px;top:15px;width:30px}.monthly-config .loading-text h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1aad19,#179b16);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;background-clip:text;color:#191919;color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.monthly-config .loading-text p{color:#2c3e50;color:var(--text-secondary);font-size:14px;margin:0;opacity:.8}.record-list .loading-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e8f5e8;border:1px solid var(--primary-border);border-radius:20px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md);margin:2rem auto;max-width:400px;padding:30px 50px;position:relative;text-align:center;z-index:1}.record-list .loading-spinner{height:60px;margin:0 auto 20px;position:relative;width:60px}.record-list .spinner-ring{animation:spin 1.2s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#1aad19;border-top:2px solid var(--primary-color);height:100%;position:absolute;width:100%}.record-list .spinner-ring:first-child{animation-delay:0s}.record-list .spinner-ring:nth-child(2){animation-delay:.2s;border-top-color:#179b16;border-top-color:var(--primary-hover);height:45px;left:7.5px;top:7.5px;width:45px}.record-list .spinner-ring:nth-child(3){animation-delay:.4s;border-top-color:#f0f9f0;border-top-color:var(--primary-light);height:30px;left:15px;top:15px;width:30px}.record-list .loading-text h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1aad19,#179b16);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;background-clip:text;color:#191919;color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.record-list .loading-text p{color:#2c3e50;color:var(--text-secondary);font-size:14px;margin:0;opacity:.8}.mobile-page .page-content{display:flex;flex-direction:column;gap:2rem;gap:var(--spacing-xl);padding:1.5rem;padding:var(--spacing-lg)}.mobile-page .form-container{background:#f8fffe;background:var(--bg-card);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--spacing-lg)}.mobile-page .form-container h3{color:#191919;color:var(--text-primary);font-size:.9rem;font-size:var(--font-size-base);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mobile-page .form{display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.mobile-page .form-group{display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.mobile-page .monthly-config .form-group{align-items:center;flex-direction:row;gap:1rem}.mobile-page .monthly-config .form-group label{flex-shrink:0;min-width:140px}.mobile-page .form-group label{color:#2c3e50;color:var(--text-secondary);font-size:.9rem;font-size:var(--font-size-base);font-weight:500}.mobile-page .form-actions{display:flex;gap:1rem;gap:var(--spacing-md);justify-content:flex-end}.mobile-page .list-container{background:#f8fffe;background:var(--bg-card);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--spacing-lg)}.mobile-page .list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mobile-page .list-header h3{color:#191919;color:var(--text-primary);margin:0}.game-config .btn,.mobile-page .list-header h3{font-size:.9rem;font-size:var(--font-size-base)}.game-config .btn{align-items:center;border:none;border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;display:inline-flex;gap:.25rem;gap:var(--spacing-xs);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:.2s ease;transition:var(--transition-fast)}.game-config .btn:disabled{cursor:not-allowed;opacity:.6}.game-config .btn-primary{background-color:#1aad19;background-color:var(--primary-color);color:#fff}.game-config .btn-primary:hover:not(:disabled){background-color:#179b16;background-color:var(--primary-hover)}.game-config .btn-secondary{background-color:#f7f7f7;background-color:var(--bg-secondary);border:1px solid #e5e5e5;border:1px solid var(--border-medium);color:#2c3e50;color:var(--text-secondary)}.game-config .btn-secondary:hover:not(:disabled){background-color:#f0f0f0;background-color:var(--bg-hover)}.game-config .btn-danger{background-color:#fa5151;background-color:var(--color-warning);color:#fff}.game-config .btn-danger:hover:not(:disabled){background-color:#e74c3c}.game-config .btn-icon{min-width:auto;padding:.5rem;padding:var(--spacing-sm)}.game-config .empty-state,.game-config .loading{color:#576b95;color:var(--text-muted);padding:2rem;padding:var(--spacing-xl);text-align:center}.game-config .empty-state p{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.game-config .game-names-list{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.game-config .game-name-item{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:4px;border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:1rem;padding:var(--spacing-md);transition:.2s ease;transition:var(--transition-fast)}.game-config .game-name-item:hover{border-color:#e5e5e5;border-color:var(--border-medium);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.game-config .game-name-info{flex:1 1}.game-config .game-name{color:#191919;color:var(--text-primary);font-size:.9rem;font-size:var(--font-size-base);font-weight:500;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.game-config .game-name-meta{color:#576b95;color:var(--text-muted);font-size:.8rem;font-size:var(--font-size-sm)}@media (max-width:768px){.mobile-page .page-content{padding:1rem;padding:var(--spacing-md)}.mobile-page .form-actions{flex-direction:column}.mobile-page .btn{justify-content:center;width:100%}.mobile-page .game-name-item,.mobile-page .list-header{align-items:stretch;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.mobile-page .game-name-item .btn{align-self:flex-end}}
/*# sourceMappingURL=main.0f807fe3.css.map*/