*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;padding:20px}.container{max-width:1200px;margin:0 auto}h1{color:#2c3e50;margin-bottom:30px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-header h1{margin:0}.header-actions{display:flex;gap:10px}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab{padding:12px 24px;border:none;background:transparent;font-size:15px;font-weight:500;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#3498db}.tab.active{color:#3498db;border-bottom-color:#3498db}.tab-content{display:none}.tab-content.active{display:block}.card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.card-row .card{margin-bottom:0}.registry-row{display:flex;gap:10px;align-items:flex-end}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-header h2{margin-bottom:0}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:6px}.setting-info{flex:1}.setting-info p{color:#666;font-size:14px;margin-top:4px}.setting-description{color:#666;font-size:14px;margin-bottom:15px}.card{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.card h2{color:#34495e;margin-bottom:15px;font-size:20px}.toggle{position:relative;width:60px;height:30px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:30px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:#4caf50}.toggle input:checked+.toggle-slider:before{transform:translate(30px)}.btn{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn:hover{background:#2980b9}.btn-success{background:#27ae60}.btn-success:hover{background:#229954}.btn-danger{background:#e74c3c}.btn-danger:hover{background:#c0392b}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;color:#555;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid #ddd}th{background:#f8f9fa;font-weight:600;color:#555}.token-preview{font-family:monospace;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:12px}.status-active{color:#27ae60;font-weight:600}.status-revoked{color:#e74c3c;font-weight:600}.status-warning{color:#f39c12;font-weight:600}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080}.modal-content{background:#fff;margin:10% auto;padding:30px;border-radius:8px;max-width:500px;box-shadow:0 4px 20px #0000004d}.modal-header{margin-bottom:20px}.modal-header h3{color:#2c3e50}.close{float:right;font-size:28px;font-weight:700;color:#aaa;cursor:pointer}.close:hover{color:#000}.token-display{background:#f8f9fa;padding:15px;border-radius:6px;border:2px solid #4CAF50;margin:15px 0;font-family:monospace;word-break:break-all;font-size:14px}.alert{padding:15px;border-radius:6px;margin-bottom:20px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}#loginForm{max-width:400px;margin:100px auto}.hidden{display:none}.revoked-section{margin-top:20px;border-top:1px solid #eee;padding-top:15px}.revoked-section summary{cursor:pointer;color:#7f8c8d;font-size:14px;padding:8px 0;-webkit-user-select:none;user-select:none}.revoked-section summary:hover{color:#555}.revoked-section table{margin-top:10px;opacity:.7}.revoked-section td{color:#999}.no-data{color:#999;font-style:italic;padding:20px;text-align:center}.card-description{color:#666;font-size:14px;margin-bottom:15px}.loading-message{color:#666;padding:20px;text-align:center;font-style:italic}.plugin-icon{font-size:24px;text-align:center;width:50px}.plugin-description{max-width:300px;color:#666;font-size:13px}.plugin-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.status-not-installed{background:#ecf0f1;color:#7f8c8d}.status-update{background:#fff3cd;color:#856404}.status-disabled{color:#95a5a6;font-weight:600}.status-manual{background:#e8f4fd;color:#2980b9}.btn-warning{background:#f39c12}.btn-warning:hover{background:#d68910}.files-warning{color:#e74c3c;font-size:11px;font-weight:400}.loading-spinner-small{display:inline-block;width:18px;height:18px;border:2px solid #ddd;border-top-color:#3498db;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}tr[data-plugin-id]{transition:opacity .2s ease}.plugin-actions{white-space:nowrap}.plugin-actions .btn{margin-right:4px}.plugin-actions .btn:last-child{margin-right:0}
