:root{--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-surface-soft: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #cbd5e1;--color-border-soft: #e5e7eb;--color-primary: #2563eb;--color-primary-contrast: #ffffff;--color-create: #166534;--color-create-hover: #14532d;--color-create-contrast: #ffffff;--shadow-create-focus-ring: 0 0 0 3px rgba(22, 101, 52, .18);--color-secondary: #475569;--color-secondary-contrast: #ffffff;--color-danger: #dc2626;--color-danger-text: #991b1b;--color-danger-surface: #fee2e2;--color-danger-surface-soft: #fff7f7;--color-success-text: #166534;--color-success-surface: #dcfce7;--color-warning-text: #92400e;--color-warning-surface: #fef3c7;--color-info-text: #1d4ed8;--color-info-surface: #dbeafe;--color-progress-track: #f8fafc;--color-progress-fill: #cbd5e1;--color-backdrop: rgba(10, 16, 24, .66);--color-backdrop-strong: rgba(0, 0, 0, .7);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-round: 999px;--control-height: 40px;--control-height-sm: 34px;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .12);--shadow-control: 0px 2px 20px rgba(0, 0, 0, .1);--shadow-popover: 0 16px 36px rgba(15, 23, 42, .16);--shadow-modal: 0 20px 48px rgba(10, 16, 24, .26);--shadow-drawer: -12px 0 32px rgba(10, 16, 24, .22);--shadow-focus-ring: 0 0 0 3px rgba(37, 99, 235, .16);--z-dropdown: 100;--z-modal-close: 10;--z-overlay: 400;--z-backdrop: 500;--z-modal: 700;--z-route-modal: 1000;--transition-fast: .16s ease;--app-shell-topbar-height: 64px;--app-shell-sidebar-width: 272px;--app-shell-sidebar-collapsed-width: 72px;--app-shell-search-max-width: 560px;--color-navigation-surface: #0f172a;--color-navigation-surface-hover: #334155;--color-navigation-surface-active: #1d4ed8;--color-navigation-text: #f8fafc;--color-navigation-text-muted: #cbd5e1;--color-navigation-border: rgba(203, 213, 225, .2);--color-navigation-danger-text: #fecaca;--color-navigation-danger-hover: rgba(220, 38, 38, .18)}body{margin:0;padding:0}.app-internal-page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--internal-layout-padding, 20px);align-content:start;align-items:start;width:100%;min-width:0;padding:var(--internal-layout-padding, 20px);box-sizing:border-box}.grid{display:grid;min-width:0}.grid-align-top{align-content:start;align-items:start}.grid-1{grid-template-columns:minmax(0,1fr)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}@media(max-width:760px){.sm-grid-1{grid-template-columns:minmax(0,1fr)}}@media(min-width:761px)and (max-width:1120px){.md-grid-1{grid-template-columns:minmax(0,1fr)}.md-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:var(--z-route-modal);transform:translateY(calc(-100% - var(--space-lg)));border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);color:var(--color-primary-contrast);background:var(--color-primary);font-weight:700;transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.is-application-scroll-locked{overflow:hidden;overscroll-behavior:none}.surface{color:var(--color-text);background:var(--color-surface)}.surface-muted{background:var(--color-surface-muted)}.surface-soft{background:var(--color-surface-soft)}.surface-card{display:grid;gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.surface-section,.surface-panel{display:grid;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface)}.surface-panel-soft{display:grid;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-soft)}.surface-filter{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-start;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.surface-head{display:flex;gap:var(--space-md);align-items:center;justify-content:space-between}.surface-head h1,.surface-head h2,.surface-head h3,.surface-head p,.surface-section h1,.surface-section h2,.surface-section h3,.surface-panel h1,.surface-panel h2,.surface-panel h3,.surface-panel p{margin:0}.surface-head p,.surface-section p,.surface-panel p{margin-top:var(--space-xs);color:var(--color-text-muted)}.surface-raised,.shadow-soft{box-shadow:var(--shadow-soft)}.reg-shadow,.shadow-control{box-shadow:var(--shadow-control)}.radius-md{border-radius:var(--radius-md)}@media(max-width:760px){.surface-card{padding:var(--space-md)}.surface-head{align-items:flex-start;flex-direction:column}}.btn{display:inline-flex;gap:var(--space-sm);align-items:center;justify-content:center;min-height:36px;max-width:100%;border:1px solid transparent;border-radius:var(--radius-md);padding:8px 12px;font:inherit;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn-disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:32px;padding:6px 10px;font-size:.875rem}.btn-xs{min-height:28px;padding:4px 8px;font-size:.8125rem}.btn-lg{min-height:46px;padding:12px 18px;font-size:1rem}.btn-primary{color:var(--color-primary-contrast);background:var(--color-primary)}.btn-create{box-sizing:content-box;border-color:var(--color-create);color:var(--color-create-contrast);background:var(--color-create);white-space:nowrap}.btn-create:hover:not(:disabled):not(.btn-disabled){border-color:var(--color-create-hover);background:var(--color-create-hover)}.btn-create:focus-visible{outline-color:var(--color-create);box-shadow:var(--shadow-create-focus-ring)}.btn-secondary{color:var(--color-secondary-contrast);background:var(--color-secondary)}.btn-ghost{color:var(--color-secondary);background:var(--color-surface-soft)}.btn-contrast-border{border-color:var(--color-border)}.btn-danger{color:var(--color-primary-contrast);background:var(--color-danger)}.btn-block{width:100%}.btn-icon{width:32px;min-width:32px;padding:0}.btn-fit{width:auto;min-width:28px;padding-inline:var(--space-sm)}.btn-nowrap{white-space:nowrap}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.field,.field-stack{display:grid;gap:var(--space-sm);align-content:start;align-items:start}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.field-label{color:var(--color-text-muted);font-size:.8125rem;font-weight:700}.field-label b,.field-required{color:var(--color-danger)}.form-card{display:grid;gap:var(--space-lg)}.form-sections{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-content:start;align-items:start;min-width:0}.form-leading-actions{align-items:flex-start}.form-leading-actions~.form-sections{margin-block-start:var(--space-md)}.form-head h1,.form-head h2,.form-head h3,.form-head p,.form-section h1,.form-section h2,.form-section h3{margin:0}.form-head h1,.form-head h2,.form-head h3,.form-section h1,.form-section h2,.form-section h3{display:flex;gap:var(--space-sm);align-items:center}.form-head p{margin-top:var(--space-xs);color:var(--color-text-muted)}.form-section{display:grid;gap:var(--space-md);align-content:start;align-items:start;padding:var(--space-lg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface)}.filter-grid,.form-grid,.filter-grid-row,.form-grid-row{display:grid;gap:var(--space-md);align-content:start;align-items:start;min-width:0}.filter-grid-checks{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-start;width:100%}.field-hint{color:var(--color-text-muted);font-size:.8125rem}.field-error{color:var(--color-danger-text);font-size:.8125rem;font-weight:600}.control{width:100%;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-control);box-sizing:border-box;font:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.control:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--shadow-control),var(--shadow-focus-ring)}.control-invalid{border-color:var(--color-danger);background:var(--color-danger-surface-soft)}.control-sm{min-height:var(--control-height-sm);padding:8px 10px;font-size:.875rem}.control-lg{padding:12px 14px;font-size:1rem}input.control[type=date]{height:var(--control-height);padding-block:0}input.control-sm[type=date]{height:var(--control-height-sm)}textarea.control-auto-grow{min-height:var(--control-height);height:auto;overflow:hidden;resize:none;field-sizing:content;white-space:pre-wrap;word-break:break-word}textarea.control-sm.control-auto-grow{min-height:var(--control-height-sm)}textarea.control-auto-grow-line-compact{line-height:1.35}textarea.control-auto-grow-max-10-lines{max-height:calc(13.5em + 22px);overflow-y:auto}textarea.control-sm.control-auto-grow-max-10-lines{max-height:calc(13.5em + 18px)}textarea.control-auto-grow-max{max-height:calc(var(--control-height) * 6);overflow:auto}.checkbox,.radio{display:inline-flex;gap:var(--space-sm);align-items:center;color:var(--color-text);font-weight:700}.checkbox input,.radio input{accent-color:var(--color-primary)}.radio-group{display:flex;flex-wrap:wrap;gap:var(--space-md)}.radio-card{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-soft);box-shadow:var(--shadow-control);cursor:pointer;font-weight:700;line-height:1.2;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.radio-card:hover{border-color:var(--color-primary);background:var(--color-surface)}.radio-card:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-control),var(--shadow-focus-ring)}.radio-card:has(input:checked){border-color:var(--color-primary);background:var(--color-info-surface)}.radio-card:has(input:disabled){cursor:not-allowed;opacity:.65}.radio-card input{flex:0 0 auto;margin:0;accent-color:var(--color-primary)}.form-action-attempt{display:inline-flex;max-width:100%}.form-action-attempt:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}.form-action-attempt-disabled{cursor:not-allowed}.form-action-attempt-disabled>.btn:disabled{pointer-events:none}.ms-chip{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs);align-items:center;max-width:100%;padding:5px 8px;color:var(--color-text);font-size:.8125rem;line-height:1.25;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-control);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ms-chip:hover{background:var(--color-surface)}.ms-chip:focus-visible{outline:0;box-shadow:var(--shadow-focus-ring)}.ms-chip-main,.ms-chip-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-chip-main{font-weight:700}.ms-chip-detail{grid-column:1/-1;color:var(--color-text-muted);font-size:.75rem}.ms-chip-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--space-xs);color:var(--color-text-muted)}.ms-chip-toggle{display:inline-flex;grid-template-columns:none;gap:var(--space-xs);justify-content:center;min-width:34px;min-height:0;padding:5px 8px;border-style:dashed;font:inherit;font-size:.8125rem;font-weight:800;line-height:1.25;cursor:pointer}.ms-chip-toggle-expand{border-color:var(--color-success-text);color:var(--color-success-text);background:var(--color-success-surface)}.ms-chip-toggle-collapse{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-surface-soft)}.ms-chip-toggle-expand fa-icon,.ms-chip-toggle-collapse fa-icon,.ms-chip-toggle-count{color:currentColor}.alert{display:block;width:fit-content;max-width:100%;border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-md) 14px;box-sizing:border-box;font-weight:700;line-height:1.35;justify-self:start;overflow-wrap:anywhere}.alert-info{border-color:var(--color-info-surface);color:var(--color-info-text);background:var(--color-info-surface)}.alert-success{border-color:var(--color-success-surface);color:var(--color-success-text);background:var(--color-success-surface)}.alert-warning{border-color:var(--color-warning-surface);color:var(--color-warning-text);background:var(--color-warning-surface)}.alert-danger{border-color:var(--color-danger-surface);color:var(--color-danger-text);background:var(--color-danger-surface)}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;border-radius:var(--radius-round);padding:2px var(--space-sm);color:var(--color-secondary-contrast);background:var(--color-secondary);font-size:.75rem;font-weight:700;line-height:1;white-space:nowrap}.badge-success{color:var(--color-success-text);background:var(--color-success-surface)}.badge-warning{color:var(--color-warning-text);background:var(--color-warning-surface)}.badge-danger{color:var(--color-danger-text);background:var(--color-danger-surface)}.empty-state{display:grid;justify-items:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--color-text-muted);text-align:center}.empty-state p{margin:0}.table-wrap{position:relative;overflow:auto;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface)}.table{width:100%;border-collapse:collapse}.table-fixed{table-layout:fixed}.table th,.table td{padding:var(--space-md);border-bottom:1px solid var(--color-border-soft);text-align:left;vertical-align:top}.table th{color:var(--color-text-muted);background:var(--color-surface-soft);font-size:.75rem;font-weight:800;text-transform:uppercase;vertical-align:middle}.table-sm th,.table-sm td{padding:var(--space-sm)}.table-hover tbody tr:hover td{background:var(--color-surface-soft)}.table-no-last-row-border tbody tr:last-child td{border-bottom:0}.table-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-icon-text-left,.table-icon-text-right{display:inline-flex;gap:var(--space-xs);align-items:center;max-width:100%;vertical-align:middle}.table-icon-text-left{text-align:left}.table-icon-text-right{text-align:right}.table-pagination,.pagination-row{display:flex;gap:var(--space-md);align-items:center;justify-content:center}.modal-panel{--modal-shell-padding: var(--internal-layout-padding, var(--space-lg));position:relative;z-index:var(--z-modal);overflow:auto;background:var(--color-surface)}.modal-panel-centered{width:min(720px,100vw - 32px);height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto;box-shadow:var(--shadow-modal)}.modal-panel-drawer{width:min(1120px,100%);height:100vh;height:100dvh;margin-left:auto;background:var(--color-surface-muted);box-shadow:var(--shadow-drawer)}.modal-panel-full{width:100vw;height:100vh;height:100dvh;max-height:100vh;overflow-x:hidden;overflow-y:auto;background:var(--color-surface-muted);box-shadow:var(--shadow-modal)}.modal-panel-floating-close{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}.modal-panel-floating-close>.modal-close,.modal-panel-floating-close>.modal-body{grid-column:1;grid-row:1}.modal-close{position:sticky;top:var(--modal-shell-padding, var(--internal-layout-padding, var(--space-lg)));right:auto;bottom:auto;left:auto;z-index:var(--z-modal-close);align-self:start;justify-self:end;margin:0}.modal-close-button{border-color:var(--color-border)}.modal-panel-floating-close>.modal-close{margin-right:var(--modal-shell-padding, var(--internal-layout-padding, var(--space-lg)))}.modal-body{display:grid;gap:var(--space-lg);min-width:0;padding:var(--modal-shell-padding, var(--internal-layout-padding, var(--space-lg)));overflow:visible;align-self:start;align-content:start}.modal-stack{display:grid;gap:var(--space-xl);min-width:0}@media(max-width:760px){.modal-panel{--modal-shell-padding: var(--internal-layout-padding, var(--space-md))}.modal-panel-centered{width:100vw;height:100vh;height:100dvh;max-height:100vh}.modal-body{padding:var(--modal-shell-padding, var(--internal-layout-padding, var(--space-md)))}}.application-shell{--application-shell-sidebar-current-width: var(--app-shell-sidebar-width);display:grid;grid-template-areas:"topbar topbar" "sidebar content";grid-template-columns:var(--application-shell-sidebar-current-width) minmax(0,1fr);grid-template-rows:var(--app-shell-topbar-height) minmax(0,1fr);min-width:0;min-height:100vh;min-height:100dvh;color:var(--color-text);background:var(--color-surface-muted)}.application-shell.is-sidebar-collapsed{--application-shell-sidebar-current-width: var(--app-shell-sidebar-collapsed-width)}.application-topbar{grid-area:topbar;position:sticky;top:0;z-index:var(--z-dropdown);min-width:0;min-height:var(--app-shell-topbar-height);border-bottom:1px solid var(--color-border-soft);background:var(--color-surface)}.application-sidebar{grid-area:sidebar;position:sticky;top:var(--app-shell-topbar-height);z-index:calc(var(--z-dropdown) - 1);display:flex;flex-direction:column;width:var(--application-shell-sidebar-current-width);height:calc(100vh - var(--app-shell-topbar-height));height:calc(100dvh - var(--app-shell-topbar-height));min-width:0;overflow:hidden;color:var(--color-navigation-text);background:var(--color-navigation-surface);transition:transform var(--transition-fast)}.application-content{grid-area:content;min-width:0;padding:0;outline:none}.application-sidebar-backdrop{position:fixed;inset:0;z-index:var(--z-overlay);display:block;border:0;padding:0;opacity:0;pointer-events:none;background:var(--color-backdrop);transition:opacity var(--transition-fast)}@media(max-width:760px){.application-shell,.application-shell.is-sidebar-collapsed{--application-shell-sidebar-current-width: min(320px, calc(100vw - 48px) );grid-template-areas:"topbar" "content";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.application-sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-modal);height:100vh;height:100dvh;transform:translate(-100%);visibility:hidden;box-shadow:var(--shadow-drawer)}.application-shell.is-mobile-navigation-open .application-sidebar{transform:translate(0);visibility:visible}.application-shell.is-mobile-navigation-open .application-sidebar-backdrop{opacity:1;pointer-events:auto}.application-content{padding:0}}@media(prefers-reduced-motion:reduce){.application-shell,.application-sidebar,.application-sidebar-backdrop{transition-duration:.01ms}}
