*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] body{background-color:#141414;color:#ffffffd9}[data-theme=light] body{background-color:#fff;color:#000000d9}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.ant-layout-content{padding:16px!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;transition:background-color .3s ease}::-webkit-scrollbar-thumb{background:#888;border-radius:4px;transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background:#555}[data-theme=dark] ::-webkit-scrollbar-track{background:#1f1f1f}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#555}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#777}a{text-decoration:none;transition:color .3s ease}.ant-btn{border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.ant-card{border-radius:8px;box-shadow:0 2px 8px #0000000f;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1)!important}.ant-card:hover{box-shadow:0 4px 16px #0000001a}[data-theme=dark] .ant-card{box-shadow:0 2px 8px #00000026}[data-theme=dark] .ant-card:hover{box-shadow:0 4px 16px #00000040}.ant-form-item-label>label{font-weight:500}h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography{font-weight:600}.theme-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme: dark){body{transition:background-color .5s ease,color .5s ease}}[data-theme=dark] .ant-layout{background-color:#141414}[data-theme=light] .ant-layout{background-color:#f0f2f5}.ant-menu-horizontal{line-height:46px}.ant-menu-horizontal>.ant-menu-item:after,.ant-menu-horizontal>.ant-menu-submenu:after{display:none!important}.ant-menu-horizontal>.ant-menu-item-selected:after,.ant-menu-horizontal>.ant-menu-submenu-selected:after{display:block!important;position:absolute;left:0;right:0;bottom:0;height:2px;background-color:#1677ff;content:"";transition:background-color .3s ease}[data-theme=dark] .ant-menu-horizontal>.ant-menu-item-selected:after,[data-theme=dark] .ant-menu-horizontal>.ant-menu-submenu-selected:after{background-color:#177ddc}.ant-switch{margin-left:16px}.chart-canvas-container{border-radius:8px;overflow:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000f}[data-theme=light] .chart-canvas-container{background-color:#fff;border:1px solid #e8e8e8}[data-theme=dark] .chart-canvas-container{background-color:#1f1f1f;border:1px solid #434343;box-shadow:0 2px 8px #00000026}canvas{transition:opacity .3s cubic-bezier(.4,0,.2,1);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}[data-theme=dark] canvas{opacity:.98}[data-theme=light] canvas{opacity:1}[data-theme=dark] .ant-input,[data-theme=dark] .ant-select-selector,[data-theme=dark] .ant-picker{background-color:#262626!important;border-color:#434343!important;color:#ffffffd9!important}[data-theme=dark] .ant-input:focus,[data-theme=dark] .ant-select-selector:focus,[data-theme=dark] .ant-picker:focus{border-color:#177ddc!important;box-shadow:0 0 0 2px #177ddc33!important}html{color-scheme:light dark}[data-theme=dark] html{color-scheme:dark}[data-theme=light] html{color-scheme:light}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{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{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.App{text-align:center;transition:all .3s ease}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}.navigation{display:flex;align-items:center;justify-content:space-between;min-width:0;width:100%}.navigation-main{display:flex;align-items:center;min-width:0}.navigation-user{display:flex;align-items:center;flex-shrink:0}@media (max-width: 480px){.app-header{padding:0 12px!important}.navigation-username{display:none}}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);transition:background .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-container{background:linear-gradient(135deg,#1a1a2e,#16213e)}.admin-header{text-align:center;margin-bottom:30px;color:#fff}.admin-header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3);transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-header h1{color:#fffffff2;text-shadow:2px 2px 8px rgba(0,0,0,.6)}.admin-header p{font-size:1.1rem;opacity:.9;transition:opacity .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-header p{color:#fffc}.error-message{background:#ff6b6b;color:#fff;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000001a;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .error-message{background:#cf1322;border-color:#ff4d4f;box-shadow:0 4px 12px #cf13224d}.error-message button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s cubic-bezier(.4,0,.2,1)}.error-message button:hover{background:#fff3}.admin-tabs{display:flex;background:#fff;border-radius:12px;padding:8px;margin-bottom:30px;box-shadow:0 8px 32px #0000001a;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-tabs{background:#262626;border-color:#434343;box-shadow:0 8px 32px #0006}.admin-tabs button{flex:1;padding:15px 20px;border:none;background:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}[data-theme=dark] .admin-tabs button{color:#ffffffb3}.admin-tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}[data-theme=dark] .admin-tabs button.active{background:linear-gradient(135deg,#177ddc,#1668dc);box-shadow:0 4px 15px #177ddc66}.admin-tabs button:hover:not(.active){background:#f8f9fa;color:#333}[data-theme=dark] .admin-tabs button:hover:not(.active){background:#434343;color:#ffffffe6}.admin-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 8px 32px #0000001a;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-content{background:#1f1f1f;border-color:#434343;box-shadow:0 8px 32px #0006}.users-section,.memberships-section{margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f1f3f4;transition:border-color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .section-header{border-bottom-color:#434343}.section-header h2{font-size:1.8rem;color:#333;margin:0;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .section-header h2{color:#ffffffe6}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}[data-theme=dark] .create-button{background:linear-gradient(135deg,#177ddc,#1668dc);box-shadow:0 4px 15px #177ddc66}.create-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}[data-theme=dark] .create-button:hover{box-shadow:0 6px 20px #177ddc80}.edit-button{background:#4ecdc4;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-right:8px}[data-theme=dark] .edit-button{background:#13c2c2}.edit-button:hover{background:#45b7aa;transform:translateY(-1px)}[data-theme=dark] .edit-button:hover{background:#36cfc9}.membership-button{background:#ffa726;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-right:8px}[data-theme=dark] .membership-button{background:#fa8c16}.membership-button:hover{background:#ff9800;transform:translateY(-1px)}[data-theme=dark] .membership-button:hover{background:#ffa940}.delete-button{background:#ff6b6b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease}[data-theme=dark] .delete-button{background:#ff4d4f}.delete-button:hover{background:#ff5252;transform:translateY(-1px)}[data-theme=dark] .delete-button:hover{background:#ff7875}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#177ddc,#1668dc);box-shadow:0 4px 15px #177ddc66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}[data-theme=dark] .btn-primary:hover{box-shadow:0 6px 20px #177ddc80}.btn-edit{background:#4ecdc4;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-right:8px}[data-theme=dark] .btn-edit{background:#13c2c2}.btn-edit:hover{background:#45b7aa;transform:translateY(-1px)}[data-theme=dark] .btn-edit:hover{background:#36cfc9}.btn-membership{background:#ffa726;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-right:8px}[data-theme=dark] .btn-membership{background:#fa8c16}.btn-membership:hover{background:#ff9800;transform:translateY(-1px)}[data-theme=dark] .btn-membership:hover{background:#ffa940}.btn-delete{background:#ff6b6b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease}[data-theme=dark] .btn-delete{background:#ff4d4f}.btn-delete:hover{background:#ff5252;transform:translateY(-1px)}[data-theme=dark] .btn-delete:hover{background:#ff7875}.table-container{overflow-x:auto;border-radius:8px;box-shadow:0 4px 6px #0000000d;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .table-container{box-shadow:0 4px 12px #0000004d;border-color:#434343}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .data-table{background:#262626}.data-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:15px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .data-table th{background:linear-gradient(135deg,#434343,#262626);color:#ffffffe6;border-bottom-color:#595959}.data-table td{padding:15px 12px;border-bottom:1px solid #f1f3f4;color:#495057;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .data-table td{border-bottom-color:#434343;color:#fffc}.data-table tr:hover{background:#f8f9fa}[data-theme=dark] .data-table tr:hover{background:#303030}.data-table tr:last-child td{border-bottom:none}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-table{background:#262626}.admin-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:15px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-table th{background:linear-gradient(135deg,#434343,#262626);color:#ffffffe6;border-bottom-color:#595959}.admin-table td{padding:15px 12px;border-bottom:1px solid #f1f3f4;color:#495057;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .admin-table td{border-bottom-color:#434343;color:#fffc}.admin-table tr:hover{background:#f8f9fa}[data-theme=dark] .admin-table tr:hover{background:#303030}.admin-table tr:last-child td{border-bottom:none}.membership-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#6c757d;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .membership-badge{background:#8c8c8c}.membership-badge.active{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}[data-theme=dark] .membership-badge.active{background:linear-gradient(135deg,#13c2c2,#36cfc9)}.membership-badge.inactive{background:#6c757d;color:#fff}[data-theme=dark] .membership-badge.inactive{background:#595959}.expiry-date{margin-left:8px;font-size:.75rem;opacity:.9}.no-membership{color:#6c757d;font-style:italic;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .no-membership{color:#8c8c8c}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1)}.status-badge.active{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}[data-theme=dark] .status-badge.active{background:linear-gradient(135deg,#13c2c2,#36cfc9)}.status-badge.expired{background:#ff6b6b;color:#fff}[data-theme=dark] .status-badge.expired{background:#ff4d4f}.status-badge.inactive{background:#6c757d;color:#fff}[data-theme=dark] .status-badge.inactive{background:#595959}.status-badge.正常{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}[data-theme=dark] .status-badge.正常{background:linear-gradient(135deg,#13c2c2,#36cfc9)}.status-badge.已过期{background:#ff6b6b;color:#fff}[data-theme=dark] .status-badge.已过期{background:#ff4d4f}.status-badge.已停用{background:#6c757d;color:#fff}[data-theme=dark] .status-badge.已停用{background:#595959}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.loading{text-align:center;padding:40px;font-size:1.1rem;color:#666;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .loading{color:#ffffffb3}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background-color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-overlay{background:#000c}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal{background:#1f1f1f;border-color:#434343;box-shadow:0 20px 60px #0009}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-header{background:#262626;border-bottom-color:#434343}.modal-header h3{margin:0;font-size:1.3rem;color:#333;font-weight:600;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-header h3{color:#ffffffe6}.modal-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}[data-theme=dark] .modal-header button{color:#ffffffb3}.modal-header button:hover{background:#e9ecef;color:#333}[data-theme=dark] .modal-header button:hover{background:#434343;color:#ffffffe6}.modal-body{padding:25px;transition:background-color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-body{background:#1f1f1f}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 25px;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 12px 12px;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-footer{background:#262626;border-top-color:#434343}.modal-footer button{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-footer button:first-child{background:#6c757d;color:#fff}[data-theme=dark] .modal-footer button:first-child{background:#595959}.modal-footer button:first-child:hover{background:#5a6268}[data-theme=dark] .modal-footer button:first-child:hover{background:#737373}.modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}[data-theme=dark] .modal-footer .btn-primary{background:linear-gradient(135deg,#177ddc,#1668dc)}.modal-footer .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}[data-theme=dark] .modal-footer .btn-primary:hover{box-shadow:0 4px 15px #177ddc66}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;padding:20px 25px;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 12px 12px;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .modal-buttons{background:#262626;border-top-color:#434343}.modal-buttons button{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-buttons button:first-child{background:#6c757d;color:#fff}[data-theme=dark] .modal-buttons button:first-child{background:#595959}.modal-buttons button:first-child:hover{background:#5a6268}[data-theme=dark] .modal-buttons button:first-child:hover{background:#737373}.modal-buttons button:last-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}[data-theme=dark] .modal-buttons button:last-child{background:linear-gradient(135deg,#177ddc,#1668dc)}.modal-buttons button:last-child:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}[data-theme=dark] .modal-buttons button:last-child:hover{box-shadow:0 4px 15px #177ddc66}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .form-group label{color:#ffffffe6}.form-group input,.form-group select{width:100%;padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background:#fff;color:#333}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background:#262626;border-color:#434343;color:#ffffffe6}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:#177ddc;box-shadow:0 0 0 3px #177ddc33}.form-group input[type=checkbox]{width:auto;margin-right:8px}.form-group input[disabled]{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}[data-theme=dark] .form-group input[disabled]{background-color:#434343;color:#8c8c8c}.user-info{background:#f8f9fa;padding:12px 15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #667eea;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .user-info{background:#262626;border-left-color:#177ddc;color:#ffffffe6}.current-membership-status{background:#f5f5f5;padding:12px 15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #4ecdc4;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .current-membership-status{background:#262626;border-left-color:#13c2c2}.current-membership-status strong{color:#333;font-size:1rem;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .current-membership-status strong{color:#ffffffe6}.current-membership-status .status-indicator{margin-left:8px;font-weight:700}.current-membership-status .status-active{color:#52c41a}[data-theme=dark] .current-membership-status .status-active{color:#73d13d}.current-membership-status .status-expired{color:#ff4d4f}[data-theme=dark] .current-membership-status .status-expired{color:#ff7875}.expiry-info{margin-left:8px;color:#666;transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .expiry-info{color:#fff9}@media (max-width: 768px){.admin-container{padding:15px}.admin-header h1{font-size:2rem}.admin-content{padding:20px}.section-header{flex-direction:column;gap:15px;align-items:flex-start}.data-table,.admin-table{font-size:.85rem}.data-table th,.data-table td,.admin-table th,.admin-table td{padding:10px 8px}.action-buttons{flex-direction:column;gap:5px}.edit-button,.membership-button,.delete-button,.btn-edit,.btn-membership,.btn-delete{width:100%;margin-right:0}.modal{width:95%;margin:20px}.modal-header,.modal-body,.modal-footer{padding:15px 20px}}@media (max-width: 480px){.admin-tabs{flex-direction:column;gap:5px}.admin-tabs button{width:100%}.data-table,.admin-table{font-size:.8rem}.data-table th,.data-table td,.admin-table th,.admin-table td{padding:8px 6px}.modal{width:98%;margin:10px}.modal-header,.modal-body,.modal-footer{padding:12px 15px}.modal-footer{flex-direction:column;gap:8px}.modal-footer button{width:100%}}.admin-container{width:100%;max-width:1280px;min-height:auto;padding:32px;box-sizing:border-box;background:#f6f8fa;color:#1f2937}[data-theme=dark] .admin-container{background:#14171c;color:#e5e7eb}.admin-header{margin-bottom:24px;color:#111827;text-align:left}.admin-header h1{margin:0 0 20px;font-size:2rem;font-weight:700;letter-spacing:-.04em;text-shadow:none}[data-theme=dark] .admin-header h1{color:#f3f4f6;text-shadow:none}.admin-tabs{width:fit-content;margin:0;padding:4px;gap:4px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:none}[data-theme=dark] .admin-tabs{border-color:#30363d;background:#1c2128;box-shadow:none}.admin-tabs button{flex:none;min-height:40px;padding:9px 18px;border-radius:7px;color:#6b7280;font-size:.9rem;transition:background-color .2s ease,color .2s ease}.admin-tabs button.active,[data-theme=dark] .admin-tabs button.active{background:#1f6feb;color:#fff;box-shadow:none}.admin-tabs button:hover:not(.active){background:#f3f4f6;color:#111827}[data-theme=dark] .admin-tabs button:hover:not(.active){background:#262c34;color:#f3f4f6}.users-section,.memberships-section{margin-bottom:0;padding:24px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}[data-theme=dark] .users-section,[data-theme=dark] .memberships-section{border-color:#30363d;background:#1c2128}.section-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.section-header h2{color:#111827;font-size:1.15rem;font-weight:700}[data-theme=dark] .section-header h2{color:#f3f4f6}.create-button,.btn-primary,.modal-footer .btn-primary,.modal-buttons button:last-child{min-height:40px;padding:9px 16px;border-radius:7px;background:#1f6feb;box-shadow:none;font-size:.9rem;transition:background-color .2s ease,box-shadow .2s ease}[data-theme=dark] .create-button,[data-theme=dark] .btn-primary,[data-theme=dark] .modal-footer .btn-primary,[data-theme=dark] .modal-buttons button:last-child{background:#2f81f7;box-shadow:none}.create-button:hover,.btn-primary:hover,.modal-footer .btn-primary:hover,.modal-buttons button:last-child:hover{background:#185abd;box-shadow:0 0 0 3px #1f6feb29;transform:none}.admin-tabs button:focus-visible,.create-button:focus-visible,.edit-button:focus-visible,.membership-button:focus-visible,.delete-button:focus-visible,.modal button:focus-visible{outline:3px solid rgba(31,111,235,.3);outline-offset:2px}.edit-button,.membership-button,.delete-button{min-height:34px;margin-right:0;padding:7px 11px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.82rem;font-weight:600;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.edit-button:hover,.membership-button:hover{border-color:#9ca3af;background:#f9fafb;color:#111827;transform:none}.delete-button{border-color:#fecaca;color:#b42318}.delete-button:hover{border-color:#fca5a5;background:#fef2f2;color:#991b1b;transform:none}[data-theme=dark] .edit-button,[data-theme=dark] .membership-button,[data-theme=dark] .delete-button{border-color:#444c56;background:#22272e;color:#c9d1d9}[data-theme=dark] .edit-button:hover,[data-theme=dark] .membership-button:hover{border-color:#768390;background:#2d333b;color:#f0f6fc}[data-theme=dark] .delete-button{border-color:#7d3b3e;color:#ff938a}[data-theme=dark] .delete-button:hover{border-color:#a94a4f;background:#3d2428;color:#ffb4ad}.table-container{border:1px solid #e5e7eb;border-radius:8px;box-shadow:none}[data-theme=dark] .table-container{border-color:#30363d;box-shadow:none}.data-table th{padding:13px 14px;border-bottom:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:.78rem;letter-spacing:.04em}.data-table td{padding:14px;border-bottom-color:#eef0f2;color:#374151}.data-table tr:hover{background:#f9fafb}[data-theme=dark] .data-table th{border-bottom-color:#30363d;background:#22272e;color:#9da7b3}[data-theme=dark] .data-table td{border-bottom-color:#30363d;color:#c9d1d9}[data-theme=dark] .data-table tr:hover{background:#22272e}.membership-badge,.status-badge{padding:4px 9px;border-radius:999px;font-size:.75rem;letter-spacing:0;text-transform:none}.membership-badge.active,.status-badge.active{background:#e8f5ee;color:#18794e}.membership-badge,.membership-badge.inactive,.status-badge.inactive{background:#f3f4f6;color:#6b7280}.status-badge.expired{background:#fef2f2;color:#b42318}[data-theme=dark] .membership-badge.active,[data-theme=dark] .status-badge.active{background:#193b2b;color:#7ee2a8}[data-theme=dark] .membership-badge,[data-theme=dark] .membership-badge.inactive,[data-theme=dark] .status-badge.inactive{background:#30363d;color:#afb8c1}[data-theme=dark] .status-badge.expired{background:#46292d;color:#ff938a}.error-message{border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b42318;box-shadow:none}.error-message button{color:#b42318}[data-theme=dark] .error-message{border-color:#7d3b3e;background:#3d2428;box-shadow:none}[data-theme=dark] .error-message button{color:#ffb4ad}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{border-color:#e5e7eb;border-radius:10px;box-shadow:0 20px 50px #1118272e}.modal-header,.modal-footer{background:#fff}.modal-header{padding:18px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px;color:#374151;font-size:.88rem}.form-group input,.form-group select{min-height:42px;padding:9px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.form-group input:focus,.form-group select:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb24}.user-info,.current-membership-status{border-left-color:#1f6feb;border-radius:6px;background:#f9fafb}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer,[data-theme=dark] .modal-body{background:#1c2128}[data-theme=dark] .user-info,[data-theme=dark] .current-membership-status{border-left-color:#2f81f7;background:#22272e}@media (max-width: 768px){.admin-container{padding:20px 0}.users-section,.memberships-section{padding:16px}.section-header{align-items:stretch}.create-button{width:100%}}@media (max-width: 480px){.admin-tabs{width:100%}.admin-header h1{font-size:1.65rem}}
