.env-banner[data-v-4efd789d]{position:fixed;top:0;left:0;right:0;height:28px;line-height:28px;background:repeating-linear-gradient(45deg,#f59e0b,#f59e0b 10px,#d97706 10px 20px);color:#1f2937;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;z-index:9999;box-shadow:0 2px 4px #0000004d;-webkit-user-select:none;user-select:none;pointer-events:none}.app-layout[data-v-4efd789d]{display:flex;min-height:100vh;background:#0f172a;color:#e2e8f0}.app-layout.with-banner[data-v-4efd789d]{padding-top:28px;min-height:calc(100vh - 28px)}.sidebar[data-v-4efd789d]{width:240px;background:#1e293b;border-right:1px solid #334155;display:flex;flex-direction:column;transition:width .2s ease}.sidebar.collapsed[data-v-4efd789d]{width:64px}.sidebar-header[data-v-4efd789d]{padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #334155}.logo[data-v-4efd789d]{height:32px}.logo-mark[data-v-4efd789d]{font-size:1.5rem;font-weight:700;color:#38bdf8}.collapse-btn[data-v-4efd789d]{background:none;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px}.collapse-btn[data-v-4efd789d]:hover{background:#334155}.sidebar-nav[data-v-4efd789d]{flex:1;padding:8px;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-4efd789d]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:#94a3b8;font-size:.9rem;transition:all .15s ease}.nav-item[data-v-4efd789d]:hover{background:#334155;color:#e2e8f0}.nav-item.active[data-v-4efd789d]{background:#0ea5e9;color:#fff}.nav-icon[data-v-4efd789d]{font-size:1.1rem;width:24px;text-align:center}.sidebar-footer[data-v-4efd789d]{padding:12px 16px;border-top:1px solid #334155}.user-info[data-v-4efd789d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #334155}.user-name[data-v-4efd789d]{font-size:.8rem;font-weight:600;color:#e2e8f0}.logout-btn[data-v-4efd789d]{background:none;border:1px solid #334155;color:#94a3b8;font-size:.85rem;cursor:pointer;padding:2px 8px;border-radius:4px;transition:all .15s ease}.logout-btn[data-v-4efd789d]:hover{background:#ef444420;border-color:#ef4444;color:#fca5a5}.server-status[data-v-4efd789d]{font-size:.75rem;padding:4px 8px;border-radius:4px;text-align:center}.server-status.online[data-v-4efd789d]{background:#065f4620;color:#34d399}.server-status.offline[data-v-4efd789d]{background:#7f1d1d20;color:#fca5a5}.main-content[data-v-4efd789d]{flex:1;padding:24px;overflow-y:auto}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;color:#e2e8f0}.card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px}.card-header{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:#f1f5f9}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:#0ea5e9;color:#fff}.btn-primary:hover{background:#0284c7}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover{background:#475569}.btn-success{background:#10b981;color:#fff}.btn-danger{background:#ef4444;color:#fff}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.input{background:#0f172a;border:1px solid #334155;border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:.875rem;width:100%}.input:focus{outline:none;border-color:#0ea5e9}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:1.5rem;font-weight:700;color:#f1f5f9}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid #334155}td{padding:12px;font-size:.875rem;border-bottom:1px solid #1e293b}tr:hover td{background:#1e293b40}
