:root{--color-primary:#1e3c72;--color-primary-light:#2a4d8a;--color-primary-lighter:#3a5e9a;--color-primary-dark:#152942;--color-success:#10b981;--color-success-dark:#059669;--color-success-light:#d1fae5;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-light:#fee2e2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-bg-page:#f5f5f0;--color-bg-elevated:#fff;--color-bg-sidebar:#1e3a5f;--color-accent:#fc0;--font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:28px;--font-size-4xl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.4;--line-height-relaxed:1.5;--line-height-loose:1.75;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:all .15s ease;--transition-base:all .2s ease;--transition-slow:all .3s ease;--gradient-header:linear-gradient(135deg, #1e3a5f 0%, #234670 100%)}.ds-button{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-family);border:none;display:inline-flex}.ds-button:disabled{opacity:.5;cursor:not-allowed}.ds-button.primary{background:var(--color-primary);color:#fff}.ds-button.primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f40}.ds-button.secondary{background:var(--color-gray-100);color:var(--color-gray-800);border:1px solid var(--color-gray-200)}.ds-button.secondary:hover:not(:disabled){background:var(--color-gray-200)}.ds-button.danger{background:var(--color-danger);color:#fff}.ds-button.danger:hover:not(:disabled){background:var(--color-danger-dark);transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.ds-button.success{background:var(--color-success);color:#fff}.ds-button.success:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.ds-button.small{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.ds-button.large{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}.ds-card{background:var(--color-bg-elevated);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.ds-card.hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ds-card.elevated{box-shadow:var(--shadow-md)}.ds-h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-gray-800);margin:0}.ds-h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);color:var(--color-gray-800);margin:0}.ds-h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-gray-800);margin:0}.ds-body{font-size:var(--font-size-base);color:var(--color-gray-800);line-height:var(--line-height-normal)}.ds-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.ds-caption{font-size:var(--font-size-xs);color:var(--color-gray-600);font-weight:var(--font-weight-medium)}.ds-text-muted{color:var(--color-gray-600)}.ds-text-primary{color:var(--color-primary)}.ds-text-success{color:var(--color-success)}.ds-text-danger{color:var(--color-danger)}.ds-text-warning{color:var(--color-warning)}.ds-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);align-items:center;gap:var(--space-xs);white-space:nowrap;display:inline-flex}.ds-badge.primary{background:var(--color-primary-light);color:#fff}.ds-badge.success{background:var(--color-success-light);color:var(--color-success-dark)}.ds-badge.danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.ds-badge.warning{background:var(--color-warning-light);color:var(--color-warning)}.ds-badge.gray{background:var(--color-gray-100);color:var(--color-gray-700)}.ds-metric{gap:var(--space-md);flex-direction:column;display:flex}.ds-metric-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.08em}.ds-metric-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);line-height:var(--line-height-tight)}.ds-progress-bar{border-radius:var(--radius-full);background:var(--color-gray-200);height:4px;overflow:hidden}.ds-progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:var(--transition-slow);background:var(--color-primary)}.ds-progress-bar-fill.success{background:var(--color-success)}.ds-progress-bar-fill.danger{background:var(--color-danger)}.ds-progress-bar-fill.warning{background:var(--color-warning)}.ds-flex{display:flex}.ds-flex-col{flex-direction:column;display:flex}.ds-gap-xs{gap:var(--space-xs)}.ds-gap-sm{gap:var(--space-sm)}.ds-gap-md{gap:var(--space-md)}.ds-gap-lg{gap:var(--space-lg)}.ds-gap-xl{gap:var(--space-xl)}.ds-p-xs{padding:var(--space-xs)}.ds-p-sm{padding:var(--space-sm)}.ds-p-md{padding:var(--space-md)}.ds-p-lg{padding:var(--space-lg)}.ds-p-xl{padding:var(--space-xl)}.ds-px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.ds-px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.ds-px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.ds-py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.ds-py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.ds-py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.ds-m-xs{margin:var(--space-xs)}.ds-m-sm{margin:var(--space-sm)}.ds-m-md{margin:var(--space-md)}.ds-m-lg{margin:var(--space-lg)}.ds-mb-xs{margin-bottom:var(--space-xs)}.ds-mb-sm{margin-bottom:var(--space-sm)}.ds-mb-md{margin-bottom:var(--space-md)}.ds-mb-lg{margin-bottom:var(--space-lg)}@media (width<=768px){.ds-hidden-mobile{display:none}}@media (width>=769px){.ds-hidden-desktop{display:none}}:root{--primary:#1e3c72;--primary-light:#2a4d8a;--success:#10b981;--success-dark:#059669;--danger:#ef4444;--warning:#f59e0b;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--transition:all .2s ease;--bg-page:#f5f5f0;--bg-page-alt:#fff;--bg-elevated:#fff;--bg-sidebar:#1e3a5f;--brand-accent:#fc0;--gradient-header:linear-gradient(135deg, #1e3a5f 0%, #234670 100%)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-page);color:var(--gray-800);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,sans-serif;overflow-x:hidden}.main-wrapper{max-width:800px;margin:0 auto;padding:30px 16px 60px}@media (width<=600px){.main-wrapper{padding-top:16px;padding-bottom:40px}}.toast-container.svelte-1cpok13{z-index:10000;pointer-events:none;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast-item.svelte-1cpok13{pointer-events:auto;background:#fff;border-left:4px solid;border-radius:12px;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 10px 40px -10px #0003}.toast-item.success.svelte-1cpok13{border-left-color:#10b981}.toast-item.error.svelte-1cpok13{border-left-color:#ef4444}.toast-item.warning.svelte-1cpok13{border-left-color:#f59e0b}.toast-item.info.svelte-1cpok13{border-left-color:#3b82f6}.toast-icon.svelte-1cpok13{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.toast-icon.svelte-1cpok13 span:where(.svelte-1cpok13){color:#fff}.toast-item.success.svelte-1cpok13 .toast-icon:where(.svelte-1cpok13){background:#10b981}.toast-item.error.svelte-1cpok13 .toast-icon:where(.svelte-1cpok13){background:#ef4444}.toast-item.warning.svelte-1cpok13 .toast-icon:where(.svelte-1cpok13){background:#f59e0b}.toast-item.info.svelte-1cpok13 .toast-icon:where(.svelte-1cpok13){background:#3b82f6}.toast-content.svelte-1cpok13{flex:1}.toast-content.svelte-1cpok13 p:where(.svelte-1cpok13){color:#1e293b;margin:0;font-size:.95rem;line-height:1.4}.toast-close.svelte-1cpok13{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;transition:color .2s;display:flex}.toast-close.svelte-1cpok13:hover{color:#475569}@media (width<=480px){.toast-container.svelte-1cpok13{max-width:none;inset:auto 16px 20px}.toast-item.svelte-1cpok13{width:100%;min-width:auto}}.dialog-overlay.svelte-jby388{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.dialog-card.svelte-jby388{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:400px;padding:30px;box-shadow:0 25px 50px -12px #00000040}.dialog-icon.svelte-jby388{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:2rem;display:flex}.dialog-icon.success.svelte-jby388{background:#f0fdf4}.dialog-icon.error.svelte-jby388{background:#fef2f2}.dialog-icon.warning.svelte-jby388{background:#fffbeb}.dialog-icon.confirm.svelte-jby388{background:#eff6ff}.dialog-icon.prompt.svelte-jby388{background:#f3e8ff}.dialog-icon.info.svelte-jby388{background:#f1f5f9}.dialog-content.svelte-jby388 h3:where(.svelte-jby388){color:#0f172a;margin:0 0 10px;font-size:1.4rem;font-weight:700}.dialog-content.svelte-jby388 p:where(.svelte-jby388){color:#64748b;margin:0;font-size:1rem;line-height:1.5}.dialog-input.svelte-jby388{margin-top:20px}.dialog-input.svelte-jby388 input:where(.svelte-jby388){border:2px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-size:1rem;transition:border-color .2s}.dialog-input.svelte-jby388 input:where(.svelte-jby388):focus{border-color:#3b82f6}.dialog-footer.svelte-jby388{justify-content:center;gap:12px;margin-top:30px;display:flex}.dialog-footer.svelte-jby388 button:where(.svelte-jby388){cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s}.btn-cancel.svelte-jby388{color:#475569;background:#f1f5f9}.save-dialog.svelte-jby388{text-align:left;background:#fff;border-radius:18px;flex-direction:column;gap:18px;width:100%;max-width:520px;padding:24px;display:flex;box-shadow:0 25px 50px -12px #00000040}.save-dialog-body.svelte-jby388{align-items:center;gap:18px;display:flex}.save-icon-wrap.svelte-jby388{background:#fffbeb;border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.save-dialog-title.svelte-jby388{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.save-dialog-desc.svelte-jby388{color:#475569;margin:0}.save-dialog-actions.svelte-jby388{justify-content:flex-end;gap:10px;display:flex}.save-btn.svelte-jby388{cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-weight:700}.save-btn-cancel.svelte-jby388{color:#1f2937;background:#f1f5f9}.save-btn-delete.svelte-jby388{color:#fff;background:#dc2626}.danger-body.svelte-jby388{align-items:flex-start}.danger-wrap.svelte-jby388{background:#fef2f2;border-radius:16px;justify-content:center;align-items:center;width:64px;min-width:64px;height:64px;display:flex}.danger-content.svelte-jby388{flex:1}.dialog-divider.svelte-jby388{background:#e5e7eb;height:1px;margin:0}.save-dialog-desc.svelte-jby388{color:#6b7280;max-width:360px}.save-btn-cancel.svelte-jby388{color:#334155;background:0 0;border:1px solid #e6eef7}.save-dialog-actions.svelte-jby388{padding-top:6px}.danger-dialog.svelte-jby388{max-width:400px;overflow:hidden;padding:0!important}.danger-dialog.svelte-jby388 .save-dialog-body:where(.svelte-jby388){gap:20px;padding:28px 28px 20px}.danger-dialog.svelte-jby388 .save-dialog-title:where(.svelte-jby388){color:#1f2937;text-align:left;margin:0 0 8px;font-size:18px;font-weight:600}.danger-dialog.svelte-jby388 .save-dialog-desc:where(.svelte-jby388){color:#6b7280;text-align:left;margin:0;font-size:14px;line-height:1.6}.danger-dialog.svelte-jby388 .save-dialog-actions:where(.svelte-jby388){background:#fafbfc;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 28px;display:flex!important}.danger-dialog.svelte-jby388 .save-btn-cancel:where(.svelte-jby388){color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.danger-dialog.svelte-jby388 .save-btn-cancel:where(.svelte-jby388):hover{background:#f3f4f6;border-color:#9ca3af}.danger-dialog.svelte-jby388 .save-btn-delete:where(.svelte-jby388){cursor:pointer;transition:all .2s;color:#fff!important;background:#dc2626!important;border:none!important;border-radius:8px!important;padding:10px 24px!important;font-size:14px!important;font-weight:600!important}.danger-dialog.svelte-jby388 .save-btn-delete:where(.svelte-jby388):hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d;background:#b91c1c!important}.btn-cancel.svelte-jby388:hover{background:#e2e8f0}.btn-ok.svelte-jby388{color:#fff;background:#0f172a;flex:1}.btn-ok.success.svelte-jby388{background:#10b981}.btn-ok.error.svelte-jby388{background:#ef4444}.btn-ok.warning.svelte-jby388{background:#f59e0b}.btn-ok.confirm.svelte-jby388{background:#3b82f6}.btn-ok.svelte-jby388:hover{opacity:.9;transform:translateY(-1px)}.save-dialog.svelte-jby388{background:#fff;border-radius:20px;width:100%;max-width:340px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.save-dialog-body.svelte-jby388{text-align:center;padding:32px 28px 24px}.save-icon-wrap.svelte-jby388{background:#fdf2e9;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 20px;display:flex}.save-dialog-title.svelte-jby388{color:#0f172a;letter-spacing:-.3px;margin:0 0 8px;font-size:17px;font-weight:500}.save-dialog-desc.svelte-jby388{color:#64748b;margin:0;font-size:14px;line-height:1.5}.save-dialog-actions.svelte-jby388{border-top:.5px solid #e2e8f0;grid-template-columns:1fr 1fr 1fr;display:grid}.save-btn.svelte-jby388{cursor:pointer;background:0 0;border:none;padding:14px 0;font-family:inherit;font-size:14px;font-weight:400;transition:background .15s}.save-btn.svelte-jby388+.save-btn:where(.svelte-jby388){border-left:.5px solid #e2e8f0}.save-btn-discard.svelte-jby388{color:#dc2626}.save-btn-discard.svelte-jby388:hover{background:#fef2f2}.save-btn-cancel.svelte-jby388{color:#64748b}.save-btn-cancel.svelte-jby388:hover{background:#f1f5f9}.save-btn-save.svelte-jby388{color:#d97706;font-weight:500}.save-btn-save.svelte-jby388:hover{background:#fdf2e9}.dialog-footer.svelte-jby388 button:where(.svelte-jby388):focus-visible,.dialog-input.svelte-jby388 input:where(.svelte-jby388):focus-visible,.save-btn.svelte-jby388:focus-visible{outline-offset:-3px;outline:3px solid #3b82f6}@media (width<=480px){.dialog-card.svelte-jby388{border-radius:20px;max-width:100%;margin:16px;padding:24px}.dialog-icon.svelte-jby388{width:56px;height:56px;font-size:1.75rem}.dialog-content.svelte-jby388 h3:where(.svelte-jby388){font-size:1.25rem}.dialog-footer.svelte-jby388{flex-direction:column-reverse;gap:8px}.dialog-footer.svelte-jby388 button:where(.svelte-jby388){width:100%;min-height:48px;padding:14px 24px}.save-dialog.svelte-jby388{max-width:100%;margin:16px}}
