.admin-dashboard[data-v-e4c5fb10]{max-width:1200px;margin:0 auto;padding:20px;background:white;border-radius:8px;box-shadow:0 2px 10px #0000001a}.admin-header[data-v-e4c5fb10]{border-bottom:2px solid #007bff;padding-bottom:20px;margin-bottom:20px}.admin-header h1[data-v-e4c5fb10]{color:#333;margin:0 0 15px}.user-info[data-v-e4c5fb10]{background:#e9ecef;padding:15px;border-radius:4px;font-size:14px}.admin-nav[data-v-e4c5fb10]{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.nav-button[data-v-e4c5fb10]{padding:10px 20px;border:2px solid #007bff;background:white;color:#007bff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease}.nav-button[data-v-e4c5fb10]:hover{background:#f8f9fa}.nav-button.active[data-v-e4c5fb10]{background:#007bff;color:#fff}.admin-content[data-v-e4c5fb10]{min-height:400px}.stats-grid[data-v-e4c5fb10]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:20px 0}.stat-card[data-v-e4c5fb10]{background:#f8f9fa;padding:20px;border-radius:6px;text-align:center;border-left:4px solid #007bff}.stat-number[data-v-e4c5fb10]{font-size:2em;font-weight:700;color:#007bff}.stat-label[data-v-e4c5fb10]{color:#666;margin-top:5px}.tab-header[data-v-e4c5fb10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tab-header h2[data-v-e4c5fb10]{margin:0;color:#333}.header-actions[data-v-e4c5fb10]{display:flex;gap:10px}.create-btn[data-v-e4c5fb10]{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.create-btn[data-v-e4c5fb10]:hover{background:#218838}.refresh-btn[data-v-e4c5fb10]{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.refresh-btn[data-v-e4c5fb10]:hover{background:#5a6268}.loading[data-v-e4c5fb10]{text-align:center;padding:40px;color:#666}table[data-v-e4c5fb10]{width:100%;border-collapse:collapse;margin:20px 0;table-layout:fixed;overflow-x:auto}th[data-v-e4c5fb10],td[data-v-e4c5fb10]{padding:8px 12px;text-align:left;border-bottom:1px solid #ddd;word-wrap:break-word;overflow:hidden}th[data-v-e4c5fb10]{background-color:#f8f9fa;font-weight:700}.role-badge[data-v-e4c5fb10]{display:inline-block;padding:2px 8px;background:#007bff;color:#fff;border-radius:12px;font-size:.8em;margin:2px}.role-badge.super[data-v-e4c5fb10]{background:#dc3545}.role-badge.admin[data-v-e4c5fb10]{background:#28a745}.role-badge.comp[data-v-e4c5fb10]{background:#ffc107;color:#000}.table-footer[data-v-e4c5fb10]{margin-top:15px;color:#666;font-style:italic}.actions[data-v-e4c5fb10]{white-space:nowrap}.edit-btn[data-v-e4c5fb10],.delete-btn[data-v-e4c5fb10]{padding:4px 8px;margin:0 2px;border:none;border-radius:3px;cursor:pointer;font-size:12px}.edit-btn[data-v-e4c5fb10]{background:#ffc107;color:#000}.edit-btn[data-v-e4c5fb10]:hover{background:#e0a800}.delete-btn[data-v-e4c5fb10]{background:#dc3545;color:#fff}.delete-btn[data-v-e4c5fb10]:hover{background:#c82333}.modal-overlay[data-v-e4c5fb10]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-e4c5fb10]{background:white;border-radius:8px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header[data-v-e4c5fb10]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h3[data-v-e4c5fb10]{margin:0;color:#333}.close-btn[data-v-e4c5fb10]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-e4c5fb10]:hover{color:#333}.user-form[data-v-e4c5fb10],.role-form[data-v-e4c5fb10]{padding:20px}.form-group[data-v-e4c5fb10]{margin-bottom:15px}.form-group label[data-v-e4c5fb10]{display:block;margin-bottom:5px;font-weight:500;color:#555}.form-group input[data-v-e4c5fb10],.form-group select[data-v-e4c5fb10],.form-group textarea[data-v-e4c5fb10]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input[data-v-e4c5fb10]:focus,.form-group select[data-v-e4c5fb10]:focus,.form-group textarea[data-v-e4c5fb10]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group textarea[data-v-e4c5fb10]{resize:vertical;min-height:60px}.roles-input[data-v-e4c5fb10]{border:1px solid #ddd;border-radius:4px;padding:10px;background:#f8f9fa}.role-input[data-v-e4c5fb10]{display:flex;gap:10px;margin-bottom:10px;align-items:center}.role-input select[data-v-e4c5fb10],.role-input input[data-v-e4c5fb10]{flex:1}.remove-role-btn[data-v-e4c5fb10]{background:#dc3545;color:#fff;border:none;border-radius:3px;width:30px;height:30px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.remove-role-btn[data-v-e4c5fb10]:hover{background:#c82333}.add-role-btn[data-v-e4c5fb10]{background:#28a745;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px}.add-role-btn[data-v-e4c5fb10]:hover{background:#218838}.form-actions[data-v-e4c5fb10]{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.cancel-btn[data-v-e4c5fb10]{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.cancel-btn[data-v-e4c5fb10]:hover{background:#5a6268}.submit-btn[data-v-e4c5fb10]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.submit-btn[data-v-e4c5fb10]:hover:not(:disabled){background:#0056b3}.submit-btn[data-v-e4c5fb10]:disabled{background:#6c757d;cursor:not-allowed}@media (max-width: 768px){.admin-dashboard[data-v-e4c5fb10]{padding:15px}.admin-nav[data-v-e4c5fb10]{flex-direction:column}.nav-button[data-v-e4c5fb10]{width:100%;text-align:center}.stats-grid[data-v-e4c5fb10]{grid-template-columns:1fr}.tab-header[data-v-e4c5fb10]{flex-direction:column;gap:10px;align-items:flex-start}table[data-v-e4c5fb10]{font-size:14px}th[data-v-e4c5fb10],td[data-v-e4c5fb10]{padding:8px}}.user-role-management[data-v-e4c5fb10]{max-width:700px;margin:0 auto}.user-info[data-v-e4c5fb10]{display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;border-radius:12px;margin-bottom:25px}.user-avatar[data-v-e4c5fb10]{font-size:48px;background:rgba(255,255,255,.2);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.user-details h4[data-v-e4c5fb10]{margin:0 0 5px;font-size:18px;font-weight:600}.user-email[data-v-e4c5fb10],.user-phone[data-v-e4c5fb10]{margin:2px 0;opacity:.9;font-size:14px}.roles-section[data-v-e4c5fb10]{display:grid;grid-template-columns:1fr 1fr;gap:25px}.current-roles[data-v-e4c5fb10],.add-roles[data-v-e4c5fb10]{background:#f8f9fa;padding:20px;border-radius:12px;border:1px solid #e9ecef}.current-roles h4[data-v-e4c5fb10],.add-roles h4[data-v-e4c5fb10]{color:#2c3e50;margin:0 0 15px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.roles-list[data-v-e4c5fb10]{display:flex;flex-direction:column;gap:8px}.role-item[data-v-e4c5fb10]{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid #dee2e6;border-radius:8px;padding:12px 15px;transition:all .2s}.role-item[data-v-e4c5fb10]:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.role-item .role-badge[data-v-e4c5fb10]{margin:0;font-weight:500}.remove-role-btn[data-v-e4c5fb10]{background:#dc3545;color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:12px;transition:all .2s;display:flex;align-items:center;gap:4px}.remove-role-btn[data-v-e4c5fb10]:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.remove-role-btn[data-v-e4c5fb10]:disabled{background:#6c757d;cursor:not-allowed;transform:none}.no-roles[data-v-e4c5fb10]{color:#6c757d;text-align:center;padding:20px;background:white;border-radius:8px;border:2px dashed #dee2e6;font-style:italic}.global-roles[data-v-e4c5fb10],.competition-roles[data-v-e4c5fb10]{margin-bottom:20px}.global-roles h5[data-v-e4c5fb10],.competition-roles h5[data-v-e4c5fb10]{color:#495057;margin:0 0 12px;font-size:14px;font-weight:600}.role-buttons[data-v-e4c5fb10]{display:flex;flex-wrap:wrap;gap:8px}.add-role-btn[data-v-e4c5fb10]{background:#28a745;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:4px}.add-role-btn[data-v-e4c5fb10]:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 4px #28a7454d}.add-role-btn[data-v-e4c5fb10]:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.competition-input[data-v-e4c5fb10]{display:flex;flex-direction:column;gap:12px}.competition-id-input[data-v-e4c5fb10]{padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;max-width:200px;transition:border-color .2s}.competition-id-input[data-v-e4c5fb10]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.competition-role-buttons[data-v-e4c5fb10]{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 768px){.roles-section[data-v-e4c5fb10]{grid-template-columns:1fr;gap:20px}.user-info[data-v-e4c5fb10]{flex-direction:column;text-align:center}.role-buttons[data-v-e4c5fb10],.competition-role-buttons[data-v-e4c5fb10]{flex-direction:column}.add-role-btn[data-v-e4c5fb10]{justify-content:center}}.role-btn[data-v-e4c5fb10]{background:#8e44ad;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px;transition:background-color .2s}.role-btn[data-v-e4c5fb10]:hover{background:#7d3c98}.access-denied[data-v-e4c5fb10]{display:flex;justify-content:center;align-items:center;min-height:400px;padding:20px}.access-denied-content[data-v-e4c5fb10]{text-align:center;background:#fff;border:2px solid #e74c3c;border-radius:12px;padding:40px;max-width:500px;box-shadow:0 4px 12px #0000001a}.access-denied-content h2[data-v-e4c5fb10]{color:#e74c3c;margin-bottom:20px;font-size:24px}.access-denied-content p[data-v-e4c5fb10]{margin:10px 0;color:#555;line-height:1.5}.access-denied-content .close-btn[data-v-e4c5fb10]{background:#e74c3c;color:#fff;border:none;border-radius:6px;padding:12px 24px;cursor:pointer;font-size:16px;margin-top:20px;transition:background-color .2s}.access-denied-content .close-btn[data-v-e4c5fb10]:hover{background:#c0392b}.pagination[data-v-e4c5fb10]{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.pagination-info[data-v-e4c5fb10]{text-align:center;margin-bottom:15px;color:#6c757d;font-size:14px}.pagination-controls[data-v-e4c5fb10]{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.pagination-btn[data-v-e4c5fb10]{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.pagination-btn[data-v-e4c5fb10]:hover:not(:disabled){background:#0056b3}.pagination-btn[data-v-e4c5fb10]:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.page-numbers[data-v-e4c5fb10]{display:flex;gap:5px;align-items:center}.page-btn[data-v-e4c5fb10]{padding:8px 12px;background:white;color:#007bff;border:1px solid #007bff;border-radius:4px;cursor:pointer;font-size:14px;min-width:40px;transition:all .2s}.page-btn[data-v-e4c5fb10]:hover:not(:disabled){background:#e3f2fd}.page-btn.active[data-v-e4c5fb10]{background:#007bff;color:#fff}.page-btn[data-v-e4c5fb10]:disabled{background:#f8f9fa;color:#6c757d;border-color:#dee2e6;cursor:not-allowed}@media (max-width: 768px){.pagination-controls[data-v-e4c5fb10]{flex-direction:column;gap:10px}.page-numbers[data-v-e4c5fb10]{order:-1;justify-content:center}.pagination-btn[data-v-e4c5fb10]{padding:10px 20px;font-size:16px}.page-btn[data-v-e4c5fb10]{padding:10px 14px;font-size:16px;min-width:44px}}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;max-width:800px;margin:0 auto;padding:20px 20px 60px;min-height:100vh}header{border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:20px}.header-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.language-switcher{display:flex;align-items:center}.lang-btn{background:none;border:2px solid #007bff;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:44px;min-height:44px}.lang-btn:hover{background-color:#007bff;transform:scale(1.05)}.loading{color:#666;font-style:italic}.authenticated{color:green}.not-authenticated{color:#666}button{background-color:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;min-height:44px;min-width:44px;transition:all .2s ease;font-weight:500}button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}button:active{transform:translateY(0);box-shadow:0 1px 4px #007bff4d}.links{margin-top:10px}.links a{color:#007bff;text-decoration:none;margin-right:15px}.links a:hover{text-decoration:underline}.admin-toggle-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;margin-left:10px}.admin-toggle-btn:hover{background:#218838}.content{margin-top:20px}.user-info{background-color:#f8f9fa;padding:15px;border-radius:4px;margin-top:20px}.user-info p{margin:5px 0}.debug-info{background-color:#f0f0f0;border:1px solid #ccc;padding:15px;margin-top:20px;border-radius:4px}.debug-info pre{background-color:#fff;padding:10px;border-radius:4px;overflow-x:auto;font-size:12px;max-height:400px;overflow-y:auto}@media (max-width: 768px){#app{padding:15px;max-width:100%}.header-top{flex-direction:column;align-items:flex-start;gap:10px}.header-top h1{font-size:1.5rem;margin:0}.language-switcher{align-self:flex-end}button{width:100%;padding:14px 20px;font-size:18px;margin-bottom:10px}.user-info{padding:12px;margin-top:15px}.user-info p{margin:8px 0;font-size:14px}.debug-info{padding:12px;margin-top:15px}.debug-info pre{font-size:11px;padding:8px;max-height:300px}.links{margin-top:15px}.links a{display:block;margin-bottom:8px;padding:8px 0;font-size:14px}}@media (max-width: 480px){#app{padding:10px}.header-top h1{font-size:1.3rem}button{padding:16px 20px;font-size:16px}.user-info p{font-size:13px}.debug-info pre{font-size:10px;max-height:250px}}.system-login-footer{position:fixed;bottom:0;left:0;right:0;background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:8px 15px;z-index:1000;display:flex;justify-content:space-between;align-items:center;font-size:.85em;color:#6c757d;flex-wrap:nowrap}.system-info{display:flex;gap:5px;align-items:center;position:relative;min-width:0;flex:1}.system-time,.system-date,.system-version,.system-environment{color:#6c757d;font-size:.8em}.system-environment{margin-left:5px}.system-info-full{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.system-info-condensed{display:none;align-items:center;gap:8px}.system-name-condensed{font-weight:500;color:#495057;white-space:nowrap}.footer-expand-btn,.footer-close-btn{background:none;border:none;color:#6c757d;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:3px;transition:all .2s;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center}.footer-expand-btn:hover,.footer-close-btn:hover{background-color:#e9ecef;color:#495057}.footer-close-btn{margin-left:8px}@media (max-width: 1200px){.system-info-full{display:none}.system-info-full.expanded{display:flex;position:absolute;bottom:100%;left:0;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:8px 12px;margin-bottom:5px;box-shadow:0 2px 8px #00000026;z-index:1001;flex-wrap:wrap;max-width:90vw;gap:8px}.system-info-condensed{display:flex}}.admin-login-section{display:flex;align-items:center;flex-shrink:0}.admin-login-toggle{background:none;border:none;color:#007bff;text-decoration:none;cursor:pointer;font-size:.85em;padding:4px 8px;border-radius:3px;transition:background-color .2s;white-space:nowrap}.admin-login-toggle:hover{background-color:#e9ecef;text-decoration:none;color:#0056b3}.admin-login-popup{position:absolute;bottom:100%;right:0;background:white;border:1px solid #ddd;border-radius:4px;padding:20px;box-shadow:0 2px 8px #00000026;z-index:1001;width:300px;max-width:90vw}.admin-login-popup h4{margin:0 0 15px;color:#333;font-size:16px;text-align:center}.form-group{margin-bottom:10px}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.btn{border-radius:4px;font-weight:500;padding:10px;transition:all .2s;border:none;cursor:pointer}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#adb5bd;cursor:not-allowed}.btn-block-small{width:100%;padding:10px;font-size:14px}.error-message-small{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:8px;margin-top:10px;font-size:12px}@media (hover: none) and (pointer: coarse){button:hover{transform:none;box-shadow:none}.lang-btn:hover{transform:none}button:active{background-color:#0056b3;transform:scale(.98)}.lang-btn:active{background-color:#007bff;transform:scale(.95)}.email-login-toggle:hover{color:#666}.email-login-btn:hover:not(:disabled){background-color:#6c757d}}@media (max-width: 768px){.system-login-footer{padding:8px 10px;font-size:.8em}.system-info{gap:4px;min-width:0}.system-name-condensed{font-size:.85em}.admin-login-toggle{font-size:.8em;padding:4px 6px}.admin-login-popup{min-width:200px;right:-50px}}@media (max-width: 480px){.system-login-footer{padding:6px 8px;font-size:.8em}.system-info{gap:4px}.system-name-condensed{font-size:.8em}.admin-login-toggle{font-size:.8em;padding:3px 5px}.admin-login-popup{min-width:180px;right:-40px}}
