:root {
    --movilco-wine: #6f1837;
    --movilco-wine-dark: #51112a;
    --movilco-gold: #c5a04b;
    --movilco-ink: #292a2e;
    --movilco-muted: #737780;
    --movilco-surface: #ffffff;
    --movilco-canvas: #f4f5f7;
}

body {
    min-height: 100vh;
    color: var(--movilco-ink);
    background: var(--movilco-canvas);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.app-shell { min-height: 100vh; }
.app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1030;
    width: 260px;
    overflow-y: auto;
    color: #fff;
    background: var(--movilco-wine-dark);
    transition: transform .2s ease;
}
.brand { display: flex; align-items: center; gap: .8rem; padding: 1.35rem 1.3rem; color: #fff; text-decoration: none; }
.brand-mark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: var(--movilco-wine-dark); background: var(--movilco-gold); font-weight: 800; }
.brand small { display: block; color: #e4dce0; font-size: .72rem; letter-spacing: .08em; }
.sidebar-label { padding: 1.2rem 1.3rem .45rem; color: #c7b9bf; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-link { display: flex; align-items: center; gap: .75rem; margin: .15rem .75rem; padding: .68rem .8rem; border-radius: .55rem; color: #eee7ea; font-size: .91rem; text-decoration: none; }
.sidebar-link:hover, .sidebar-link.active { color: #fff; background: rgba(255,255,255,.13); }
.sidebar-link i { width: 1.1rem; font-size: 1rem; text-align: center; }
.app-main { min-height: 100vh; margin-left: 260px; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 2rem; background: var(--movilco-surface); border-bottom: 1px solid #e9eaed; }
.content-wrap { max-width: 1440px; margin: 0 auto; padding: 2rem; }
.page-eyebrow { color: var(--movilco-muted); font-size: .82rem; }
.welcome-card { border: 0; border-radius: 1rem; color: #fff; background: linear-gradient(115deg, var(--movilco-wine-dark), var(--movilco-wine)); }
.welcome-card .card-body { padding: 2rem; }
.gold-rule { width: 48px; height: 3px; border-radius: 4px; background: var(--movilco-gold); }
.section-card { height: 100%; border: 1px solid #eaebee; border-radius: .9rem; background: #fff; }
.service-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: .7rem; color: var(--movilco-wine); background: #f6edf0; font-size: 1.1rem; }
.text-muted-custom { color: var(--movilco-muted); }
.btn-wine { color: #fff; background: var(--movilco-wine); border-color: var(--movilco-wine); }
.btn-wine:hover { color: #fff; background: var(--movilco-wine-dark); border-color: var(--movilco-wine-dark); }
.login-page { display: grid; min-height: 100vh; place-items: center; padding: 1.25rem; background: linear-gradient(135deg, #f7f5f5, #edeef1); }
.login-card { width: min(100%, 440px); border: 0; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(30, 25, 28, .12); }
.login-card .card-body { padding: clamp(1.5rem, 6vw, 2.5rem); }
.form-control { min-height: 46px; }
.placeholder-card { max-width: 780px; border: 1px solid #eaebee; border-radius: .9rem; }
.avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--movilco-wine); background: #f4e9ed; font-weight: 700; }

@media (max-width: 991.98px) {
    .app-sidebar { transform: translateX(-100%); }
    .app-sidebar.is-open { transform: translateX(0); box-shadow: 0 0 0 100vmax rgba(0,0,0,.35); }
    .app-main { margin-left: 0; }
    .topbar { padding: 0 1rem; }
    .content-wrap { padding: 1.25rem 1rem; }
}
