.admin-management{margin:0 auto;max-width:1200px;padding:20px}.admin-management-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.admin-management-header h1{color:#333;font-size:2rem;margin:0}.admin-management-header p{color:#666;font-size:1rem;margin:5px 0 0}.btn{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:10px 20px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;margin-bottom:20px;padding:15px}.error-message h2{font-size:1.2rem;margin:0 0 10px}.error-message p{margin:0}.loading{font-size:1.1rem}.admins-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:20px}.admin-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .3s ease}.admin-card:hover{box-shadow:0 4px 8px #00000026}.admin-card-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.admin-card-header h3{color:#333;font-size:1.2rem;margin:0}.status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.status-badge.suspended{background-color:#fff3cd;color:#856404}.admin-info{margin-bottom:15px}.admin-info p{color:#555;font-size:.9rem;margin:5px 0}.admin-info strong{color:#333}.permissions-list h4{color:#333;font-size:1rem;margin:15px 0 10px}.permissions-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:15px}.permission-item{align-items:center;border-radius:4px;display:flex;font-size:.8rem;justify-content:space-between;padding:6px 10px}.permission-item.enabled{background-color:#d4edda;color:#155724}.permission-item.disabled{background-color:#f8d7da;color:#721c24}.permission-name{flex:1 1}.permission-status{font-weight:700;margin-left:5px}.admin-card-actions{border-top:1px solid #f0f0f0;display:flex;gap:10px;margin-top:15px;padding-top:15px}.admin-card-actions .btn{flex:1 1;font-size:.9rem;padding:8px 16px}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;font-size:1.3rem;margin:0}.close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{color:#333}.modal-body{padding:20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px}.modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.modal-actions button[type=button]{background-color:#6c757d;color:#fff}.modal-actions button[type=submit]{background-color:#007bff;color:#fff}.modal-actions button:hover{opacity:.9}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.admin-management{padding:10px}.admin-management-header{align-items:flex-start;flex-direction:column;gap:15px}.admins-grid{grid-template-columns:1fr}.permissions-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.modal{margin:10px;width:95%}}.user-assets{margin:0 auto;max-width:1200px;padding:20px}.asset-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.asset-section h3{color:#333;font-size:1.2em;font-weight:600;margin:0 0 16px}.balance-display{align-items:baseline;display:flex;gap:8px}.balance-amount{color:#007bff;font-size:2.5em;font-weight:700}.balance-unit{color:#666;font-size:1.2em}.nft-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:16px}.nft-card{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.nft-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.nft-card img{height:180px;object-fit:cover;width:100%}.nft-info{padding:16px}.nft-info p{font-size:.9em;margin:4px 0}.nft-rarity{color:#ff6b35;font-weight:600}.nft-project{color:#666}.nft-support{color:#28a745;font-weight:500}.empty-state{color:#666;padding:40px;text-align:center}.empty-state p{margin:8px 0}.rewards-display{display:flex;flex-direction:column;gap:12px}.reward-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.reward-amount{color:#007bff;font-weight:600}.claim-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.claim-button:hover{background:#218838}.loading{color:#666;padding:40px;text-align:center}@media (max-width:768px){.user-assets{padding:16px}.asset-section{margin-bottom:16px;padding:16px}.nft-grid{grid-template-columns:1fr}.balance-amount{font-size:2em}}.contract-dashboard{background:#f5f5f5;min-height:100vh;padding:24px}.dashboard-header{margin-bottom:24px;text-align:center}.dashboard-header h2{color:#1890ff;margin-bottom:8px}.dashboard-header p{color:#666;font-size:14px}.health-card{gap:12px}.health-card,.health-icon{align-items:center;display:flex}.health-icon{background:#f0f2f5;border-radius:8px;height:48px;justify-content:center;width:48px}.health-title{color:#666;font-size:12px;margin-bottom:4px}.health-value{color:#333;font-size:20px;font-weight:700}.contract-address{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:2px 6px}.contract-status-healthy{color:#52c41a}.contract-status-warning{color:#faad14}.contract-status-error{color:#ff4d4f}.function-signature{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;margin:8px 0;padding:8px}.test-result-success{background:#f6ffed;border-left:4px solid #52c41a}.test-result-error{background:#fff2f0;border-left:4px solid #ff4d4f}.contract-type-core{background:#fff2f0;border:1px solid #ffccc7}.contract-type-business{background:#e6f7ff;border:1px solid #91d5ff}.contract-type-assets{background:#f6ffed;border:1px solid #b7eb8f}.contract-type-coordination{background:#f9f0ff;border:1px solid #d3adf7}.graph-container{position:relative}.graph-legend{flex-wrap:wrap;gap:16px}.graph-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#666;font-size:12px;gap:6px}.legend-color{border:1px solid #d9d9d9;border-radius:2px;height:12px;width:12px}.network-container{background:#fafafa;border:1px solid #d9d9d9;border-radius:6px;overflow:hidden;position:relative}.network-container canvas{display:block}.graph-info{background:#f0f2f5;border-radius:4px;color:#666;font-size:12px;padding:8px;text-align:center}.contract-detail-tabs .ant-tabs-content-holder{max-height:500px;overflow-y:auto}.function-parameter{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:4px;margin:4px 0;padding:8px}.function-parameter-type{color:#0366d6;font-weight:700}.function-parameter-name{color:#6f42c1;margin-left:8px}.test-panel-form .ant-form-item{margin-bottom:16px}.test-result-card{margin-bottom:12px}.test-result-card.success{border-left:4px solid #52c41a}.test-result-card.error{border-left:4px solid #ff4d4f}.quick-test-item{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px}.quick-test-item:hover{background:#f0f2f5;border-color:#1890ff}.contract-relationship-node{cursor:pointer;transition:all .3s ease}.contract-relationship-node:hover{transform:scale(1.1)}.batch-test-summary{background:#f0f2f5;border-radius:6px;margin-bottom:16px;padding:16px}.batch-test-summary .summary-item{text-align:center}.batch-test-summary .summary-value{color:#1890ff;font-size:24px;font-weight:700}.batch-test-summary .summary-label{color:#666;font-size:12px;margin-top:4px}.contract-actions,.contract-filter,.contract-search{margin-bottom:16px}.status-indicator{align-items:center;display:inline-flex;gap:4px}.status-indicator.healthy{color:#52c41a}.status-indicator.warning{color:#faad14}.status-indicator.error{color:#ff4d4f}.event-list,.function-list{max-height:300px;overflow-y:auto}.modifier-list{max-height:200px;overflow-y:auto}.contract-imports{background:#f6f8fa;border-radius:4px;margin:8px 0;padding:12px}.contract-imports code{display:block;font-size:11px;margin:2px 0}.dependency-graph{background:#fff;border:1px solid #e8e8e8;border-radius:6px;padding:16px}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}@media (max-width:768px){.contract-dashboard{padding:16px}.health-card{flex-direction:column;text-align:center}.graph-legend{justify-content:center}.contract-actions{text-align:center}.contract-actions .ant-space{flex-wrap:wrap;justify-content:center}}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#fff;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;overflow-x:hidden}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{background:linear-gradient(135deg,#0a0a0a,#1a0a1a 25%,#0a1a0a 75%,#0a0a1a);min-height:100vh;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes glow{0%,to{box-shadow:0 0 5px #00ff8880}50%{box-shadow:0 0 20px #0f8c,0 0 30px #0f89}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .6s ease-out}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}.glow-effect{animation:glow 2s ease-in-out infinite}.pulse-effect{animation:pulse 2s ease-in-out infinite}.rotate-effect{animation:rotate 2s linear infinite}.cyber-bg{overflow:hidden;position:relative}.cyber-bg:before{background:radial-gradient(circle at 25% 25%,#00ff881a 0,#0000 50%),radial-gradient(circle at 75% 75%,#ff00881a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a80;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#0f8,#00cc6a);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3f9,#0f8)}::selection{background:#00ff884d;color:#fff}::-moz-selection{background:#00ff884d;color:#fff}a{color:#0f8;text-decoration:none;transition:all .3s ease}a:hover{color:#3f9;text-shadow:0 0 10px #00ff8880}input,select,textarea{background:#1a1a1acc;border:1px solid #00ff884d;border-radius:8px;color:#fff;font-family:inherit;padding:12px;transition:all .3s ease}input:focus,select:focus,textarea:focus{border-color:#0f8;box-shadow:0 0 10px #00ff884d;outline:none}button{background:linear-gradient(135deg,#0f8,#00cc6a);border:none;border-radius:8px;color:#000;cursor:pointer;font-family:JetBrains Mono,monospace;font-weight:500;padding:12px 24px;transition:all .3s ease}button:hover{box-shadow:0 8px 25px #00ff884d;transform:translateY(-2px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.5;transform:none}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1acc;border:1px solid #0f83;border-radius:16px;padding:24px;transition:all .3s ease}.card:hover{border-color:#0f86;box-shadow:0 8px 32px #0f83;transform:translateY(-4px)}.grid{grid-gap:24px;display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}.m-1{margin:8px}.m-2{margin:16px}.m-3{margin:24px}.m-4{margin:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Noto Sans SC,sans-serif}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{padding:16px}button{font-size:.9rem;padding:10px 20px}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media print{*{background:#fff!important;box-shadow:none!important;color:#000!important}.no-print{display:none!important}}