:root {
    --db-brand: #48066d; --db-brand-hover: #35034f; --db-yellow: #ffc400;
    --db-ink: #292135; --db-muted: #71697e; --db-line: #e9e5ef; --db-background: #f7f6fa;
}
.dp-body { margin: 0; color: var(--db-ink); background: var(--db-background); font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.dp-body *, .dp-body *::before, .dp-body *::after { box-sizing: border-box; }
.dp-body a { text-decoration: none; }
.dp-body button, .dp-body select { font: inherit; }
.dp-body a:focus-visible, .dp-body button:focus-visible { outline: 3px solid #925ab1; outline-offset: 3px; }
.dp-icon { display: inline-block; flex: 0 0 20px; vertical-align: middle; }
.dp-skip-link { position: fixed; left: 18px; top: -100px; z-index: 100; padding: 12px 18px; border-radius: 8px; color: #fff; background: var(--db-brand); }
.dp-skip-link:focus { top: 12px; }
.dp-preview-note { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 7px 18px; color: #655475; background: #eee7f5; font-size: 11px; text-align: center; }
.dp-preview-note strong { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; white-space: nowrap; }
.dp-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); grid-template-rows: 76px auto; align-items: start; min-height: 100vh; }
.dp-sidebar { grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 0; height: 100vh; overflow-y: auto; overscroll-behavior: contain; background: #fff; border-right: 1px solid var(--db-line); display: flex; flex-direction: column; padding: 30px 18px 16px; scrollbar-width: thin; }
.dp-sidebar[hidden] { display: none; }
.dp-brand { display: flex; align-items: flex-end; gap: 9px; padding: 0 12px; margin-bottom: 30px; }
.dp-brand img, .dp-mobile-logo img { display: block; object-fit: contain; }
.dp-brand > span { color: var(--db-brand); font-size: 9px; font-weight: 750; letter-spacing: 1.4px; padding-bottom: 3px; }
.dp-store-card { display: flex; align-items: center; gap: 10px; padding: 12px 10px; margin-bottom: 24px; border: 1px solid var(--db-line); border-radius: 10px; background: #fbfafd; }
.dp-store-symbol { width: 34px; height: 34px; flex-shrink: 0; background: #eee5f4; color: var(--db-brand); border-radius: 9px; display: flex; align-items: center; justify-content: center; }
.dp-store-card > div { min-width: 0; }
.dp-store-card strong { display: block; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.dp-store-card div > span { color: var(--db-muted); font-size: 10px; display: block; margin-bottom: 2px; }
.dp-nav-group { margin-bottom: 23px; }
.dp-nav-group h2 { margin: 0 12px 9px; color: #8a8294; font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: 1.2px; }
.dp-nav-group ul { list-style: none; padding: 0; margin: 0; }
.dp-nav-link { display: flex; align-items: center; gap: 11px; color: #62586f; min-height: 42px; padding: 10px 12px; border-radius: 8px; font-size: 12px; line-height: 1.35; margin-bottom: 3px; }
.dp-nav-link:hover { color: var(--db-brand); background: #f6f2f9; }
.dp-nav-link.is-active { color: var(--db-brand); background: #eee5f5; font-weight: 700; }
.dp-nav-link.is-active::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--db-brand); margin-left: auto; flex-shrink: 0; }
.dp-sidebar-footer { margin-top: auto; border-top: 1px solid var(--db-line); padding-top: 14px; }
.dp-sidebar-footer p { font-size: 10px; color: var(--db-muted); margin: 16px 12px 0; line-height: 1.7; }
.dp-topbar { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; height: 76px; padding: 0 36px; background: #fff; border-bottom: 1px solid var(--db-line); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.dp-topbar-start { display: flex; align-items: center; gap: 16px; min-width: 0; }
.dp-breadcrumb { margin: 0; font-size: 12px; color: #918897; }
.dp-breadcrumb span { margin: 0 13px; color: #c1b7c7; }
.dp-breadcrumb strong { color: #655b70; font-weight: 550; }
.dp-account { display: flex; gap: 10px; align-items: center; max-width: 45%; min-width: 0; }
.dp-account-icon { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; flex: 0 0 35px; background: #f5eef9; color: var(--db-brand); border-radius: 50%; }
.dp-account > div { min-width: 0; }
.dp-account strong { display: block; font-size: 12px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dp-account div > span { display: block; color: var(--db-muted); font-size: 10px; }
.dp-mobile-logo, .dp-menu-toggle { display: none; }
.dp-content { grid-row: 2; grid-column: 2; min-width: 0; }
@media (max-width: 1200px) { .dp-topbar { padding: 0 24px; } .dp-shell { grid-template-columns: 216px minmax(0, 1fr); } .dp-sidebar { padding-left: 12px; padding-right: 12px; } }
@media (max-width: 1000px) {
    .dp-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; }
    .dp-topbar { grid-column: 1; grid-row: 1; height: 68px; padding: 0 20px; }
    .dp-sidebar { grid-column: 1; grid-row: 2; position: static; height: auto; max-height: 75vh; border-right: 0; border-bottom: 1px solid var(--db-line); padding: 16px 20px; }
    .dp-content { grid-column: 1; grid-row: 3; }
    .dp-brand, .dp-breadcrumb { display: none; }
    .dp-mobile-logo { display: block; }
    .dp-menu-toggle { align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid var(--db-line); border-radius: 8px; background: #fff; color: var(--db-brand); cursor: pointer; }
    .dp-enhanced .dp-menu-toggle { display: inline-flex; }
    .dp-menu-toggle[aria-expanded="true"] { background: #eee5f5; border-color: #c8a9dc; }
    .dp-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
    .dp-nav-link { min-height: 44px; }
    .dp-sidebar-footer p { display: none; }
}
@media (max-width: 600px) {
    .dp-preview-note { justify-content: flex-start; text-align: left; gap: 8px; font-size: 10px; }
    .dp-topbar { padding: 0 16px; gap: 12px; }
    .dp-topbar-start { gap: 13px; }
    .dp-menu-toggle span, .dp-account > div { display: none; }
    .dp-navigation { grid-template-columns: 1fr; }
    .dp-sidebar { padding: 16px; }
}
