: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}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e9ecef);padding:1rem}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px;overflow:hidden}.login-header{background:linear-gradient(135deg,#646cff,#747bff);color:#fff;padding:2rem;text-align:center}.login-header h1{margin:0;font-size:2rem;font-weight:700}.login-header p{margin:.5rem 0 0;font-size:.9rem;opacity:.9}.login-form{padding:2rem}.login-form h2{margin:0 0 1.5rem;font-size:1.5rem;color:#333;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#646cff}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;border-left:4px solid #c33}.login-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#646cff,#747bff);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #646cff4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.table-container{margin:2rem auto;max-width:1400px;padding:0 1rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.table-header h2{margin:0;font-size:1.8rem;color:#213547}.table-count{color:#646cff;font-weight:600;font-size:.95rem}.responses-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.responses-table thead{background:linear-gradient(135deg,#646cff,#747bff);color:#fff}.responses-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.responses-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.responses-table tbody tr:hover{background-color:#f9fafb}.responses-table tbody tr:last-child{border-bottom:none}.responses-table td{padding:1rem;font-size:.95rem;color:#374151}.responses-table td:first-child{font-weight:600;color:#646cff}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.85rem;text-align:center;min-width:60px}.status-success{background-color:#d1fae5;color:#065f46}.status-redirect{background-color:#dbeafe;color:#1e40af}.status-client-error{background-color:#fed7aa;color:#92400e}.status-server-error{background-color:#fecaca;color:#991b1b}.hash-value{font-family:Courier New,monospace;font-size:.85rem;color:#6b7280;background-color:#f3f4f6;padding:.2rem .5rem;border-radius:4px}.null-value{color:#9ca3af;font-style:italic}.loading-container,.error-container,.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#646cff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-container{color:#991b1b}.error-container h3{margin:0 0 .5rem;font-size:1.5rem}.error-container p{margin:0;color:#6b7280}.empty-container p{color:#6b7280;font-size:1.1rem}@media(max-width:768px){.responses-table{font-size:.85rem}.responses-table th,.responses-table td{padding:.75rem .5rem}.table-header h2{font-size:1.4rem}}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.95rem}.user-menu-button:hover{background:#ffffff4d;border-color:#fff6}.user-avatar{width:32px;height:32px;border-radius:50%;background:#fff;color:#646cff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.user-name{font-weight:500}.chevron{transition:transform .2s ease}.chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 10px 40px #00000026;min-width:220px;overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:1rem;background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.user-menu-name{font-weight:600;color:#333;font-size:1rem}.user-menu-role{font-size:.85rem;color:#666;text-transform:capitalize;margin-top:.25rem}.user-menu-divider{height:1px;background:#e0e0e0;margin:.5rem 0}.user-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:#333;cursor:pointer;transition:background-color .2s ease;font-size:.95rem;text-align:left}.user-menu-item:hover{background:#f5f5f5}.user-menu-item svg{flex-shrink:0}.user-menu-item.logout{color:#c33}.user-menu-item.logout:hover{background:#fee}.home-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.header-title h1{margin:0}.header-title .app-subtitle{margin:.5rem 0 0}.home-main{padding:1rem 0}.admin-users-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.admin-content{max-width:1400px;margin:0 auto;padding:2rem}.admin-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-users-header h2{margin:0;font-size:2rem;color:#333}.create-user-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#646cff,#747bff);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.create-user-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #646cff4d}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.users-table th{text-align:left;padding:1rem;font-weight:600;color:#555;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:1rem;border-top:1px solid #f0f0f0}.users-table tbody tr:hover{background:#fafafa}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar-small{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#646cff,#747bff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.role-badge.role-admin{background:#e3f2fd;color:#1976d2}.role-badge.role-user{background:#f3e5f5;color:#7b1fa2}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-button{padding:.5rem .75rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button.reset{background:#e3f2fd;color:#1976d2}.action-button.reset:hover{background:#bbdefb}.action-button.deactivate{background:#fff3e0;color:#f57c00}.action-button.deactivate:hover{background:#ffe0b2}.action-button.activate{background:#e8f5e9;color:#2e7d32}.action-button.activate:hover{background:#c8e6c9}.action-button.delete{background:#ffebee;color:#c62828}.action-button.delete:hover{background:#ffcdd2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:1.5rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background:#f5f5f5;color:#666}.create-user-form{padding:1.5rem}.modal-info{background:#e3f2fd;color:#1976d2;padding:.75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.button-secondary{padding:.75rem 1.5rem;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.button-secondary:hover{background:#e0e0e0}.button-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#646cff,#747bff);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #646cff4d}.button-primary:disabled{opacity:.6;cursor:not-allowed}.api-tokens-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.api-tokens-content{max-width:1400px;margin:0 auto;padding:2rem}.api-tokens-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.api-tokens-header h2{margin:0 0 .5rem;font-size:2rem;color:#333}.subtitle{margin:0;color:#666;font-size:1rem}.create-token-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#646cff,#747bff);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.create-token-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #646cff4d}.info-box{background:#e3f2fd;border-left:4px solid #1976d2;padding:1rem;border-radius:6px;margin-bottom:2rem;display:flex;gap:1rem;align-items:flex-start;color:#1565c0}.info-box svg{flex-shrink:0;margin-top:.2rem}.info-box strong{display:block;margin-bottom:.5rem;color:#0d47a1}.info-box p{margin:0;font-size:.95rem}.info-box code{background:#1976d21a;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace}.warning-box{background:#fff3e0;border-left:4px solid #f57c00;padding:1rem;border-radius:6px;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:flex-start;color:#e65100}.warning-box svg{flex-shrink:0}.warning-box strong{display:block;margin-bottom:.25rem}.warning-box p{margin:0;font-size:.95rem}.empty-state{background:#fff;border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:0 4px 6px #0000000d}.empty-state p{margin:0;font-size:1.2rem;color:#333}.empty-subtitle{font-size:1rem!important;color:#666!important;margin-top:.5rem!important}.tokens-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.tokens-table{width:100%;border-collapse:collapse}.tokens-table thead{background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.tokens-table th{text-align:left;padding:1rem;font-weight:600;color:#555;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.tokens-table td{padding:1rem;border-top:1px solid #f0f0f0}.tokens-table tbody tr:hover{background:#fafafa}.token-preview{background:#f5f5f5;padding:.4rem .6rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:#666}.token-display{background:#f5f5f5;padding:.75rem;border-radius:6px;font-weight:500;color:#333}.token-display-box{background:#f5f5f5;padding:1rem;border-radius:6px;display:flex;align-items:center;gap:1rem}.token-display-box code{flex:1;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all;color:#333}.copy-button{padding:.5rem 1rem;background:#646cff;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.copy-button:hover{background:#5458d9}.field-hint{margin:.5rem 0 0;font-size:.85rem;color:#666}.success-modal{max-width:600px!important}.success-modal pre{background:#2d2d2d;color:#f8f8f2;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;margin:.5rem 0 0}.modal-body{padding:1.5rem}.loading{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:#666}#root{margin:0;padding:0;width:100%}.App{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef)}.app-header{background:linear-gradient(135deg,#646cff,#747bff);color:#fff;padding:2rem 1rem;box-shadow:0 4px 6px #0000001a}.header-content{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.header-title{text-align:left}.app-header h1{margin:0;font-size:2.5rem;font-weight:700;letter-spacing:-.5px}.app-subtitle{margin:.5rem 0 0;font-size:1.1rem;opacity:.9;font-weight:400}main{padding:1rem 0}
