:root{--pulse-navy:#0D3C86;--pulse-royal:#1E56B8;--pulse-sky:#5AB8EA;--pulse-surface:#F4F7FB;--pulse-card:#FFFFFF;--pulse-ink:#1F2937;--pulse-ink-mute:#5B6B80;--pulse-border:#E3EAF3;--pulse-flag:#E03E3E;--pulse-ok:#1B6E2E;--pulse-nav-text:#C9DAF5;--pulse-royal-tint:#EEF3FA;--pulse-sky-tint:#E4F4FC;--pulse-flag-tint:#FDE7E7;--pulse-ok-tint:#E6F6EA;--pulse-shadow:0 1px 2px rgba(13, 60, 134, 0.06),0 4px 14px rgba(13, 60, 134, 0.06);--pulse-sidebar-w:232px;--pulse-sidebar-w-collapsed:56px;--pulse-topbar-h:56px;--pulse-radius:10px;--pulse-font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--pulse-font-head:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--primary:var(--pulse-royal);--primary-h:var(--pulse-navy);--primary-tint:var(--pulse-royal-tint);--accent:var(--pulse-sky);--accent-tint:var(--pulse-sky-tint)}[data-theme-mode=dark]{--pulse-navy:#0A1A3A;--pulse-royal:#3B7BE0;--pulse-sky:#5AB8EA;--pulse-surface:#0F1F3F;--pulse-card:#16294F;--pulse-ink:#E6EEF9;--pulse-ink-mute:#9FB3CC;--pulse-border:#24407A;--pulse-flag:#FF7A7A;--pulse-ok:#5CCB7A;--pulse-nav-text:#A9BEDF;--pulse-royal-tint:#1B3468;--pulse-sky-tint:#12365F;--pulse-flag-tint:#4A1E24;--pulse-ok-tint:#153A25;--pulse-shadow:0 1px 2px rgba(0, 0, 0, 0.3),0 4px 14px rgba(0, 0, 0, 0.35)}body,html{height:100%}body.pulse-body{margin:0;background:var(--pulse-surface);color:var(--pulse-ink);font-family:var(--pulse-font-body);font-size:.9375rem;line-height:1.5;-webkit-font-smoothing:antialiased}.pulse-body h1,.pulse-body h2,.pulse-body h3,.pulse-body h4,.pulse-body h5,.pulse-body h6{font-family:var(--pulse-font-head);font-weight:700;color:var(--pulse-navy);letter-spacing:-.01em}[data-theme-mode=dark] .pulse-body h1,[data-theme-mode=dark] .pulse-body h2,[data-theme-mode=dark] .pulse-body h3,[data-theme-mode=dark] .pulse-body h4,[data-theme-mode=dark] .pulse-body h5,[data-theme-mode=dark] .pulse-body h6{color:var(--pulse-ink)}.pulse-shell{display:flex;min-height:100vh}.pulse-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;position:relative}.pulse-content{flex:1 1 auto;padding:20px 24px 40px}.pulse-content>.pulse-canvas{background:var(--pulse-card);border:1px solid var(--pulse-border);border-radius:var(--pulse-radius);box-shadow:var(--pulse-shadow);padding:16px}.pulse-content.edit-mode>.pulse-canvas{outline:2px dashed var(--pulse-sky);outline-offset:4px}.pulse-body :focus-visible{outline:2px solid var(--pulse-sky);outline-offset:2px}.pulse-skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--pulse-card);color:var(--pulse-navy);padding:8px 12px;border-radius:6px}.pulse-skip-link:focus{left:8px}@media (prefers-reduced-motion:reduce){.pulse-body *,.pulse-body ::after,.pulse-body ::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.pulse-sidebar{flex:0 0 var(--pulse-sidebar-w);width:var(--pulse-sidebar-w);background:var(--pulse-navy);color:var(--pulse-nav-text);display:flex;flex-direction:column;padding:14px 10px;position:sticky;top:0;height:100vh;overflow-y:auto;transition:width 160ms ease,flex-basis 160ms ease;font-family:var(--pulse-font-head)}.pulse-sidebar__logo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:#fff;font-weight:800;font-size:.9375rem;line-height:1.2;padding:4px 8px 16px;text-decoration:none}.pulse-sidebar__logo img{display:block;max-width:100%;width:auto;height:auto;max-height:48px;object-fit:contain}.pulse-sidebar__logo svg{display:block}.pulse-sidebar__logo span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.pulse-sidebar__logo:hover{color:#fff}.pulse-sidebar__group{font-family:var(--pulse-font-body);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#7fa6e0;padding:14px 10px 4px;white-space:nowrap}.pulse-nav{list-style:none;margin:0;padding:0}.pulse-nav__item{position:relative}.pulse-nav__link{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:2px 0;border-radius:8px;color:var(--pulse-nav-text);text-decoration:none;font-weight:600;font-size:.875rem;white-space:nowrap;background:0 0;border:0;width:100%;text-align:left;cursor:pointer}.pulse-nav__link i{width:18px;text-align:center;font-size:.95rem;opacity:.85;flex:none}.pulse-nav__link:hover{background:rgba(255,255,255,.08);color:#fff}.pulse-nav__link.is-active,.pulse-nav__link[aria-current=page]{background:var(--pulse-royal);color:#fff}.pulse-nav__link.is-active::before,.pulse-nav__link[aria-current=page]::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--pulse-sky)}.pulse-nav__link .pulse-nav__chev{margin-left:auto;opacity:.6;transition:transform 160ms ease}.pulse-nav__link[aria-expanded=true] .pulse-nav__chev{transform:rotate(180deg)}.pulse-nav__sub{list-style:none;margin:0 0 4px;padding:0 0 0 28px}.pulse-nav__sub .pulse-nav__link{font-size:.8125rem;padding:6px 10px;font-weight:500}.pulse-nav__sub[hidden]{display:none}.pulse-sidebar__foot{margin-top:auto;padding:12px 8px 0;display:flex;align-items:center;justify-content:space-between;color:#7fa6e0;font-family:var(--pulse-font-body);font-size:.75rem}.pulse-sidebar__collapse{background:0 0;border:0;color:inherit;cursor:pointer;padding:4px 6px;border-radius:6px}.pulse-sidebar__collapse:hover{background:rgba(255,255,255,.08);color:#fff}.pulse-sidebar__scrim{display:none}html[data-pulse-nav=collapsed] .pulse-sidebar{flex-basis:var(--pulse-sidebar-w-collapsed);width:var(--pulse-sidebar-w-collapsed);padding-left:6px;padding-right:6px}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__chev,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__link span,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__sub,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__foot span,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__group,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__logo span{display:none}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__logo{align-items:center;padding-left:0;padding-right:0}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__logo img{max-width:40px;max-height:40px}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__link{justify-content:center;padding-left:0;padding-right:0}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__link.is-active::before,html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-nav__link[aria-current=page]::before{left:-6px}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__group+.pulse-nav::before{content:"";display:block;height:1px;margin:10px 8px;background:rgba(255,255,255,.14)}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__foot{justify-content:center}html[data-pulse-nav=collapsed] .pulse-sidebar .pulse-sidebar__collapse i{transform:rotate(180deg)}@media (max-width:991.98px){.pulse-sidebar{position:fixed;left:0;top:0;z-index:1040;transform:translateX(-100%);transition:transform 160ms ease;width:var(--pulse-sidebar-w)!important;flex-basis:var(--pulse-sidebar-w)!important}html[data-pulse-nav=open] .pulse-sidebar{transform:translateX(0)}html[data-pulse-nav=open] .pulse-sidebar__scrim{display:block;position:fixed;inset:0;background:rgba(10,26,58,.5);z-index:1035}.pulse-topbar__menu{display:inline-flex!important}}.pulse-topbar{height:var(--pulse-topbar-h);background:var(--pulse-card);border-bottom:1px solid var(--pulse-border);display:flex;align-items:center;gap:10px;padding:0 20px;position:sticky;top:0;z-index:1020}.pulse-topbar__menu{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:8px;background:0 0;color:var(--pulse-navy);cursor:pointer}.pulse-topbar__menu:hover{background:var(--pulse-royal-tint)}[data-theme-mode=dark] .pulse-topbar__menu{color:var(--pulse-ink)}.pulse-topbar__title{font-family:var(--pulse-font-head);font-weight:800;font-size:1.0625rem;color:var(--pulse-navy);margin:0;white-space:nowrap}[data-theme-mode=dark] .pulse-topbar__title{color:var(--pulse-ink)}.pulse-topbar__crumbs{color:var(--pulse-ink-mute);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-topbar__crumbs a{color:inherit;text-decoration:none}.pulse-topbar__crumbs a:hover{color:var(--pulse-royal)}.pulse-topbar__crumbs span::before{content:"/";padding:0 6px;opacity:.6}.pulse-topbar__program{margin-left:8px;padding:3px 10px;border:1px solid var(--pulse-border);border-radius:999px;color:var(--pulse-ink-mute);font-size:.8125rem;white-space:nowrap}.pulse-topbar__program i{color:var(--pulse-sky);margin-right:5px}.pulse-topbar__right{margin-left:auto;display:flex;align-items:center;gap:8px}.pulse-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:8px;background:0 0;color:var(--pulse-ink-mute);cursor:pointer;position:relative}.pulse-iconbtn:hover{background:var(--pulse-royal-tint);color:var(--pulse-royal)}.pulse-iconbtn .pulse-badge{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--pulse-flag);box-shadow:0 0 0 2px var(--pulse-card)}.pulse-mode{width:42px;height:24px;border-radius:999px;border:1px solid var(--pulse-border);background:var(--pulse-surface);position:relative;cursor:pointer;padding:0}.pulse-mode::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--pulse-royal);transition:left 160ms ease,background 160ms ease}[data-theme-mode=dark] .pulse-mode::after{left:21px;background:var(--pulse-sky)}.pulse-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--pulse-sky),var(--pulse-royal));color:#fff;font-weight:700;font-size:.8125rem;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer}.pulse-topbar .dropdown-menu{border-color:var(--pulse-border);box-shadow:var(--pulse-shadow);border-radius:10px;padding:6px;min-width:200px}.pulse-topbar .dropdown-menu .dropdown-header{font-family:var(--pulse-font-head);font-weight:700;color:var(--pulse-navy)}.pulse-topbar .dropdown-menu .dropdown-item{border-radius:6px;padding:7px 10px}.pulse-topbar .dropdown-menu .dropdown-item i{width:18px;margin-right:6px;color:var(--pulse-ink-mute)}[data-theme-mode=dark] .pulse-topbar .dropdown-menu .dropdown-header{color:var(--pulse-ink)}.pulse-body,[data-bs-theme=dark] .pulse-body,[data-bs-theme=light] .pulse-body{--bs-body-bg:var(--pulse-surface);--bs-body-color:var(--pulse-ink);--bs-secondary-color:var(--pulse-ink-mute);--bs-tertiary-bg:var(--pulse-surface);--bs-border-color:var(--pulse-border);--bs-border-color-translucent:var(--pulse-border);--bs-link-color:var(--pulse-royal);--bs-link-hover-color:var(--pulse-navy);--bs-heading-color:var(--pulse-navy);--bs-emphasis-color:var(--pulse-ink);--bs-card-bg:var(--pulse-card);--bs-card-border-color:var(--pulse-border);--bs-card-cap-bg:var(--pulse-card);--bs-primary:var(--pulse-royal);--bs-primary-rgb:30,86,184;--bs-danger:var(--pulse-flag);--bs-success:var(--pulse-ok);--bs-info:var(--pulse-sky);--bs-font-sans-serif:var(--pulse-font-body);--bs-border-radius:8px;--bs-border-radius-sm:6px;--bs-border-radius-lg:var(--pulse-radius)}[data-theme-mode=dark] .pulse-body{--bs-heading-color:var(--pulse-ink);--bs-primary-rgb:59,123,224}.pulse-body .btn-primary{--bs-btn-bg:var(--pulse-royal);--bs-btn-border-color:var(--pulse-royal);--bs-btn-hover-bg:var(--pulse-navy);--bs-btn-hover-border-color:var(--pulse-navy);--bs-btn-active-bg:var(--pulse-navy);--bs-btn-active-border-color:var(--pulse-navy);--bs-btn-color:#fff;font-weight:600}.pulse-body .btn-outline-primary{--bs-btn-color:var(--pulse-royal);--bs-btn-border-color:var(--pulse-royal);--bs-btn-hover-bg:var(--pulse-royal);--bs-btn-hover-border-color:var(--pulse-royal);--bs-btn-hover-color:#fff}.pulse-body .btn-light,.pulse-body .btn-secondary{--bs-btn-bg:var(--pulse-card);--bs-btn-border-color:var(--pulse-border);--bs-btn-color:var(--pulse-ink);--bs-btn-hover-bg:var(--pulse-royal-tint);--bs-btn-hover-border-color:var(--pulse-border);--bs-btn-hover-color:var(--pulse-ink)}.pulse-body .card{box-shadow:var(--pulse-shadow)}.pulse-body .table{--bs-table-bg:var(--pulse-card);--bs-table-color:var(--pulse-ink);--bs-table-border-color:var(--pulse-border);--bs-table-striped-bg:var(--pulse-surface);--bs-table-hover-bg:var(--pulse-royal-tint)}.pulse-body .table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--pulse-ink-mute);font-weight:600}.pulse-body .form-control,.pulse-body .form-select{background:var(--pulse-card);color:var(--pulse-ink);border-color:var(--pulse-border)}.pulse-body .form-control:focus,.pulse-body .form-select:focus{border-color:var(--pulse-sky);box-shadow:0 0 0 3px var(--pulse-sky-tint)}.pulse-body .badge.bg-primary{background:var(--pulse-royal)!important}.pulse-body .badge.bg-danger{background:var(--pulse-flag)!important}.pulse-body .badge.bg-success{background:var(--pulse-ok)!important}.pulse-body .offcanvas{background:var(--pulse-card);color:var(--pulse-ink)}.pulse-body .modal-content{background:var(--pulse-card);color:var(--pulse-ink);border-color:var(--pulse-border);border-radius:var(--pulse-radius)}.pulse-body .form-check-input:checked{background-color:var(--pulse-royal);border-color:var(--pulse-royal)}.pulse-body .form-check-input:focus{border-color:var(--pulse-sky);box-shadow:0 0 0 3px var(--pulse-sky-tint)}.pulse-body .dropdown-menu{--bs-dropdown-link-active-bg:var(--pulse-royal);--bs-dropdown-link-hover-bg:var(--pulse-royal-tint);--bs-dropdown-bg:var(--pulse-card);--bs-dropdown-color:var(--pulse-ink);--bs-dropdown-link-color:var(--pulse-ink);--bs-dropdown-border-color:var(--pulse-border)}.pulse-body .nav-pills{--bs-nav-pills-link-active-bg:var(--pulse-royal)}.pulse-body .nav-tabs{--bs-nav-tabs-link-active-color:var(--pulse-navy);--bs-nav-tabs-border-color:var(--pulse-border);--bs-nav-tabs-link-active-bg:var(--pulse-card);--bs-nav-tabs-link-active-border-color:var(--pulse-border) var(--pulse-border) var(--pulse-card)}.pulse-body .list-group{--bs-list-group-bg:var(--pulse-card);--bs-list-group-color:var(--pulse-ink);--bs-list-group-border-color:var(--pulse-border);--bs-list-group-active-bg:var(--pulse-royal);--bs-list-group-active-border-color:var(--pulse-royal)}.pulse-body .pagination{--bs-pagination-bg:var(--pulse-card);--bs-pagination-color:var(--pulse-royal);--bs-pagination-border-color:var(--pulse-border);--bs-pagination-active-bg:var(--pulse-royal);--bs-pagination-active-border-color:var(--pulse-royal)}.pulse-body .alert-primary{--bs-alert-bg:var(--pulse-royal-tint);--bs-alert-color:var(--pulse-navy);--bs-alert-border-color:var(--pulse-border)}.pulse-body .dxbl-grid{--dxbl-grid-bg:var(--pulse-card);--dxbl-grid-border-color:var(--pulse-border);--dxbl-grid-header-bg:var(--pulse-surface);--dxbl-grid-header-color:var(--pulse-ink-mute);--dxbl-grid-selection-bg:var(--pulse-royal-tint);--dxbl-grid-hover-bg:var(--pulse-royal-tint);border-radius:var(--pulse-radius);overflow:hidden}.pulse-body .dxbl-grid .dxbl-grid-header-content{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.pulse-body .dxbl-pager{--dxbl-pager-active-page-btn-bg:var(--pulse-royal);--dxbl-pager-active-page-btn-color:#fff}.pulse-body .dxbl-btn-primary{--dxbl-btn-bg:var(--pulse-royal);--dxbl-btn-border-color:var(--pulse-royal);--dxbl-btn-hover-bg:var(--pulse-navy);--dxbl-btn-hover-border-color:var(--pulse-navy);font-weight:600}.pulse-body .dxbl-popup{--dxbl-popup-bg:var(--pulse-card);--dxbl-popup-border-color:var(--pulse-border);--dxbl-popup-border-radius:var(--pulse-radius)}.pulse-body .dxbl-popup .dxbl-popup-header{font-family:var(--pulse-font-head);font-weight:700}.pulse-body .dxbl-memo,.pulse-body .dxbl-text-edit{--dxbl-text-edit-bg:var(--pulse-card);--dxbl-text-edit-border-color:var(--pulse-border);--dxbl-text-edit-focus-border-color:var(--pulse-sky);--dxbl-text-edit-focus-shadow-color:var(--pulse-sky-tint);--dxbl-text-edit-focus-shadow-blur:0rem;--dxbl-text-edit-focus-shadow-spread:3px}.pulse-body .dxbl-fl .dxbl-fl-cpt{color:var(--pulse-ink-mute);font-weight:600;font-size:.8125rem}.pulse-trace{height:28px;width:100%;display:block;flex:none;pointer-events:none}.pulse-trace path{fill:none;stroke:var(--pulse-sky);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.pulse-trace.is-drawing path{animation:pulse-draw .9s ease-out forwards}@keyframes pulse-draw{from{stroke-dashoffset:var(--pulse-trace-len,2000)}to{stroke-dashoffset:0}}.pulse-trace--mark{height:18px;width:72px;display:inline-block;vertical-align:middle}.pulse-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 20px;text-align:center;color:var(--pulse-ink-mute)}.pulse-empty .pulse-empty__text{font-size:.9375rem;margin:0;max-width:40ch}.pulse-empty .pulse-empty__action{margin-top:4px}