.brand-mark[data-v-28698a60]{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:inline-flex}.brand-mark--md[data-v-28698a60]{font-size:var(--font-size-sm)}.brand-mark__dot[data-v-28698a60]{border-radius:var(--radius-pill);width:8px;height:8px}.brand-mark__logo[data-v-28698a60]{object-fit:contain;width:auto;height:14px}.brand-mark--md .brand-mark__logo[data-v-28698a60]{height:20px}.dafc-mark[data-v-4aaa040c]{align-items:center;gap:10px;min-width:0;display:inline-flex}.dafc-mark__logo[data-v-4aaa040c]{flex:none}.dafc-mark__divider[data-v-4aaa040c]{background:var(--color-border-strong);width:1px;height:18px}.dafc-mark__product[data-v-4aaa040c]{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-brand);letter-spacing:.12em;white-space:nowrap}.progress-bar[data-v-6167766a]{background:var(--progress-track);border-radius:var(--radius-pill);height:6px;overflow:hidden}.progress-bar__fill[data-v-6167766a]{background:var(--progress-fill);border-radius:inherit;height:100%;transition:width var(--transition-base);display:block}.progress-bar__fill--done[data-v-6167766a]{background:var(--progress-fill-done)}.journey[data-v-970e32cc]{gap:var(--space-4);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;display:grid}.journey__groups[data-v-970e32cc]{gap:var(--space-5);flex-direction:column;display:flex}.journey__group-title[data-v-970e32cc]{margin:0 0 var(--space-2);font-size:var(--font-size-md);color:var(--color-text-brand)}.journey__courses[data-v-970e32cc],.journey__timeline[data-v-970e32cc]{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.journey__course[data-v-970e32cc]{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.journey__course-head[data-v-970e32cc]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.journey__course-title[data-v-970e32cc]{font-weight:var(--font-weight-semibold)}.journey__meta[data-v-970e32cc]{font-size:var(--font-size-xs)}.journey__timeline[data-v-970e32cc]{padding-left:var(--space-4);border-left:2px solid var(--color-border);position:relative}.journey__event[data-v-970e32cc]{font-size:var(--font-size-sm);flex-direction:column;gap:2px;display:flex;position:relative}.journey__dot[data-v-970e32cc]{top:4px;left:calc(-1 * var(--space-4) - 6px);background:var(--color-surface);border:2px solid var(--color-border-strong,var(--color-border));border-radius:50%;width:10px;height:10px;position:absolute}.journey__event--milestone .journey__dot[data-v-970e32cc]{background:var(--color-brand);border-color:var(--color-brand)}.journey__event--milestone .journey__text[data-v-970e32cc]{font-weight:var(--font-weight-semibold)}.journey__date[data-v-970e32cc]{font-size:var(--font-size-xs)}.journey__text[data-v-970e32cc]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:inline-flex}@media (width<1024px){.journey[data-v-970e32cc]{grid-template-columns:1fr}}.module-status[data-v-7f239fc7]{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.progress-summary[data-v-bb52de50]{gap:var(--space-2);flex-direction:column;display:flex}.progress-summary__counts[data-v-bb52de50]{gap:var(--space-1) var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.progress-summary__overdue[data-v-bb52de50]{font-weight:var(--font-weight-semibold);color:var(--color-danger)}.result-text[data-v-4a1af2f7]{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.result-text--pass[data-v-4a1af2f7]{color:var(--color-success)}.result-text--fail[data-v-4a1af2f7]{color:var(--color-danger)}.state-pill[data-v-a6652484]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.state-pill[data-v-a6652484]:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.state-pill--passed[data-v-a6652484]{color:var(--color-state-passed);background:var(--color-state-passed-soft)}.state-pill--progress[data-v-a6652484]{color:var(--color-state-progress);background:var(--color-state-progress-soft)}.state-pill--pending[data-v-a6652484]{color:var(--color-state-pending);background:var(--color-state-pending-soft)}.state-pill--failed[data-v-a6652484],.state-pill--overdue[data-v-a6652484]{color:var(--color-state-failed);background:var(--color-state-failed-soft)}.state-pill--none[data-v-a6652484]{color:var(--color-state-none);background:var(--color-state-none-soft)}@media print{.state-pill[data-v-a6652484]{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.report-course[data-v-974bae4c]{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--learn-card-shadow);overflow:hidden}.report-course__head[data-v-974bae4c]{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-row);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.report-course__ring[data-v-974bae4c]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.report-course__ring span[data-v-974bae4c]{width:42px;height:42px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-brand);background:var(--color-surface);border-radius:50%;place-items:center;display:grid}.report-course__tags[data-v-974bae4c]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.report-course__program[data-v-974bae4c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-brand);background:var(--color-icon-bg);border-radius:var(--radius-md);padding:2px 8px}.report-course__title[data-v-974bae4c]{margin:var(--space-1) 0;font-size:16px}.report-course__meta[data-v-974bae4c]{gap:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.report-course__stack[data-v-974bae4c]{max-width:520px;height:10px;margin-top:var(--space-2);background:var(--color-state-none-soft);border-radius:var(--radius-pill);-webkit-print-color-adjust:exact;print-color-adjust:exact;display:flex;overflow:hidden}.report-course__stack i[data-v-974bae4c]{height:100%;display:block}.report-course__legend[data-v-974bae4c]{gap:var(--space-1) var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;margin-top:6px;display:flex}.report-course__legend span[data-v-974bae4c]:before{content:"";background:var(--tone);border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.report-course__seg--passed[data-v-974bae4c],.report-course__key--passed[data-v-974bae4c],.report-course__row--passed[data-v-974bae4c]{--tone:var(--color-state-passed)}.report-course__seg--progress[data-v-974bae4c],.report-course__key--progress[data-v-974bae4c],.report-course__row--progress[data-v-974bae4c]{--tone:var(--color-state-progress)}.report-course__seg--pending[data-v-974bae4c],.report-course__key--pending[data-v-974bae4c],.report-course__row--pending[data-v-974bae4c]{--tone:var(--color-state-pending)}.report-course__seg--failed[data-v-974bae4c],.report-course__key--failed[data-v-974bae4c],.report-course__row--failed[data-v-974bae4c],.report-course__seg--overdue[data-v-974bae4c],.report-course__key--overdue[data-v-974bae4c],.report-course__row--overdue[data-v-974bae4c]{--tone:var(--color-state-failed)}.report-course__seg--none[data-v-974bae4c],.report-course__key--none[data-v-974bae4c],.report-course__row--none[data-v-974bae4c]{--tone:var(--color-state-none)}.report-course__stack i[data-v-974bae4c]{background:var(--tone)}.report-course__section[data-v-974bae4c]{padding:var(--space-2) var(--space-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border-row)}.report-course__row[data-v-974bae4c]{gap:var(--space-3);padding:10px var(--space-5) 10px calc(var(--space-5) - 4px);border-top:1px solid var(--color-border-row);border-left:4px solid var(--tone,transparent);-webkit-print-color-adjust:exact;print-color-adjust:exact;grid-template-columns:52px minmax(0,2.4fr) 110px 110px 140px 150px auto;align-items:center;display:grid}.report-course__row--head[data-v-974bae4c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;background:var(--color-table-header);border-top:0;padding-top:8px;padding-bottom:8px}.report-course__row--late[data-v-974bae4c]{background:#fff7f6}.report-course__no[data-v-974bae4c]{width:28px;height:28px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-brand);background:var(--color-icon-bg);border-radius:50%;place-items:center;display:grid}.report-course__module[data-v-974bae4c]{flex-direction:column;min-width:0;display:flex}.report-course__module b[data-v-974bae4c]{font-size:var(--font-size-md);overflow-wrap:anywhere}.report-course__module small[data-v-974bae4c]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.report-course__date[data-v-974bae4c]{white-space:nowrap}.report-course__date--late[data-v-974bae4c]{font-weight:var(--font-weight-semibold);color:var(--color-state-failed)}.report-course__label[data-v-974bae4c]{display:none}.report-course__score[data-v-974bae4c]{gap:var(--space-2);align-items:center;display:flex}.report-course__score-bar[data-v-974bae4c]{background:var(--color-state-none-soft);border-radius:var(--radius-pill);flex:1;height:6px;overflow:hidden}.report-course__score-bar i[data-v-974bae4c]{background:var(--tone);height:100%;display:block}.report-course__score b[data-v-974bae4c]{min-width:40px;font-size:var(--font-size-sm);text-align:right}.report-course__actions[data-v-974bae4c]{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width<768px){.report-course__head[data-v-974bae4c]{padding:var(--space-3) var(--space-4);grid-template-columns:auto minmax(0,1fr)}.report-course__open[data-v-974bae4c]{grid-column:1/-1}.report-course__row--head[data-v-974bae4c]{display:none}.report-course__table[data-v-974bae4c]{gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.report-course__row[data-v-974bae4c]{gap:var(--space-1) var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);box-shadow:var(--learn-card-shadow);border-top:0;grid-template-columns:auto minmax(0,1fr) auto}.report-course__row[data-v-974bae4c]>:first-child{grid-row:span 3;align-self:start}.report-course__row[data-v-974bae4c]>:nth-child(5){grid-area:1/3}.report-course__label[data-v-974bae4c]{color:var(--color-text-secondary);margin-right:4px;display:inline}.report-course__date[data-v-974bae4c]{font-size:var(--font-size-sm)}.report-course__section[data-v-974bae4c]{padding:var(--space-2) var(--space-4)}}@media print{.report-course[data-v-974bae4c]{break-inside:avoid-page;box-shadow:none;border:1px solid var(--color-border)}}.report-kpis[data-v-7f644516]{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.report-kpis__tile[data-v-7f644516]{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:4px solid var(--tone);border-radius:var(--radius-xl);box-shadow:var(--learn-card-shadow);-webkit-print-color-adjust:exact;print-color-adjust:exact;justify-content:space-between;align-items:flex-end;display:flex}.report-kpis__tile b[data-v-7f644516]{color:var(--tone);font-size:26px;line-height:1.1;display:block}.report-kpis__tile span[data-v-7f644516]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.report-kpis__icon[data-v-7f644516]{opacity:.85;font-size:20px}.report-kpis__tile--passed[data-v-7f644516]{--tone:var(--color-state-passed)}.report-kpis__tile--progress[data-v-7f644516]{--tone:var(--color-state-progress)}.report-kpis__tile--pending[data-v-7f644516]{--tone:var(--color-state-pending)}.report-kpis__tile--none[data-v-7f644516]{--tone:var(--color-state-none)}.report-kpis__tile--overdue[data-v-7f644516]{--tone:var(--color-state-failed)}@media (width<900px){.report-kpis[data-v-7f644516]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<480px){.report-kpis[data-v-7f644516]{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-profile[data-v-1761d730]{gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--learn-card-shadow);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.report-profile__avatar[data-v-1761d730]{width:64px;height:64px;font-size:22px;font-weight:var(--font-weight-bold);color:var(--color-text-on-brand);background:var(--gradient-primary);border-radius:18px;place-items:center;display:grid}.report-profile__name[data-v-1761d730]{gap:var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;align-items:center;font-size:19px;display:flex}.report-profile__facts[data-v-1761d730]{gap:var(--space-3) var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));margin:0;display:grid}.report-profile__fact[data-v-1761d730]{align-items:center;gap:10px;min-width:0;display:flex}.report-profile__icon[data-v-1761d730]{background:var(--color-icon-bg);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.report-profile__fact dt[data-v-1761d730]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.report-profile__fact dd[data-v-1761d730]{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.report-profile__overall[data-v-1761d730]{gap:var(--space-4);padding-left:var(--space-5);border-left:1px solid var(--color-border-row);align-items:center;display:flex}.report-profile__ring[data-v-1761d730]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;flex:none;place-items:center;width:84px;height:84px;display:grid}.report-profile__ring span[data-v-1761d730]{width:66px;height:66px;font-size:17px;font-weight:var(--font-weight-bold);color:var(--color-text-brand);background:var(--color-surface);border-radius:50%;place-items:center;display:grid}.report-profile__overall-text[data-v-1761d730]{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:column;gap:2px;display:flex}.report-profile__overall-text strong[data-v-1761d730]{color:var(--color-text);font-size:15px}@media (width<1024px){.report-profile[data-v-1761d730]{grid-template-columns:auto minmax(0,1fr)}.report-profile__overall[data-v-1761d730]{border-left:0;grid-column:1/-1;padding-left:0}}@media (width<640px){.report-profile[data-v-1761d730]{padding:var(--space-4);grid-template-columns:1fr}.report-profile__avatar[data-v-1761d730]{border-radius:14px;width:48px;height:48px;font-size:16px}}.user-menu[data-v-d48f9f7e]{padding:var(--space-3);position:relative}.user-menu__card[data-v-d48f9f7e]{width:100%;font:inherit;text-align:left;color:inherit;background:var(--color-icon-bg);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--transition-base);border:1px solid #0000;align-items:center;gap:10px;padding:10px;display:flex}.user-menu__card[data-v-d48f9f7e]:hover{border-color:#12a5a099}.user-menu--compact .user-menu__card[data-v-d48f9f7e]{background:0 0;border-color:#0000;justify-content:center;padding:0}.user-menu__identity[data-v-d48f9f7e]{flex-direction:column;flex:1;min-width:0;display:flex}.user-menu__name[data-v-d48f9f7e]{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);overflow:hidden}.user-menu__role[data-v-d48f9f7e]{font-size:var(--font-size-xs);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;color:var(--color-text-secondary);overflow:hidden}.user-menu__online[data-v-d48f9f7e]{font-size:9px;font-weight:var(--font-weight-medium);color:#16a34a;align-items:center;gap:4px;margin-top:2px;display:inline-flex}.user-menu__online[data-v-d48f9f7e]:before{content:"";background:var(--color-success-strong);border-radius:50%;width:6px;height:6px;box-shadow:0 0 4px #2a9e6a80}.user-menu__chevron[data-v-d48f9f7e]{color:#6b7280;transition:transform var(--transition-base)}.user-menu__chevron--open[data-v-d48f9f7e]{transform:rotate(90deg)}.user-menu__popup[data-v-d48f9f7e]{right:var(--space-2);bottom:100%;left:var(--space-2);margin-bottom:var(--space-2);z-index:var(--z-dropdown);border:1px solid var(--color-border-shell);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#fff 0%,#fdfcfa 35%,#faf8f5 100%);position:absolute;overflow:hidden}.user-menu--compact .user-menu__popup[data-v-d48f9f7e]{width:240px;margin:0 0 var(--space-2) var(--space-2);bottom:0;left:100%;right:auto}.user-menu__header[data-v-d48f9f7e]{padding:var(--space-3);border-bottom:1px solid var(--color-border-shell);background:linear-gradient(135deg,#f9fafb 0%,#f5f3f0 100%);align-items:center;gap:10px;display:flex}.user-menu__list[data-v-d48f9f7e]{padding:6px}.user-menu__item[data-v-d48f9f7e]{width:100%;font:inherit;text-align:left;color:#374151;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base);background:0 0;border:0;align-items:center;gap:10px;padding:4px 10px;text-decoration:none;display:flex}.user-menu__item[data-v-d48f9f7e]:hover{background:#f3f4f6;text-decoration:none}.user-menu__item-icon[data-v-d48f9f7e]{color:var(--color-text-brand);border-radius:var(--radius-md);background:#f3f4f6;padding:4px;display:inline-flex}.user-menu__item-text[data-v-d48f9f7e]{flex:1}.user-menu__item-label[data-v-d48f9f7e]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:block}.user-menu__item-description[data-v-d48f9f7e]{font-size:var(--font-size-2xs);color:#374151;display:block}.user-menu__item--danger[data-v-d48f9f7e]{color:#dc2626}.user-menu__item--danger[data-v-d48f9f7e]:hover{background:#fef2f2}.user-menu__item--danger .user-menu__item-icon[data-v-d48f9f7e]{color:#ef4444;background:#fee2e2}.user-menu__item--danger .user-menu__item-description[data-v-d48f9f7e]{color:#dc2626}.user-menu__separator[data-v-d48f9f7e]{height:1px;margin:6px var(--space-2);background:var(--gradient-divider)}.user-menu-pop-enter-active[data-v-d48f9f7e],.user-menu-pop-leave-active[data-v-d48f9f7e]{transition:opacity var(--transition-base), transform var(--transition-base)}.user-menu-pop-enter-from[data-v-d48f9f7e],.user-menu-pop-leave-to[data-v-d48f9f7e]{opacity:0;transform:translateY(6px)}.app-sidebar[data-v-5bd376b8]{z-index:var(--z-sidebar);width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);height:100dvh;transition:width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.app-sidebar--rail[data-v-5bd376b8]{width:var(--sidebar-width-collapsed)}.app-sidebar--drawer[data-v-5bd376b8]{width:min(var(--sidebar-width), 85vw);box-shadow:var(--shadow-md);transition:transform var(--transition-base);position:fixed;left:0;transform:translate(-100%)}.app-sidebar--drawer-open[data-v-5bd376b8]{transform:none}.app-sidebar__brand[data-v-5bd376b8]{justify-content:space-between;align-items:center;gap:var(--space-2);height:64px;padding:0 var(--space-2) 0 var(--space-5);background:var(--color-surface);flex-shrink:0;display:flex}.app-sidebar--rail .app-sidebar__brand[data-v-5bd376b8]{padding:0}.app-sidebar__logo[data-v-5bd376b8]{min-width:0;color:var(--color-text);align-items:center;gap:10px;display:flex}.app-sidebar__logo[data-v-5bd376b8]:hover{text-decoration:none}.app-sidebar__rail-logo[data-v-5bd376b8]{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.app-sidebar__rail-logo[data-v-5bd376b8]:hover{background:#12a5a00f}.app-sidebar__nav[data-v-5bd376b8]{padding:var(--space-2) 0;flex:1;overflow-y:auto}.app-sidebar__divider[data-v-5bd376b8]{height:1px;margin:6px var(--space-2);background:var(--gradient-divider)}.app-sidebar__section[data-v-5bd376b8]{padding:0 var(--space-3)}.app-sidebar__section+.app-sidebar__section[data-v-5bd376b8]{margin-top:var(--space-3)}.app-sidebar__section-label[data-v-5bd376b8]{margin:var(--space-2) 10px var(--space-1);font-size:10.5px;font-weight:var(--font-weight-bold);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase}.app-sidebar__items[data-v-5bd376b8]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.app-sidebar__link[data-v-5bd376b8]{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:background var(--transition-base), color var(--transition-fast);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex;position:relative}.app-sidebar__link[data-v-5bd376b8]:hover{color:var(--color-text-brand);background:var(--color-surface-hover);text-decoration:none}.app-sidebar__link--active[data-v-5bd376b8]{font-weight:var(--font-weight-semibold);color:var(--color-text-on-brand);background:var(--color-brand)}.app-sidebar__link--active[data-v-5bd376b8]:hover{color:var(--color-text-on-brand);background:var(--color-brand-hover)}.app-sidebar__link--active .app-sidebar__indicator[data-v-5bd376b8]{display:none}.app-sidebar__switch[data-v-5bd376b8]{align-items:center;gap:var(--space-2);margin:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-xl);flex-shrink:0;padding:10px 12px;text-decoration:none;display:flex}.app-sidebar__switch[data-v-5bd376b8]:hover{filter:brightness(.97);text-decoration:none}.app-sidebar__switch--learn[data-v-5bd376b8]{color:var(--color-manage);background:var(--color-manage-soft)}.app-sidebar__switch--manage[data-v-5bd376b8]{color:var(--color-text-brand);background:var(--color-icon-bg)}.app-sidebar__switch--rail[data-v-5bd376b8]{margin:var(--space-2);justify-content:center;padding:10px 0}.app-sidebar__indicator[data-v-5bd376b8]{background:var(--gradient-indicator);border-radius:0 999px 999px 0;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.app-sidebar__text[data-v-5bd376b8]{white-space:nowrap}.app-sidebar__external[data-v-5bd376b8]{color:var(--color-text-muted);margin-left:auto}.app-sidebar__rail-items[data-v-5bd376b8]{flex-direction:column;gap:2px;margin:0;padding:0 6px;list-style:none;display:flex}.app-sidebar__rail-item[data-v-5bd376b8]{position:relative}.app-sidebar__rail-link[data-v-5bd376b8]{color:#4b5563;border-radius:var(--radius-md);height:36px;transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.app-sidebar__rail-link[data-v-5bd376b8]:hover{color:var(--color-text-brand);background:#12a5a014}.app-sidebar__rail-link--active[data-v-5bd376b8]{color:var(--color-text-on-brand);background:var(--color-brand)}.app-sidebar__tooltip[data-v-5bd376b8]{z-index:var(--z-dropdown);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;color:#1f2937;background:var(--color-surface);border:1px solid var(--color-border-shell);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);opacity:0;transition:opacity var(--transition-fast);pointer-events:none;padding:4px 10px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.app-sidebar__rail-item:hover .app-sidebar__tooltip[data-v-5bd376b8],.app-sidebar__rail-item:focus-within .app-sidebar__tooltip[data-v-5bd376b8]{opacity:1}.app-topbar__actions[data-v-6dcdcf6c]{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.app-topbar__bell[data-v-6dcdcf6c]{padding:var(--space-1);color:var(--color-text-secondary);border-radius:var(--radius-md);display:inline-flex;position:relative}.app-topbar__bell[data-v-6dcdcf6c]:hover{color:var(--color-text-brand);background:var(--color-hover-brand)}.app-topbar__badge[data-v-6dcdcf6c]{min-width:16px;color:var(--color-text-on-brand);text-align:center;background:var(--color-danger);border-radius:var(--radius-pill);padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-2px;right:-4px}.app-topbar__locale[data-v-6dcdcf6c]{padding:2px var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-weight:600}.app-topbar[data-v-6dcdcf6c]{z-index:calc(var(--z-sidebar) - 1);align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-6);background:var(--gradient-topbar);border-bottom:1px solid var(--color-border-shell);flex-shrink:0;display:flex;position:sticky;top:0}.app-topbar__crumbs[data-v-6dcdcf6c]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.app-topbar__home[data-v-6dcdcf6c]{width:28px;height:28px;color:var(--color-text-brand);border-radius:var(--radius-lg);background:linear-gradient(135deg,#12a5a01f 0%,#12a5a038 100%);border:1px solid #12a5a040;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-topbar__home--logo[data-v-6dcdcf6c]{width:auto;padding:0 var(--space-1);background:0 0;border:0}.app-topbar__separator[data-v-6dcdcf6c]{color:#d1d5db;flex-shrink:0}.app-topbar__section[data-v-6dcdcf6c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-text-muted)}.app-topbar__current[data-v-6dcdcf6c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;color:#111827;overflow:hidden}.app-topbar__env[data-v-6dcdcf6c]{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-brand);background:var(--color-icon-bg);border-radius:var(--radius-sm);padding:2px 6px}@media (width<1024px){.app-topbar[data-v-6dcdcf6c]{padding:0 var(--space-4)}}@media (width<768px){.app-topbar[data-v-6dcdcf6c]{height:var(--topbar-height-mobile)}.app-topbar__section[data-v-6dcdcf6c],.app-topbar__separator--section[data-v-6dcdcf6c]{display:none}}.bottom-nav[data-v-9d00aa7a]{z-index:var(--z-bottom-nav);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--gradient-shell);border-top:1px solid var(--color-border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item[data-v-9d00aa7a]{min-width:0;padding:0 var(--space-1);font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex;position:relative}.bottom-nav__item[data-v-9d00aa7a]:hover{text-decoration:none}.bottom-nav__item--active[data-v-9d00aa7a]{color:var(--color-text-brand)}.bottom-nav__item--active[data-v-9d00aa7a]:before{content:"";background:var(--gradient-indicator);border-radius:0 0 999px 999px;width:28px;height:2px;position:absolute;top:0}.bottom-nav__label[data-v-9d00aa7a]{max-width:100%;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-layout[data-v-4b526774]{min-height:100dvh;display:flex}.app-layout__main[data-v-4b526774]{flex-direction:column;flex:1;min-width:0;display:flex}.app-layout__content[data-v-4b526774]{width:100%;padding:var(--space-6)}.app-layout__backdrop[data-v-4b526774]{z-index:calc(var(--z-sidebar) - 1);background:var(--color-overlay);position:fixed;inset:0}.app-layout-fade-enter-active[data-v-4b526774],.app-layout-fade-leave-active[data-v-4b526774]{transition:opacity var(--transition-base)}.app-layout-fade-enter-from[data-v-4b526774],.app-layout-fade-leave-to[data-v-4b526774]{opacity:0}@media (width<1024px){.app-layout__content[data-v-4b526774]{padding:var(--space-5)}}@media (width<768px){.app-layout__content[data-v-4b526774]{padding:var(--space-3);padding-bottom:calc(var(--bottom-nav-height) + var(--space-4) + env(safe-area-inset-bottom))}}.auth-layout__home[data-v-82b9bfa9]:hover{text-decoration:none}.auth-layout[data-v-82b9bfa9]{min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--gradient-auth-bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-layout__glow[data-v-82b9bfa9]{opacity:.4;filter:blur(80px);pointer-events:none;border-radius:50%;position:fixed}.auth-layout__glow--top[data-v-82b9bfa9]{background:linear-gradient(135deg,#d4c4b0 0%,#0000 70%);width:400px;height:400px;top:-100px;right:-100px}.auth-layout__glow--bottom[data-v-82b9bfa9]{background:linear-gradient(135deg,#c9b8a4 0%,#0000 70%);width:300px;height:300px;bottom:-50px;left:-50px}.auth-layout__column[data-v-82b9bfa9]{z-index:1;width:100%;max-width:420px;position:relative}.auth-layout__logo[data-v-82b9bfa9]{margin-bottom:var(--space-5);justify-content:center;display:flex}.auth-layout__card[data-v-82b9bfa9]{padding:var(--space-8);background:var(--color-auth-card);border-radius:var(--radius-3xl);box-shadow:var(--shadow-auth-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #0c7c7838;flex-direction:column;display:flex;position:relative}.auth-layout__corner[data-v-82b9bfa9]{pointer-events:none;border-style:solid;border-color:#0c7c784d;width:24px;height:24px;position:absolute}.auth-layout__corner--top[data-v-82b9bfa9]{top:var(--space-4);left:var(--space-4);border-width:1px 0 0 1px}.auth-layout__corner--bottom[data-v-82b9bfa9]{right:var(--space-4);bottom:var(--space-4);border-width:0 1px 1px 0}.auth-layout__footer[data-v-82b9bfa9]{margin-top:var(--space-6);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);letter-spacing:.05em;text-align:center;color:var(--color-auth-hint)}@media (width<768px){.auth-layout[data-v-82b9bfa9]{padding-top:var(--space-8);align-items:flex-start}.auth-layout__card[data-v-82b9bfa9]{padding:var(--space-6) var(--space-5)}.auth-layout__logo[data-v-82b9bfa9] img{height:64px!important}}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-ext-wght-normal-Bg62sWL9.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-wght-normal-BWCqVJN0.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-vietnamese-wght-normal-CDLFB6hb.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-ext-wght-normal-ltf1AbuM.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-wght-normal-CUoBjw-S.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--palette-teal:#12a5a0;--palette-teal-light:#9fdcd9;--palette-teal-dark:#0c7c78;--palette-teal-deep:#0b5b58;--palette-teal-soft:#dcf3f2;--palette-peach:#ff8a65;--palette-peach-dark:#f06c45;--palette-peach-soft:#ffe8df;--palette-lavender:#ece9ff;--palette-lavender-ink:#5b4fd6;--palette-green:#127749;--palette-green-light:#2a9e6a;--palette-ink:#123036;--palette-ink-soft:#24434a;--palette-gray-600:#58737a;--palette-gray-500:#8aa1a6;--palette-gray-400:#b5c4c7;--palette-gray-300:#d4e0e2;--palette-line:#b9d6d6;--palette-canvas:#f4fafb;--palette-white:#fff;--color-bg:var(--palette-canvas);--color-surface:var(--palette-white);--color-surface-raised:var(--palette-white);--color-surface-muted:#0c7c780a;--color-surface-subtle:#0c7c7808;--color-surface-hover:#12a5a00d;--color-surface-active:#12a5a01f;--color-table-header:#0c7c7814;--color-icon-bg:var(--palette-teal-soft);--color-overlay:#00000080;--color-text:var(--palette-ink);--color-text-secondary:var(--palette-gray-600);--color-text-data:var(--palette-ink-soft);--color-text-muted:var(--palette-gray-500);--color-text-disabled:var(--palette-gray-400);--color-text-brand:var(--palette-teal-dark);--color-text-section:var(--palette-teal-dark);--color-text-on-brand:var(--palette-white);--color-border:#12a5a04d;--color-border-strong:var(--palette-gray-300);--color-border-row:#12a5a026;--color-border-shell:var(--palette-gray-300);--color-focus:var(--palette-teal);--color-brand:var(--palette-teal-dark);--color-brand-hover:var(--palette-teal-deep);--color-brand-green:var(--palette-green);--color-gold:var(--palette-teal);--color-gold-dark:var(--palette-teal-dark);--color-accent:var(--palette-peach);--color-accent-hover:var(--palette-peach-dark);--color-accent-soft:var(--palette-peach-soft);--color-manage:var(--palette-lavender-ink);--color-manage-soft:var(--palette-lavender);--color-hover-brand:#0c7c781f;--color-success:#047857;--color-success-strong:var(--palette-green-light);--color-success-soft:#d1fae5;--color-success-border:#a7f3d0;--color-warning:#b45309;--color-warning-strong:#d29922;--color-warning-soft:#fef3c7;--color-warning-border:#fde68a;--color-danger:#b91c1c;--color-danger-strong:#dc2626;--color-danger-soft:#fee2e2;--color-danger-border:#fecaca;--color-info:#1d4ed8;--color-info-soft:#dbeafe;--color-info-border:#bfdbfe;--color-neutral:#6b7280;--color-neutral-soft:#f3f4f6;--color-neutral-border:#e5e7eb;--color-state-passed:#16a34a;--color-state-passed-soft:#dcfce7;--color-state-progress:#2563eb;--color-state-progress-soft:#dbeafe;--color-state-pending:#7c3aed;--color-state-pending-soft:#ede9fe;--color-state-failed:#dc2626;--color-state-failed-soft:#fee2e2;--color-state-none:#64748b;--color-state-none-soft:#f1f5f9;--color-auth-text:#123036;--color-auth-muted:#58737a;--color-auth-link:#0c7c78;--color-auth-hint:#6f878c;--color-auth-border:#0c7c7847;--color-auth-border-hover:#0c7c7873;--color-auth-card:#ffffffd1;--color-auth-field:#ffffffb3;--gradient-primary:linear-gradient(135deg, var(--palette-teal) 0%, #0f9a95 100%);--gradient-sign-in:linear-gradient(135deg, var(--palette-teal) 0%, var(--palette-teal-dark) 100%);--gradient-card:linear-gradient(180deg, #fff 0%, #fff 100%);--gradient-card-header:linear-gradient(180deg, #fff 0%, #fbfefe 100%);--gradient-active:linear-gradient(135deg, #12a5a014 0%, #12a5a029 100%);--gradient-icon:linear-gradient(135deg, #0c7c781f 0%, #0c7c7838 100%);--gradient-indicator:linear-gradient(180deg, var(--palette-teal) 0%, var(--palette-teal-dark) 100%);--gradient-shell:linear-gradient(180deg, #fff 0%, #fefefe 50%, #fbfefe 100%);--gradient-topbar:linear-gradient(135deg, #fff 0%, #12a5a00a 100%);--gradient-divider:linear-gradient(90deg, transparent 0%, #12a5a040 50%, transparent 100%);--gradient-auth-bg:linear-gradient(160deg, #f7fcfc 0%, #eef8f7 40%, #e3f4f2 100%);--font-sans:"Montserrat Variable", "Montserrat", system-ui, sans-serif;--font-display:"Cormorant Garamond Variable", "Cormorant Garamond", Georgia, serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", Consolas, monospace;--font-size-2xs:10px;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-lg:14px;--font-size-xl:18px;--font-size-2xl:24px;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height:1.5;--letter-spacing-caps:.05em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 10px 25px #0000001a;--shadow-lg:0 25px 60px -12px #0003, 0 0 0 1px #12a5a014;--shadow-auth-card:0 4px 40px #0c7c781f, 0 1px 3px #0c7c7814;--shadow-sign-in:0 4px 15px #0c7c7833;--focus-ring:0 0 0 3px #12a5a02e;--control-height-sm:30px;--control-height-md:36px;--control-radius:10px;--control-height-lg:46px;--sidebar-width:264px;--sidebar-width-collapsed:56px;--topbar-height:44px;--topbar-height-mobile:56px;--bottom-nav-height:60px;--content-max-width:1440px;--transition-fast:.15s ease;--transition-base:.2s ease-out;--learn-card-radius:var(--radius-2xl);--learn-card-shadow:0 8px 22px #12303612;--learn-card-padding:var(--space-4);--progress-track:var(--palette-teal-soft);--progress-fill:var(--palette-teal);--progress-fill-done:var(--palette-green);--color-brand-accent:var(--palette-teal-dark);--z-bottom-nav:80;--z-sidebar:90;--z-dropdown:100;--z-modal:200;--z-toast:300}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--font-size-lg);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--color-text-brand);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:#ccc7c0 transparent}::selection{background:#12a5a059}:focus-visible{box-shadow:var(--focus-ring);outline:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack--lg{gap:var(--space-6)}.cluster{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.text-muted{color:var(--color-text-muted)}@media print{.app-sidebar,.app-topbar,.bottom-nav,.no-print{display:none!important}body{background:#fff}}
