:root {
    --al-surface: #f4f7fb;
    --al-border: #dce6f2;
}

body {
    background:
        radial-gradient(1200px 500px at 100% -8%, #e7f0ff 0%, transparent 52%),
        radial-gradient(900px 500px at -10% 108%, #e8fff1 0%, transparent 60%),
        var(--al-surface);
}

.top-offer-bar {
    background: linear-gradient(90deg, #27ae60 0%, #1f8b4d 100%);
    color: #ffffff;
    font-size: 0.78rem;
    padding: 0.25rem 0;
}

.main-topbar {
    background: #ffffff;
    border-bottom: 1px solid var(--al-border);
}

.page-wrapper {
    min-height: calc(100vh - 46px);
}

.card {
    border: 1px solid var(--al-border);
    box-shadow: 0 2px 10px rgba(29, 53, 87, 0.05);
}

.card-header {
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.metric-card .metric-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.4rem;
}

.metric-card .metric-title {
    color: #66758f;
    font-size: 0.82rem;
    font-weight: 600;
}

.metric-card .metric-value {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.1;
}

.metric-card .metric-sub {
    color: #7d8da8;
    font-size: 0.82rem;
    margin-top: 0.35rem;
}

.metric-mini {
    background: #f2f6fd;
    border: 1px solid #d8e3f2;
    border-radius: 0.75rem;
    padding: 0.55rem 0.7rem;
}

.metric-mini-label {
    color: #66758f;
    font-size: 0.75rem;
}

.metric-mini-value {
    font-size: 1.05rem;
    font-weight: 700;
}

.status-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.kpi-card .avatar {
    border-radius: 0.85rem;
}

.quick-actions-card .btn {
    justify-content: flex-start;
}

.auth-screen {
    background:
        radial-gradient(1400px 700px at 10% 0%, #e8f0ff 0%, transparent 45%),
        radial-gradient(900px 600px at 90% 100%, #e9fff2 0%, transparent 42%),
        #f8fbff;
}

.auth-brand {
    background: #ffffff;
    border: 1px solid #dbe5f5;
}

.mono-text,
.mono-key {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.82rem;
}

.stack-form-group {
    display: grid;
    gap: 0.5rem;
    min-width: 280px;
}

.js-inline-form {
    margin: 0;
}

@media (max-width: 991.98px) {
    .stack-form-group {
        min-width: 240px;
    }
}
