.form-container{display:flex;flex-direction:column;gap:16px}.form-container h2{font-size:18px;color:var(--text-primary);margin-bottom:8px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-submit{background-color:#667eea;color:#fff;padding:10px 16px;font-size:14px;font-weight:500;border-radius:4px;width:100%;margin-top:8px}.btn-submit:hover:not(:disabled){background-color:#764ba2;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-submit:disabled{opacity:.6}.form-modal{gap:12px}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions button{flex:1;padding:10px 16px;font-size:14px;font-weight:500;border-radius:4px}.btn-cancel{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-cancel:hover{background-color:var(--border-color)}@media (max-width: 768px){.form-container{gap:12px}.form-group input,.form-group textarea{font-size:16px}}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirmation-modal{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #0003;width:90%;max-width:400px;animation:slideUp .3s ease-out}.confirmation-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.confirmation-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.confirmation-body{padding:20px;color:var(--text-secondary);font-size:14px;line-height:1.6}.confirmation-body p{margin:0}.confirmation-footer{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color);justify-content:flex-end}.btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel:hover{background-color:var(--bg-tertiary)}.btn-confirm{background-color:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-confirm:hover{background-color:#764ba2;transform:translateY(-1px)}.btn-confirm.btn-danger{background-color:#dc3545}.btn-confirm.btn-danger:hover{background-color:#c82333}.table-wrapper{overflow-x:auto;border-radius:4px;background:var(--card-bg);height:500px;overflow-y:auto;border:1px solid var(--border-color);scrollbar-gutter:stable}.users-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.users-table thead{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-color);position:sticky;top:0}.users-table th{padding:5px 6px;text-align:left;font-weight:600;color:var(--text-primary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;word-break:break-word}.users-table th:nth-child(1){width:5%}.users-table th:nth-child(2){width:12%}.users-table th:nth-child(3){width:20%}.users-table th:nth-child(4){width:15%}.users-table th:nth-child(5){width:10%}.users-table th:nth-child(6){width:8%}.users-table th:nth-child(7){width:10%}.users-table th:nth-child(8){width:8%}.users-table th:nth-child(9){width:15%}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sortable-header:hover{background-color:#0000001a}.sortable-header.sorted{background-color:#667eea1a}.header-content{display:flex;align-items:center;gap:8px}.sort-indicator{font-size:14px;font-weight:700;color:#667eea;display:inline-block;line-height:1;width:16px;text-align:center}.users-table td{color:var(--text-primary);display:table-cell;word-break:break-word;padding:5px 6px;white-space:normal;overflow-wrap:break-word}.users-table tbody tr:hover{background-color:var(--bg-secondary)}.users-table tbody tr{transition:background-color .3s ease}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background-color:#d4edda;color:#155724}.badge-warn{background-color:#fff3cd;color:#856404}.badge-danger{background-color:#f8d7da;color:#721c24}.row-passive{background-color:#dc354514}.row-passive:hover{background-color:#dc35451f}.btn-action{background-color:#667eea;color:#fff;padding:3px 6px;font-size:12px;height:fit-content;font-weight:500;border-radius:4px;border:none;cursor:pointer;transition:all .2s ease}.btn-action:hover{background-color:#764ba2;transform:translateY(-1px)}.btn-action.btn-icon{padding:6px 10px;font-size:16px;height:30px;width:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#5a6268}.btn-success{background-color:#28a745}.btn-success:hover{background-color:#218838}.action-buttons{display:flex;align-items:center;justify-content:center;vertical-align:middle;gap:6px;padding-top:8px;padding-bottom:8px}@media (max-width: 768px){.users-table{font-size:12px}.users-table th,.users-table td{padding:10px 8px}.btn-action{padding:4px 8px;font-size:11px}}.user-management{width:100%;height:100%;display:flex;flex-direction:column}.management-grid{display:flex;grid-template-columns:1fr 2fr;gap:30px;height:100%}.create-section{background:var(--card-bg);width:40%;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;height:fit-content;border:1px solid var(--border-color)}.users-section{background:var(--card-bg);border-radius:8px;width:100%;box-shadow:0 2px 8px #0000001a;padding:20px;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.users-section h2{font-size:20px;color:var(--text-primary);margin:0;flex-shrink:0}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.users-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-bar{padding:10px 16px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;flex-shrink:0;min-width:250px;transition:border-color .2s,box-shadow .2s}.search-bar::placeholder{color:var(--text-secondary)}.search-bar:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.refresh-button{padding:10px 14px;border:none;border-radius:6px;background-color:#28a745;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.refresh-button:hover:not(:disabled){background-color:#218838}.create-user-button{padding:10px 14px;border:none;border-radius:6px;background-color:#2563eb;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.create-user-button:hover:not(:disabled){background-color:#1d4ed8}.create-user-button:disabled{opacity:.7;cursor:not-allowed}.refresh-button:disabled{opacity:.7;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);flex-shrink:0}.btn-pagination{background-color:#667eea;color:#fff;padding:8px 16px;font-size:12px;font-weight:500}.btn-pagination:hover:not(:disabled){background-color:#764ba2}.btn-pagination:disabled{background-color:#ccc}.page-info{font-size:14px;color:var(--text-secondary)}.alert{position:fixed;top:150px;right:50px;padding:16px 20px;border-radius:6px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;animation:slideInRight .3s ease-out;z-index:2000;max-width:400px;overflow:hidden}.alert:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:currentColor;animation:shrinkWidth 3s linear forwards}@keyframes shrinkWidth{0%{width:100%}to{width:0%}}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.alert.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.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;padding:20px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border-radius:8px;padding:30px;width:100%;max-width:500px;box-shadow:0 10px 40px #0003;border:1px solid var(--border-color);animation:slideUp .3s ease-out;transition:height .3s ease,width .3s ease,max-width .3s ease,padding .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin-bottom:20px;color:var(--text-primary);font-size:18px}.action-modal{max-width:500px;display:flex;flex-direction:column;width:100%;padding:24px}.action-modal-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.action-modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}.action-modal-subtitle{font-size:13px;color:var(--text-secondary)}.action-modal-balance{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap}.modal-close-btn{border:none;flex:1;display:flex;justify-content:flex-end;background:transparent;color:var(--text-primary);font-size:24px;cursor:pointer;line-height:1}.action-modal-body{display:grid;grid-template-columns:1fr;gap:20px}.action-panel{border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);padding:18px}.action-panel-header{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--text-primary)}.balance-form,.password-form{display:flex;flex-direction:column;gap:16px}.balance-input-row{display:grid;grid-template-columns:120px 1fr;gap:12px}.balance-input-row label,.password-form label{display:flex;flex-direction:column;gap:8px;color:var(--text-primary);font-size:14px}.balance-input-row select,.balance-input-row input,.password-form input{padding:12px 14px;border:1px solid var(--input-border);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary)}.balance-input-row select:focus,.balance-input-row input:focus,.password-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea14}.balance-input-row input[type=number]::-webkit-inner-spin-button,.balance-input-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.balance-input-row input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.modal-close-btn{color:var(--text-secondary)}.btn-full-width{width:40%}.action-modal-footer{display:flex;justify-content:flex-end;margin-top:24px}.action-modal-footer .btn-action{min-width:180px}@media (max-width: 768px){.action-modal{padding:18px}.action-modal-body,.balance-input-row{grid-template-columns:1fr}}.balance-form{display:flex;flex-direction:column;gap:16px}.balance-field{display:flex;flex-direction:column;gap:8px;color:var(--text-primary);font-size:14px}.balance-field select,.balance-field input{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary)}.balance-field select:focus,.balance-field input:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.actions-modal-list{display:flex;flex-direction:column;gap:12px}.action-option-button{width:100%;justify-content:center}@media (max-width: 768px){.management-grid{grid-template-columns:1fr;gap:20px}.create-section{order:2}.users-section{order:1}}.health-monitor{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px;border:1px solid var(--border-color);display:flex;flex-direction:column}.health-monitor h2{font-size:24px;margin-bottom:30px;color:var(--text-primary);flex-shrink:0}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px;flex-shrink:0}.health-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;padding:25px;text-align:center;box-shadow:0 4px 12px #00000014;transition:transform .2s ease}[data-theme=dark] .health-card{background:linear-gradient(135deg,#3a4556,#2a3546)}.health-card:hover{transform:translateY(-4px)}.card-label{font-size:12px;text-transform:uppercase;color:#667eea;font-weight:600;letter-spacing:1px;margin-bottom:12px}.card-value{font-size:28px;font-weight:700;color:var(--text-primary);word-break:break-word}.status-healthy{color:#28a745}.status-unhealthy{color:#dc3545}.last-update{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--bg-secondary);border-radius:8px;border-left:4px solid #667eea;font-size:14px;color:var(--text-secondary);flex-shrink:0}.btn-refresh{background-color:#667eea;color:#fff;padding:8px 16px;font-size:12px;font-weight:500}.btn-refresh:hover{background-color:#764ba2}@media (max-width: 768px){.health-monitor{padding:20px}.health-grid{grid-template-columns:1fr}.last-update{flex-direction:column;gap:15px;text-align:center}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:inherit}.login-box{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:400px;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.login-header h1{margin:0;font-size:24px;color:#333;font-weight:600}.login-subtitle{margin:8px 0 0;font-size:14px;color:#666;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#333}.form-group input{padding:12px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{padding:12px 14px;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn-login{padding:12px 18px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.btn-login:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px}.security-note{margin:0;font-size:13px;color:#999}[data-theme=dark] .login-box{background:#2a2a2a;box-shadow:0 20px 60px #0009}[data-theme=dark] .login-header h1{color:#fff}[data-theme=dark] .login-subtitle{color:#aaa}[data-theme=dark] .form-group label{color:#ddd}[data-theme=dark] .form-group input{background:#3a3a3a;border-color:#444;color:#fff}[data-theme=dark] .form-group input::placeholder{color:#999}[data-theme=dark] .form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}[data-theme=dark] .form-group input:disabled{background-color:#1a1a1a}[data-theme=dark] .error-message{background-color:#3a2222;border-color:#6b3333;color:#f99}[data-theme=dark] .security-note{color:#666}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-header{background:var(--header-bg);color:#fff;padding:20px 30px;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:100%;width:100%}.app-header h1{font-size:28px;margin-bottom:4px;font-weight:600}.subtitle{font-size:13px;opacity:.9}.btn-theme-toggle{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 12px;font-size:18px;border-radius:6px;cursor:pointer;transition:all .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.btn-theme-toggle:hover{background:#ffffff4d;border-color:#ffffff80}.header-actions{display:flex;gap:8px;align-items:center}.btn-logout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;height:44px;display:flex;align-items:center;justify-content:center}.btn-logout:hover{background:#ff64644d;border-color:#ff646480;color:#fcc}.btn-logout:active{transform:scale(.98)}.tabs-nav{display:flex;gap:0;background-color:var(--bg-primary);border-bottom:2px solid var(--border-color);padding:0 30px;flex-shrink:0}.tab-btn{padding:12px 24px;background:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;position:relative;transition:color .2s ease}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:#667eea}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:#667eea}.app-content{flex:1;padding:20px 30px;max-width:100%;margin:0 auto;width:100%;overflow-y:auto;background-color:var(--bg-primary)}.app-content::-webkit-scrollbar{width:8px}.app-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.app-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.app-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.app-header{padding:16px}.header-content{padding:0;flex-direction:column;gap:12px;align-items:flex-start}.app-header h1{font-size:20px;margin-bottom:2px}.subtitle{font-size:12px}.header-actions{width:100%;justify-content:flex-start}.btn-theme-toggle{width:40px;height:40px;font-size:16px}.btn-logout{flex:1;height:38px;font-size:12px}.tabs-nav{padding:0}.tab-btn{flex:1;text-align:center;padding:10px 12px}.app-content{padding:16px 12px}}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #333333;--text-secondary: #666666;--border-color: #dddddd;--header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--card-bg: #ffffff;--input-border: #dddddd}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--border-color: #404040;--header-bg: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);--card-bg: #2d2d2d;--input-border: #404040}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}body{line-height:1.6;overflow:hidden}button{cursor:pointer;font-family:inherit;border:none;padding:8px 16px;border-radius:4px;transition:all .2s ease}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font-family:inherit;border:1px solid var(--input-border);border-radius:4px;padding:8px 12px;background-color:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}input:focus,textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:16px}.no-data{text-align:center;padding:30px;color:var(--text-secondary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}
