: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;min-width:320px;min-height:100vh;background:#181c24}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}}#root{width:100vw;min-height:100vh;margin:0;padding:0;text-align:left;background:#181c24}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.dashboard-container{background:#12141b;min-height:100vh;padding:32px 40px;box-sizing:border-box}.dashboard-header{text-align:right;margin-bottom:20px;display:flex;justify-content:flex-end;gap:10px}.dashboard-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}.dashboard-charts,.dashboard-table{flex:1 1 350px;min-width:300px}.admin-btn{background:#1d222d;color:#57c7ff;border:none;border-radius:8px;padding:7px 16px;cursor:pointer}.logout-btn{background:#232a39;color:#ff677c;border:none;border-radius:8px;padding:7px 16px;cursor:pointer}.dashboard-title{color:#fff;margin:18px 0 12px 14px}.mini-charts{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:18px}.update-time{color:#ccc;margin:24px 0 6px 18px;font-size:14px}.login-overlay{position:fixed;left:0;top:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;background:#181a21;display:flex;align-items:center;justify-content:center}.login-box{max-width:400px;width:100%;background:#232634;color:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 32px #000a}.input-field{width:100%;padding:12px;border-radius:8px;border:1px solid #323645;background:#191c26;color:#fff;font-size:17px;box-sizing:border-box}.button-primary{width:100%;padding:13px;font-size:17px;border-radius:8px;border:none;background:#0b74f1;color:#fff;font-weight:600;cursor:pointer}.switch-links{display:flex;justify-content:space-between;margin-top:14px;font-size:14px;cursor:pointer;color:#6fb6ff}.form-title{text-align:center;margin-bottom:28px}.mb-18{margin-bottom:18px}.error-msg{color:#ff6961;margin-top:16px;text-align:center}.message-msg{color:#6bc46d;margin-top:16px;text-align:center}.admin-container{min-height:100vh;min-width:100vw;width:100vw;background:#181c24;color:#e2e2e2;padding:32px 40px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}.admin-header{text-align:right;display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}.admin-btn-logout{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:7px 16px;cursor:pointer}.admin-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.admin-inner{width:95%;max-width:1300px}.admin-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;width:100%}.admin-search{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex:1 1 250px}.search-input{background:#12141b;border-radius:6px;padding:6px 12px;color:#d9e2ec;width:220px;border:1px solid #2a2d3c;outline:none}.search-btn{background:#2563eb;color:#fff;border-radius:6px;padding:6px 18px;border:none}.batch-btn{background:#059669;color:#fff;border-radius:6px;padding:6px 14px;border:none;margin-left:12px}.batch-btn.dark{color:#222}.delete-btn{background:#ef4444;color:#fff;border-radius:6px;padding:6px 14px;border:none}.admin-msg{margin-left:18px;font-size:13px;color:#facc15}.admin-table-wrapper{border-radius:16px;overflow:hidden;background:#12141b;border:1px solid #23273a;flex:3 1 600px}.admin-table{width:100%;font-size:14px;background:transparent}.admin-table thead tr{background:#181c24}.admin-table th,.admin-table td{padding:8px;text-align:center;font-weight:600}.admin-row{text-align:center;background:#12141b;transition:background .2s}.admin-row.selected{background:#23293a}.admin-row:hover{background:#181c24}.clickable{cursor:pointer;text-decoration:underline;color:#57c7ff;background:none;border:none}.checkbox-blue{accent-color:#2563eb}.role-chip{border-radius:8px;padding:2px 8px;font-size:13px;background:#212936;color:#eee}.role-admin{background:#234986;color:#57c7ff}.status-chip{border-radius:8px;padding:2px 8px;font-size:13px;background:#272938;color:#eee}.status-active{background:#166534;color:#57ffbc}.status-blocked{background:#7f1d1d;color:#ff677c}.status-expired{background:#92400e;color:#e5c453}.status-archived{background:#334155;color:#cbd5e1}.loading-row{color:#7b8794;padding:36px;text-align:center}.modal-overlay{position:fixed;z-index:1000;left:0;top:0;width:100vw;height:100vh;background:#181c24e0;display:flex;align-items:center;justify-content:center}.modal-content{min-width:280px;max-width:500px;width:100%;background:#181c24;border:1px solid #23273a;border-radius:16px;padding:24px;box-shadow:0 4px 40px #23273a88;position:relative}.modal-close{position:absolute;right:14px;top:10px;color:#f87171;background:none;border:none;font-size:26px;cursor:pointer;font-weight:700}.modal-title{font-weight:600;font-size:18px;color:#f1f5f9;margin-bottom:14px}.audit-container{overflow-x:auto;max-height:320px}.audit-table{width:100%;font-size:13px}.audit-table .old{color:#64748b}.audit-table .new{color:#34d399}.input-style{background:#12141b;color:#e2e2e2;border:1px solid #23273a;border-radius:6px;padding:7px 12px;margin-bottom:12px;width:100%;font-size:15px;outline:none;box-sizing:border-box}.notes-textarea{resize:vertical;min-height:38px}.flex-row{display:flex;gap:8px;margin-top:12px}@media (max-width: 768px){.dashboard-container,.admin-container{padding:16px}.mini-charts,.admin-search,.dashboard-body,.admin-body{flex-direction:column}.login-box{padding:20px;max-width:90%}}@media (min-width: 1200px){.dashboard-container,.admin-container{padding:40px 60px}.login-box{max-width:500px}}.app-footer{color:#888;text-align:center;margin-top:40px}
