*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-left-3{left:.75rem}.tw-right-2{right:.5rem}.tw-right-3{right:.75rem}.tw-top-1{top:.25rem}.tw-top-1\/2{top:50%}.tw-mx-auto{margin-left:auto;margin-right:auto}.tw-my-4{margin-top:1rem;margin-bottom:1rem}.tw-my-5{margin-top:1.25rem;margin-bottom:1.25rem}.tw-mb-1{margin-bottom:.25rem}.tw-mb-2{margin-bottom:.5rem}.tw-mb-3{margin-bottom:.75rem}.tw-mb-4{margin-bottom:1rem}.tw-mb-6{margin-bottom:1.5rem}.tw-mt-1{margin-top:.25rem}.tw-mt-3{margin-top:.75rem}.tw-mt-4{margin-top:1rem}.tw-mt-5{margin-top:1.25rem}.tw-mt-6{margin-top:1.5rem}.tw-block{display:block}.tw-flex{display:flex}.tw-grid{display:grid}.tw-h-5{height:1.25rem}.tw-h-screen{height:100vh}.tw-min-h-screen{min-height:100vh}.tw-w-20{width:5rem}.tw-w-24{width:6rem}.tw-w-4\/5{width:80%}.tw-w-5{width:1.25rem}.tw-w-full{width:100%}.tw-max-w-2xl{max-width:42rem}.tw-max-w-\[350px\]{max-width:350px}.tw-max-w-md{max-width:28rem}.tw-max-w-sm{max-width:24rem}.tw-flex-grow{flex-grow:1}.-tw-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-animate-\[slide-in_200ms_ease-out\]{animation:.2s ease-out slide-in}.tw-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw-flex-col{flex-direction:column}.tw-flex-wrap{flex-wrap:wrap}.tw-items-center{align-items:center}.tw-justify-center{justify-content:center}.tw-justify-between{justify-content:space-between}.tw-gap-3{gap:.75rem}.tw-gap-4{gap:1rem}.tw-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.tw-rounded{border-radius:.25rem}.tw-rounded-lg{border-radius:.5rem}.tw-rounded-md{border-radius:.375rem}.tw-border{border-width:1px}.tw-border-t{border-top-width:1px}.tw-border-\[color\:var\(--border-color\)\]{border-color:var(--border-color)}.tw-border-\[color\:var\(--border-subtle\)\]{border-color:var(--border-subtle)}.tw-border-\[color\:var\(--success-bg\)\]{border-color:var(--success-bg)}.tw-bg-\[color\:var\(--readonly-bg\)\]{background-color:var(--readonly-bg)}.tw-bg-\[color\:var\(--success-bg\)\]{background-color:var(--success-bg)}.tw-bg-\[color\:var\(--surface\)\]{background-color:var(--surface)}.tw-bg-brand{background-color:var(--primary-color)}.tw-bg-opacity-50{--tw-bg-opacity:.5}.tw-bg-cover{background-size:cover}.tw-bg-center{background-position:50%}.tw-p-2{padding:.5rem}.tw-p-3{padding:.75rem}.tw-p-4{padding:1rem}.tw-p-8{padding:2rem}.tw-px-3{padding-left:.75rem;padding-right:.75rem}.tw-px-4{padding-left:1rem;padding-right:1rem}.tw-px-5{padding-left:1.25rem;padding-right:1.25rem}.tw-px-6{padding-left:1.5rem;padding-right:1.5rem}.tw-py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-py-3{padding-top:.75rem;padding-bottom:.75rem}.tw-py-8{padding-top:2rem;padding-bottom:2rem}.tw-pb-2\.5{padding-bottom:.625rem}.tw-pr-10{padding-right:2.5rem}.tw-pr-12{padding-right:3rem}.tw-pt-4{padding-top:1rem}.tw-pt-6{padding-top:1.5rem}.tw-text-center{text-align:center}.tw-text-sm{font-size:.875rem;line-height:1.25rem}.tw-text-xl{font-size:1.25rem;line-height:1.75rem}.tw-text-xs{font-size:.75rem;line-height:1rem}.tw-font-medium{font-weight:500}.tw-font-semibold{font-weight:600}.tw-text-\[color\:var\(--danger-text\)\]{color:var(--danger-text)}.tw-text-\[color\:var\(--success\)\]{color:var(--success)}.tw-text-\[color\:var\(--text-color\)\]{color:var(--text-color)}.tw-text-\[color\:var\(--text-muted\)\]{color:var(--text-muted)}.tw-text-\[color\:var\(--text-subtle\)\]{color:var(--text-subtle)}.tw-text-brand{color:var(--primary-color)}.tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.tw-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.tw-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.tw-outline-none{outline-offset:2px;outline:2px solid #0000}.tw-duration-200{transition-duration:.2s}.tw-duration-300{transition-duration:.3s}:root{--primary-color:#b22626;--hover-color:#8e1e1e;--primary-tint:#b226260f;--primary-wash:#b226260d;--secondary-color:#deacac;--font-sans:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--background-color:#f1f5f9;--canvas:#f8fafc;--surface:#fff;--readonly-bg:#f1f5f9;--text-color:#0f172a;--text-muted:#475569;--text-subtle:#64748b;--border-color:#cbd5e1;--border-subtle:#e2e8f0;--danger:#dc2626;--danger-text:#b91c1c;--danger-bg:#fee2e2;--success:#15803d;--success-bg:#dcfce7;--warning:#a16207;--warning-bg:#fef9c3;--warning-text:#854d0e;--info:#1e40af;--info-bg:#eff6ff;--info-border:#bfdbfe;--text-2xs:.72rem;--text-xs:.8rem;--text-sm:.875rem;--text-base:.95rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-page:1.5rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-focus:0 0 0 3px var(--primary-tint);--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:12px;--radius-pill:999px;--break-mobile:768px;--field-padding:8px 12px;--field-height:40px;--field-font-size:.9rem;--transition:.2s}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}.reveal{animation:.2s ease-out fade-in}@keyframes landed{0%{background-color:color-mix(in srgb, var(--primary-color) 12%, transparent)}}.just-added{animation:1s ease-out landed}.toast-undo{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.toast-undo button{padding:var(--space-1) var(--space-2);font:inherit;color:var(--primary-color);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;font-weight:600}.toast-undo button:hover{background:var(--primary-wash)}@supports (appearance:base-select){:where(select){appearance:base-select;background-color:var(--surface);color:inherit}:where(select)::picker-icon{transition:rotate .2s ease-out}:where(select):open::picker-icon{rotate:180deg}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary-color);color:#fff;border-radius:0 0 var(--radius) 0;font-size:var(--text-sm);padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.page-navbar{background:var(--surface);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--primary-tint);z-index:100;padding:.75rem 0;position:sticky;top:0}.page-navbar .nav-container{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.page-navbar .nav-left{align-items:center;gap:.85rem;min-width:0;display:flex}.page-navbar .nav-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.page-navbar .nav-logo-link{align-items:center;display:flex}.page-navbar .nav-logo{width:auto;height:36px}.page-navbar .nav-title{font-size:var(--text-xl);color:var(--text-color);letter-spacing:-.01em;margin:0;font-weight:600}@media (width<=768px){.page-navbar .nav-title{font-size:var(--text-md)}.page-navbar .nav-logo{height:30px}}.page-navbar .back-button{color:var(--primary-color);font-size:var(--text-base);cursor:pointer;border-radius:var(--radius);transition:background-color var(--transition) ease, color var(--transition) ease;background:0 0;border:none;align-items:center;padding:.5rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.page-navbar .back-button:hover{background:var(--primary-wash);color:var(--hover-color);text-decoration:none}.page-navbar .nav-home-link{color:var(--primary-color);font-weight:600;font-size:var(--text-base);border-radius:var(--radius);transition:background-color var(--transition) ease, color var(--transition) ease;padding:.5rem 1.25rem;text-decoration:none;display:inline-block}.page-navbar .nav-home-link:hover{background:var(--primary-wash);color:var(--hover-color);text-decoration:none}.invalid\:tw-border-\[color\:var\(--danger\)\]:invalid{border-color:var(--danger)}.hover\:tw-border-\[color\:var\(--text-subtle\)\]:hover{border-color:var(--text-subtle)}.hover\:tw-bg-\[color\:var\(--canvas\)\]:hover{background-color:var(--canvas)}.hover\:tw-bg-brand-hover:hover{background-color:var(--hover-color)}.hover\:tw-text-\[color\:var\(--text-color\)\]:hover{color:var(--text-color)}.hover\:tw-text-brand:hover{color:var(--primary-color)}.hover\:tw-underline:hover{text-decoration-line:underline}.focus\:tw-border-brand:focus{border-color:var(--primary-color)}.focus\:tw-outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:tw-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:tw-ring-brand:focus{--tw-ring-color:var(--primary-color)}.tw-peer:placeholder-shown~.peer-placeholder-shown\:tw-top-4{top:1rem}.tw-peer:placeholder-shown~.peer-placeholder-shown\:tw-scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-peer:focus~.peer-focus\:tw-left-3{left:.75rem}.tw-peer:focus~.peer-focus\:tw-top-1{top:.25rem}.tw-peer:focus~.peer-focus\:tw-scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (width>=640px){.sm\:tw-col-span-2{grid-column:span 2/span 2}.sm\:tw-w-20{width:5rem}.sm\:tw-max-w-sm{max-width:24rem}.sm\:tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:tw-p-6{padding:1.5rem}}.page{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.page-header{gap:var(--space-4);flex-direction:column;display:flex}.page-header-main{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.page-header-text{flex:20rem;min-width:0}.page-title{font-size:var(--text-page);letter-spacing:-.01em;color:var(--text-color);margin:0;font-weight:600;line-height:1.3}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-1) 0 0;max-width:75ch}.page-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.page-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.page-header .tabs{margin-bottom:0}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-5);scrollbar-width:thin;display:flex;overflow-x:auto}.page>.tabs{margin-bottom:0}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;font-family:inherit;font-weight:500;position:relative}.tab:hover{color:var(--text-color)}.tab.active{color:var(--primary-color);font-weight:600}.tab.active:after{content:"";background:var(--primary-color);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);min-height:64px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);box-sizing:border-box;flex-wrap:wrap;display:flex}.panel-head-text{min-width:0}.panel-title{font-size:var(--text-md);color:var(--text-color);margin:0;font-weight:600}.panel-description{font-size:var(--text-xs);color:var(--text-muted);max-width:75ch;margin:2px 0 0}.panel-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.panel-body{padding:var(--space-5)}.panel--flush>.panel-body{padding:0}.panel-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.panel-section{padding:var(--space-5)}.panel-body:has(>.panel-section){padding:0}.panel-section+.panel-section{border-top:1px solid var(--border-subtle)}.panel-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.panel-section-title{font-size:var(--text-base);color:var(--text-color);margin:0;font-weight:600}.panel-section-description{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0}.panel-columns{gap:var(--space-5);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.panel-stack{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.facts{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0;display:grid}.facts dt{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.facts dd{color:var(--text-color);overflow-wrap:anywhere;margin:0;font-weight:500}.kv{margin:0}.kv>div{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);display:flex}.kv>div:first-child{padding-top:0}.kv>div:last-child{border-bottom:none;padding-bottom:0}.kv dt{color:var(--text-muted)}.kv dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.form-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.form-actions-secondary{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.panel>.form-actions{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle)}.status-notice,.empty-state{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--canvas);color:var(--text-muted);font-size:var(--text-sm);text-align:left;display:flex}.status-notice--error,.status-notice--info,.status-notice--warning{animation:.2s ease-out slide-in}.status-notice-icon{flex-shrink:0;margin-top:3px}.status-notice-body{min-width:0}.status-notice-title{color:var(--text-color);margin:0 0 2px;font-weight:600;display:block}.status-notice-text{margin:0}.status-notice-action{margin-top:var(--space-3)}.status-notice--empty,.empty-state{text-align:center;padding:var(--space-7) var(--space-5);flex-direction:column;align-items:center}.status-notice--empty .status-notice-icon{font-size:var(--text-xl);color:var(--text-subtle);margin:0}.status-notice--error{background:var(--danger-bg);border-color:#fecaca}.status-notice--error .status-notice-icon{color:var(--danger-text)}.status-notice--info{background:var(--info-bg);border-color:var(--info-border)}.status-notice--info .status-notice-icon{color:var(--info)}.status-notice--warning{background:var(--warning-bg);border-color:#fde68a}.status-notice--warning .status-notice-icon{color:var(--warning-text)}.load-error{text-align:center;padding:var(--space-7) var(--space-5);flex-direction:column;align-items:center}.load-error p{margin:0 0 var(--space-3);color:var(--text-color)}.status-notice--loading{display:block}.skeleton-line{border-radius:var(--radius-sm);background:var(--border-subtle);height:12px}.skeleton-line+.skeleton-line{margin-top:10px}.skeleton-line:first-child{width:40%}.skeleton-line:nth-child(3){width:75%}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.section-heading{font-size:var(--text-md);color:var(--text-color);margin:0 0 var(--space-3);font-weight:600}.modal-title{font-size:var(--text-xl);color:var(--text-color);margin:0 0 1rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex}.csv-import-section{margin-bottom:1.25rem}.csv-import-heading{font-size:var(--text-sm);color:var(--text-color);margin:0 0 var(--space-2);font-weight:600}.csv-import-columns{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.csv-import-columns li{font-size:var(--text-xs);border:1px solid var(--border-color);border-radius:var(--radius);background:var(--canvas);color:var(--text-muted);padding:.2rem .5rem}.csv-import-columns li.is-required{color:var(--text-color);border-color:var(--text-muted);background:var(--surface);font-weight:600}.csv-import-columns li.is-required:after{content:"*";margin-left:.15rem}.csv-import-note{font-size:var(--text-xs);color:var(--text-muted);margin:.5rem 0 0}.csv-import-rules{font-size:var(--text-sm);margin:0;padding-left:1.1rem;line-height:1.5}.csv-import-rules li+li{margin-top:.25rem}.csv-import-file{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.csv-import-input{border:1px solid var(--border-color);border-radius:var(--radius);font-size:var(--text-sm);cursor:pointer;flex:16rem;padding:.5rem}.csv-import-preview{border:1px solid var(--border-color);border-radius:var(--radius);max-height:400px;margin-bottom:1rem;overflow-y:auto}.csv-import-preview-head{background:var(--canvas);border-bottom:1px solid var(--border-color);font-weight:600;font-size:var(--text-sm);padding:.75rem}.csv-import-empty{color:var(--text-muted);font-style:italic}.csv-import-progress{margin-bottom:1rem}.csv-import-progress-head{font-size:var(--text-sm);justify-content:space-between;margin-bottom:.5rem;font-weight:600;display:flex}.csv-import-progress-track{background:var(--border-subtle);border-radius:var(--radius-sm);width:100%;height:8px;overflow:hidden}.csv-import-progress-bar{background:var(--primary-color);height:100%;transition:width .2s ease-out}.csv-preview-wrap{overflow-x:auto}.csv-preview{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.csv-preview th,.csv-preview td{border:1px solid var(--border-color);text-align:left;padding:.5rem}.csv-preview th{background:var(--canvas);white-space:nowrap;font-weight:600}.csv-preview tbody tr:nth-child(2n){background:var(--canvas)}.csv-rownum{border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem;font-weight:500}.csv-preview-pick{cursor:pointer;font-weight:inherit;align-items:center;gap:8px;display:flex}.csv-preview-skipped{color:var(--text-muted);background:var(--canvas);text-decoration:line-through}.csv-import-linkish{color:var(--primary-color);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field-stack{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.modal-note{background:var(--primary-wash);border:1px solid color-mix(in srgb, var(--primary-color) 15%, transparent);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:1rem;padding:.85rem 1rem}.modal-content .input-field,.modal-content select,.modal-content .react-datepicker-wrapper{box-sizing:border-box;width:100%}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.35rem;font-weight:500;line-height:1.5;display:inline-flex}.badge--neutral{color:#374151;background:#f3f4f6}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--danger-bg);color:var(--danger-text)}.badge--info{background:var(--info-bg);color:var(--info)}.badge--blue{color:#1e40af;background:#dbeafe}.badge--purple{color:#9d174d;background:#fce7f3}.badge--accent{background:var(--primary-wash);color:var(--primary-color)}.viewing-scholar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:var(--radius);background:var(--primary-wash);font-size:var(--text-sm);color:var(--text-muted);display:flex}.viewing-scholar strong{color:var(--text-color)}.data-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);position:relative;overflow-x:auto}.panel .data-table-wrap{border:none;border-radius:0}.data-table,.form-table,.custom-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.form-table th,.custom-table thead th{background:var(--canvas);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap;font-weight:500}.data-table th:first-letter,.form-table th:first-letter,.custom-table thead th:first-letter{text-transform:uppercase}.data-table td,.form-table td,.custom-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-color);text-align:left;vertical-align:middle}.data-table tbody tr:last-child td,.form-table tbody tr:last-child td,.custom-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover,.form-table tr:hover,.custom-table tr:hover{background:var(--canvas)}.data-table a,.form-table a,.custom-table a{color:var(--primary-color)}.row-link{cursor:pointer;transition:background .15s}.row-link:hover{background:var(--primary-wash)!important}.row-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.row-go{width:1%;color:var(--text-subtle);text-align:right!important}.row-go i{transition:transform .15s}.row-link:hover .row-go,.row-link:focus-visible .row-go{color:var(--primary-color)}.row-link:hover .row-go i{transform:translate(3px)}.cell-link{font:inherit;text-align:left;color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.cell-link:hover,.cell-link:focus-visible{text-decoration:underline}.icon-action{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:4px}.icon-action+.icon-action{margin-left:8px}.icon-action:hover{background:var(--primary-wash)}td:has(>.icon-action){white-space:nowrap;width:1%}.row-actions-inline{white-space:nowrap;gap:6px;display:flex}.row-action-btn{border-radius:var(--radius);font-family:inherit;font-size:var(--text-xs);cursor:pointer;background:var(--surface);color:var(--success);border:1px solid var(--success);align-items:center;gap:6px;padding:5px 12px;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.row-action-btn:hover{background:var(--success-bg)}.row-action-btn.danger{color:var(--danger-text);border-color:var(--danger)}.row-action-btn.danger:hover{background:var(--danger-bg)}.row-actions{display:inline-block;position:relative}.row-actions-trigger{border-radius:var(--radius);width:32px;height:32px;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;background:0 0;border:none;place-items:center;transition:background-color .15s,color .15s;display:grid}.row-actions-trigger:hover{background:var(--primary-wash);color:var(--primary-color)}.row-actions-menu{z-index:50;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);flex-direction:column;gap:1px;padding:6px;animation:.15s ease-out menu-in;display:flex;position:fixed}.row-actions-menu.is-closing{pointer-events:none;animation:.1s ease-out forwards menu-out}@keyframes menu-in{0%{opacity:0;transform:scale(.95)}}@keyframes menu-out{to{opacity:0;transform:scale(.95)}}.row-actions-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--text-color);white-space:nowrap;background:0 0;border:none;align-items:center;gap:11px;padding:9px 12px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.row-actions-item:hover{background:var(--primary-wash);color:var(--primary-color)}.row-actions-item .ra-icon{width:18px;font-size:var(--text-sm);justify-content:center;display:flex}.row-actions-item.danger{color:var(--danger-text);border-top:1px solid var(--border-subtle);margin-top:3px;padding-top:11px}.row-actions-item.danger:hover{background:var(--danger-bg)}.no-data-row{text-align:center}.no-data-cell{color:var(--text-muted);padding:var(--space-7) var(--space-5)!important;text-align:center!important}.form-list-container{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background-color:var(--surface);overflow-x:auto}.selected-row{background-color:var(--primary-wash)}.table-bottom{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);box-sizing:border-box;font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.rows-per-page{align-items:center;gap:var(--space-2);display:flex}.rows-per-page select{font:inherit;color:var(--text-color);padding:4px var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface)}.pagination{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.pagination button{height:32px;padding:0 var(--space-3);background-color:var(--surface);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);font:inherit;cursor:pointer;font-weight:500}.pagination button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.top-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.form-container{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:0}.form-container>:not(.panel-section):not(.form-step){margin:var(--space-5)}.form-step-pending{font-size:var(--text-sm);color:var(--text-muted);margin:0}.form-note{padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);font-size:var(--text-sm);max-width:70ch;margin:0}.page-back-link{color:var(--text-muted);font-family:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-weight:500;display:flex}.page-back-link:hover{color:var(--primary-color)}.inline-add-btn{background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:var(--radius);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:600;display:flex}.inline-add-btn:hover{background:var(--primary-wash)}.inline-add-btn--sm{font-size:var(--text-2xs);margin-left:.5rem;padding:.25rem .6rem}.inline-add-btn--sm:disabled{opacity:.4;cursor:default}@media (width<=768px){.page{gap:var(--space-4)}.page-header-main{align-items:stretch;gap:var(--space-3);flex-direction:column}.page-header-text{flex:none}.page-actions{justify-content:flex-start}.panel-columns{grid-template-columns:1fr}.panel-head,.panel-foot,.table-bottom{padding-left:var(--space-4);padding-right:var(--space-4)}.panel-body,.panel-section{padding:var(--space-4)}.page-actions{flex-wrap:wrap}.page-actions .custom-button{white-space:nowrap}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .custom-button{width:100%}.card{padding:var(--space-4)}.empty-state,.status-notice--empty{padding:var(--space-6) var(--space-4)}.row-actions-menu{min-width:180px;max-width:calc(100vw - 2rem)}}.react-datepicker{border-color:var(--border-color);font-family:inherit}.react-datepicker .react-datepicker__header{background-color:var(--primary-color);border-bottom-color:var(--hover-color)}.react-datepicker .react-datepicker__current-month,.react-datepicker .react-datepicker-time__header,.react-datepicker .react-datepicker-year-header,.react-datepicker .react-datepicker__day-name{color:var(--surface)}.react-datepicker .react-datepicker__day-name{font-weight:600}.react-datepicker .react-datepicker__day--today{border:1px solid var(--primary-color);color:var(--primary-color);background:var(--primary-wash);border-radius:50%;font-weight:600}.react-datepicker .react-datepicker__day--selected,.react-datepicker .react-datepicker__day--keyboard-selected,.react-datepicker .react-datepicker__day--chosen,.react-datepicker .react-datepicker__month-text--selected,.react-datepicker .react-datepicker__quarter-text--selected,.react-datepicker .react-datepicker__year-text--selected{background-color:var(--primary-color);color:var(--surface);border-color:var(--primary-color)}.react-datepicker .react-datepicker__day--selected:hover,.react-datepicker .react-datepicker__day--keyboard-selected:hover{background-color:var(--hover-color)}.react-datepicker .react-datepicker__day:hover{background-color:var(--primary-wash)}.react-datepicker .react-datepicker__navigation-icon:before{border-color:var(--surface)}body .react-datepicker-popper,body .react-datepicker__portal{z-index:1100}.react-datepicker-wrapper{width:100%;display:block}.react-datepicker__input-container input.input-field{width:100%}.panel .table-container{margin:0}.data-table,.form-table,.custom-table{font-variant-numeric:tabular-nums;line-height:1.45}.cell-nowrap{white-space:nowrap}.cell-text:before{content:"";width:10rem;display:block}.cell-empty{color:var(--text-subtle)}:is(.form-table tbody td:first-child:not(:has(input)),.custom-table tbody td:first-child){width:1%;color:var(--text-subtle)}.table-label{margin:0 0 var(--space-3);font-size:var(--text-base);color:var(--text-color);text-align:left;font-weight:600}.facts dd,.kv dd,.badge{font-variant-numeric:tabular-nums}.modal-content .modal-actions{bottom:calc(-1 * var(--space-5));z-index:2;margin-bottom:calc(-1 * var(--space-5));padding-bottom:var(--space-5);background:var(--surface);box-shadow:0 0 0 var(--space-5) var(--surface);clip-path:inset(0 calc(-1 * var(--space-5)) calc(-1 * var(--space-5)));position:sticky}.modal-body{container-type:inline-size}@container (width<=640px){.grid-container{grid-template-columns:1fr}.span-1,.span-2,.span-3{grid-column:span 1}}.modal-title+.modal-body{padding-top:var(--space-4)}.App{text-align:center}body{font-family:var(--font-sans);background-color:var(--background-color);color:var(--text-color);margin:0;font-weight:400}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0;padding:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y:0;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;border-radius:var(--toastify-toast-bd-radius);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (width<=480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;border-bottom-left-radius:var(--toastify-toast-bd-radius);position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, var(--y), 0)}to{opacity:0;transform:translate3d(2000px, var(--y), 0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, var(--y), 0)}to{opacity:0;transform:translate3d(-2000px, var(--y), 0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0, var(--y), 0) scale3d(.3, .3, .3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0, var(--y), 0) perspective(400px)}30%{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(110%, var(--y), 0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(-110%, var(--y), 0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader{background-color:color-mix(in srgb, var(--canvas) 70%, transparent);justify-content:center;align-items:center;animation:.15s ease-out .2s both loader-in;display:flex}.loader--screen,.loader--app{z-index:999999;position:fixed;inset:0}.loader--content{z-index:5;min-height:240px;position:absolute;inset:0}body:has(.layout):not(:has(.modal-overlay)) .loader--app{display:none}body:has(.modal-overlay) .content>.loader--content{display:none}.spinner{border:4px solid var(--border-subtle);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loader-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.layout{min-height:100vh;display:flex}.sidebar{z-index:20;width:225px;height:100vh;position:fixed;overflow-y:auto}.main-content{background-color:var(--canvas);flex-direction:column;flex-grow:1;min-width:0;min-height:100vh;margin-left:225px;display:flex}.topbar{z-index:10;background-color:var(--surface);border-bottom:1px solid var(--border-subtle);align-items:center;display:flex;position:sticky;top:0}.content{padding:var(--space-5) var(--space-6) var(--space-7);box-sizing:border-box;flex:1;width:100%;position:relative}.nav-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-color);font-size:var(--text-md);cursor:pointer;flex:none;margin-left:.75rem;padding:.5rem .65rem;display:none}.nav-toggle:hover{border-color:var(--primary-color);color:var(--primary-color)}.sidebar-scrim{display:none}@media (width<=768px){.sidebar{visibility:hidden;transition:transform var(--transition) ease-out, visibility 0s linear var(--transition);box-shadow:var(--shadow-lg);transform:translate(-100%)}.layout--nav-open .sidebar{visibility:visible;transition-delay:0s;transform:translate(0)}.main-content{margin-left:0}.nav-toggle{display:inline-flex}.layout--nav-open .sidebar-scrim{z-index:15;background:#00000059;display:block;position:fixed;inset:0}.content{padding:var(--space-4) var(--space-4) var(--space-6)}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.route-bar{font-size:var(--text-xs);color:var(--text-subtle);padding:0;font-weight:500}.route-bar ol{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.route-bar li{align-items:center;display:flex}.route-sep{color:#ccc;margin:0 .4rem}.route-bar a{color:var(--text-muted);text-decoration:none}.route-bar a:hover{color:var(--primary-color);text-decoration:underline}.route-bar [aria-current=page]{color:var(--text-color);font-weight:600}.notification_wrapper{position:relative}.notification_box{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:340px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);z-index:1000;position:absolute;top:34px;right:0;overflow:hidden}.notification_header{padding:var(--space-3) var(--space-4);color:var(--text-color);font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;font-weight:600;display:flex}.notification_header_actions{align-items:center;gap:var(--space-2);display:flex}.notification_mark_all{color:var(--primary-color);font-family:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:2px;font-weight:500}.notification_mark_all:hover{text-decoration:underline}.notification_content{max-height:340px;overflow-y:auto}.notification_item{appearance:none;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--border-subtle);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;transition:background-color .15s;display:flex}.notification_item:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.notification_item:hover{background-color:var(--canvas)}.notification_unread_dot{background-color:var(--primary-color);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.notification_unread_dot.hidden_dot{visibility:hidden}.notification_item.is_read .notification_item_title{color:var(--text-muted);font-weight:500}.notification_item_text{min-width:0}.notification_item_title{font-size:var(--text-sm);color:var(--text-color);font-weight:600;line-height:1.35;display:block}.notification_item_body{font-size:var(--text-xs);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}.notification_time{margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--text-subtle);font-weight:400;display:block}.notification_empty{padding:var(--space-6) var(--space-4);text-align:center}.notification_empty p{font-size:var(--text-xs);color:var(--text-muted);margin:0}.notification_footer{text-align:center;padding:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--canvas)}.see_all{color:var(--primary-color);font-weight:500;font-size:var(--text-xs);text-decoration:none}.see_all:hover{text-decoration:underline}.notification_icon{appearance:none;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;padding:0}.notification_icon:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}.notification_box{transform-origin:100% 0;animation:.15s ease-out menu-in}.notification_box.is-closing{pointer-events:none;animation:.1s ease-out forwards menu-out}.topbar_sub{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-3) var(--space-6);flex:1;display:flex}.topbar_right{align-items:center;gap:var(--space-4);cursor:pointer;flex-shrink:0;display:flex}.user_section{justify-content:space-evenly;align-items:center;width:200px;display:flex}.user_info{width:100%;font-size:var(--text-md);flex-direction:column;justify-content:space-evenly;margin-left:10px;display:flex}.user_name{font-size:var(--text-sm);color:var(--text-color);font-weight:600}.user_role{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.user_profile_image{object-fit:fill;cursor:pointer;border-radius:50%;width:45px;height:45px}.notification_icon{cursor:pointer;width:40px;height:40px;position:relative}.notif_icon{cursor:pointer;width:40px;height:40px}.notification_badge{background-color:var(--primary-color);color:#fff;width:15px;min-width:fit-content;height:15px;font-size:var(--text-2xs);border-radius:50%;justify-content:center;align-items:center;padding:1px;font-weight:600;display:flex;position:absolute;top:0;right:0}@media (width<=768px){.topbar_sub{gap:.5rem;padding:.6rem 1rem}.topbar_right{gap:12px}.user_section{width:auto}.user_info{display:none}.user_profile_image{width:36px;height:36px}.notification_icon,.notif_icon{width:32px;height:32px}}.profile_wrapper{display:inline-block;position:relative}.profile_box{margin-top:var(--space-2);border:1px solid var(--border-subtle);background-color:var(--surface);border-radius:var(--radius);width:200px;box-shadow:var(--shadow);z-index:100;position:absolute;top:100%;right:0}.profile_header{padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.profile_header h3{font-size:var(--text-sm);color:var(--text-color);margin:0;font-weight:600}.profile_content{flex-direction:column;display:flex}.profile_item{width:100%;font:inherit;text-align:left;padding:var(--space-3);color:var(--text-color);cursor:pointer;background:0 0;border:none;font-weight:400;transition:background-color .2s;display:block}.profile_item:hover{color:var(--primary-color);background-color:var(--primary-wash)}.user_section{appearance:none;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;padding:0}.user_section:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}.profile_box{transform-origin:100% 0;animation:.15s ease-out menu-in}.profile_box.is-closing{pointer-events:none;animation:.1s ease-out forwards menu-out}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);box-sizing:border-box;width:100%;max-height:90vh;animation:.2s ease-out dialog-in;position:relative;overflow-y:auto}.modal-content:focus-visible{outline:none}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes dialog-out{to{opacity:0;transform:scale(.98)}}@keyframes overlay-out{to{opacity:0}}.modal-overlay.is-closing{pointer-events:none;animation:.15s ease-out forwards overlay-out}.modal-overlay.is-closing .modal-content{animation:.15s ease-out forwards dialog-out}.modal-close-button{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--text-md);color:var(--text-subtle);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;position:absolute}.modal-close-button:hover{color:var(--primary-color)}.modal-title{padding-right:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.modal-body{padding-top:var(--space-1)}.change-password-fields{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.change-password-fields .input-field-container{width:100%;margin:0}.side-left-menu{z-index:2;background-color:var(--surface);border-right:1px solid var(--border-subtle);box-sizing:border-box;width:100%;min-height:100%;padding:var(--space-5) 0;flex-direction:column;display:flex}.tietlogo{margin:var(--space-2) 0 var(--space-5);justify-content:center;align-items:center;display:flex}.tietlogo img{width:70%;max-width:150px;height:auto}.icons{-webkit-overflow-scrolling:touch;flex:1;width:100%;overflow:hidden auto}.icons::-webkit-scrollbar{display:none}.icons{scrollbar-width:none}.menu-button{padding:var(--space-2) var(--space-4);margin:3px var(--space-3) 3px var(--space-2);width:calc(100% - var(--space-3) - var(--space-2));border-radius:var(--radius);background-color:var(--canvas);min-height:44px;color:var(--text-color);font-family:inherit;font-size:var(--text-base);cursor:pointer;transition:background-color var(--transition) ease, color var(--transition) ease;text-align:left;box-sizing:border-box;border:none;align-items:center;font-weight:500;display:flex;box-shadow:inset 3px 0 #0000}.menu-button:hover{background-color:var(--background-color);color:var(--primary-color)}.menu-button.active{color:var(--primary-color);background-color:#0000}.icons{position:relative}.menu-button{z-index:1;position:relative}.menu-button.active:hover{background-color:#0000}.menu-highlight{top:0;left:var(--space-2);width:calc(100% - var(--space-3) - var(--space-2));border-radius:var(--radius);background-color:var(--primary-wash);pointer-events:none;position:absolute}.menu-highlight:before{content:"";left:0;top:var(--space-2);bottom:var(--space-2);background-color:var(--primary-color);border-radius:2px;width:3px;position:absolute}.menu-highlight--moves{transition:transform .2s ease-out,height .2s ease-out}.menu-button.active .text{font-weight:600}.icon{margin:0 var(--space-3) 0 var(--space-3);font-size:var(--text-md);width:20px;color:var(--text-subtle);justify-content:center;display:flex}.text{font-size:var(--text-sm);color:inherit;font-weight:500;line-height:1.3}.menu-button.active .icon,.menu-button:hover .icon{color:var(--primary-color)}.menu-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}
