@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}:root{color-scheme:light;--color-bg: #f4f5fb;--color-surface: #ffffff;--color-surface-2: #eef0f8;--color-text: #0f1424;--color-text-muted: #4b5470;--color-border: #e3e6f0;--color-border-strong: #c9cee0;--color-primary: #6438f5;--color-primary-hover: #5329e0;--color-secondary: #3478ff;--color-on-primary: #ffffff;--color-accent-soft: #ece7fe;--color-accent-text: #4c22d6;--color-danger: #c81e3a;--color-danger-soft: #fde8ec;--color-warning: #8a5a00;--color-warning-soft: #fdf2d6;--color-success: #0b7a4f;--color-success-soft: #dcf7ea;--color-info: #1f5fd6;--color-info-soft: #e1ebff;--color-sidebar: #0b1122;--color-sidebar-text: #d5d9ea;--color-sidebar-muted: #8f97b5;--color-sidebar-active: #1a2140;--color-sidebar-accent: #a18bff;--color-focus: #6438f5;--shadow-1: 0 1px 2px rgb(15 20 36 / 5%), 0 4px 12px rgb(15 20 36 / 5%);--shadow-2: 0 12px 32px rgb(15 20 36 / 16%);--shadow-glow: 0 8px 24px color-mix(in srgb, var(--color-primary) 35%, transparent);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-s: .5rem;--radius: .75rem;--radius-l: 1rem;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #090e1c;--color-surface: #151e33;--color-surface-2: #1c2741;--color-text: #eef1fb;--color-text-muted: #98a1bf;--color-border: #232e4a;--color-border-strong: #34415f;--color-primary: #6438f5;--color-primary-hover: #5329e0;--color-secondary: #3478ff;--color-on-primary: #ffffff;--color-accent-soft: #241b52;--color-accent-text: #b5a3ff;--color-danger: #ff7a8a;--color-danger-soft: #3d1420;--color-warning: #f5b82e;--color-warning-soft: #3a2c0c;--color-success: #19c784;--color-success-soft: #0d3326;--color-info: #7aa6ff;--color-info-soft: #14254a;--color-sidebar: #0b1122;--color-sidebar-active: #1a2140;--color-focus: #a18bff;--shadow-1: 0 1px 2px rgb(0 0 0 / 35%);--shadow-2: 0 12px 32px rgb(0 0 0 / 55%)}}:root[data-theme=dark]{color-scheme:dark;--color-bg: #090e1c;--color-surface: #151e33;--color-surface-2: #1c2741;--color-text: #eef1fb;--color-text-muted: #98a1bf;--color-border: #232e4a;--color-border-strong: #34415f;--color-primary: #6438f5;--color-primary-hover: #5329e0;--color-secondary: #3478ff;--color-on-primary: #ffffff;--color-accent-soft: #241b52;--color-accent-text: #b5a3ff;--color-danger: #ff7a8a;--color-danger-soft: #3d1420;--color-warning: #f5b82e;--color-warning-soft: #3a2c0c;--color-success: #19c784;--color-success-soft: #0d3326;--color-info: #7aa6ff;--color-info-soft: #14254a;--color-sidebar: #0b1122;--color-sidebar-active: #1a2140;--color-focus: #a18bff;--shadow-1: 0 1px 2px rgb(0 0 0 / 35%);--shadow-2: 0 12px 32px rgb(0 0 0 / 55%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.55;font-feature-settings:"tnum";-webkit-font-smoothing:antialiased}h1{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}h2{margin:0;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}h3{margin:0;font-size:.9375rem;font-weight:700}p{margin:0}a{color:var(--color-accent-text)}code{font-family:var(--font-mono);font-size:.875em}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-s);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.button:hover:not(:disabled){background:var(--color-surface-2)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--danger{border-color:var(--color-danger);color:var(--color-danger)}.button--danger:hover:not(:disabled){background:var(--color-danger-soft)}.button--ghost{border-color:transparent;background:transparent}.button--small{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:.875rem}.card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-l);background:var(--color-surface);box-shadow:var(--shadow-1)}.card--flush{padding:0;overflow:hidden}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label,.field legend{font-size:.875rem;font-weight:600}.field legend{margin-bottom:var(--space-2);padding:0}.field input:not([type=checkbox],[type=radio]),.field select,.field textarea{min-height:2.625rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-s);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color .12s ease,box-shadow .12s ease}.field textarea{min-height:6.5rem;padding:var(--space-3);line-height:1.5;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted);opacity:.8}.field input:not([type=checkbox],[type=radio]):hover:not(:focus,:read-only),.field select:hover:not(:focus),.field textarea:hover:not(:focus,:read-only){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-strong))}.field input:not([type=checkbox],[type=radio]):focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:none}.field input:not([type=checkbox],[type=radio]):read-only,.field textarea:read-only{background:var(--color-surface-2);color:var(--color-text-muted)}input[type=checkbox],input[type=radio]{width:1.125rem;height:1.125rem;margin:0;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.field__hint{color:var(--color-text-muted);font-size:.8125rem}.field__error{color:var(--color-danger);font-size:.8125rem}.form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4);align-items:start}.page{display:flex;flex-direction:column;gap:var(--space-5);max-width:96rem;margin-inline:auto}.alert{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-s)}.alert--error{background:var(--color-danger-soft);color:var(--color-danger)}.alert--warning{background:var(--color-warning-soft);color:var(--color-warning)}.alert--info{background:var(--color-info-soft);color:var(--color-info)}.muted{color:var(--color-text-muted)}.mono{font-family:var(--font-mono);font-size:.8125rem}.table-wrap{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}tbody tr:last-child>td{border-bottom:0}tbody tr:hover>td{background:color-mix(in srgb,var(--color-surface-2) 45%,transparent)}td{height:3.5rem}th{height:3rem;background:var(--color-surface-2);color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:999px;background:var(--color-surface-2);color:var(--color-text-muted);font-size:.8125rem;font-weight:600;white-space:nowrap}.pill:before{width:.4375rem;height:.4375rem;border-radius:50%;background:currentcolor;content:""}.pill--success{background:var(--color-success-soft);color:var(--color-success)}.pill--danger{background:var(--color-danger-soft);color:var(--color-danger)}.pill--warning{background:var(--color-warning-soft);color:var(--color-warning)}.pill--info{background:var(--color-info-soft);color:var(--color-info)}.skeleton{display:block;height:1rem;border-radius:var(--radius-s);background:var(--color-surface-2);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}dialog{color:var(--color-text)}dialog::backdrop{background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[hidden]{display:none!important}app-form-page form>button[type=submit]{align-self:flex-end;min-width:12rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.toolbar>.button{min-height:2.875rem}.list .actions{width:1%;text-align:right;white-space:nowrap}.list .number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-2);font-size:.8125rem;white-space:nowrap}.chip app-icon{color:var(--color-accent-text)}.icon-action{display:inline-grid;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-s);background:none;color:var(--color-text-muted);cursor:pointer;place-items:center}.icon-action:hover{background:var(--color-surface-2);color:var(--color-text)}.icon-action--danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.filters>.field{flex:1 1 12rem;max-width:22rem}.field:is(.filters .field,.filter,app-page-header .field):has(>select),.field:is(.filters .field,.filter,app-page-header .field):has(>input:not([type=checkbox])),.field:is(.filters .field,.filter,app-page-header .field):has(>app-date-field){position:relative}.field:is(.filters .field,.filter,app-page-header .field):has(>select)>label,.field:is(.filters .field,.filter,app-page-header .field):has(>input:not([type=checkbox]))>label,.field:is(.filters .field,.filter,app-page-header .field):has(>app-date-field)>label{position:absolute;top:.375rem;left:.875rem;z-index:1;color:var(--color-text-muted);font-size:.75rem;font-weight:500;pointer-events:none}.field:is(.filters .field,.filter,app-page-header .field)>select,.field:is(.filters .field,.filter,app-page-header .field)>input:not([type=checkbox]),.field:is(.filters .field,.filter,app-page-header .field)>app-date-field input{min-height:2.875rem!important;padding-top:1.125rem!important;padding-bottom:.25rem!important;border-radius:var(--radius)!important}.filters app-search-box{flex:1 1 18rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
