/*
File: index.css
Role: Global Stylesheet for the SPA Dashboard.
[LLM INSTRUCTION] Uses standard Discord color palettes (#2b2d31, #5865f2, etc.) for seamless Embedded App integration.
*/
body {
    background-color: #313338; 
    color: #dbdee1; 
    font-family: 'gg sans', sans-serif; 
    margin: 0;
    display: flex;
    height: 100vh;
}
.sidebar {
    width: 260px;
    min-width: 260px;
    flex-shrink: 0;
    background-color: #2b2d31;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.sidebar h2 { color: #f2f3f5; margin-top: 0; }
.nav-item {
    padding: 12px;
    margin: 8px 0;
    background: #1e1f22;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.2s;
}
.nav-item:hover { background: #404249; color: #fff; }
.active-tab { background: #5865f2; color: #fff; }
.active-tab:hover { background: #4752c4; }

.main-content {
    flex-grow: 1;
    padding: 40px;
    box-sizing: border-box;
    overflow-y: auto;
}
.panel {
    background: #2b2d31;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.tab-content { display: none; }
.active-content { display: block; }

.form-input {
    width: 100%;
    background: #1e1f22;
    color: #dbdee1;
    border: 1px solid #404249;
    border-radius: 4px;
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 15px;
    box-sizing: border-box;
    font-family: inherit;
}
textarea.form-input { resize: vertical; min-height: 80px; }
.btn-save {
    background: #2e8b57; color: white; border: none; padding: 10px 15px;
    border-radius: 4px; cursor: pointer; font-weight: bold; transition: background 0.2s;
}
.btn-save:hover { background: #27794c; }
label { font-size: 14px; font-weight: bold; color: #f2f3f5; }

.card {
    background: #1e1f22;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 15px;
    border-left: 4px solid #5865f2;
}
.card h3 { margin-top: 0; margin-bottom: 5px; color: #f2f3f5; }
.card p { margin: 0; color: #949ba4; font-size: 14px; line-height: 1.4; }
.badge, .space-badge {
    display: inline-block;
    color: white;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    margin-right: 5px;
    margin-bottom: 10px;
}
.badge { background: #4752c4; }
.badge-danger { background: #da373c; }
.badge-success { background: #2e8b57; }
.badge-warning { background: #b8860b; color: black; }

.terminal-box {
    background: #1e1f22;
    padding: 15px;
    border-radius: 8px;
    text-align: left;
    font-family: monospace;
    white-space: pre-wrap;
    word-wrap: break-word;
    color: #a5b4fc;
    overflow-y: auto;
    font-size: 13px;
}

/* --- Toast Notifications --- */
#toast-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.toast {
    padding: 12px 20px;
    border-radius: 6px;
    color: #fff;
    font-weight: bold;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    animation: slideIn 0.3s ease-out;
    transition: opacity 0.3s;
}
.toast-success { background-color: #2e8b57; border-left: 4px solid #1e5c3a; }
.toast-error { background-color: #da373c; border-left: 4px solid #902428; }
@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}