:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.main-layout{display:flex;min-height:100vh}.sidebar{width:240px;background-color:#001529;color:#fff;transition:all .3s;position:fixed;height:100vh;display:flex;flex-direction:column;z-index:100}.sidebar.collapsed{width:80px}.logo{height:64px;padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.logo h1{margin:0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-btn{width:24px;height:24px;background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.collapse-btn:hover{background-color:#ffffff1a;border-radius:4px}.menu{flex:1;padding:16px 0;display:flex;flex-direction:column;gap:4px}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#ffffffa6;text-decoration:none;transition:all .3s;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:14px}.menu-item .icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sidebar.collapsed .menu-item .label{display:none}.main-content{flex:1;margin-left:240px;transition:margin-left .3s;display:flex;flex-direction:column;background-color:#f5f7fa}.sidebar.collapsed+.main-content{margin-left:80px}.header{height:64px;background-color:#fff;padding:0 24px;display:flex;align-items:center;justify-content:flex-end;box-shadow:0 2px 8px #0000000f;position:sticky;top:0;z-index:100}.sidebar.collapsed+.main-content .header{left:80px}.user-info{display:flex;align-items:center;gap:16px}.welcome{color:#666;font-size:14px}.user{color:#333;font-weight:500}.content{flex:1;padding:24px}.logout-btn{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.logout-btn:hover{color:#ff4d4f;background-color:#ff4d4f1a}.modal-content{background-color:#fff;border-radius:8px;padding:24px;width:100%;max-width:400px}.modal-content h3{margin:0 0 16px;font-size:18px;color:#333}.modal-content p{margin:0 0 24px;color:#666;font-size:14px}.modal-buttons{display:flex;justify-content:flex-end;gap:12px}.action-button{height:32px;padding:0 16px;border:1px solid #D9D9D9;border-radius:4px;background-color:#fff;cursor:pointer;transition:all .3s;font-size:14px}.action-button.danger:hover{background-color:#fff1f0}@media screen and (max-width: 768px){.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1000;transform:translate(-100%)}.sidebar.collapsed{transform:translate(0);width:240px}.main-content{margin-left:0}.header{padding:0 16px}.content{padding:16px}}.captcha-container{display:flex;flex-direction:column;align-items:center;gap:8px}.captcha-canvas{border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .3s ease}.captcha-canvas:hover{border-color:#007aff;box-shadow:0 0 8px #007aff33}.captcha-tip{font-size:12px;color:#666;-webkit-user-select:none;user-select:none}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(180deg,#4086ff,#2466cc);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:url(/wave.svg) repeat-x;background-size:contain}.login-box{width:100%;max-width:1000px;min-height:480px;background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;display:flex;position:relative;z-index:1;overflow:hidden}.login-banner{flex:1;background-color:#f5f7fa;display:flex;align-items:center;justify-content:center;padding:40px}.login-banner-content{max-width:400px}.banner-image{width:100%;height:auto;margin-bottom:40px}.login-content{width:400px;padding:60px 40px;display:flex;flex-direction:column}.login-title{color:#333;font-size:24px;font-weight:600;margin:0 0 40px;text-align:left}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{position:relative}.form-input{width:100%;height:44px;padding:0 16px;font-size:14px;color:#333;background-color:#f5f7fa;border:1px solid transparent;border-radius:4px;outline:none;transition:all .3s ease}.form-input:focus{border-color:#4086ff;background-color:#fff}.form-input::placeholder{color:#999}.error-message{color:#ff3b30;font-size:14px;margin-top:8px;text-align:left}.login-button{height:44px;font-size:16px;color:#fff;background:linear-gradient(90deg,#4086ff,#2466cc);border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;margin-top:20px}.login-button:hover{opacity:.9}.login-button:active{opacity:.8}.captcha-group{display:flex;gap:12px;align-items:flex-start}.captcha-group .form-input{width:180px}@media (max-width: 900px){.login-box{flex-direction:column;max-width:400px}.login-banner{padding:40px 40px 0}.login-content{width:100%}}@media (max-width: 480px){.login-box{margin:20px}.login-banner,.login-content{padding:30px 20px}}.account-page{background-color:#fff;min-height:calc(100vh - 112px);display:flex;flex-direction:column;width:100%}.operation-bar{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E5E5E5;width:100%}.search-area{display:flex;gap:12px}.action-area{display:flex;gap:12px}.action-button.primary{background-color:#4086ff;color:#fff;border:none}.action-button.primary:hover{background-color:#2466cc;color:#fff}.action-button.danger{color:#ff4d4f;border-color:#ff4d4f}.action-button.danger:hover{background-color:#fff1f0;color:#ff4d4f}.status-tag{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12px}.status-tag.normal{background-color:#e6f4ff;color:#4086ff}.status-tag.disabled{background-color:#fff1f0;color:#ff4d4f}.table-button.edit{color:#4086ff}.table-button.delete{color:#ff4d4f}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;padding:24px;width:100%;max-width:500px}.modal-content h3{margin:0 0 24px;font-size:18px;color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;color:#666;font-size:14px}.form-group input,.form-group select{width:100%;height:32px;padding:0 12px;border:1px solid #D9D9D9;border-radius:4px;outline:none;transition:all .3s;font-size:14px}.form-group input:focus,.form-group select:focus{border-color:#4086ff}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media screen and (max-width: 768px){.operation-bar{flex-direction:column;gap:16px}.search-area{width:100%}.search-input{flex:1}.action-area{width:100%;flex-wrap:wrap}.action-button{flex:1;min-width:120px}.table-container{overflow-x:auto}.data-table{min-width:800px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #E5E7EB}.modal-header h2{margin:0;font-size:20px;color:#1f2937}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#374151}form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:500}.form-group input[type=text],.form-group input[type=datetime-local],.form-group select{width:100%;padding:10px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;color:#333;height:40px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4086ff;box-shadow:0 0 0 2px #4086ff1a}.form-group.checkbox{display:flex;align-items:center}.form-group.checkbox label{display:flex;align-items:center;gap:8px;margin-bottom:0}.form-group.checkbox input[type=checkbox]{width:16px;height:16px;margin:0}.form-group select option{padding:10px;font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #E5E7EB}.cancel-btn,.submit-btn{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.cancel-btn{background-color:#fff;border:1px solid #E5E7EB;color:#374151}.cancel-btn:hover{border-color:#d1d5db;background-color:#f9fafb}.submit-btn{background-color:#4086ff;border:none;color:#fff}.submit-btn:hover{background-color:#2b6cd9}@media screen and (max-width: 640px){.modal-content{width:95%;margin:16px}.modal-header{padding:12px 16px}form{padding:16px}.modal-footer{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.qrcode-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.qrcode-modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 4px 12px #00000026}.qrcode-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.qrcode-modal-header h3{margin:0;color:#333;font-size:18px}.close-button{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:#333}.qrcode-modal-content{display:flex;flex-direction:column;align-items:center;gap:20px}.qrcode-container{padding:20px;background:#f5f5f5;border-radius:8px;display:flex;justify-content:center}.meeting-info{width:100%;padding:15px;background:#f8f8f8;border-radius:8px}.meeting-info p{margin:8px 0;color:#333}.meeting-info strong{color:#666}.qrcode-actions{display:flex;justify-content:center;margin-top:10px}.download-button{background-color:#4086ff;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .3s}.download-button:hover{background-color:#3075e8}.qrcode-thumbnail{width:40px;height:40px;cursor:pointer;transition:transform .3s}.qrcode-thumbnail:hover{transform:scale(1.1)}.meeting-management{padding:24px;background-color:#f5f7fa;min-height:100vh}.meeting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background-color:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 8px #0000000f}.search-bar{display:flex;gap:16px;align-items:center}.search-bar input{padding:8px 12px;border:1px solid #e5e6eb;border-radius:4px;outline:none}.search-bar input:focus{border-color:#4086ff}.search-btn{padding:8px 24px;background:#4086ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;height:36px;display:flex;align-items:center;justify-content:center}.search-btn:hover{background:#2970e6}.create-btn{padding:8px 16px;background:#4086ff;color:#fff;border:none;border-radius:4px;cursor:pointer}.create-btn:hover{background:#2970e6}.error-message{margin-bottom:16px;padding:12px 16px;background-color:#fee2e2;border:1px solid #FCA5A5;border-radius:6px;color:#dc2626;font-size:14px}.meeting-table{width:100%;overflow-x:auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;position:relative}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6b7280;font-size:14px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}th,td{padding:12px;text-align:left;border-bottom:1px solid #e5e6eb}th{background:#f7f8fa;font-weight:500;color:#333}td{color:#666}.status-btn{padding:4px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.status-btn.open{background:#ff4d4f;color:#fff}.status-btn.closed{background:#4086ff;color:#fff}.status-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-align:center}.status-tag.open{background-color:#e6f7ff;color:#1890ff}.status-tag.closed{background-color:#f5f5f5;color:#999}.action-buttons{display:flex;flex-direction:column;gap:8px}.action-buttons button{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:14px;transition:all .3s}.action-buttons .toggle-button.open{color:#4086ff}.action-buttons .toggle-button.close{color:#ff4d4f}.action-buttons button:nth-child(2){color:#4086ff}.action-buttons button:nth-child(3){color:#ff4d4f}.action-buttons button:hover{opacity:.8}.qrcode-preview{cursor:pointer;display:inline-flex;padding:4px;border-radius:4px;transition:background-color .3s}.qrcode-preview:hover{background-color:#f5f5f5}.meeting-table td{padding:12px 8px;vertical-align:middle}@media screen and (max-width: 1200px){.action-buttons{flex-direction:column}}@media screen and (max-width: 768px){.meeting-management{padding:16px}.meeting-header{flex-direction:column;gap:16px}.search-bar{flex-direction:column;width:100%}.search-bar input,.create-btn{width:100%}.meeting-table{overflow-x:auto}table{min-width:800px}}.registration-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.registration-detail-modal{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 16px;color:#374151;font-size:16px;font-weight:600}.info-item.full-width{grid-column:1 / -1}.info-item label{color:#6b7280;margin-right:8px;min-width:80px;font-size:14px}.status-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-tag.success{background-color:#e6f7ff;color:#1890ff}.status-tag.pending{background-color:#fff7e6;color:#fa8c16}@media screen and (max-width: 640px){.registration-detail-modal{width:95%;margin:16px}.info-grid{grid-template-columns:1fr}.modal-header,.modal-content{padding:16px}}.audit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.audit-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 4px 12px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.modal-header h3{margin:0;color:#1f2937;font-size:18px;font-weight:600}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:#374151}.modal-content{padding:24px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;align-items:baseline}.info-item label{color:#6b7280;margin-right:8px;min-width:70px;font-size:14px}.info-item span{color:#1f2937;font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #E5E7EB}.reject-button,.approve-button{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.reject-button{background:#fff;border:1px solid #ff4d4f;color:#ff4d4f}.reject-button:hover{background:#fff1f0}.approve-button{background:#4086ff;border:none;color:#fff}.approve-button:hover{background:#2b6cd9}@media screen and (max-width: 640px){.audit-modal{width:95%;margin:16px}.info-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.reject-button,.approve-button{width:100%}}.registration-page{background-color:#fff;min-height:calc(100vh - 112px);display:flex;flex-direction:column;width:100%}.filter-area{min-width:200px}.meeting-select{width:100%;height:32px;padding:0 12px;border:1px solid #D9D9D9;border-radius:4px;outline:none;transition:all .3s;font-size:14px}.meeting-select:focus{border-color:#4086ff}.status-tag{font-size:14px;font-weight:400;background:none!important;border:none!important;padding:0!important}.status-tag.success{color:#52c41a}.status-tag.pending{color:#faad14}.status-tag.reject{color:#f5222d}.table-button{padding:4px 12px;margin:0 4px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.table-button.primary{color:#1890ff;background:transparent}.table-button.primary:hover{color:#40a9ff;background-color:#e6f7ff}.table-button.info{color:#13c2c2;background:transparent}.table-button.info:hover{color:#36cfc9;background-color:#e6fffb}.action-buttons{display:flex;justify-content:center;gap:8px}@media screen and (max-width: 768px){.operation-bar{flex-direction:column;gap:16px}.filter-area,.search-area,.action-area{width:100%}.search-input{flex:1}.table-container{overflow-x:auto}.data-table{min-width:800px}.table-button{padding:4px 8px;font-size:12px}.status-tag{font-size:12px}}.statistics-page{background-color:#fff;min-height:calc(100vh - 112px);display:flex;flex-direction:column;width:100%}.operation-bar{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E5E5E5;width:100%;gap:16px}.filter-area{display:flex;align-items:center;gap:8px}.date-input{width:140px;height:32px;padding:0 12px;border:1px solid #D9D9D9;border-radius:4px;outline:none;transition:all .3s;font-size:14px}.date-input:focus{border-color:#4086ff}.date-separator{color:#666;font-size:14px}.search-area{display:flex;gap:12px;flex:1}.search-input{width:240px;height:32px;padding:0 12px;border:1px solid #D9D9D9;border-radius:4px;outline:none;transition:all .3s;font-size:14px}.search-input:focus{border-color:#4086ff}.search-button{height:32px;padding:0 16px;background-color:#4086ff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.search-button:hover{background-color:#2466cc}.action-button{height:32px;padding:0 16px;background-color:#fff;border:1px solid #D9D9D9;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.action-button:hover{border-color:#4086ff;color:#4086ff}.table-container{padding:0;flex:1;overflow:auto;width:100%}.data-table{width:100%;border-collapse:collapse;margin:24px 0;table-layout:fixed}.data-table th,.data-table td{padding:16px;text-align:left;border-bottom:1px solid #E5E5E5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table th{background-color:#fafafa;font-weight:500;color:#333;position:sticky;top:0;z-index:1}.data-table td{color:#666}.data-table tr:hover{background-color:#f5f7fa}.action-buttons{display:flex;gap:8px}.table-button{padding:4px 8px;background:none;border:none;color:#4086ff;cursor:pointer;font-size:12px;transition:all .3s}.table-button:hover{color:#2466cc}.pagination{padding:24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #E5E5E5}.page-info{color:#666;font-size:14px}.page-buttons{display:flex;gap:8px}.page-button{min-width:32px;height:32px;padding:0 8px;background-color:#fff;border:1px solid #D9D9D9;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.page-button:hover:not(:disabled){border-color:#4086ff;color:#4086ff}.page-button.active{background-color:#4086ff;color:#fff;border-color:#4086ff}.page-button:disabled{cursor:not-allowed;color:#d9d9d9}@media screen and (max-width: 768px){.operation-bar{flex-direction:column;gap:16px}.filter-area,.search-area,.action-area{width:100%}.filter-area{flex-wrap:wrap}.date-input,.search-input{flex:1}.table-container{overflow-x:auto}.data-table{min-width:800px}}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:hidden}.app{min-height:100vh;width:100%}#root{width:100%;min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-container{display:flex;min-height:100vh;width:100%}.sidebar{width:240px;background-color:#001529;border-right:1px solid #E5E5E5;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;z-index:1000}.menu-item{padding:12px 24px;color:#ffffffa6;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.menu-item:hover,.menu-item.active{color:#fff;background-color:#1890ff}.menu-item i{font-size:16px}.menu-title{padding:16px 24px;color:#fff;font-size:18px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}.main-content{flex:1;margin-left:240px;min-height:100vh;background-color:#f5f7fa;width:calc(100% - 240px)}.top-nav{height:64px;background-color:#fff;border-bottom:1px solid #E5E5E5;display:flex;align-items:center;padding:0 24px;position:fixed;top:0;right:0;left:240px;z-index:100}.content{padding:88px 24px 24px;min-height:calc(100vh - 88px);width:100%}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s}.sidebar.show{transform:translate(0)}.main-content{margin-left:0;width:100%}.top-nav{left:0}}
