:root{
    --eb-red:#e30613;
    --eb-red-dark:#b60510;
    --eb-soft:#f6f7f9;
    --eb-text:#1f2937;
}

html,body{height:100%;}
body.app-body{
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--eb-text);
    background:var(--eb-soft);
}

.app-navbar{
    background:linear-gradient(90deg,var(--eb-red),var(--eb-red-dark));
}
.brand-mark{
    width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
    font-weight:800;letter-spacing:.5px;
}

.app-card{
    border:0;
    border-radius:16px;
    box-shadow:0 12px 30px rgba(16,24,40,.08);
    background:#fff;
}
.app-card-soft{
    border-radius:16px;
    background:rgba(255,255,255,.7);
    border:1px solid rgba(17,24,39,.06);
    box-shadow:0 10px 26px rgba(16,24,40,.06);
    backdrop-filter:saturate(140%) blur(10px);
}
.app-shadow-sm{
    box-shadow:0 10px 24px rgba(16,24,40,.06);
}

.app-btn-icon{
    width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;
}
.app-hover{
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}
.app-hover:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(16,24,40,.12);
}

.product-card{
    border-radius:16px;
    border:1px solid rgba(17,24,39,.06);
    overflow:hidden;
}
.product-img{
    height:140px;
    object-fit:cover;
    width:100%;
    background:#fff;
}
.product-price{
    color:var(--eb-red);
    font-weight:700;
}

.cart-panel{
    position:sticky;
    top:86px;
}

.qty-control{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(17,24,39,.10);
    border-radius:14px;
    padding:6px 10px;
    background:#fff;
}
.qty-btn{
    width:30px;height:30px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
}

.app-loading{
    position:fixed;inset:0;z-index:2000;
}
.app-loading-backdrop{
    position:absolute;inset:0;background:rgba(17,24,39,.42);
    backdrop-filter:blur(3px);
}
.app-loading-spinner{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}

[data-bs-theme="dark"] body.app-body{
    background:#0b1220;
    color:#e5e7eb;
}
[data-bs-theme="dark"] .app-card,[data-bs-theme="dark"] .product-card{background:#0f172a;border-color:rgba(148,163,184,.16);}
[data-bs-theme="dark"] .app-card-soft{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.14);}
[data-bs-theme="dark"] .qty-control{background:#0f172a;border-color:rgba(148,163,184,.18);}
[data-bs-theme="dark"] .text-muted{color:#9ca3af !important;}

.table thead th{white-space:nowrap;}
.badge-soft{
    background:rgba(227,6,19,.10);
    color:var(--eb-red);
    border:1px solid rgba(227,6,19,.18);
}

