.ico{width:1.15em;height:auto;aspect-ratio:1;flex-shrink:0;display:inline-block;vertical-align:-.18em;overflow:visible}span.ico[data-ico]{width:auto;height:auto;line-height:0;vertical-align:baseline}.ico-sm{width:1em;height:1em}.ico-lg{width:1.4em;height:1.4em}.btn>.fa,.btn>.far,.btn>.fas{width:1.05em;text-align:center}.page-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head>div:first-child{min-width:0}.page-head .page-title,.page-head h1{margin:0 0 2px;font-size:clamp(1.35rem, 1.05rem + 1.1vw, 1.75rem);font-weight:700;letter-spacing:-.015em;color:var(--text-primary);line-height:1.25}.page-head .page-subtitle,.page-head>div:first-child>p{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.45}.page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:575.98px){.page-head{margin-bottom:14px}.page-head .page-subtitle,.page-head>div:first-child>p{display:none}.page-head-actions{width:100%}.page-head-actions>.btn{flex:1;justify-content:center}}.filter-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:16px}.filter-card+.filter-card{margin-top:-6px}.filter-legend{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.filter-legend:not(:first-child){margin-top:14px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 14px;align-items:end}.field-grid.field-grid-tight{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.field-grid .field-wide{grid-column:span 2}@media (max-width:575.98px){.field-grid,.field-grid.field-grid-tight{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.field-grid .field-wide{grid-column:1/-1}.filter-card{padding:12px}}.field-full{grid-column:1/-1}.query-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px}.query-row>*{flex:1 1 160px;min-width:0}.query-row>.q-main{flex:2 1 220px}.query-row>.q-action{flex:0 0 auto}.query-row:has(.field-error){align-items:flex-start}.query-row:has(.field-error)>.q-action::before{content:'\00a0';display:block;font-size:.82rem;margin-bottom:6px}@media (max-width:575.98px){.query-row>*{flex:1 1 140px}.query-row>.q-main{flex:1 1 100%}.query-row>.q-action{flex:1 1 100%}.query-row>.q-action>.btn{width:100%}.query-row:has(.field-error)>.q-action::before{content:none}}.field-grid .form-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.field-grid .form-check{margin:0;min-height:38px;display:flex;align-items:center;gap:8px;padding-left:0}.field-grid .form-check .form-check-input{margin:0;float:none;flex-shrink:0}.field-grid .form-check .form-check-label{font-size:.85rem;color:var(--text-secondary)}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg-opt{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:none;border-radius:calc(var(--radius-md) - 3px);background:0 0;color:var(--text-secondary);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:var(--transition-fast);margin:0}.seg-opt:hover{color:var(--text-primary)}.seg .btn-check{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}.seg .btn-check:checked+.seg-opt{background:var(--surface-1);color:var(--accent-700);box-shadow:var(--shadow-sm)}html[data-bs-theme=dark] .seg .btn-check:checked+.seg-opt{background:var(--surface-1);color:var(--accent-300)}.seg .btn-check:focus-visible+.seg-opt{outline:2px solid var(--accent-500);outline-offset:1px}@media (pointer:coarse){.seg-opt{min-height:42px}}@media (max-width:575.98px){.seg{display:flex;width:100%}.seg-opt{flex:1 1 0;padding:0 8px}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.toolbar-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:575.98px){.toolbar-actions{width:100%}.toolbar-actions>.btn{flex:1 1 0;justify-content:center}}.table-wrap{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(to right,var(--surface-1) 40%,transparent),linear-gradient(to left,var(--surface-1) 40%,transparent) 100% 0,radial-gradient(farthest-side at 0 50%,rgb(15 23 42 / .16),transparent),radial-gradient(farthest-side at 100% 50%,rgb(15 23 42 / .16),transparent) 100% 0;background-repeat:no-repeat;background-size:44px 100%,44px 100%,15px 100%,15px 100%;background-attachment:local,local,scroll,scroll}.table-wrap-tall{max-height:min(58vh,560px)}.table-wrap>.table{margin-bottom:0}.table-wrap>.table>thead th{position:sticky;top:0;z-index:2}.table-wrap>.table>tfoot{position:sticky;bottom:0;z-index:2}.data-table{width:100%;margin-bottom:0;color:var(--text-primary);font-size:.85rem;--bs-table-bg:transparent;--bs-table-color:var(--text-primary);--bs-table-striped-bg:color-mix(in srgb, var(--accent-500) 4%, transparent);--bs-table-striped-color:var(--text-primary);--bs-table-hover-bg:color-mix(in srgb, var(--accent-500) 9%, transparent);--bs-table-hover-color:var(--text-primary);--bs-table-border-color:var(--border-default)}.data-table>thead>tr>th{background:var(--surface-2);color:var(--text-secondary);border-bottom:1px solid var(--border-default);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:10px 12px}.data-table>tbody>tr>td{padding:10px 12px;vertical-align:middle;border-color:var(--border-default)}.data-table>tfoot>tr>td{padding:10px 12px;background:var(--surface-2);border-color:var(--border-default);font-weight:700}.data-table .num,.data-table .text-end{font-variant-numeric:tabular-nums}.data-table .nowrap{white-space:nowrap}.data-table .wrap{white-space:normal;min-width:9rem;max-width:18rem}.data-table .wrap-tight{white-space:normal;min-width:0;max-width:10rem}.data-table.pin-first>tbody>tr>td:first-child,.data-table.pin-first>thead>tr>th:first-child{position:sticky;left:0;background:var(--surface-1);box-shadow:1px 0 0 var(--border-default),6px 0 8px -8px rgb(15 23 42 / .28);z-index:2}.data-table.pin-first>thead>tr>th:first-child{background:var(--surface-2);z-index:4}.data-table.pin-first>tfoot>tr>td{position:relative;z-index:3}.data-table.pin-first.table-hover>tbody>tr:hover>td:first-child{background:color-mix(in srgb,var(--accent-500) 9%,var(--surface-1))}.data-table.pin-first>tbody>tr.table-empty>td{position:static;box-shadow:none;background:0 0}.data-table .table-empty td{padding:28px 12px;text-align:center;color:var(--text-muted)}@media (max-width:767.98px){.data-table>tbody>tr>td,.data-table>tfoot>tr>td,.data-table>thead>tr>th{white-space:nowrap}.data-table>tbody>tr>td.wrap,.data-table>thead>tr>th.wrap{white-space:normal;min-width:8.5rem;max-width:13rem}.data-table>tbody>tr>td.wrap-tight,.data-table>thead>tr>th.wrap-tight{white-space:normal;min-width:0;max-width:8rem}.data-table{font-size:.8rem}.data-table>thead>tr>th{padding:9px 10px;font-size:.65rem}.data-table>tbody>tr>td,.data-table>tfoot>tr>td{padding:11px 10px}.data-table.pin-first>tbody>tr>td:first-child,.data-table.pin-first>tfoot>tr>td:first-child,.data-table.pin-first>thead>tr>th:first-child{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis}.table-wrap-tall{max-height:62vh}}.icon-btn{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:0 0;color:var(--text-muted);font-size:.85rem;line-height:1;cursor:pointer;transition:var(--transition-fast)}.icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.icon-btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.icon-btn-accent:hover{background:color-mix(in srgb,var(--accent-500) 12%,transparent);color:var(--accent-600)}.icon-btn-danger:hover{background:color-mix(in srgb,var(--error-500) 12%,transparent);color:var(--error-600)}html[data-bs-theme=dark] .icon-btn-danger:hover{color:var(--error-400)}.icon-btn.disabled,.icon-btn[disabled]{opacity:.4;cursor:not-allowed}.icon-btn.disabled:hover,.icon-btn[disabled]:hover{background:0 0;color:var(--text-muted)}.icon-btn-outline{border-color:var(--border-default);background:var(--surface-1)}@media (pointer:coarse){.icon-btn{width:44px;height:44px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;text-align:center;color:var(--text-muted)}.empty-state .ico,.empty-state>.fas{font-size:1.6rem;width:34px;height:34px;color:var(--border-strong)}.empty-state-title{font-weight:600;color:var(--text-secondary)}.empty-state p{margin:0;font-size:.85rem}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-default)}.pill-success{background:var(--success-50);color:var(--success-700);border-color:color-mix(in srgb,var(--success-500) 30%,transparent)}.pill-warning{background:var(--warning-50);color:var(--warning-700);border-color:color-mix(in srgb,var(--warning-500) 30%,transparent)}.pill-danger{background:var(--error-50);color:var(--error-700);border-color:color-mix(in srgb,var(--error-500) 30%,transparent)}html[data-bs-theme=dark] .pill-success{color:var(--success-400)}html[data-bs-theme=dark] .pill-warning{color:var(--warning-400)}html[data-bs-theme=dark] .pill-danger{color:var(--error-400)}@media print{.filter-card,.page-head-actions,.seg,.toolbar-actions{display:none!important}.table-wrap{overflow:visible!important;max-height:none!important;border:none;background:0 0}.table-wrap>.table>thead th{position:static}.table-wrap>.table>tfoot{position:static}}.pg-shell{display:flex;flex:1 1 auto;min-height:0;background:var(--surface-0)}.pg-side{width:var(--sched-sidebar-w);min-width:var(--sched-sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:18px;background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);padding:24px 16px;margin-right:var(--sched-gutter);overflow-y:auto;overflow-x:hidden}.pg-main{flex:1 1 auto;min-width:0;background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);padding:24px 28px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.content-card:has(> .pg-shell){background:0 0;border:none;box-shadow:none;padding:0}.pg-side-group{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.pg-side-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0}.pg-side-nav{display:flex;flex-direction:column;gap:2px}.pg-side-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:none;border-radius:var(--radius-md);background:0 0;color:var(--text-secondary);font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;transition:var(--transition-fast)}.pg-side-item .ico{width:17px;height:17px;flex-shrink:0}.pg-side-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-side-item:hover{background:var(--surface-2);color:var(--text-primary)}.pg-side-item.active{background:var(--accent-50);color:var(--accent-700);box-shadow:inset 3px 0 0 var(--accent-500)}html[data-bs-theme=dark] .pg-side-item.active{background:var(--surface-2);color:var(--accent-300)}.pg-side-count{flex-shrink:0;min-width:22px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:.7rem;font-weight:700;text-align:center}.pg-side-item.active .pg-side-count{background:var(--accent-100);color:var(--accent-700)}html[data-bs-theme=dark] .pg-side-item.active .pg-side-count{background:var(--surface-3);color:var(--accent-300)}.pg-side-foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.pg-side .filter-card{padding:0;border:none;background:0 0}.pg-side .field-grid,.pg-side .query-row{display:flex;flex-direction:column;gap:10px}@media (max-width:991.98px){.pg-shell{flex-direction:column}.pg-side{width:auto;min-width:0;gap:10px;padding:12px;margin:0 0 var(--sched-gutter);border:1px solid var(--border-default);overflow-y:visible}.pg-side-nav{flex-direction:row;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.pg-side-nav::-webkit-scrollbar{display:none}.pg-side-item{width:auto;flex-shrink:0;min-height:38px;border:1px solid var(--border-default)}.pg-side-item.active{box-shadow:none;border-color:var(--accent-500)}.pg-side-foot{margin-top:0;padding-top:0}.pg-side .field-grid,.pg-side .query-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}}@media (max-width:768px){.pg-main{padding:16px}.pg-side{padding:10px}}@media (max-width:576px){.pg-main{padding:14px}.pg-main,.pg-side,.ws-page .pg-side{border-left:none;border-right:none}}@media print{.pg-side{display:none!important}.pg-main,.pg-shell{background:0 0!important;border:none!important;box-shadow:none!important;padding:0!important;display:block!important;overflow:visible!important;height:auto!important;min-height:0!important}}.ws-page{display:flex;flex-direction:column;overflow:hidden}.ws-panes{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ws-pane{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ws-pane[hidden]{display:none}.ws-pane>.content-card,.ws-pane>.settings-container{padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;height:auto}.ws-pane .page-head,.ws-pane .pg-side,.ws-pane .settings-page-header{display:none!important}.ws-pane .pg-shell{display:block;background:0 0}.ws-pane .pg-main{background:0 0;border:none;box-shadow:none;padding:0;display:flex;flex-direction:column;min-height:0;height:100%}.ws-pane-loading{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:240px}.dash-actions{display:flex;flex-wrap:wrap;gap:20px}.dash-action-group{display:flex;flex-direction:column;gap:8px}.dash-action-group .d-grid{display:flex!important;flex-wrap:wrap;gap:8px}.ws-head-actions-group{display:flex;align-items:center;gap:8px}.ws-head-actions-group[hidden]{display:none}.pg-side-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:32px;padding:4px 6px 4px 4px;border:none;border-radius:var(--radius-sm);background:0 0;text-align:left;cursor:pointer}.pg-side-toggle:hover{color:var(--text-secondary);background:var(--surface-2)}.pg-side-toggle .ico{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}.pg-side-toggle[aria-expanded=true] .ico{transform:rotate(90deg)}.pg-side-group:has(.pg-side-nav[hidden]){gap:0}.ws-back{display:none;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;padding:0;border:none;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.ws-back:hover{background:var(--surface-3);color:var(--text-primary)}.ws-back .ico{width:18px;height:18px}.ws-head-main{display:flex;align-items:center;gap:12px;min-width:0}.ws-head-main>div{min-width:0}@media (max-width:575.98px){.ws-head-main h1{margin-bottom:0}}@media (max-width:991.98px){.ws-page .pg-shell{flex-direction:column}.ws-page .pg-side{width:auto;min-width:0;flex:1 1 auto;gap:18px;padding:16px;margin:0;border:1px solid var(--border-default);overflow-y:auto}.ws-page .pg-side-nav{flex-direction:column;gap:2px;overflow-x:visible}.ws-page .pg-side-item{width:100%;min-height:46px;border:none}.ws-page .pg-side-item.active{box-shadow:inset 3px 0 0 var(--accent-500);border-color:transparent}.ws-page .pg-main{display:none}.ws-page.detail-open .pg-side{display:none}.ws-page.detail-open .pg-main{display:flex}.ws-page.detail-open .ws-back{display:inline-flex}}.combo{position:relative;min-width:0;width:100%}.combo-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.combo-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:5px 10px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer;transition:var(--transition-fast)}.combo-btn:hover{border-color:var(--border-strong)}.combo-btn:focus-visible,.combo-btn[aria-expanded=true]{outline:0;border-color:var(--accent-500);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent-500) 25%,transparent)}.combo:has(> .combo-native.is-invalid)>.combo-btn{border-color:var(--bs-form-invalid-border-color)}.combo:has(> .combo-native.is-invalid)>.combo-btn:focus-visible,.combo:has(> .combo-native.is-invalid)>.combo-btn[aria-expanded=true]{box-shadow:0 0 0 .2rem color-mix(in srgb,var(--bs-form-invalid-border-color) 25%,transparent)}.combo-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.combo-btn.is-set .combo-value{color:var(--text-primary);font-weight:600}.combo-btn>.ico{flex-shrink:0;width:14px;height:14px;color:var(--text-muted)}@media (pointer:coarse){.combo-btn{min-height:44px}}.combo-panel{position:fixed;z-index:var(--z-peek);display:flex;flex-direction:column;min-height:0;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.combo-search{flex:0 0 auto;padding:8px;border-bottom:1px solid var(--border-default)}.combo-search .form-control{min-height:36px}@media (pointer:coarse){.combo-search .form-control{min-height:44px}}.combo-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px}.combo-opt{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 10px;background:0 0;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer}@media (pointer:coarse){.combo-opt{min-height:44px}}.combo-opt-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-opt.is-active,.combo-opt:hover{background:var(--surface-2)}.combo-opt.is-selected{font-weight:600}.combo-opt.is-selected>.ico{flex-shrink:0;width:14px;height:14px;color:var(--accent-600)}.combo-opt[disabled]{opacity:.45;cursor:not-allowed}.combo-empty{padding:20px 12px;text-align:center;font-size:.82rem;color:var(--text-muted)}.is-busy{cursor:progress!important}.btn.is-busy.disabled,.btn.is-busy:disabled{opacity:.9}.icon-btn.is-busy.disabled,.icon-btn.is-busy[disabled]{opacity:1}.dp-row-del.is-busy{opacity:1}.is-busy>.ico{display:none}.btn-spin{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.18em;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spectra-btn-spin .7s linear infinite}.btn-spin-solo{width:1em;height:1em;margin-right:.5em;vertical-align:-.14em}@keyframes spectra-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spin{animation:none;opacity:.6}}.field-error{margin-top:4px;font-size:.8rem;line-height:1.35;color:var(--error-600)}html[data-bs-theme=dark] .field-error{color:var(--error-400)}