.ap-shell{display:flex;min-height:100vh;width:100%}.ap-shell__main{flex:1;min-width:0;display:flex;flex-direction:column}.ap-shell__content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 32px 48px;min-width:0}.ap-sidebar{width:var(--ap-sidebar-width);flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;background:var(--ap-sidebar-fill, #1F66FF);color:var(--ap-sidebar-ink, #fff);display:flex;flex-direction:column;z-index:50;transition:width .2s cubic-bezier(.16,1,.3,1);scrollbar-width:thin}.ap-sidebar::-webkit-scrollbar-thumb{background:#ffffff4d}.ap-sidebar--rail{width:var(--ap-sidebar-collapsed-width)}.ap-sidebar__brand{height:var(--ap-header-height);display:flex;align-items:center;gap:10px;padding:0 14px 0 18px;border-bottom:1px solid rgba(255,255,255,.14);flex-shrink:0}.ap-sidebar--rail .ap-sidebar__brand{justify-content:center;padding:0}.ap-sidebar__logo{width:36px;height:36px;border-radius:10px;background:#fff;color:var(--ap-logo-mark, #1F66FF);display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none}.ap-sidebar__title{min-width:0;flex:1}.ap-sidebar__name{font-weight:700;font-size:16px;line-height:1.2;letter-spacing:-.01em}.ap-sidebar__inst{font-size:11px;color:var(--ap-sidebar-ink-muted, rgba(255, 255, 255, .75));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-sidebar__toggle{background:transparent;border:none;color:#ffffffd9;cursor:pointer;display:flex;padding:6px;border-radius:8px}.ap-sidebar__toggle:hover{background:#ffffff1f}.ap-sidebar__nav{padding:14px 10px 20px;display:flex;flex-direction:column;gap:18px;flex:1}.ap-sidebar__group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ap-sidebar-ink-muted, rgba(255, 255, 255, .7));padding:0 12px 6px}.ap-sidebar__items{display:flex;flex-direction:column;gap:2px}.ap-nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#ffffffeb;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;min-width:0}.ap-nav-link:hover{background:#ffffff1f}.ap-nav-link.is-active{background:#fff;color:var(--ap-primary);font-weight:600}.ap-nav-link .material-symbols-rounded{font-size:20px;flex-shrink:0}.ap-nav-link__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-nav-link--child{padding:7px 12px 7px 44px;font-size:13px}.ap-nav-link--child.is-active{background:#fff3;color:#fff}.ap-nav-link--child .material-symbols-rounded{display:none}.ap-sidebar--rail .ap-sidebar__nav{gap:4px;padding:10px 6px}.ap-rail-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:12px;color:#ffffffe6;text-decoration:none;font-size:10.5px;font-weight:500;text-align:center;line-height:1.2}.ap-rail-link:hover{background:#ffffff1f}.ap-rail-link.is-active{background:#fff;color:var(--ap-primary)}.ap-rail-link .material-symbols-rounded{font-size:22px}.ap-rail-link--btn{border:none;background:transparent;cursor:pointer;font-family:inherit;width:100%}.ap-rail-link__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:60;animation:fadeIn .15s ease-out}.ap-sidebar--overlay{position:fixed;left:0;top:0;bottom:0;height:100dvh;z-index:70;width:min(300px,86vw);box-shadow:var(--ap-shadow-lg);animation:ap-slide-in .2s cubic-bezier(.16,1,.3,1)}@keyframes ap-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.ap-topbar{height:var(--ap-header-height);position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:0 24px 0 32px;background:var(--ap-surface-card);border-bottom:1px solid var(--ap-surface-border)}.ap-topbar__title{flex:1;min-width:0;font-size:18px;font-weight:700;color:var(--ap-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-topbar__actions{display:flex;align-items:center;gap:4px}.ap-avatar{width:34px;height:34px;border-radius:999px;background:var(--ap-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.ap-profile-btn{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:999px;border:1px solid var(--ap-surface-border);background:var(--ap-surface-card);cursor:pointer;font:inherit;color:var(--ap-text-main);margin-left:4px}.ap-profile-btn:hover{background:var(--ap-surface-hover)}.ap-profile-btn__name{font-size:13px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-offline{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:var(--ap-warning-light);color:var(--ap-text-main);font-size:13px;font-weight:500;border-bottom:1px solid var(--ap-warning)}.ap-offline .material-symbols-rounded{color:var(--ap-warning);font-size:18px}.ap-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:var(--ap-surface-card);border-top:1px solid var(--ap-surface-border);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 10px #0f172a0d}.ap-bottom-nav__item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:60px;padding:4px 2px;border:none;background:transparent;color:var(--ap-text-muted);font:inherit;font-size:11px;font-weight:500;text-decoration:none;cursor:pointer}.ap-bottom-nav__item .material-symbols-rounded{font-size:24px;padding:2px 14px;border-radius:999px;transition:background-color .15s}.ap-bottom-nav__item.is-active{color:var(--ap-primary);font-weight:600}.ap-bottom-nav__item.is-active .material-symbols-rounded{background:var(--ap-primary-light)}.ap-bottom-nav__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1199.98px){.ap-shell__content{padding:20px 24px 40px}.ap-topbar{padding:0 16px 0 20px}}@media(max-width:767.98px){.ap-shell__content{padding:16px 16px calc(84px + env(safe-area-inset-bottom,0px))}.ap-topbar{padding:0 8px 0 12px;gap:6px;height:56px}.ap-topbar__title{font-size:16px}.ap-profile-btn{padding:2px;border:none}.ap-profile-btn__name,.ap-profile-btn .ap-profile-btn__caret{display:none}}@media print{.ap-sidebar,.ap-topbar,.ap-bottom-nav,.ap-offline{display:none!important}.ap-shell__content{padding:0;max-width:none}}/**
 * @license MIT
 * Morphic Design System — Global Styles & Surface Primitives
 *
 * Spec: Morphic-Design-System-adjusted.md
 *   §19 Visual DNA        — soft layered morphism, cards merge into the page
 *   §21 Elevation         — extremely subtle; surface contrast does the work
 *   §22 Borders           — 1px, low opacity; strong borders break the look
 *   §32 Anti-Patterns     — no glass blur, no heavy shadows, no white boxes
 *
 * Token layer order matters: foundations (geometry) → colors (light/dark base)
 * → themes (presets) → elevation (shape+shadow) → motion → contract (aliases).
 * The contract layer is imported last so its aliases resolve against whatever
 * the active theme set.
 *//**
 * @license MIT
 * Morphic Design System — Foundation Tokens
 *
 * Spec: Morphic-Design-System-adjusted.md
 *   §3.1 Foundations   — the required foundation token groups
 *   §6   Typography    — compact, information-dense hierarchy
 *   §7   Shape System  — rounded scale (lives in elevation.css)
 *   §8   Layout        — 1152×720 reference viewport, sidebar sizing
 *   §23  Spacing       — 8px base grid
 *   §24  Density       — intentionally dense, no excessive vertical padding
 *   §25  Responsive    — desktop ≥1200 / tablet 768–1199 / mobile <768
 *
 * Contains no colour. Colour lives in colors.css / themes.css so that a theme
 * swap can never disturb geometry (§30).
 */:root{--md-sys-spacing-1: 4px;--md-sys-spacing-2: 8px;--md-sys-spacing-3: 12px;--md-sys-spacing-4: 16px;--md-sys-spacing-5: 20px;--md-sys-spacing-6: 24px;--md-sys-spacing-8: 32px;--md-sys-spacing-10: 40px;--md-sys-spacing-12: 48px;--md-sys-gap-card: 14px;--md-sys-gap-section: 22px;--md-sys-padding-page: 24px;--md-sys-padding-card: 18px;--md-sys-padding-card-compact: 14px;--md-sys-padding-card-hero: 24px;--md-sys-typescale-font-family: "Roboto Flex", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--md-sys-typescale-font-family-numeric: "Roboto Flex", "Inter", ui-monospace, "SF Mono", "Segoe UI", sans-serif;--md-sys-typescale-page-title-size: 26px;--md-sys-typescale-page-title-weight: 680;--md-sys-typescale-page-title-line-height: 1.18;--md-sys-typescale-page-title-tracking: -.02em;--md-sys-typescale-section-title-size: 17px;--md-sys-typescale-section-title-weight: 620;--md-sys-typescale-section-title-line-height: 1.3;--md-sys-typescale-section-title-tracking: -.01em;--md-sys-typescale-metric-size: 24px;--md-sys-typescale-metric-weight: 680;--md-sys-typescale-metric-line-height: 1.15;--md-sys-typescale-metric-tracking: -.02em;--md-sys-typescale-metric-size-lg: 32px;--md-sys-typescale-metric-size-sm: 20px;--md-sys-typescale-body-size: 14px;--md-sys-typescale-body-weight: 450;--md-sys-typescale-body-line-height: 1.5;--md-sys-typescale-body-size-sm: 13px;--md-sys-typescale-meta-size: 12px;--md-sys-typescale-meta-weight: 450;--md-sys-typescale-meta-line-height: 1.4;--md-sys-typescale-meta-size-sm: 11px;--md-sys-typescale-nav-size: 13px;--md-sys-typescale-nav-weight: 500;--md-sys-typescale-nav-line-height: 1.3;--md-sys-typescale-label-size: 13px;--md-sys-typescale-label-weight: 550;--md-sys-typescale-label-line-height: 1.25;--md-sys-typescale-label-tracking: .005em;--md-sys-typescale-label-size-sm: 12px;--md-sys-icon-size-nav: 20px;--md-sys-icon-size-compact: 18px;--md-sys-icon-size-card: 22px;--md-sys-icon-size-sm: 16px;--md-sys-icon-size-lg: 24px;--md-sys-layout-reference-width: 1152px;--md-sys-layout-reference-height: 720px;--md-sys-layout-content-max-width: 1440px;--md-sys-layout-sidebar-collapsed: 68px;--md-sys-layout-sidebar-expanded: 196px;--md-sys-layout-header-height: 60px;--md-sys-layout-header-height-compact: 52px;--md-sys-density-control-height-sm: 30px;--md-sys-density-control-height: 36px;--md-sys-density-control-height-lg: 44px;--md-sys-density-row-height-compact: 40px;--md-sys-density-row-height: 48px;--md-sys-density-row-height-comfortable: 56px;--md-sys-a11y-touch-target: 44px;--md-sys-a11y-focus-ring-width: 2px;--md-sys-a11y-focus-ring-offset: 2px;--md-sys-breakpoint-mobile: 0px;--md-sys-breakpoint-tablet: 768px;--md-sys-breakpoint-desktop: 1200px;--md-sys-breakpoint-wide: 1600px;--md-sys-z-base: 0;--md-sys-z-raised: 10;--md-sys-z-sticky: 100;--md-sys-z-header: 200;--md-sys-z-drawer: 300;--md-sys-z-scrim: 400;--md-sys-z-dialog: 500;--md-sys-z-dropdown: 600;--md-sys-z-popover: 700;--md-sys-z-tooltip: 800;--md-sys-z-snackbar: 900;--md-sys-z-max: 1000;--md-sys-opacity-disabled: .38;--md-sys-opacity-muted: .62;--md-sys-opacity-subtle: .08;--md-sys-opacity-scrim: .42;--md-sys-border-width: 1px;--md-sys-border-width-strong: 1.5px}@media(max-width:1199px){:root{--md-sys-padding-page: 20px;--md-sys-gap-section: 20px}}@media(max-width:767px){:root{--md-sys-padding-page: 16px;--md-sys-padding-card: 16px;--md-sys-gap-card: 12px;--md-sys-gap-section: 20px;--md-sys-typescale-page-title-size: 22px;--md-sys-typescale-metric-size: 22px}}/**
 * @license MIT
 * Morphic Design System — Color Tokens
 *
 * Spec: Morphic-Design-System-adjusted.md
 *   §6  Theme Architecture      — components consume semantic tokens only
 *   §7  Theme Token Groups      — required token surface area
 *   §20 Color System            — reference palette
 *   §5  Dark Theme              — dark mode
 *   §29 Data Visualization      — one dominant colour + small semantic palette
 *   §30 Dark Mode Rules         — swap semantic colour only, never geometry
 *
 * REFERENCE PALETTE (29 Sep 2026) — "Soft Frame". Adopted from the Building
 * Management Overview reference: a light grey frame, borderless white cards
 * with large radii, grey inset panels, pill controls, one blue accent, ink
 * (near-black) as the second accent for dark buttons / active tabs / feature
 * cards, and lime as the data-highlight colour. Red / green / amber carry
 * status only. The previous Lime reference palette is preserved in
 * `src.backup-2026-09-29/tokens/colors.css` and as the `lime` accent preset
 * in themes.css.
 *
 *   frame #F1F1F3 · card #FFFFFF · inset #F4F4F6 · hairline #E8E8EC
 *   ink #18181B / #52525B / #8B8B93
 *   blue #1F66FF · ink accent #252527 · lime #C9F23D
 *   green #1FAA3B · red #EF3326 · amber #D97A06
 *
 * Open Source Standard: W3C Design Tokens Community Group
 */:root{color-scheme:light;--md-sys-color-primary: #1F66FF;--md-sys-color-primary-strong: #1652D9;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #DCE7FF;--md-sys-color-on-primary-container: #0B2E80;--md-sys-color-primary-soft: #EEF3FF;--md-sys-color-secondary: #252527;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #ECECEF;--md-sys-color-on-secondary-container: #18181B;--md-sys-color-tertiary: #C9F23D;--md-sys-color-on-tertiary: #1A2600;--md-sys-color-tertiary-container: #F1FBD2;--md-sys-color-on-tertiary-container: #3A4A00;--md-sys-color-success: #1FAA3B;--md-sys-color-on-success: #FFFFFF;--md-sys-color-success-container: #E3F6E6;--md-sys-color-on-success-container: #14622A;--md-sys-color-warning: #D97A06;--md-sys-color-on-warning: #FFFFFF;--md-sys-color-warning-container: #FDF0DC;--md-sys-color-on-warning-container: #8A4B00;--md-sys-color-error: #EF3326;--md-sys-color-on-error: #FFFFFF;--md-sys-color-error-container: #FDE6E4;--md-sys-color-on-error-container: #9B1C13;--md-sys-color-info: #1F66FF;--md-sys-color-on-info: #FFFFFF;--md-sys-color-info-container: #DCE7FF;--md-sys-color-on-info-container: #0B2E80;--md-sys-color-background: #F1F1F3;--md-sys-color-on-background: #18181B;--md-sys-color-surface: #FFFFFF;--md-sys-color-on-surface: #18181B;--md-sys-color-on-surface-variant: #52525B;--md-sys-color-surface-variant: #F4F4F6;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F8F8FA;--md-sys-color-surface-container: #F4F4F6;--md-sys-color-surface-container-high: #ECECEF;--md-sys-color-surface-container-highest: #E2E2E6;--md-sys-color-outline: #8B8B93;--md-sys-color-outline-variant: #D4D4D8;--md-sys-color-border: #E8E8EC;--md-sys-color-chart-primary: #1F66FF;--md-sys-color-chart-secondary: #C9F23D;--md-sys-color-chart-tertiary: #252527;--md-sys-color-chart-quaternary: #D97A06;--md-sys-color-chart-neutral: #BDBDC4;--md-sys-color-chart-grid: rgba(24, 24, 27, .06);--md-sys-color-chart-axis: #8B8B93;--md-sys-color-chart-area-from: rgba(31, 102, 255, .22);--md-sys-color-chart-area-to: rgba(31, 102, 255, 0);--hero-banner-bg: #252527;--hero-banner-text: #FFFFFF;--hero-banner-subtext: #C9C9CF;--hero-banner-pill-bg: #C9F23D;--hero-banner-pill-text: #1A2600;--hero-banner-pill-icon: #1A2600;--hero-banner-tag-bg: rgba(255, 255, 255, .12);--hero-banner-tag-text: #FFFFFF;--hero-banner-blob-1: rgba(255, 255, 255, .05);--hero-banner-blob-2: rgba(31, 102, 255, .18);--hero-banner-arc: rgba(201, 242, 61, .28);--md-sys-color-inverse-surface: #252527;--md-sys-color-inverse-on-surface: #FFFFFF;--md-sys-color-inverse-primary: #7FA8FF;--md-sys-color-scrim: rgba(24, 24, 27, .42);--md-sys-color-on-media: #FFFFFF;--md-sys-color-media-scrim: rgba(0, 0, 0, .45);--md-sys-state-hover-opacity: .08;--md-sys-state-focus-opacity: .12;--md-sys-state-pressed-opacity: .12;--md-sys-state-dragged-opacity: .16;--md-sys-state-disabled-content-opacity: .38;--md-sys-state-disabled-container-opacity: .12}[data-theme=dark],.dark{color-scheme:dark;--md-sys-color-primary: #4D86FF;--md-sys-color-primary-strong: #7FA8FF;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #1E3566;--md-sys-color-on-primary-container: #DCE7FF;--md-sys-color-primary-soft: #16233F;--md-sys-color-secondary: #EEF0F3;--md-sys-color-on-secondary: #121418;--md-sys-color-secondary-container: #262B34;--md-sys-color-on-secondary-container: #EEF0F3;--md-sys-color-tertiary: #C9F23D;--md-sys-color-on-tertiary: #1A2600;--md-sys-color-tertiary-container: #33400F;--md-sys-color-on-tertiary-container: #E6F9A8;--md-sys-color-success: #3CCF5C;--md-sys-color-on-success: #06260E;--md-sys-color-success-container: #173A20;--md-sys-color-on-success-container: #BDF0C8;--md-sys-color-warning: #FFAD3B;--md-sys-color-on-warning: #2E1A00;--md-sys-color-warning-container: #4A3210;--md-sys-color-on-warning-container: #FFE2BA;--md-sys-color-error: #FF5A4F;--md-sys-color-on-error: #2E0602;--md-sys-color-error-container: #4F1B17;--md-sys-color-on-error-container: #FFD7D3;--md-sys-color-info: #4D86FF;--md-sys-color-on-info: #FFFFFF;--md-sys-color-info-container: #1E3566;--md-sys-color-on-info-container: #DCE7FF;--md-sys-color-background: #0F1115;--md-sys-color-on-background: #EEF0F3;--md-sys-color-surface: #171A20;--md-sys-color-on-surface: #EEF0F3;--md-sys-color-on-surface-variant: #B3B8C2;--md-sys-color-surface-variant: #1E222A;--md-sys-color-surface-container-lowest: #0B0D10;--md-sys-color-surface-container-low: #1A1D24;--md-sys-color-surface-container: #1E222A;--md-sys-color-surface-container-high: #262B34;--md-sys-color-surface-container-highest: #313743;--md-sys-color-outline: #858B96;--md-sys-color-outline-variant: #3A404B;--md-sys-color-border: #2A2F38;--md-sys-color-chart-primary: #4D86FF;--md-sys-color-chart-secondary: #C9F23D;--md-sys-color-chart-tertiary: #EEF0F3;--md-sys-color-chart-quaternary: #FFAD3B;--md-sys-color-chart-neutral: #4A505C;--md-sys-color-chart-grid: rgba(238, 240, 243, .08);--md-sys-color-chart-axis: #858B96;--md-sys-color-chart-area-from: rgba(77, 134, 255, .24);--md-sys-color-chart-area-to: rgba(77, 134, 255, 0);--hero-banner-bg: #EEF0F3;--hero-banner-text: #121418;--hero-banner-subtext: #4A505C;--hero-banner-pill-bg: #C9F23D;--hero-banner-pill-text: #1A2600;--hero-banner-pill-icon: #1A2600;--hero-banner-tag-bg: rgba(18, 20, 24, .08);--hero-banner-tag-text: #121418;--hero-banner-blob-1: rgba(18, 20, 24, .05);--hero-banner-blob-2: rgba(77, 134, 255, .16);--hero-banner-arc: rgba(58, 90, 0, .28);--md-sys-color-inverse-surface: #EEF0F3;--md-sys-color-inverse-on-surface: #121418;--md-sys-color-inverse-primary: #1F66FF;--md-sys-color-scrim: rgba(0, 0, 0, .62);--md-sys-state-hover-opacity: .1;--md-sys-state-focus-opacity: .14;--md-sys-state-pressed-opacity: .14}/**
 * @license MIT
 * Morphic Design System — Theme Presets
 *
 * Spec: Morphic-Design-System-adjusted.md
 *   §2  Themes            — Light | Dark | Lime | Blue | Violet | Orange | Rose | Custom
 *   §6  Theme Architecture — Component → Semantic Token → Theme → Actual Colour
 *   §7  Theme Token Groups — the token surface every theme must define
 *   §30 Dark Mode Rules    — presets change semantic colour only, never geometry
 *
 * A preset swaps the ACCENT ONLY. Surfaces, background, borders and text stay
 * on the green tonal palette in every preset, because §20 requires that
 * "green should dominate the experience" and §15 keeps the pale green surface
 * as Morphic's visual identity. What a preset owns:
 *
 *   primary / primary-container / primary-soft / on-primary  (§7)
 *   chart-primary / chart-secondary / chart area fill        (§29)
 *   the hero card surface                                    (§11)
 *   inverse-primary
 *
 * What a preset must NEVER override — these come from colors.css and are the
 * same in every preset:
 *
 *   background · surface · surface-container-* · on-surface · on-surface-variant
 *   outline · outline-variant · border · scrim · chart-grid · chart-axis
 *
 * Lime is the reference preset and matches the :root defaults in colors.css.
 * To add a Custom theme, copy one block and override the same token names;
 * never introduce new token names at the component level.
 */[data-accent=lime]{--md-sys-color-primary: #6FAF39;--md-sys-color-primary-strong: #588B2D;--md-sys-color-on-primary: #F0F4EC;--md-sys-color-primary-container: #B8EA86;--md-sys-color-on-primary-container: #1B3D05;--md-sys-color-primary-soft: #C7ECA2;--md-sys-color-chart-primary: #6FAF39;--md-sys-color-chart-secondary: #9CEC5D;--md-sys-color-chart-area-from: rgba(111, 175, 57, .24);--md-sys-color-chart-area-to: rgba(111, 175, 57, 0);--hero-banner-bg: linear-gradient(135deg, #C7ECA2 0%, #B8EA86 45%, #9CDC5E 100%);--hero-banner-text: #143503;--hero-banner-subtext: #26540B;--hero-banner-pill-bg: #254E09;--hero-banner-pill-text: #F0F7E5;--hero-banner-pill-icon: #B8EA86;--hero-banner-tag-bg: rgba(37, 78, 9, .12);--hero-banner-tag-text: #1B3D05;--hero-banner-blob-1: rgba(37, 78, 9, .07);--hero-banner-blob-2: rgba(255, 255, 255, .38);--hero-banner-arc: rgba(37, 78, 9, .16);--md-sys-color-inverse-primary: #9CEC5D}[data-accent=blue]{--md-sys-color-primary: #2F73B8;--md-sys-color-primary-strong: #2F73B8;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #B6D6F2;--md-sys-color-on-primary-container: #062945;--md-sys-color-primary-soft: #CDE4F7;--md-sys-color-chart-primary: #2F73B8;--md-sys-color-chart-secondary: #6BA8DD;--md-sys-color-chart-area-from: rgba(47, 115, 184, .22);--md-sys-color-chart-area-to: rgba(47, 115, 184, 0);--hero-banner-bg: linear-gradient(135deg, #CDE4F7 0%, #B6D6F2 45%, #8FBFE8 100%);--hero-banner-text: #06243F;--hero-banner-subtext: #0D3255;--hero-banner-pill-bg: #0D3255;--hero-banner-pill-text: #E9F2FA;--hero-banner-pill-icon: #B6D6F2;--hero-banner-tag-bg: rgba(13, 50, 85, .12);--hero-banner-tag-text: #062945;--hero-banner-blob-1: rgba(13, 50, 85, .07);--hero-banner-blob-2: rgba(255, 255, 255, .38);--hero-banner-arc: rgba(13, 50, 85, .16);--md-sys-color-inverse-primary: #7FC0F5}[data-accent=violet]{--md-sys-color-primary: #7048BE;--md-sys-color-primary-strong: #7048BE;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #D9C9F4;--md-sys-color-on-primary-container: #240D4C;--md-sys-color-primary-soft: #E4D8F8;--md-sys-color-chart-primary: #7048BE;--md-sys-color-chart-secondary: #A98AE0;--md-sys-color-chart-area-from: rgba(112, 72, 190, .22);--md-sys-color-chart-area-to: rgba(112, 72, 190, 0);--hero-banner-bg: linear-gradient(135deg, #E4D8F8 0%, #D9C9F4 45%, #B99EE9 100%);--hero-banner-text: #1E0A44;--hero-banner-subtext: #2C1259;--hero-banner-pill-bg: #2C1259;--hero-banner-pill-text: #F0EAFA;--hero-banner-pill-icon: #D9C9F4;--hero-banner-tag-bg: rgba(44, 18, 89, .12);--hero-banner-tag-text: #240D4C;--hero-banner-blob-1: rgba(44, 18, 89, .07);--hero-banner-blob-2: rgba(255, 255, 255, .38);--hero-banner-arc: rgba(44, 18, 89, .16);--md-sys-color-inverse-primary: #C0A3F5}[data-accent=orange]{--md-sys-color-primary: #A66220;--md-sys-color-primary-strong: #A66220;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #F7D5AE;--md-sys-color-on-primary-container: #422402;--md-sys-color-primary-soft: #FAE3C8;--md-sys-color-chart-primary: #B36A22;--md-sys-color-chart-secondary: #E7A257;--md-sys-color-chart-area-from: rgba(179, 106, 34, .22);--md-sys-color-chart-area-to: rgba(179, 106, 34, 0);--hero-banner-bg: linear-gradient(135deg, #FAE3C8 0%, #F7D5AE 45%, #F0BB80 100%);--hero-banner-text: #3A1F02;--hero-banner-subtext: #4E2C06;--hero-banner-pill-bg: #4E2C06;--hero-banner-pill-text: #FBF1E4;--hero-banner-pill-icon: #F7D5AE;--hero-banner-tag-bg: rgba(78, 44, 6, .12);--hero-banner-tag-text: #422402;--hero-banner-blob-1: rgba(78, 44, 6, .07);--hero-banner-blob-2: rgba(255, 255, 255, .38);--hero-banner-arc: rgba(78, 44, 6, .16);--md-sys-color-inverse-primary: #F0B472}[data-accent=rose]{--md-sys-color-primary: #B23A52;--md-sys-color-primary-strong: #B23A52;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #F5C3CE;--md-sys-color-on-primary-container: #470D1A;--md-sys-color-primary-soft: #F8D7DE;--md-sys-color-chart-primary: #B23A52;--md-sys-color-chart-secondary: #E27689;--md-sys-color-chart-area-from: rgba(178, 58, 82, .22);--md-sys-color-chart-area-to: rgba(178, 58, 82, 0);--hero-banner-bg: linear-gradient(135deg, #F8D7DE 0%, #F5C3CE 45%, #EC9AAB 100%);--hero-banner-text: #3F0A16;--hero-banner-subtext: #55101F;--hero-banner-pill-bg: #55101F;--hero-banner-pill-text: #FBEBEE;--hero-banner-pill-icon: #F5C3CE;--hero-banner-tag-bg: rgba(85, 16, 31, .12);--hero-banner-tag-text: #470D1A;--hero-banner-blob-1: rgba(85, 16, 31, .07);--hero-banner-blob-2: rgba(255, 255, 255, .38);--hero-banner-arc: rgba(85, 16, 31, .16);--md-sys-color-inverse-primary: #F0899E}[data-theme=dark][data-accent=lime],.dark[data-accent=lime]{--md-sys-color-primary: #9CEC5D;--md-sys-color-primary-strong: #9CEC5D;--md-sys-color-on-primary: #0F2A03;--md-sys-color-primary-container: #74AF42;--md-sys-color-on-primary-container: #0F2A03;--md-sys-color-primary-soft: #4C7526;--md-sys-color-chart-primary: #9CEC5D;--md-sys-color-chart-secondary: #6FAF39;--md-sys-color-chart-area-from: rgba(156, 236, 93, .22);--md-sys-color-chart-area-to: rgba(156, 236, 93, 0);--hero-banner-bg: linear-gradient(135deg, #3B4631 0%, #45691F 55%, #507B29 100%);--hero-banner-text: #EEF9E2;--hero-banner-subtext: #C7ECA2;--hero-banner-pill-bg: #9CEC5D;--hero-banner-pill-text: #0F2A03;--hero-banner-pill-icon: #0F2A03;--hero-banner-tag-bg: rgba(230, 240, 221, .14);--hero-banner-tag-text: #E6F0DD;--hero-banner-blob-1: rgba(156, 236, 93, .1);--hero-banner-blob-2: rgba(230, 240, 221, .06);--hero-banner-arc: rgba(199, 236, 162, .22);--md-sys-color-inverse-primary: #4E8C24}[data-theme=dark][data-accent=blue],.dark[data-accent=blue]{--md-sys-color-primary: #7FC0F5;--md-sys-color-primary-strong: #7FC0F5;--md-sys-color-on-primary: #05233D;--md-sys-color-primary-container: #2F5D89;--md-sys-color-on-primary-container: #DDEAF6;--md-sys-color-primary-soft: #234866;--md-sys-color-chart-primary: #7FC0F5;--md-sys-color-chart-secondary: #4E93CE;--md-sys-color-chart-area-from: rgba(127, 192, 245, .22);--md-sys-color-chart-area-to: rgba(127, 192, 245, 0);--hero-banner-bg: linear-gradient(135deg, #2A3A4C 0%, #234866 55%, #2F5D89 100%);--hero-banner-text: #EAF3FC;--hero-banner-subtext: #B6D6F2;--hero-banner-pill-bg: #7FC0F5;--hero-banner-pill-text: #05233D;--hero-banner-pill-icon: #05233D;--hero-banner-tag-bg: rgba(221, 234, 246, .14);--hero-banner-tag-text: #DDEAF6;--hero-banner-blob-1: rgba(127, 192, 245, .1);--hero-banner-blob-2: rgba(221, 234, 246, .06);--hero-banner-arc: rgba(182, 214, 242, .22);--md-sys-color-inverse-primary: #2F73B8}[data-theme=dark][data-accent=violet],.dark[data-accent=violet]{--md-sys-color-primary: #C0A3F5;--md-sys-color-primary-strong: #C0A3F5;--md-sys-color-on-primary: #1F0A44;--md-sys-color-primary-container: #5A4189;--md-sys-color-on-primary-container: #E8E0F6;--md-sys-color-primary-soft: #453166;--md-sys-color-chart-primary: #C0A3F5;--md-sys-color-chart-secondary: #8F6FCE;--md-sys-color-chart-area-from: rgba(192, 163, 245, .22);--md-sys-color-chart-area-to: rgba(192, 163, 245, 0);--hero-banner-bg: linear-gradient(135deg, #362B4A 0%, #453166 55%, #5A4189 100%);--hero-banner-text: #F2ECFC;--hero-banner-subtext: #D9C9F4;--hero-banner-pill-bg: #C0A3F5;--hero-banner-pill-text: #1F0A44;--hero-banner-pill-icon: #1F0A44;--hero-banner-tag-bg: rgba(232, 224, 246, .14);--hero-banner-tag-text: #E8E0F6;--hero-banner-blob-1: rgba(192, 163, 245, .1);--hero-banner-blob-2: rgba(232, 224, 246, .06);--hero-banner-arc: rgba(217, 201, 244, .22);--md-sys-color-inverse-primary: #7048BE}[data-theme=dark][data-accent=orange],.dark[data-accent=orange]{--md-sys-color-primary: #F0B472;--md-sys-color-primary-strong: #F0B472;--md-sys-color-on-primary: #3B1F02;--md-sys-color-primary-container: #8A5C24;--md-sys-color-on-primary-container: #F5EADE;--md-sys-color-primary-soft: #66431A;--md-sys-color-chart-primary: #F0B472;--md-sys-color-chart-secondary: #C4863C;--md-sys-color-chart-area-from: rgba(240, 180, 114, .22);--md-sys-color-chart-area-to: rgba(240, 180, 114, 0);--hero-banner-bg: linear-gradient(135deg, #443628 0%, #66431A 55%, #8A5C24 100%);--hero-banner-text: #FCF3E9;--hero-banner-subtext: #F7D5AE;--hero-banner-pill-bg: #F0B472;--hero-banner-pill-text: #3B1F02;--hero-banner-pill-icon: #3B1F02;--hero-banner-tag-bg: rgba(245, 234, 222, .14);--hero-banner-tag-text: #F5EADE;--hero-banner-blob-1: rgba(240, 180, 114, .1);--hero-banner-blob-2: rgba(245, 234, 222, .06);--hero-banner-arc: rgba(247, 213, 174, .22);--md-sys-color-inverse-primary: #B36A22}[data-theme=dark][data-accent=rose],.dark[data-accent=rose]{--md-sys-color-primary: #F0899E;--md-sys-color-primary-strong: #F0899E;--md-sys-color-on-primary: #400A18;--md-sys-color-primary-container: #8A3548;--md-sys-color-on-primary-container: #F6E1E6;--md-sys-color-primary-soft: #662734;--md-sys-color-chart-primary: #F0899E;--md-sys-color-chart-secondary: #C4566E;--md-sys-color-chart-area-from: rgba(240, 137, 158, .22);--md-sys-color-chart-area-to: rgba(240, 137, 158, 0);--hero-banner-bg: linear-gradient(135deg, #442A33 0%, #662734 55%, #8A3548 100%);--hero-banner-text: #FCECEF;--hero-banner-subtext: #F5C3CE;--hero-banner-pill-bg: #F0899E;--hero-banner-pill-text: #400A18;--hero-banner-pill-icon: #400A18;--hero-banner-tag-bg: rgba(246, 225, 230, .14);--hero-banner-tag-text: #F6E1E6;--hero-banner-blob-1: rgba(240, 137, 158, .1);--hero-banner-blob-2: rgba(246, 225, 230, .06);--hero-banner-arc: rgba(245, 195, 206, .22);--md-sys-color-inverse-primary: #B23A52}/**
 * @license MIT
 * Morphic Design System — Shape & Elevation Tokens
 *
 * Spec: Morphic-Design-System-adjusted.md
 *   §7  Shape System — the rounded scale, one of the strongest visual traits
 *   §21 Elevation    — extremely subtle, two soft layers
 *   §32 Anti-Patterns — no heavy shadows, no random border radii
 *
 * §21: "Most dashboard cards should rely on surface contrast + border."
 * Elevation is reserved for floating menus, dropdowns, dialogs, hover states,
 * and selected floating elements — not for every card in the grid.
 */:root{--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0 1px 2px rgba(24, 24, 27, .04), 0 1px 3px rgba(24, 24, 27, .03);--md-sys-elevation-level2: 0 1px 2px rgba(24, 24, 27, .05), 0 6px 18px rgba(24, 24, 27, .06);--md-sys-elevation-level3: 0 2px 4px rgba(24, 24, 27, .06), 0 10px 28px rgba(24, 24, 27, .08);--md-sys-elevation-level4: 0 2px 6px rgba(24, 24, 27, .07), 0 16px 40px rgba(24, 24, 27, .1);--md-sys-elevation-level5: 0 4px 10px rgba(24, 24, 27, .08), 0 24px 56px rgba(24, 24, 27, .12);--radius-none: 0px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-hero: 28px;--radius-pill: 999px;--md-sys-shape-corner-none: var(--radius-none);--md-sys-shape-corner-extra-small: var(--radius-xs);--md-sys-shape-corner-small: var(--radius-sm);--md-sys-shape-corner-medium: var(--radius-md);--md-sys-shape-corner-large: var(--radius-lg);--md-sys-shape-corner-extra-large: var(--radius-xl);--md-sys-shape-corner-hero: var(--radius-hero);--md-sys-shape-corner-full: var(--radius-pill)}[data-theme=dark],.dark{--md-sys-elevation-level1: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .24);--md-sys-elevation-level2: 0 1px 2px rgba(0, 0, 0, .36), 0 6px 18px rgba(0, 0, 0, .3);--md-sys-elevation-level3: 0 2px 4px rgba(0, 0, 0, .4), 0 10px 28px rgba(0, 0, 0, .36);--md-sys-elevation-level4: 0 2px 6px rgba(0, 0, 0, .46), 0 16px 40px rgba(0, 0, 0, .42);--md-sys-elevation-level5: 0 4px 10px rgba(0, 0, 0, .52), 0 24px 56px rgba(0, 0, 0, .5)}:root{--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, .2, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-duration-short-1: 50ms;--md-sys-motion-duration-short-2: .1s;--md-sys-motion-duration-short-3: .15s;--md-sys-motion-duration-short-4: .2s;--md-sys-motion-duration-medium-1: .25s;--md-sys-motion-duration-medium-2: .3s;--md-sys-motion-duration-medium-3: .35s;--md-sys-motion-duration-medium-4: .4s;--md-sys-motion-duration-long-1: .45s;--md-sys-motion-duration-long-2: .5s;--md-sys-motion-duration-long-3: .55s;--md-sys-motion-duration-long-4: .6s;--md-sys-motion-duration-extra-long-1: .7s;--md-sys-motion-duration-extra-long-2: .8s;--md-sys-motion-duration-extra-long-3: .9s;--md-sys-motion-duration-extra-long-4: 1s;--md-sys-motion-transition-fade: opacity var(--md-sys-motion-duration-short-3) var(--md-sys-motion-easing-linear);--md-sys-motion-transition-state-layer: background-color var(--md-sys-motion-duration-short-2) var(--md-sys-motion-easing-linear), opacity var(--md-sys-motion-duration-short-2) var(--md-sys-motion-easing-linear)}.m3-motion-state-layer{transition:var(--md-sys-motion-transition-state-layer)}.m3-dialog-enter{opacity:1;transform:scale(1);transition:transform var(--md-sys-motion-duration-medium-3) var(--md-sys-motion-easing-emphasized-decelerate),opacity var(--md-sys-motion-duration-medium-3) var(--md-sys-motion-easing-emphasized-decelerate)}.m3-dialog-exit{opacity:0;transform:scale(.9);transition:transform var(--md-sys-motion-duration-short-4) var(--md-sys-motion-easing-emphasized-accelerate),opacity var(--md-sys-motion-duration-short-4) var(--md-sys-motion-easing-emphasized-accelerate)}.m3-sheet-enter{transform:translateY(0);transition:transform var(--md-sys-motion-duration-long-1) var(--md-sys-motion-easing-emphasized-decelerate)}.m3-sheet-exit{transform:translateY(100%);transition:transform var(--md-sys-motion-duration-medium-2) var(--md-sys-motion-easing-emphasized-accelerate)}.m3-scrim-enter{opacity:.32;transition:opacity var(--md-sys-motion-duration-medium-2) var(--md-sys-motion-easing-linear)}.m3-scrim-exit{opacity:0;transition:opacity var(--md-sys-motion-duration-short-4) var(--md-sys-motion-easing-linear)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.m3-dialog-enter,.m3-dialog-exit,.m3-sheet-enter,.m3-sheet-exit,.m3-scrim-enter,.m3-scrim-exit{transform:none!important;transition:opacity var(--md-sys-motion-duration-short-3) linear!important}}/**
 * @license MIT
 * Morphic Design System — Public Design Token Contract
 *
 * Spec: Morphic-Design-System-adjusted.md §8 "Design Token Contract"
 *
 *   Component  →  Semantic Token  →  Theme  →  Actual Colour        (§6)
 *
 * This is the SHORT, framework-independent, AI-readable alias layer the spec
 * writes its examples against:
 *
 *     var(--color-primary)   var(--space-4)   var(--radius-md)
 *     var(--elevation-1)     var(--motion-standard)
 *
 * Everything here is an alias onto the `--md-sys-*` tokens. Aliases carry no
 * literal values of their own, so a theme override in themes.css automatically
 * flows through both naming schemes. Components may use either name; new code
 * should prefer these short names.
 *
 * NEVER put a raw value in a component. §6:
 *     Bad        background: #6FAF39;
 *     Preferred  background: var(--color-primary);
 */:root{--color-primary: var(--md-sys-color-primary);--color-primary-strong: var(--md-sys-color-primary-strong);--color-on-primary: var(--md-sys-color-on-primary);--color-primary-container: var(--md-sys-color-primary-container);--color-on-primary-container: var(--md-sys-color-on-primary-container);--color-primary-soft: var(--md-sys-color-primary-soft);--color-secondary: var(--md-sys-color-secondary);--color-on-secondary: var(--md-sys-color-on-secondary);--color-secondary-container: var(--md-sys-color-secondary-container);--color-on-secondary-container: var(--md-sys-color-on-secondary-container);--color-tertiary: var(--md-sys-color-tertiary);--color-on-tertiary: var(--md-sys-color-on-tertiary);--color-tertiary-container: var(--md-sys-color-tertiary-container);--color-on-tertiary-container: var(--md-sys-color-on-tertiary-container);--color-background: var(--md-sys-color-background);--color-on-background: var(--md-sys-color-on-background);--color-surface: var(--md-sys-color-surface);--color-on-surface: var(--md-sys-color-on-surface);--color-on-surface-variant: var(--md-sys-color-on-surface-variant);--color-on-surface-muted: var(--md-sys-color-on-surface-variant);--color-surface-variant: var(--md-sys-color-surface-variant);--color-surface-container-lowest: var(--md-sys-color-surface-container-lowest);--color-surface-container-low: var(--md-sys-color-surface-container-low);--color-surface-container: var(--md-sys-color-surface-container);--color-surface-container-high: var(--md-sys-color-surface-container-high);--color-surface-container-highest: var(--md-sys-color-surface-container-highest);--color-outline: var(--md-sys-color-outline);--color-outline-variant: var(--md-sys-color-outline-variant);--color-border: var(--md-sys-color-border);--color-success: var(--md-sys-color-success);--color-on-success: var(--md-sys-color-on-success);--color-success-container: var(--md-sys-color-success-container);--color-on-success-container: var(--md-sys-color-on-success-container);--color-warning: var(--md-sys-color-warning);--color-on-warning: var(--md-sys-color-on-warning);--color-warning-container: var(--md-sys-color-warning-container);--color-on-warning-container: var(--md-sys-color-on-warning-container);--color-error: var(--md-sys-color-error);--color-on-error: var(--md-sys-color-on-error);--color-error-container: var(--md-sys-color-error-container);--color-on-error-container: var(--md-sys-color-on-error-container);--color-info: var(--md-sys-color-info);--color-on-info: var(--md-sys-color-on-info);--color-info-container: var(--md-sys-color-info-container);--color-on-info-container: var(--md-sys-color-on-info-container);--color-chart-primary: var(--md-sys-color-chart-primary);--color-chart-secondary: var(--md-sys-color-chart-secondary);--color-chart-tertiary: var(--md-sys-color-chart-tertiary);--color-chart-quaternary: var(--md-sys-color-chart-quaternary);--color-chart-neutral: var(--md-sys-color-chart-neutral);--color-chart-grid: var(--md-sys-color-chart-grid);--color-chart-axis: var(--md-sys-color-chart-axis);--color-chart-area-from: var(--md-sys-color-chart-area-from);--color-chart-area-to: var(--md-sys-color-chart-area-to);--color-inverse-surface: var(--md-sys-color-inverse-surface);--color-inverse-on-surface: var(--md-sys-color-inverse-on-surface);--color-inverse-primary: var(--md-sys-color-inverse-primary);--color-scrim: var(--md-sys-color-scrim);--color-on-media: var(--md-sys-color-on-media);--color-media-scrim: var(--md-sys-color-media-scrim);--space-1: var(--md-sys-spacing-1);--space-2: var(--md-sys-spacing-2);--space-3: var(--md-sys-spacing-3);--space-4: var(--md-sys-spacing-4);--space-5: var(--md-sys-spacing-5);--space-6: var(--md-sys-spacing-6);--space-8: var(--md-sys-spacing-8);--space-10: var(--md-sys-spacing-10);--space-12: var(--md-sys-spacing-12);--gap-card: var(--md-sys-gap-card);--gap-section: var(--md-sys-gap-section);--padding-page: var(--md-sys-padding-page);--padding-card: var(--md-sys-padding-card);--elevation-0: var(--md-sys-elevation-level0);--elevation-1: var(--md-sys-elevation-level1);--elevation-2: var(--md-sys-elevation-level2);--elevation-3: var(--md-sys-elevation-level3);--elevation-4: var(--md-sys-elevation-level4);--elevation-5: var(--md-sys-elevation-level5);--motion-easing-standard: var(--md-sys-motion-easing-standard);--motion-easing-emphasized: var(--md-sys-motion-easing-emphasized);--motion-easing-decelerate: var(--md-sys-motion-easing-emphasized-decelerate);--motion-easing-accelerate: var(--md-sys-motion-easing-emphasized-accelerate);--motion-duration-hover: .14s;--motion-duration-button: .16s;--motion-duration-card: .2s;--motion-duration-modal: .25s;--motion-duration-page: .3s;--motion-duration-chart: .55s;--motion-fast: var(--motion-duration-hover) var(--motion-easing-standard);--motion-standard: var(--motion-duration-card) var(--motion-easing-standard);--motion-emphasized: var(--motion-duration-modal) var(--motion-easing-emphasized);--font-family: var(--md-sys-typescale-font-family);--font-size-page-title: var(--md-sys-typescale-page-title-size);--font-size-section-title: var(--md-sys-typescale-section-title-size);--font-size-metric: var(--md-sys-typescale-metric-size);--font-size-body: var(--md-sys-typescale-body-size);--font-size-meta: var(--md-sys-typescale-meta-size);--font-size-nav: var(--md-sys-typescale-nav-size);--font-size-label: var(--md-sys-typescale-label-size);--radius-card: var(--radius-xl);--radius-card-nested: var(--radius-lg);--radius-chart: var(--radius-xl);--radius-table: var(--radius-lg);--radius-input: var(--radius-md);--radius-button: var(--radius-pill);--radius-badge: var(--radius-pill);--radius-overlay: var(--radius-lg)}*,*:before,*:after{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--md-sys-typescale-body-line-height);background-color:var(--color-background);color:var(--color-on-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" on,"lnum" on;transition:background-color var(--motion-standard),color var(--motion-standard)}:focus-visible{outline:var(--md-sys-a11y-focus-ring-width) solid var(--color-primary-strong);outline-offset:var(--md-sys-a11y-focus-ring-offset);border-radius:inherit}.morphic-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-outline)}.morphic-card{background-color:var(--color-surface);border:var(--md-sys-border-width) solid transparent;border-radius:var(--radius-card);padding:var(--padding-card);box-shadow:var(--elevation-1);transition:transform var(--motion-standard),background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard)}.morphic-card:hover{box-shadow:var(--elevation-2);transform:translateY(-1px)}.morphic-card--nested{background-color:var(--color-surface-container);border-radius:var(--radius-card-nested);padding:var(--md-sys-padding-card-compact);box-shadow:none}.morphic-card--flat:hover{transform:none;box-shadow:var(--elevation-0)}.morphic-surface{background-color:var(--color-surface);color:var(--color-on-surface);border-radius:var(--radius-card)}.morphic-surface--sunken{background-color:var(--color-surface-container-lowest)}.morphic-surface--raised{background-color:var(--color-surface-container)}.morphic-hero-surface{background:var(--hero-banner-bg);color:var(--hero-banner-text);border-radius:var(--radius-hero);padding:var(--md-sys-padding-card-hero);position:relative;overflow:hidden;box-shadow:var(--elevation-1)}.morphic-hero-decor{position:absolute;pointer-events:none;border-radius:var(--radius-pill)}.morphic-header{min-height:var(--md-sys-layout-header-height);background-color:var(--color-background);border-bottom:var(--md-sys-border-width) solid var(--color-border);z-index:var(--md-sys-z-header);transition:background-color var(--motion-standard),border-color var(--motion-standard)}.morphic-header--sticky{position:sticky;top:0}.morphic-sidebar{width:var(--md-sys-layout-sidebar-expanded);background-color:var(--color-background);border-right:var(--md-sys-border-width) solid var(--color-border);transition:width var(--motion-standard),background-color var(--motion-standard)}.morphic-sidebar--collapsed{width:var(--md-sys-layout-sidebar-collapsed)}.morphic-nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--md-sys-density-control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-nav);font-weight:var(--md-sys-typescale-nav-weight);color:var(--color-on-surface-variant);background-color:transparent;transition:background-color var(--motion-fast),color var(--motion-fast)}.morphic-nav-item:hover{background-color:var(--color-surface-container);color:var(--color-on-surface)}.morphic-nav-item[aria-current],.morphic-nav-item--selected{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}.morphic-disabled,[aria-disabled=true]{opacity:var(--md-sys-opacity-disabled);pointer-events:none}.morphic-glass-header{background-color:var(--color-background);border-bottom:var(--md-sys-border-width) solid var(--color-border)}@media(prefers-reduced-motion:reduce){.morphic-card:hover,.morphic-morphic-card:hover{transform:none}}.factory-vision-hero-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 36px;min-height:140px;position:relative;overflow:hidden;border-radius:var(--radius-hero, 28px)}.hero-card-left{flex:1 1 auto;max-width:640px;position:relative;z-index:3}.hero-card-title{margin:0 0 8px;font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:-.025em;line-height:1.2}.hero-card-subtitle{margin:0;font-size:14px;font-weight:500;line-height:1.5;max-width:580px}.hero-card-right{position:relative;z-index:3;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px}.hero-card-actions{display:flex;gap:10px;align-items:center}@media(max-width:768px){.factory-vision-hero-card{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:20px!important;padding:24px 20px!important}.hero-card-left{max-width:100%!important;width:100%!important}.hero-card-title{font-size:22px!important}.hero-card-right{width:100%!important;align-items:flex-start!important;margin-left:0!important;gap:12px!important}.hero-card-actions{flex-wrap:wrap!important;width:100%!important}}.morphic-grid{display:grid;width:100%}@media(max-width:1024px){.morphic-grid[data-cols="4"],.morphic-grid[data-cols="5"],.morphic-grid[data-cols="6"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:640px){.morphic-grid,.morphic-split-layout{grid-template-columns:1fr!important}.morphic-glass-header{padding:0 16px!important}.morphic-container{padding-left:16px!important;padding-right:16px!important}}.morphic-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.morphic-table-container table{min-width:600px}.mobile-nav-toggle{display:none!important}.showcase-sidebar-desktop{display:flex!important}.showcase-main-content{flex:1;padding:clamp(20px,3vw,44px);max-width:1200px;width:100%;box-sizing:border-box;overflow-x:hidden}@media(max-width:1024px){.mobile-nav-toggle{display:flex!important}.showcase-sidebar-desktop{display:none!important}.morphic-glass-header{height:auto!important;min-height:64px!important;padding:12px 16px!important;flex-wrap:wrap!important;gap:12px!important}.showcase-main-content{padding:20px 16px!important}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/roboto-flex-latin-ext-gysdOMcS.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto Flex;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/roboto-flex-latin-n-dP9qr2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-rounded-DIglNrql.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}:root{--ap-logo-mark: #1F66FF;--ap-logo-mark-2: #1F66FF;--ap-logo-word: #252527;--ap-logo-tagline: #52525B;--ap-sidebar-fill: #1F66FF;--ap-sidebar-fill-raised: #3B79FF;--ap-sidebar-ink: #FFFFFF;--ap-sidebar-ink-muted: #D9E4FF}:root[data-theme=dark],:root.dark{--ap-logo-mark: #8FB3FF;--ap-logo-mark-2: #8FB3FF;--ap-logo-word: #EEF0F3;--ap-logo-tagline: #B3B8C2;--ap-sidebar-fill: #1F66FF;--ap-sidebar-fill-raised: #3B79FF;--ap-sidebar-ink: #FFFFFF;--ap-sidebar-ink-muted: #D9E4FF}.bv-gauge svg circle{stroke-linecap:butt!important}.bv-gauge--empty svg circle:nth-of-type(2){display:none}.morphic-advanced-table th:first-child:has(>.m3-checkbox),.morphic-advanced-table td:first-child:has(>.m3-checkbox){padding-left:20px!important;padding-right:12px!important}.m3-filled-textfield>div{background-color:var(--color-surface-container)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important}.m3-filled-textfield:focus-within>div{border-color:var(--color-primary)!important}.m3-filled-textfield>div:has(input[aria-invalid=true]){border-color:var(--color-error)!important}.m3-filled-textfield>div>span:first-child{display:none!important}.bv-page{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);min-width:0}.bv-section{min-width:0}:root{--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Inter", sans-serif;--ap-header-height: 64px;--ap-sidebar-width: 260px;--ap-sidebar-collapsed-width: 72px;--ap-surface-bg: #F8FAFC;--ap-surface-card: #FFFFFF;--ap-surface-border: #E2E8F0;--ap-surface-hover: #F1F5F9;--ap-text-main: #0F172A;--ap-text-muted: #64748B;--ap-text-subtle: #94A3B8;--ap-primary: #1F66FF;--ap-primary-hover: #1754D6;--ap-primary-light: #EFF6FF;--ap-success: #10B981;--ap-success-light: #ECFDF5;--ap-warning: #F59E0B;--ap-warning-light: #FFFBEB;--ap-danger: #EF4444;--ap-danger-light: #FEF2F2;--ap-info: #06B6D4;--ap-info-light: #ECFEFF;--ap-radius-sm: 6px;--ap-radius-md: 10px;--ap-radius-lg: 14px;--ap-radius-xl: 20px;--ap-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--ap-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--ap-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04)}:root[data-theme=dark],:root.dark{--ap-surface-bg: #0B0F19;--ap-surface-card: #131B2E;--ap-surface-border: #1E293B;--ap-surface-hover: #1E293B;--ap-text-main: #F8FAFC;--ap-text-muted: #94A3B8;--ap-text-subtle: #64748B;--ap-primary: #3B82F6;--ap-primary-hover: #2563EB;--ap-primary-light: #1E293B;--ap-success: #10B981;--ap-success-light: #064E3B;--ap-warning: #F59E0B;--ap-warning-light: #78350F;--ap-danger: #EF4444;--ap-danger-light: #7F1D1D;--ap-info: #06B6D4;--ap-info-light: #164E63}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--ap-surface-bg);color:var(--ap-text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ap-app-container{display:flex;min-height:100vh;width:100%}.ap-main-wrapper{display:flex;flex-direction:column;flex:1;min-width:0;overflow-x:hidden}.ap-content-container{padding:24px 32px 48px;max-width:1400px;width:100%;margin:0 auto;flex:1}.ap-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:9999px;font-size:12px;font-weight:500;white-space:nowrap}.ap-badge-primary{background-color:var(--ap-primary-light);color:var(--ap-primary)}.ap-badge-success{background-color:var(--ap-success-light);color:var(--ap-success)}.ap-badge-warning{background-color:var(--ap-warning-light);color:var(--ap-warning)}.ap-badge-danger{background-color:var(--ap-danger-light);color:var(--ap-danger)}.ap-badge-neutral{background-color:var(--ap-surface-hover);color:var(--ap-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s cubic-bezier(.16,1,.3,1) forwards}.ap-icon{font-size:20px;line-height:1;vertical-align:middle;flex-shrink:0}.ap-icon--sm{font-size:16px}.ap-icon--lg{font-size:28px}.ap-icon--xl{font-size:40px}.ap-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--ap-text-main);font:inherit;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.ap-btn:focus-visible,.ap-icon-btn:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}.ap-btn[disabled],.ap-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ap-btn--filled{background:var(--ap-primary);color:#fff}.ap-btn--filled:not([disabled]):hover{background:var(--ap-primary-hover)}.ap-btn--outlined{border-color:var(--ap-surface-border);background:var(--ap-surface-card)}.ap-btn--outlined:not([disabled]):hover{background:var(--ap-surface-hover)}.ap-btn--text{color:var(--ap-primary);padding:0 10px}.ap-btn--text:not([disabled]):hover{background:var(--ap-primary-light)}.ap-btn--tonal{background:var(--ap-primary-light);color:var(--ap-primary)}.ap-btn--tonal:not([disabled]):hover{filter:brightness(.97)}.ap-btn--danger{background:var(--ap-danger);color:#fff}.ap-btn--danger:not([disabled]):hover{filter:brightness(.93)}.ap-btn--danger-outlined{border-color:var(--ap-danger);color:var(--ap-danger);background:var(--ap-surface-card)}.ap-btn--danger-outlined:not([disabled]):hover{background:var(--ap-danger-light)}.ap-btn--success{background:var(--ap-success);color:#fff}.ap-btn--success:not([disabled]):hover{filter:brightness(.93)}.ap-btn--sm{min-height:30px;padding:0 12px;font-size:13px}.ap-btn--block{width:100%}.ap-btn .ap-spin{font-size:18px}.ap-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:none;background:transparent;color:var(--ap-text-muted);cursor:pointer;position:relative;flex-shrink:0}.ap-icon-btn:hover{background:var(--ap-surface-hover);color:var(--ap-text-main)}.ap-icon-btn--sm{width:28px;height:28px}.ap-icon-btn--sm .material-symbols-rounded{font-size:18px}.ap-icon-btn[disabled]{opacity:.5;cursor:not-allowed}@keyframes ap-spin{to{transform:rotate(360deg)}}.ap-spin{animation:ap-spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ap-page{display:flex;flex-direction:column;gap:20px;min-width:0}.ap-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.ap-page-header__main{min-width:0;flex:1 1 280px;display:flex;flex-direction:column;gap:4px}.ap-page-header__title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-page-header__title{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--ap-text-main);line-height:1.25;overflow-wrap:anywhere}.ap-page-header__subtitle{font-size:14px;color:var(--ap-text-muted)}.ap-page-header__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ap-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:var(--ap-text-muted)}.ap-crumbs a{color:var(--ap-text-muted);text-decoration:none}.ap-crumbs a:hover{color:var(--ap-primary);text-decoration:underline}.ap-crumbs__sep{font-size:16px;color:var(--ap-text-subtle)}.ap-crumbs__current{color:var(--ap-text-main);font-weight:500}.ap-back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--ap-text-muted);text-decoration:none;width:fit-content}.ap-back-link:hover{color:var(--ap-primary)}@media(max-width:767.98px){.ap-page{gap:16px}.ap-page-header__title{font-size:20px}.ap-page-header__actions{width:100%}.ap-page-header__actions>.ap-btn{flex:1 1 auto}}.ap-card{background:var(--ap-surface-card);border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-lg);box-shadow:var(--ap-shadow-sm);min-width:0}.ap-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 0;flex-wrap:wrap}.ap-card__title{font-size:16px;font-weight:600;color:var(--ap-text-main)}.ap-card__subtitle{font-size:13px;color:var(--ap-text-muted);margin-top:2px}.ap-card__actions{display:flex;gap:8px;flex-wrap:wrap}.ap-card__body{padding:16px 20px 20px}.ap-card__body--flush{padding:0}.ap-card__footer{padding:12px 20px;border-top:1px solid var(--ap-surface-border)}@media(max-width:767.98px){.ap-card__header{padding:14px 14px 0}.ap-card__body{padding:12px 14px 16px}.ap-card__footer{padding:12px 14px}}.ap-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.ap-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ap-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:1199.98px){.ap-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.ap-grid-2,.ap-grid-3{grid-template-columns:minmax(0,1fr)}}.ap-muted{color:var(--ap-text-muted)}.ap-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.ap-num{font-variant-numeric:tabular-nums}.ap-link{color:var(--ap-primary);text-decoration:none;font-weight:500}.ap-link:hover{text-decoration:underline}.ap-kv{display:grid;grid-template-columns:repeat(var(--ap-kv-cols, 2),minmax(0,1fr));gap:14px 24px;margin:0}.ap-kv__item{min-width:0}.ap-kv__item--span{grid-column:1 / -1}.ap-kv__label{font-size:12px;color:var(--ap-text-muted);font-weight:500;margin-bottom:2px}.ap-kv__value{font-size:14px;color:var(--ap-text-main);overflow-wrap:anywhere;margin:0}@media(max-width:1199.98px){.ap-kv{grid-template-columns:repeat(min(var(--ap-kv-cols, 2),2),minmax(0,1fr))}}@media(max-width:767.98px){.ap-kv{grid-template-columns:minmax(0,1fr);gap:10px}}.ap-badge-info{background-color:var(--ap-info-light);color:var(--ap-info)}.ap-badge .material-symbols-rounded{font-size:14px}.ap-pill-dot{width:6px;height:6px;border-radius:999px;background:currentColor}.ap-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:40px 16px;color:var(--ap-text-muted)}.ap-state--compact{padding:20px 12px}.ap-state__icon{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--ap-surface-hover);color:var(--ap-text-muted);margin-bottom:4px}.ap-state__icon .material-symbols-rounded{font-size:28px}.ap-state--error .ap-state__icon{background:var(--ap-danger-light);color:var(--ap-danger)}.ap-state--restricted .ap-state__icon{background:var(--ap-warning-light);color:var(--ap-warning)}.ap-state__title{font-size:16px;font-weight:600;color:var(--ap-text-main)}.ap-state__desc{font-size:14px;max-width:460px}.ap-state__ref{font-size:12px;color:var(--ap-text-subtle)}.ap-state__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}@keyframes ap-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ap-skeleton{display:block;border-radius:var(--ap-radius-sm);min-height:12px;background:linear-gradient(90deg,var(--ap-surface-hover) 25%,var(--ap-surface-border) 37%,var(--ap-surface-hover) 63%);background-size:800px 100%;animation:ap-shimmer 1.3s ease-in-out infinite}.ap-loading{display:flex;flex-direction:column;gap:12px;padding:16px 0}.ap-loading__center{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--ap-text-muted);font-size:14px}.ap-loading__center .material-symbols-rounded{color:var(--ap-primary)}.ap-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--ap-radius-md);font-size:14px;border:1px solid transparent}.ap-banner--warning{background:var(--ap-warning-light);color:var(--ap-text-main);border-color:var(--ap-warning)}.ap-banner--error{background:var(--ap-danger-light);color:var(--ap-text-main);border-color:var(--ap-danger)}.ap-banner--info{background:var(--ap-primary-light);color:var(--ap-text-main);border-color:var(--ap-primary)}.ap-banner--success{background:var(--ap-success-light);color:var(--ap-text-main);border-color:var(--ap-success)}.ap-banner__body{flex:1;min-width:0}.ap-banner .material-symbols-rounded{font-size:20px}.ap-banner--warning>.material-symbols-rounded{color:var(--ap-warning)}.ap-banner--error>.material-symbols-rounded{color:var(--ap-danger)}.ap-banner--info>.material-symbols-rounded{color:var(--ap-primary)}.ap-banner--success>.material-symbols-rounded{color:var(--ap-success)}.ap-progress{position:relative;height:3px;width:100%;overflow:hidden;background:var(--ap-primary-light);border-radius:999px}.ap-progress__bar{position:absolute;inset:0 auto 0 0;background:var(--ap-primary);transition:width .2s;border-radius:999px}@keyframes ap-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}.ap-progress--indeterminate .ap-progress__bar{animation:ap-indeterminate 1.4s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.ap-progress-slot{height:3px}.ap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.ap-modal{background:var(--ap-surface-card);color:var(--ap-text-main);border-radius:var(--ap-radius-xl);box-shadow:var(--ap-shadow-lg);width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.ap-modal--sm{max-width:420px}.ap-modal--lg{max-width:760px}.ap-modal--xl{max-width:1040px}.ap-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 8px}.ap-modal__title{font-size:17px;font-weight:700}.ap-modal__subtitle{font-size:13px;color:var(--ap-text-muted);margin-top:2px}.ap-modal__body{padding:8px 20px 16px;overflow-y:auto;flex:1;min-height:0}.ap-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px;flex-wrap:wrap;border-top:1px solid var(--ap-surface-border)}@media(max-width:767.98px){.ap-overlay--sheet{align-items:flex-end;padding:0}.ap-overlay--sheet .ap-modal{max-width:none;border-radius:var(--ap-radius-xl) var(--ap-radius-xl) 0 0;max-height:92vh}.ap-modal__footer>.ap-btn{flex:1 1 auto}}.ap-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ap-field__label{font-size:13px;font-weight:600;color:var(--ap-text-main)}.ap-field__req{color:var(--ap-danger);margin-left:2px}.ap-field__hint{font-size:12px;color:var(--ap-text-muted)}.ap-field__error{font-size:12px;color:var(--ap-danger);display:flex;align-items:center;gap:4px}.ap-input,.ap-select,.ap-textarea{width:100%;min-height:40px;padding:8px 12px;font:inherit;font-size:14px;color:var(--ap-text-main);background:var(--ap-surface-card);border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-md);transition:border-color .15s,box-shadow .15s;outline:none}.ap-textarea{min-height:88px;resize:vertical;line-height:1.45}.ap-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--ap-text-muted) 50%),linear-gradient(135deg,var(--ap-text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.ap-input:focus,.ap-select:focus,.ap-textarea:focus,.ap-input-group:focus-within{border-color:var(--ap-primary);box-shadow:0 0 0 3px var(--ap-primary-light)}.ap-input[disabled],.ap-select[disabled],.ap-textarea[disabled],.ap-input[readonly]{background:var(--ap-surface-hover);color:var(--ap-text-muted)}.ap-field--error .ap-input,.ap-field--error .ap-select,.ap-field--error .ap-textarea,.ap-field--error .ap-input-group,.ap-field--error .ap-picker-field{border-color:var(--ap-danger)}.ap-input-group{display:flex;align-items:stretch;border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-md);background:var(--ap-surface-card);overflow:hidden}.ap-input-group .ap-input{border:none;box-shadow:none!important;border-radius:0}.ap-input-group__addon{display:flex;align-items:center;padding:0 10px;color:var(--ap-text-muted);font-size:14px;background:var(--ap-surface-hover);white-space:nowrap}.ap-check{display:inline-flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer;color:var(--ap-text-main)}.ap-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--ap-primary);cursor:pointer;flex-shrink:0}.ap-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.ap-switch input{position:absolute;opacity:0;width:1px;height:1px}.ap-switch__track{width:38px;height:22px;border-radius:999px;background:var(--ap-surface-border);position:relative;transition:background .15s;flex-shrink:0}.ap-switch__track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:var(--ap-shadow-sm);transition:transform .15s}.ap-switch input:checked+.ap-switch__track{background:var(--ap-primary)}.ap-switch input:checked+.ap-switch__track:after{transform:translate(16px)}.ap-switch input:focus-visible+.ap-switch__track{outline:2px solid var(--ap-primary);outline-offset:2px}.ap-switch input:disabled+.ap-switch__track{opacity:.5}.ap-form-grid{display:grid;grid-template-columns:repeat(var(--ap-form-cols, 2),minmax(0,1fr));gap:16px 20px}.ap-span-all{grid-column:1 / -1}.ap-span-2{grid-column:span 2}@media(max-width:767.98px){.ap-form-grid{grid-template-columns:minmax(0,1fr)}.ap-span-2{grid-column:1 / -1}}.ap-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px}.ap-form-actions--sticky{position:sticky;bottom:0;background:var(--ap-surface-bg);padding:12px 0;z-index:5}@media(max-width:767.98px){.ap-form-actions>.ap-btn{flex:1 1 auto}.ap-form-actions--sticky{bottom:64px}}.ap-picker-field{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 8px 6px 12px;border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-md);background:var(--ap-surface-card);font:inherit;font-size:14px;color:var(--ap-text-main);text-align:left;cursor:pointer;flex-wrap:wrap}.ap-picker-field:focus-visible{outline:none;border-color:var(--ap-primary);box-shadow:0 0 0 3px var(--ap-primary-light)}.ap-picker-field[aria-disabled=true]{background:var(--ap-surface-hover);cursor:not-allowed;color:var(--ap-text-muted)}.ap-picker-field__value{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ap-picker-field__placeholder{color:var(--ap-text-subtle)}.ap-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 10px;border-radius:999px;background:var(--ap-primary-light);color:var(--ap-primary);font-size:13px;font-weight:500}.ap-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-chip button{border:none;background:transparent;color:inherit;cursor:pointer;display:flex;padding:1px;border-radius:999px}.ap-chip button .material-symbols-rounded{font-size:16px}.ap-option-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}.ap-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--ap-radius-md);border:none;background:transparent;font:inherit;font-size:14px;color:var(--ap-text-main);text-align:left;cursor:pointer}.ap-option:hover,.ap-option--active{background:var(--ap-surface-hover)}.ap-option--selected{background:var(--ap-primary-light)}.ap-option__text{flex:1;min-width:0}.ap-option__label{font-weight:500;overflow-wrap:anywhere}.ap-option__desc{font-size:12px;color:var(--ap-text-muted)}.ap-option__check{color:var(--ap-primary)}.ap-search{position:relative;display:flex;align-items:center;min-width:0}.ap-search>.material-symbols-rounded{position:absolute;left:10px;font-size:20px;color:var(--ap-text-subtle);pointer-events:none}.ap-search .ap-input{padding-left:36px;padding-right:34px;border-radius:999px}.ap-search__clear{position:absolute;right:4px}.ap-list{display:flex;flex-direction:column;min-width:0}.ap-list__toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px}.ap-list__search{flex:1 1 260px;max-width:420px}.ap-list__filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ap-list__filters .ap-select,.ap-list__filters .ap-input{min-height:36px;width:auto;min-width:150px}.ap-list__tools{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}.ap-list__sort{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ap-text-muted)}.ap-list__sort .ap-select{min-height:36px;width:auto}.ap-list__bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;background:var(--ap-primary-light);border-top:1px solid var(--ap-surface-border);font-size:14px}.ap-list__bulk-count{font-weight:600;color:var(--ap-primary)}.ap-list__body{position:relative;min-width:0}.ap-list__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--ap-surface-border);font-size:13px;color:var(--ap-text-muted)}@media(max-width:767.98px){.ap-list__toolbar{padding:12px}.ap-list__search{max-width:none;flex-basis:100%}.ap-list__filters{width:100%}.ap-list__filters .ap-select,.ap-list__filters .ap-input{flex:1 1 140px;min-width:0}.ap-list__tools{margin-left:0;width:100%;justify-content:space-between}.ap-list__footer{padding:12px;justify-content:center}}.ap-table-wrap{width:100%;overflow-x:auto}.ap-table{width:100%;border-collapse:collapse;font-size:14px}.ap-table th{text-align:left;font-size:12px;font-weight:600;color:var(--ap-text-muted);background:var(--ap-surface-hover);padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--ap-surface-border)}.ap-table td{padding:12px;border-bottom:1px solid var(--ap-surface-border);vertical-align:middle;color:var(--ap-text-main)}.ap-table tbody tr:last-child td{border-bottom:none}.ap-table tr.is-clickable{cursor:pointer}.ap-table tbody tr:hover td{background:var(--ap-surface-hover)}.ap-table tr.is-selected td{background:var(--ap-primary-light)}.ap-table .ap-col-check{width:44px;padding-left:16px;padding-right:4px}.ap-table .ap-align-right{text-align:right}.ap-table .ap-align-center{text-align:center}.ap-table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ap-table th.is-sortable:hover{color:var(--ap-text-main)}.ap-table th .ap-sort-icon{font-size:16px;vertical-align:-3px;margin-left:2px}.ap-table input[type=checkbox],.ap-mcard input[type=checkbox]{width:18px;height:18px;accent-color:var(--ap-primary);cursor:pointer}.ap-mlist{display:flex;flex-direction:column}.ap-mcard{display:flex;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid var(--ap-surface-border);color:inherit;text-decoration:none}.ap-mcard:last-child{border-bottom:none}.ap-mcard.is-clickable{cursor:pointer}.ap-mcard.is-clickable:active{background:var(--ap-surface-hover)}.ap-mcard.is-selected{background:var(--ap-primary-light)}.ap-mcard__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ap-mcard__title{font-weight:600;font-size:14px;overflow-wrap:anywhere}.ap-mcard__meta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px}.ap-mcard__meta dt{color:var(--ap-text-muted)}.ap-mcard__meta dd{margin:0;min-width:0;overflow-wrap:anywhere}.ap-pagination{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ap-pagination__page{min-width:34px;height:34px;padding:0 8px;border-radius:999px;border:1px solid transparent;background:transparent;font:inherit;font-size:13px;color:var(--ap-text-main);cursor:pointer}.ap-pagination__page:hover:not([disabled]){background:var(--ap-surface-hover)}.ap-pagination__page.is-current{background:var(--ap-primary);color:#fff;font-weight:600}.ap-pagination__page[disabled]{opacity:.4;cursor:default}.ap-pagination__size{display:flex;align-items:center;gap:6px}.ap-pagination__size .ap-select{min-height:32px;width:auto;padding-top:4px;padding-bottom:4px}.ap-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ap-surface-border);overflow-x:auto;scrollbar-width:none}.ap-tabs::-webkit-scrollbar{display:none}.ap-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--ap-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.ap-tab:hover{color:var(--ap-text-main)}.ap-tab.is-active{color:var(--ap-primary);border-bottom-color:var(--ap-primary);font-weight:600}.ap-tab__count{font-size:11px;background:var(--ap-surface-hover);border-radius:999px;padding:1px 7px}.ap-upload{display:flex;flex-direction:column;gap:10px}.ap-upload__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;border:1.5px dashed var(--ap-surface-border);border-radius:var(--ap-radius-md);background:var(--ap-surface-bg);color:var(--ap-text-muted);font-size:13px;text-align:center;cursor:pointer}.ap-upload__drop:hover,.ap-upload__drop.is-dragging{border-color:var(--ap-primary);color:var(--ap-primary);background:var(--ap-primary-light)}.ap-upload__drop[aria-disabled=true]{cursor:not-allowed;opacity:.6}.ap-upload__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.ap-upload__item{position:relative;border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-md);overflow:hidden;background:var(--ap-surface-card);display:flex;flex-direction:column}.ap-upload__thumb{aspect-ratio:4 / 3;background:var(--ap-surface-hover);display:flex;align-items:center;justify-content:center;color:var(--ap-text-muted);overflow:hidden}.ap-upload__thumb img{width:100%;height:100%;object-fit:cover;display:block}.ap-upload__meta{padding:6px 8px;font-size:12px;min-width:0}.ap-upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--ap-text-main);display:block}.ap-upload__remove{position:absolute;top:4px;right:4px;background:#0f172a99!important;color:#fff!important}.ap-upload__item.is-error{border-color:var(--ap-danger)}.ap-files{display:flex;flex-direction:column;gap:6px}.ap-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-md);font-size:14px;min-width:0}.ap-file__thumb{width:40px;height:40px;border-radius:var(--ap-radius-sm);object-fit:cover;background:var(--ap-surface-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ap-text-muted)}.ap-file__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ap-text-main);text-decoration:none}.ap-file__name:hover{color:var(--ap-primary);text-decoration:underline}.ap-timeline{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.ap-timeline__item{position:relative;display:flex;gap:12px;padding-bottom:18px}.ap-timeline__item:last-child{padding-bottom:0}.ap-timeline__item:before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--ap-surface-border)}.ap-timeline__item:last-child:before{display:none}.ap-timeline__dot{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--ap-surface-hover);color:var(--ap-text-muted)}.ap-timeline__dot .material-symbols-rounded{font-size:16px}.ap-timeline__dot--success{background:var(--ap-success-light);color:var(--ap-success)}.ap-timeline__dot--error{background:var(--ap-danger-light);color:var(--ap-danger)}.ap-timeline__dot--warning{background:var(--ap-warning-light);color:var(--ap-warning)}.ap-timeline__dot--info,.ap-timeline__dot--primary{background:var(--ap-primary-light);color:var(--ap-primary)}.ap-timeline__content{flex:1;min-width:0;padding-top:3px}.ap-timeline__title{font-size:14px;font-weight:600;color:var(--ap-text-main)}.ap-timeline__meta{font-size:12px;color:var(--ap-text-muted);margin-top:1px}.ap-timeline__note{margin-top:6px;font-size:13px;background:var(--ap-surface-hover);border-radius:var(--ap-radius-md);padding:8px 10px;white-space:pre-wrap;overflow-wrap:anywhere}.ap-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 16px;flex-wrap:wrap}.ap-steps__item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ap-text-muted)}.ap-steps__num{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--ap-surface-hover)}.ap-steps__item.is-active{color:var(--ap-text-main);font-weight:600}.ap-steps__item.is-active .ap-steps__num{background:var(--ap-primary);color:#fff}.ap-steps__item.is-done .ap-steps__num{background:var(--ap-success);color:#fff}.ap-steps__sep{width:24px;height:1px;background:var(--ap-surface-border);align-self:center}.ap-summary-row{display:flex;gap:12px;flex-wrap:wrap}.ap-summary{flex:1 1 120px;padding:12px 14px;border-radius:var(--ap-radius-md);background:var(--ap-surface-hover)}.ap-summary__value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.ap-summary__label{font-size:12px;color:var(--ap-text-muted)}.ap-summary--success .ap-summary__value{color:var(--ap-success)}.ap-summary--error .ap-summary__value{color:var(--ap-danger)}.ap-scanner{display:flex;flex-direction:column;gap:12px}.ap-scanner__viewport{position:relative;width:100%;max-width:480px;aspect-ratio:1 / 1;margin:0 auto;background:#000;border-radius:var(--ap-radius-lg);overflow:hidden}.ap-scanner__viewport video{width:100%;height:100%;object-fit:cover;display:block}.ap-scanner__frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:3px solid rgba(255,255,255,.9);border-radius:var(--ap-radius-lg);box-shadow:0 0 0 9999px #00000059;pointer-events:none}.ap-scanner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;text-align:center;padding:16px;font-size:14px}.ap-scanner__controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.ap-scanner__manual{display:flex;gap:8px;max-width:480px;width:100%;margin:0 auto}.ap-scanner__manual .ap-input{flex:1;min-width:0}.ap-popover-anchor{position:relative}.ap-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:900;min-width:220px;background:var(--ap-surface-card);border:1px solid var(--ap-surface-border);border-radius:var(--ap-radius-lg);box-shadow:var(--ap-shadow-lg);overflow:hidden;animation:fadeIn .12s ease-out}.ap-menu{display:flex;flex-direction:column;padding:6px}.ap-menu__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--ap-radius-md);border:none;background:transparent;font:inherit;font-size:14px;color:var(--ap-text-main);text-decoration:none;cursor:pointer;text-align:left;width:100%}.ap-menu__item:hover{background:var(--ap-surface-hover)}.ap-menu__item .material-symbols-rounded{font-size:20px;color:var(--ap-text-muted)}.ap-menu__item--danger,.ap-menu__item--danger .material-symbols-rounded{color:var(--ap-danger)}.ap-menu__sep{height:1px;background:var(--ap-surface-border);margin:4px 0}.ap-menu__head{padding:10px 12px 8px;border-bottom:1px solid var(--ap-surface-border)}.ap-count-badge{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--ap-danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--ap-surface-card)}.ap-notif-panel{width:min(380px,calc(100vw - 24px))}.ap-notif-panel__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--ap-surface-border);font-weight:600;font-size:14px}.ap-notif-panel__list{max-height:min(420px,60vh);overflow-y:auto}.ap-notif-panel__foot{display:block;text-align:center;padding:10px;border-top:1px solid var(--ap-surface-border);font-size:13px}.ap-notif{display:flex;gap:10px;padding:12px 14px;border:none;border-bottom:1px solid var(--ap-surface-border);background:transparent;width:100%;text-align:left;font:inherit;cursor:pointer;color:var(--ap-text-main)}.ap-notif:hover{background:var(--ap-surface-hover)}.ap-notif.is-unread{background:var(--ap-primary-light)}.ap-notif__dot{width:8px;height:8px;border-radius:999px;background:var(--ap-primary);margin-top:6px;flex-shrink:0}.ap-notif__dot.is-read{background:transparent}.ap-notif__body{flex:1;min-width:0}.ap-notif__title{font-size:14px;font-weight:600}.ap-notif__text{font-size:13px;color:var(--ap-text-muted);margin-top:2px;overflow-wrap:anywhere}.ap-notif__time{font-size:12px;color:var(--ap-text-subtle);margin-top:4px}@media(max-width:767.98px){.ap-popover.ap-notif-panel{position:fixed;left:12px;right:12px;top:60px;width:auto}}.ap-toast-stack{position:fixed;right:24px;bottom:24px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.ap-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;min-width:280px;max-width:420px;padding:12px 10px 12px 14px;background:var(--ap-surface-card);color:var(--ap-text-main);border:1px solid var(--ap-surface-border);border-left-width:4px;border-radius:var(--ap-radius-md);box-shadow:var(--ap-shadow-lg);font-size:14px}.ap-toast__icon{font-size:20px}.ap-toast__body{flex:1;min-width:0;padding-top:1px}.ap-toast__msg{font-weight:500;overflow-wrap:anywhere}.ap-toast__desc{font-size:12px;color:var(--ap-text-muted);margin-top:2px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.ap-toast--success{border-left-color:var(--ap-success)}.ap-toast--success .ap-toast__icon{color:var(--ap-success)}.ap-toast--error{border-left-color:var(--ap-danger)}.ap-toast--error .ap-toast__icon{color:var(--ap-danger)}.ap-toast--warning{border-left-color:var(--ap-warning)}.ap-toast--warning .ap-toast__icon{color:var(--ap-warning)}.ap-toast--info{border-left-color:var(--ap-primary)}.ap-toast--info .ap-toast__icon{color:var(--ap-primary)}@media(max-width:767.98px){.ap-toast-stack{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));max-width:none}.ap-toast{min-width:0;max-width:none}}.ap-print-root{background:var(--ap-surface-hover);min-height:100vh;padding:16px 12px 40px;color:#000}.ap-print-toolbar{max-width:210mm;margin:0 auto 12px;display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;align-items:center}.ap-print-toolbar__title{font-weight:600;color:var(--ap-text-main);font-size:14px}.ap-print-sheet{background:#fff;color:#000;margin:0 auto;box-shadow:var(--ap-shadow-md);padding:15mm 15mm 12mm;font-family:var(--font-family-sans);font-size:11pt;line-height:1.45;display:flex;flex-direction:column;min-height:var(--ap-sheet-h);width:var(--ap-sheet-w);max-width:100%}.ap-print-sheet__content{flex:1}.ap-print-letterhead{display:flex;align-items:center;gap:14px;padding-bottom:10px;border-bottom:3px double #000;margin-bottom:14px}.ap-print-letterhead img{width:64px;height:64px;object-fit:contain}.ap-print-letterhead__text{flex:1;text-align:center}.ap-print-letterhead__name{font-size:15pt;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.ap-print-letterhead__sub{font-size:9.5pt}.ap-print-title{text-align:center;font-size:13pt;font-weight:700;text-transform:uppercase;margin:8px 0 2px;text-decoration:underline}.ap-print-docno{text-align:center;font-size:10pt;margin-bottom:14px}.ap-print-footer{margin-top:16px;padding-top:6px;border-top:1px solid #999;font-size:8.5pt;color:#444;display:flex;justify-content:space-between;gap:8px}.ap-print-table{width:100%;border-collapse:collapse;font-size:10pt;margin:8px 0}.ap-print-table th,.ap-print-table td{border:1px solid #000;padding:4px 6px;vertical-align:top;text-align:left}.ap-print-table th{background:#eee;font-weight:700;text-align:center}.ap-print-kv{display:grid;grid-template-columns:150px 10px 1fr;gap:2px 4px;font-size:10.5pt;margin:6px 0 10px}.ap-signatures{display:grid;grid-template-columns:repeat(var(--ap-sig-cols, 2),1fr);gap:16px;margin-top:28px;text-align:center;font-size:10.5pt;break-inside:avoid;page-break-inside:avoid}.ap-signature__place{min-height:1.4em}.ap-signature__role{font-weight:500;min-height:2.8em}.ap-signature__space{height:64px}.ap-signature__name{font-weight:700;text-decoration:underline}.ap-signature__nip{font-size:9.5pt}@media screen and (max-width:767.98px){.ap-print-sheet{padding:8mm 6mm!important;width:100%;min-height:0}}@media print{html,body{background:#fff!important}.ap-no-print,.ap-toast-stack{display:none!important}.ap-print-root{background:#fff;padding:0;min-height:0}.ap-print-sheet{box-shadow:none;margin:0;padding:0!important;width:auto;min-height:0;max-width:none}.ap-print-page-break{break-after:page;page-break-after:always}}.ap-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ap-code-block{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--ap-surface-hover);padding:8px 10px;border-radius:var(--ap-radius-sm);overflow-x:auto}
