:root {
    --bg: #07090c;
    --panel: #0d131a;
    --panel-strong: #121b25;
    --panel-soft: #0a1016;
    --border: #263342;
    --text: #f7fbff;
    --muted: #9badbd;
    --accent: #43f7bd;
    --accent-strong: #26dba4;
    --accent-warm: #d8ff7a;
    --danger: #ff5a7a;
    --success: #43f7bd;
}

body {
    background:
        linear-gradient(rgba(67, 247, 189, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(67, 247, 189, 0.022) 1px, transparent 1px),
        radial-gradient(circle at 12% -10%, rgba(67, 247, 189, 0.18), transparent 30rem),
        radial-gradient(circle at 88% 0%, rgba(216, 255, 122, 0.08), transparent 24rem),
        #07090c;
    background-size: 36px 36px, 36px 36px, auto, auto, auto;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(rgba(255, 255, 255, 0.026) 50%, transparent 50%);
    background-size: 100% 5px;
    opacity: 0.18;
}

.app-nav {
    background: rgba(5, 8, 12, 0.96);
    border-bottom-color: rgba(67, 247, 189, 0.18);
}

.brand-lockup {
    gap: 0.55rem;
}

.brand-mark {
    color: #06100d;
    background: var(--accent);
    box-shadow: 0 0 24px rgba(67, 247, 189, 0.22);
}

.brand-text {
    font-weight: 950;
    text-transform: uppercase;
}

.brand-subtext {
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.nav-logout-form {
    margin: 0;
}

.nav-button {
    border: 0;
    background: transparent;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
}

.nav-button:hover,
.nav-button:focus {
    color: var(--text);
}

.ascii-header {
    background: linear-gradient(90deg, rgba(67, 247, 189, 0.13), transparent 24%), rgba(2, 5, 8, 0.94);
    border-bottom-color: rgba(67, 247, 189, 0.24);
}

.ascii-art {
    color: #85ffd5;
    text-shadow: 0 0 16px rgba(67, 247, 189, 0.28);
}

.home-hero,
.page-hero,
.admin-command-hero,
.auth-panel,
.panel-section,
.danger-panel,
.connect-panel,
.landing-shell,
.dashboard-hero,
.dashboard-service-panel,
.bot-presence-panel,
.feature-panel,
.commands-hero,
.commands-panel {
    background: rgba(13, 19, 26, 0.88);
    border: 1px solid rgba(67, 247, 189, 0.18);
    border-radius: 8px;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.landing-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.72fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: stretch;
    min-height: 28rem;
    padding: clamp(1.4rem, 4vw, 3.2rem);
}

.landing-copy {
    display: grid;
    align-content: center;
    max-width: 62rem;
}

.landing-copy h1,
.dashboard-hero h1,
.commands-hero h1 {
    margin: 0;
    max-width: 58rem;
    font-size: clamp(2.7rem, 6vw, 6.8rem);
    line-height: 0.9;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
    text-shadow: 0 0 28px rgba(67, 247, 189, 0.14);
}

.landing-login-form {
    margin-top: 1.25rem;
}

.landing-status {
    display: grid;
    align-content: center;
    gap: 0.9rem;
}

.status-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 0.85rem;
    row-gap: 0.15rem;
    padding: 1rem;
    background: rgba(7, 12, 18, 0.7);
    border: 1px solid rgba(67, 247, 189, 0.16);
    border-radius: 8px;
}

.status-line span {
    grid-row: span 2;
    color: var(--accent);
    font-family: "Cascadia Mono", Consolas, monospace;
    font-weight: 900;
}

.status-line strong {
    color: var(--text);
    text-transform: uppercase;
}

.status-line p {
    margin: 0;
    color: var(--muted);
}

.dashboard-hero,
.commands-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    padding: clamp(1.4rem, 3vw, 2.4rem);
    margin-bottom: 1rem;
}

.dashboard-hero .lead,
.commands-hero .lead {
    max-width: 48rem;
}

.dashboard-status-strip {
    display: grid;
    gap: 0.45rem;
    min-width: 14rem;
}

.dashboard-status-strip span,
.hero-badges span,
.db-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0.25rem 0.7rem;
    color: #dfffee;
    background: rgba(7, 12, 18, 0.72);
    border: 1px solid rgba(67, 247, 189, 0.2);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
}

.dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
    gap: 1rem;
    align-items: start;
}

.dashboard-main-column,
.dashboard-side-column {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.dashboard-service-panel,
.bot-presence-panel,
.feature-panel,
.commands-panel {
    padding: 1.2rem;
    margin-bottom: 0;
}

.service-list {
    display: grid;
    gap: 0.75rem;
}

.service-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-width: 0;
    padding: 1rem;
    background: rgba(7, 12, 18, 0.66);
    border: 1px solid rgba(67, 247, 189, 0.16);
    border-radius: 8px;
}

.service-row h3,
.feature-tile h3 {
    margin: 0.2rem 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 900;
}

.service-row p,
.feature-tile p {
    margin: 0;
    color: var(--muted);
}

.service-limited {
    border-color: rgba(216, 255, 122, 0.24);
}

.service-actions {
    justify-content: flex-end;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.feature-tile {
    min-width: 0;
    padding: 1rem;
    background: rgba(7, 12, 18, 0.66);
    border: 1px solid rgba(67, 247, 189, 0.16);
    border-radius: 8px;
}

.feature-placeholder {
    border-style: dashed;
    border-color: rgba(154, 173, 189, 0.35);
}

.bot-presence-panel {
    display: grid;
    gap: 1rem;
}

.side-actions {
    display: grid;
    align-items: stretch;
}

.side-actions form,
.side-actions button {
    width: 100%;
}

.commands-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.commands-panel-wide {
    grid-column: 1 / -1;
}

.command-list,
.command-grid {
    display: grid;
    gap: 0.65rem;
}

.command-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.command-row {
    display: grid;
    grid-template-columns: minmax(10rem, 0.45fr) minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.8rem;
    background: rgba(7, 12, 18, 0.66);
    border: 1px solid rgba(67, 247, 189, 0.14);
    border-radius: 8px;
}

.command-row code {
    color: #b8ffe9;
    overflow-wrap: anywhere;
}

.command-row span {
    color: var(--muted);
}

.admin-hero-tight h1 {
    font-size: clamp(2.5rem, 5vw, 5.5rem);
}

.admin-stack-panel {
    display: grid;
    gap: 1rem;
}

.admin-help-box {
    padding: 1rem;
    background: rgba(7, 12, 18, 0.66);
    border: 1px solid rgba(67, 247, 189, 0.14);
    border-radius: 8px;
}

.admin-help-box p:last-child {
    margin-bottom: 0;
    color: var(--muted);
}

.glizzy-hero h1,
.admin-command-hero h1,
.page-hero h1 {
    text-transform: uppercase;
    text-shadow: 0 0 24px rgba(67, 247, 189, 0.14);
}

.eyebrow,
.service-kicker {
    color: var(--accent);
}

.console-card {
    background: linear-gradient(180deg, #05080c, #081019);
    border-color: rgba(67, 247, 189, 0.34);
    box-shadow: 0 18px 70px rgba(0, 0, 0, 0.35);
}

.glizzy-terminal pre,
.console-card pre {
    color: #b8ffe9;
}

.login-panel {
    border-color: rgba(67, 247, 189, 0.22);
}

.login-heading .btn {
    min-width: 12rem;
}

.service-card {
    background: rgba(7, 12, 18, 0.66);
}

.service-ready {
    border-color: rgba(67, 247, 189, 0.26);
}

.locked-service,
.grandfathered-card {
    border-color: rgba(216, 255, 122, 0.32);
    background: rgba(13, 19, 26, 0.78);
}

.btn-primary {
    color: #04110d;
    font-weight: 900;
    background: var(--accent);
    border-color: transparent;
    box-shadow: 0 0 0 1px rgba(67, 247, 189, 0.25), 0 12px 34px rgba(67, 247, 189, 0.14);
}

.btn-primary:hover,
.btn-primary:focus {
    color: #04110d;
    background: #6effcf;
}

.btn-outline-light {
    border-color: rgba(248, 251, 255, 0.42);
}

.btn-outline-danger {
    border-color: rgba(255, 90, 122, 0.66);
    color: #ff9caf;
}

.discord-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.form-block,
.full-span {
    min-width: 0;
}

.full-span {
    grid-column: 1 / -1;
}

.field-help {
    margin: 0.5rem 0 0;
    color: var(--muted);
    font-size: 0.92rem;
}

.form-select,
.form-control {
    color: var(--text);
    background-color: #080f16;
    border-color: rgba(94, 116, 135, 0.68);
}

.form-select:focus,
.form-control:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 0.25rem rgba(67, 247, 189, 0.14);
}

.metric-card,
.mini-record {
    background: rgba(7, 12, 18, 0.66);
}

.table-dark {
    --bs-table-bg: #0d131a;
    --bs-table-striped-bg: #101923;
    --bs-table-hover-bg: #14202d;
    border-color: rgba(94, 116, 135, 0.44);
}

.status-ok {
    color: #04120c;
    background: var(--success);
}

.status-muted {
    background: rgba(25, 34, 49, 0.9);
}

@media (max-width: 1100px) {
    .dashboard-layout,
    .commands-layout {
        grid-template-columns: 1fr;
    }

    .side-actions {
        display: flex;
    }

    .side-actions form,
    .side-actions button {
        width: auto;
    }
}

@media (max-width: 1000px) {
    .landing-shell,
    .dashboard-hero,
    .commands-hero {
        grid-template-columns: 1fr;
    }

    .dashboard-status-strip {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .brand-subtext {
        display: none;
    }

    .landing-copy h1,
    .dashboard-hero h1,
    .commands-hero h1 {
        font-size: 2.8rem;
    }

    .login-heading .btn,
    .landing-login-form .btn {
        width: 100%;
    }

    .discord-form,
    .service-row,
    .feature-grid,
    .command-grid,
    .command-row {
        grid-template-columns: 1fr;
    }

    .service-actions {
        justify-content: flex-start;
    }

    .side-actions {
        display: grid;
        width: 100%;
    }

    .side-actions form,
    .side-actions button {
        width: 100%;
    }
}
