:root {
    --app-bg-1: #f7fbff;
    --app-bg-2: #edf4ff;
    --app-bg-3: #e4ecfa;
    --app-border: #d8e2f2;
    --app-primary: #2f62d8;
    --app-primary-dark: #244fae;
    --app-text: #1f2738;
    --app-muted: #66728c;
}

body.app-theme {
    min-height: 100vh;
    color: var(--app-text);
    background:
        radial-gradient(circle at 0% 0%, rgba(108, 146, 255, 0.12) 0%, transparent 35%),
        radial-gradient(circle at 100% 0%, rgba(58, 114, 219, 0.1) 0%, transparent 36%),
        radial-gradient(circle at 80% 100%, rgba(148, 181, 255, 0.12) 0%, transparent 30%),
        linear-gradient(180deg, var(--app-bg-1) 0%, var(--app-bg-2) 58%, var(--app-bg-3) 100%);
}

.app-shell {
    min-height: 100vh;
}

.app-surface,
.dealer-surface {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--app-border);
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(35, 67, 128, 0.08);
}

.app-title,
.dealer-title {
    letter-spacing: 0.2px;
}

.app-section-title,
.dealer-section-title {
    border-bottom: 1px solid #e7eef9;
    background: linear-gradient(180deg, #fbfdff 0%, #f3f7ff 100%);
}

.dealer-kpi .label {
    color: var(--app-muted);
    font-size: 12px;
}

.dealer-kpi .value {
    margin-top: 4px;
    font-size: 1.12rem;
    font-weight: 700;
}

.dealer-mini {
    border: 1px solid #e4ecfa;
    border-radius: 12px;
    background: #fbfdff;
}

.dealer-mini-sub {
    color: #5f6c86;
    font-size: 12px;
}

.dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}

.dot.green { background: #2f8a49; }
.dot.gray { background: #9aa6bf; }
.dot.red { background: #b64040; }

.flash.ok {
    border-color: #9fd5aa;
    background: #ecf8ef;
    color: #1e5a2c;
}

.flash.err {
    border-color: #e2b2b2;
    background: #fff1f1;
    color: #7f2a2a;
}

.btn-primary {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--app-primary-dark);
    border-color: var(--app-primary-dark);
}

.sidebar-wrap {
    background: linear-gradient(180deg, #17253f 0%, #1b2e4e 100%);
    border-right: 1px solid #2a3f66;
    color: #e6edfa;
}

.sidebar-wrap .nav-link {
    color: #d7e4ff;
    border: 1px solid transparent;
    border-radius: 8px;
    margin-bottom: 6px;
}

.sidebar-wrap .nav-link.active,
.sidebar-wrap .nav-link:hover {
    border-color: #6186c8;
    background: #2f4f80;
    color: #ffffff;
}

.table-wrap {
    overflow-x: auto;
    border: 1px solid #e7edf9;
    border-radius: 10px;
    background: #fff;
}

.table-wrap table {
    min-width: 960px;
}
