*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; width: 100%; max-width: 100%; overflow-x: hidden; }
body {
    margin: 0;
    min-width: 320px;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.06), transparent 24%),
        linear-gradient(180deg, #f8fbff 0%, var(--lp-bg) 100%);
    color: var(--lp-text);
    font-family: var(--lp-font-family);
    font-size: 14px;
    line-height: 1.45;
}
body.sidebar-open { overflow: hidden; }
a { color: var(--lp-primary); text-decoration: none; transition: var(--lp-transition); }
a:hover { color: var(--lp-primary-2); }
img, canvas, svg, video, iframe { display: block; max-width: 100%; }
.wrapper { display: flex; min-height: 100vh; width: 100%; max-width: 100%; overflow-x: clip; }
.content-wrapper, .main-content, .page-content, .page-wrapper, .content, .container, .container-fluid,
.row, .row > *, [class*="col-"], .card, .lp-card, .panel, .widget, .box, .info-card,
.top-navbar, .navbar-actions, .page-identity, .page-header, .content-header, .section-header,
.lp-page-hero, .lp-page-actions {
    min-width: 0;
    max-width: 100%;
}
.content-wrapper, .main-content, .page-content, .page-wrapper, .content, .container-fluid { min-height: auto !important; }
.page-content {
    flex: 1;
    width: 100%;
    max-width: var(--lp-content-max);
    padding: 12px 14px 14px;
    margin: 0 auto;
}
.page-header, .content-header, .section-header, .header-page,
.page-header-custom, .filters-section, .search-section { margin-bottom: 12px !important; }
.page-title { margin: 0 0 4px; font-size: 1.5rem; font-weight: 800; color: var(--lp-text); }
.page-title-inline { margin: 0; font-size: 1rem; font-weight: 700; }
.page-eyebrow, .lp-page-kicker {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .72rem; font-weight: 800; color: var(--lp-primary);
    text-transform: uppercase; letter-spacing: .08em;
}
.lp-page-kicker::before {
    content: '';
    width: 8px; height: 8px; border-radius: 999px;
    background: linear-gradient(135deg, var(--lp-primary) 0%, #60a5fa 100%);
}
.breadcrumb, .breadcrumb-sm { background: transparent; padding: 0; margin: 0; font-size: .8rem; }
.breadcrumb-item a { color: var(--lp-text-soft); }
.breadcrumb-item.active { color: var(--lp-text); font-weight: 600; }
.top-navbar, .navbar, .header-top, .app-header {
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(221,230,242,.9);
    box-shadow: 0 1px 3px rgba(15,23,42,.03);
}
.top-navbar {
    position: sticky; top: 0; z-index: 990;
    min-height: var(--lp-topbar-height);
    padding: 10px 16px;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.page-identity { flex: 1; min-width: 0; }
.navbar-actions { display: flex; align-items: center; gap: 10px; }
.footer {
    background: rgba(255,255,255,.85);
    border-top: 1px solid var(--lp-border);
    box-shadow: 0 -1px 2px rgba(15, 23, 42, .02);
    padding: 12px 16px;
    color: var(--lp-text-soft);
}
.row { --bs-gutter-x: 12px; --bs-gutter-y: 12px; }
.lp-section-title { margin: 0 0 10px; font-size: 1rem; font-weight: 700; }
.lp-duplicate-hidden { display: none !important; }
.btn-icon {
    width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--lp-border);
    background: var(--lp-surface); color: var(--lp-text-soft);
    display: inline-flex; align-items: center; justify-content: center; position: relative;
    transition: var(--lp-transition);
}
.btn-icon:hover { color: var(--lp-primary); border-color: #bfdbfe; background: #eff6ff; transform: translateY(-1px); }
.badge-notification {
    position: absolute; top: -3px; right: -3px;
    padding: 2px 6px; border-radius: 999px; background: var(--lp-danger); color: #fff; font-size: .62rem;
}
.avatar-sm { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.text-gradient { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.gap-8 { gap: 8px !important; } .gap-10 { gap: 10px !important; } .gap-12 { gap: 12px !important; }
.mb-8 { margin-bottom: 8px !important; } .mb-10 { margin-bottom: 10px !important; } .mb-12 { margin-bottom: 12px !important; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #edf2f7; }
::-webkit-scrollbar-thumb { background: #c7d2e0; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #aebccd; }
