.confirm[data-v-9c46026e]{width:min(92vw,26rem);padding:var(--space-5);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-l);box-shadow:var(--elevation-3)}.confirm[data-v-9c46026e]::backdrop{background:var(--color-bg-overlay)}.confirm__title[data-v-9c46026e]{font-size:var(--font-size-l);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.confirm__message[data-v-9c46026e]{margin:var(--space-2) 0 0;font-size:var(--font-size-m);color:var(--color-text-secondary);line-height:var(--line-height-normal);overflow-wrap:anywhere}.confirm__actions[data-v-9c46026e]{gap:var(--space-2);margin-top:var(--space-5);display:flex}.toast-host[data-v-e0fb3f76]{top:var(--space-4);z-index:var(--z-toast);pointer-events:none;justify-content:center;width:min(92vw,30rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-host__list[data-v-e0fb3f76]{gap:var(--space-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.toast[data-v-e0fb3f76]{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);pointer-events:auto;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-left:3px solid var(--color-info-text);border-radius:var(--radius-s);box-shadow:var(--elevation-3);display:flex}.toast--success[data-v-e0fb3f76]{border-left-color:var(--color-success)}.toast--warning[data-v-e0fb3f76]{border-left-color:var(--color-warning)}.toast--error[data-v-e0fb3f76]{border-left-color:var(--color-danger)}.toast__icon[data-v-e0fb3f76]{color:var(--color-info-text);margin-top:2px;display:flex}.toast--success .toast__icon[data-v-e0fb3f76]{color:var(--color-success-text)}.toast--warning .toast__icon[data-v-e0fb3f76]{color:var(--color-warning-text)}.toast--error .toast__icon[data-v-e0fb3f76]{color:var(--color-danger-text)}.toast__message[data-v-e0fb3f76]{font-size:var(--font-size-m);line-height:var(--line-height-normal);color:var(--color-text-primary);overflow-wrap:anywhere;flex:auto;margin:0}.toast-enter-active[data-v-e0fb3f76],.toast-leave-active[data-v-e0fb3f76]{transition:opacity var(--duration-local) var(--curve-decelerate), transform var(--duration-local) var(--curve-decelerate)}.toast-enter-from[data-v-e0fb3f76],.toast-leave-to[data-v-e0fb3f76]{opacity:0;transform:translateY(calc(-1 * var(--distance-m)))}.toast-leave-active[data-v-e0fb3f76]{transition:opacity var(--duration-short) var(--curve-accelerate), transform var(--duration-short) var(--curve-accelerate);width:100%;position:absolute}.toast-move[data-v-e0fb3f76]{transition:transform var(--duration-local) var(--curve-standard)}:root{--color-bg-canvas:#f5f6f8;--color-bg-surface:#fff;--color-bg-sunken:#eef0f4;--color-bg-hover:#0a59f70f;--color-bg-pressed:#0a59f71f;--color-bg-selected:#e8f0fe;--color-bg-overlay:#10182873;--color-border-subtle:#e4e6eb;--color-border-control:#838a96;--color-border-focus:#0a59f7;--color-text-primary:#1a1d24;--color-text-secondary:#5a6070;--color-text-tertiary:#686e76;--color-text-disabled:#8a9099;--color-text-inverse:#fff;--color-brand:#0a59f7;--color-brand-hover:#0847c4;--color-brand-pressed:#063a9e;--color-brand-weak:#e8f0fe;--color-chart-female:#d94f87;--color-danger:#d92d20;--color-danger-text:#c0281c;--color-danger-weak:#fdecea;--color-danger-border:#f3b7b1;--color-warning:#b25e09;--color-warning-text:#9a4e08;--color-warning-weak:#fff4e5;--color-warning-border:#f0cfa4;--color-success:#1d7a46;--color-success-text:#1d7a46;--color-success-weak:#e7f6ec;--color-success-border:#a9d8ba;--color-info-text:#5a6070;--color-info-weak:#eef0f4;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--radius-xs:.25rem;--radius-s:.5rem;--radius-m:.75rem;--radius-l:1rem;--radius-xl:1.25rem;--radius-pill:999px;--elevation-0:none;--elevation-1:0 1px 2px #1018280f, 0 1px 3px #1018281a;--elevation-2:0 4px 8px -2px #1018281a, 0 2px 4px -2px #1018280f;--elevation-3:0 12px 24px -6px #10182824, 0 4px 8px -4px #10182814;--font-family-base:system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs:.75rem;--font-size-s:.8125rem;--font-size-m:.875rem;--font-size-l:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.375rem;--font-size-3xl:1.75rem;--font-size-display:clamp(2rem, 3.4vw, 3rem);--font-size-stat:clamp(2.6rem, 4.5vw, 4rem);--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.7;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--duration-instant:.1s;--duration-short:.15s;--duration-local:.2s;--duration-move:.25s;--duration-complex:.3s;--duration-full:.35s;--duration-spring:.42s;--duration-none:.01ms;--curve-standard:cubic-bezier(.2, 0, 0, 1);--curve-decelerate:cubic-bezier(0, 0, 0, 1);--curve-accelerate:cubic-bezier(.3, 0, 1, 1);--curve-spring:cubic-bezier(.34, 1.56, .64, 1);--distance-s:.25rem;--distance-m:.5rem;--distance-l:1rem;--scale-press:.97;--stagger-step:60ms;--z-base:0;--z-sticky:10;--z-dropdown:1000;--z-drawer:1100;--z-ai:1150;--z-toast:1200;--sidebar-width-expanded:15rem;--sidebar-width-collapsed:4rem;--topbar-height:3.5rem;--bottom-nav-height:3.5rem;--focus-ring-width:2px;--focus-ring-offset:2px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-canvas:#0f1217;--color-grid-dot:#ffffff0b;--color-danger-inverse:#1c1010;--color-hero-start:#253817;--color-accent-soft:#b9f28e;--color-hero-end:#141d13;--color-hero-ink:#eff9e8;--color-hero-muted:#bfd0b5;--color-accent-weak:#253917;--color-accent-border:#527934;--color-accent:#8ce646;--color-accent-hover:#9bef65;--color-accent-pressed:#76c93a;--color-bg-surface:#1a1e22;--color-bg-sunken:#242a2b;--color-bg-hover:#8ce64617;--color-bg-pressed:#8ce64626;--color-bg-selected:#253917;--color-bg-overlay:#0009;--color-border-subtle:#37413b;--color-border-control:#77867b;--color-border-focus:#8ce646;--color-text-primary:#e9ece8;--color-text-secondary:#b7c2b3;--color-text-tertiary:#a1ada1;--color-text-disabled:#889389;--color-text-inverse:#101810;--color-brand:#8ce646;--color-brand-hover:#9bef65;--color-brand-pressed:#76c93a;--color-brand-weak:#253917;--color-chart-female:#92b89a;--color-danger:#f0655a;--color-danger-text:#ff8b81;--color-danger-weak:#3a1f1c;--color-danger-border:#5c2f2a;--color-warning:#d99a4e;--color-warning-text:#e8b169;--color-warning-weak:#3a2c17;--color-warning-border:#5c4526;--color-success:#8ce646;--color-success-text:#a6ec73;--color-success-weak:#1c2f24;--color-success-border:#2f4a39;--color-info-text:#b3b8c0;--color-info-weak:#262a31;--elevation-1:0 1px 2px #0006, 0 1px 3px #0000004d;--elevation-2:0 4px 8px -2px #00000080, 0 2px 4px -2px #0006;--elevation-3:0 12px 24px -6px #0009, 0 4px 8px -4px #00000080}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-canvas:#f0f3f0;--color-bg-surface:#fff;--color-bg-sunken:#e9eeea;--color-bg-hover:#28741e0f;--color-bg-pressed:#28741e1f;--color-bg-selected:#e4f2db;--color-bg-overlay:#10181466;--color-border-subtle:#d9e1da;--color-border-control:#77867b;--color-border-focus:#28741e;--color-text-primary:#182119;--color-text-secondary:#455547;--color-text-tertiary:#536656;--color-text-disabled:#7a857b;--color-text-inverse:#fff;--color-brand:#28741e;--color-brand-hover:#205d19;--color-brand-pressed:#194d16;--color-brand-weak:#e4f2db;--color-accent:#8ce646;--color-accent-hover:#9bef65;--color-accent-pressed:#76c93a;--color-accent-soft:#376f25;--color-accent-weak:#e4f2db;--color-accent-border:#aacb95;--color-chart-female:#588463;--color-hero-start:#e1f4d0;--color-hero-end:#f4faee;--color-hero-ink:#182d16;--color-hero-muted:#405a37;--color-grid-dot:#2341280e;--color-danger:#c82d24;--color-danger-text:#b62920;--color-danger-inverse:#fff;--color-danger-weak:#fdecea;--color-danger-border:#e7b3ad;--color-warning:#a25808;--color-warning-text:#87500d;--color-warning-weak:#fff4e5;--color-warning-border:#d9bd8c;--color-success:#28741e;--color-success-text:#28741e;--color-success-weak:#e4f2db;--color-success-border:#aacb95;--color-info-text:#455547;--color-info-weak:#e9eeea;--elevation-1:0 1px 3px #101e140f;--elevation-2:0 4px 16px #101e1414;--elevation-3:0 12px 32px #101e1424}@media (prefers-reduced-motion:reduce){:root{--distance-s:0px;--distance-m:0px;--distance-l:0px;--scale-press:1;--stagger-step:0s;--duration-local:1ms;--duration-move:1ms;--duration-full:1ms;--duration-spring:1ms}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100vh}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit;margin:0}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:var(--duration-none)!important;transition-duration:var(--duration-none)!important;scroll-behavior:auto!important;animation-iteration-count:1!important}}html{font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-canvas)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-size:var(--font-size-m);background:var(--color-bg-canvas)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-border-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.visually-hidden{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{top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);color:var(--color-brand);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-control);border-radius:var(--radius-s);box-shadow:var(--elevation-2);transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--duration-short) var(--curve-decelerate);position:absolute}.skip-link:focus-visible{transform:translateY(0)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-control) transparent}h1,h2,h3,h4{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-l)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}p,li,dd,dt,h1,h2,h3,h4,label,code{overflow-wrap:break-word}.crud-page{width:100%;min-width:0}.crud-toolbar{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.crud-toolbar__field{flex:14rem;min-width:12rem;max-width:22rem}.crud-toolbar__actions{gap:var(--space-2);margin-left:auto;display:flex}.crud-table-wrap{overflow-x:auto}.crud-table{border-collapse:collapse;width:100%}.crud-table th,.crud-table td{padding:var(--space-3) var(--space-2);text-align:left;vertical-align:top}.crud-table th{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);white-space:nowrap;border-bottom:1px solid var(--color-border-subtle)}.crud-table td{border-bottom:1px solid var(--color-border-subtle)}.crud-table tbody tr:last-child td{border-bottom:0}.crud-table small{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:2px;display:block}.crud-row-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.crud-dialog{width:min(32rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-l);padding:0;overflow:auto}.crud-dialog::backdrop{background:var(--color-bg-overlay)}.crud-dialog__body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.crud-dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.crud-dialog__title{font-size:var(--font-size-l);margin:0}.crud-dialog__desc{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-s)}.crud-dialog__close{min-width:2.5rem;min-height:2.5rem;color:var(--color-text-secondary);border-radius:var(--radius-pill)}.crud-dialog__close:hover{background:var(--color-bg-hover)}.crud-dialog__footer{justify-content:flex-end;gap:var(--space-2);display:flex}.crud-form{gap:var(--space-4);flex-direction:column;display:flex}.crud-field{gap:var(--space-1);flex-direction:column;display:flex}.crud-field>span{color:var(--color-text-secondary);font-size:var(--font-size-s)}.crud-field select{min-height:2.5rem;padding:0 var(--space-3);color:inherit;background:var(--color-bg-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-s)}.crud-field select:focus-visible{outline:var(--focus-ring-width) solid var(--color-border-focus);outline-offset:var(--focus-ring-offset)}.crud-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin:0}.crud-form-error{color:var(--color-danger-text);font-size:var(--font-size-s);margin:0}.crud-field fieldset,fieldset.crud-field{border:0;margin:0;padding:0}.crud-field legend{color:var(--color-text-secondary);font-size:var(--font-size-s);padding:0}.crud-check{align-items:center;gap:var(--space-2);min-height:2rem;display:flex}.crud-check input{flex:none;width:1rem;height:1rem}
