:root{--font-inter: "Inter", sans-serif;--font-work-sans: "Work Sans", sans-serif;--font-ibm-plex: "IBM Plex Sans", sans-serif;--font-libre-franklin: "Libre Franklin", sans-serif;--font-playfair: "Playfair Display", serif;--font-lora: "Lora", serif;--font-merriweather: "Merriweather", serif;--font-fira-code: "Fira Code", monospace;--font-jetbrains-mono: "JetBrains Mono", monospace;--font-base: var(--font-inter);--font-heading: var(--font-ibm-plex);--font-mono: var(--font-fira-code);--color-primary: #609fa1;--color-secondary: #6c757d;--color-tertiary: #17a2b8;--color-quaternary: #ffc107;--color-success: #28a745;--color-success-strong: #16a34a;--color-danger: #cf3d18;--color-danger-strong: #dc2626;--color-warning: #f59e0b;--color-brand: #2563eb;--color-brand-strong: #1d4ed8;--color-brand-highlight: #38bdf8;--color-brand-soft: rgba(37, 99, 235, .1);--color-brand-softer: rgba(37, 99, 235, .2);--color-brand-ring: rgba(37, 99, 235, .15);--color-brand-border: rgba(37, 99, 235, .4);--color-brand-tint: rgba(59, 130, 246, .08);--color-brand-tint-strong: rgba(37, 99, 235, .12);--color-brand-contrast: rgba(37, 99, 235, .25);--color-brand-glow: rgba(59, 130, 246, .15);--color-danger-soft: rgba(248, 113, 113, .12);--color-danger-border: rgba(248, 113, 113, .3);--color-danger-glow: rgba(248, 113, 113, .18);--color-danger-outline: rgba(248, 113, 113, .35);--color-danger-deep: #b91c1c;--surface-app: #f1f5f9;--surface-muted: #f3f4f6;--surface-overlay: #f8fafc;--surface-card: #ffffff;--surface-nav: #0f172a;--surface-accent: #eff6ff;--text-strong: #0f172a;--text-primary: #1f2937;--text-deep: #1e293b;--text-secondary: #4b5563;--text-tertiary: #475569;--text-muted: #64748b;--text-inverse: #f8fafc;--text-on-dark: #e2e8f0;--text-on-dark-muted: rgba(226, 232, 240, .9);--text-on-dark-soft: rgba(226, 232, 240, .75);--color-text: #212529;--color-white: #ffffff;--color-background: #f8f9fa;--color-gray-light: #dee2e6;--color-gray: #4b5563;--text-slate: #334155;--border-subtle: #e2e8f0;--border-muted: #d1d5db;--border-soft: rgba(148, 163, 184, .3);--border-soft-strong: rgba(148, 163, 184, .4);--border-dashed: rgba(148, 163, 184, .6);--border-accent: #cbd5f5;--surface-brand-tint: rgba(59, 130, 246, .08);--shadow-nav: 0 10px 30px rgba(15, 23, 42, .35);--shadow-card: 0 20px 40px rgba(15, 23, 42, .08);--shadow-elevated: 0 24px 48px rgba(15, 23, 42, .12);--shadow-float: 0 16px 35px rgba(15, 23, 42, .08);--shadow-subtle: 0 18px 30px rgba(15, 23, 42, .06);--shadow-danger: 0 10px 20px rgba(220, 38, 38, .25);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--gap-base: 1rem;--transition-base: .2s ease;--surface-nav-hover: rgba(148, 163, 184, .25)}body{margin:0;font-family:var(--font-base);background:var(--surface-app);color:var(--text-primary);line-height:1.5}h1,h2,h3,.heading{font-family:var(--font-heading);color:var(--text-strong)}code,pre{font-family:var(--font-mono)}a{color:inherit}:root{--ui-color-bg-app: #f3f4f6;--ui-color-bg-surface: #ffffff;--ui-color-bg-subtle: #f9fafb;--ui-color-border-subtle: #e5e7eb;--ui-color-border-strong: #9ca3af;--ui-color-text-primary: #111827;--ui-color-text-secondary: #4b5563;--ui-color-text-muted: #9ca3af;--ui-color-accent: #2563eb;--ui-color-accent-soft: #e0ecff;--ui-color-accent-blue: #2563eb;--ui-color-accent-blue-rgb: 37, 99, 235;--ui-color-accent-teal: #2dd4bf;--ui-color-accent-teal-rgb: 45, 212, 191;--ui-color-accent-green: #10b981;--ui-color-accent-green-rgb: 16, 185, 129;--ui-color-danger: #ef4444;--ui-color-danger-rgb: 239, 68, 68;--ui-color-secondary: #0ea5e9;--ui-color-secondary-rgb: 14, 165, 233;--ui-color-state-not-started: #9ca3af;--ui-color-state-in-progress: #2563eb;--ui-color-state-done: #22c55e;--ui-color-state-risk: #f97316;--ui-btn-filled-bg: #0f172a;--ui-btn-filled-text: #ffffff;--ui-btn-filled-hover-shadow: 0 12px 20px rgba(15, 23, 42, .3);--ui-btn-outlined-color: #0f172a;--ui-btn-outlined-hover-bg: rgba(15, 23, 42, .08);--ui-btn-primary-start: #2563eb;--ui-btn-primary-end: #4f46e5;--ui-btn-primary-text: #ffffff;--ui-btn-primary-hover-shadow: 0 10px 18px rgba(37, 99, 235, .4);--ui-btn-primary-outline-color: #2563eb;--ui-btn-secondary-start: #0ea5e9;--ui-btn-secondary-end: #38bdf8;--ui-btn-secondary-text: #ffffff;--ui-btn-secondary-hover-shadow: 0 10px 18px rgba(14, 165, 233, .4);--ui-btn-secondary-outline-color: #0ea5e9;--ui-btn-danger-start: #ef4444;--ui-btn-danger-end: #b91c1c;--ui-btn-danger-text: #ffffff;--ui-btn-danger-hover-shadow: 0 10px 18px rgba(248, 113, 113, .4);--ui-btn-ghost-bg: rgba(255, 255, 255, .4);--ui-btn-ghost-border: rgba(148, 163, 184, .4);--ui-btn-ghost-text: var(--ui-color-text-secondary);--ui-btn-ghost-hover-bg: rgba(255, 255, 255, .9);--ui-btn-ghost-hover-border: rgba(148, 163, 184, .9);--ui-btn-ghost-hover-shadow: var(--ui-shadow-subtle);--ui-icon-btn-size: 40px;--ui-icon-btn-border-radius: 999px;--ui-icon-btn-font-size: 18px;--ui-icon-btn-border: rgba(148, 163, 184, .25);--ui-icon-btn-bg: rgba(255, 255, 255, .92);--ui-icon-btn-color: var(--ui-color-text-secondary);--ui-icon-btn-shadow: none;--ui-icon-btn-transform: none;--ui-icon-btn-hover-bg: rgba(255, 255, 255, 1);--ui-icon-btn-hover-border: rgba(148, 163, 184, .6);--ui-icon-btn-hover-color: var(--ui-color-text-primary);--ui-icon-btn-hover-shadow: var(--ui-shadow-subtle);--ui-icon-btn-hover-transform: none;--ui-icon-btn-active-start: rgba(var(--ui-color-accent-blue-rgb), .28);--ui-icon-btn-active-mid: rgba(var(--ui-color-accent-teal-rgb), .38);--ui-icon-btn-active-end: rgba(var(--ui-color-accent-green-rgb), .42);--ui-icon-btn-active-border: rgba(var(--ui-color-accent-teal-rgb), .45);--ui-icon-btn-active-color: var(--ui-color-text-primary);--ui-icon-btn-active-shadow: 0 10px 20px rgba(var(--ui-color-accent-teal-rgb), .18);--ui-icon-btn-active-transform: translateY(-1px);--ui-icon-btn-active-hover-start: rgba(var(--ui-color-accent-blue-rgb), .36);--ui-icon-btn-active-hover-mid: rgba(var(--ui-color-accent-teal-rgb), .46);--ui-icon-btn-active-hover-end: rgba(var(--ui-color-accent-green-rgb), .54);--ui-icon-btn-active-hover-border: rgba(var(--ui-color-accent-teal-rgb), .55);--ui-icon-btn-active-hover-shadow: 0 12px 24px rgba(var(--ui-color-accent-green-rgb), .24);--ui-icon-btn-active-hover-transform: translateY(-1px);--ui-font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--ui-font-size-xs: 11px;--ui-font-size-sm: 12px;--ui-font-size-md: 13px;--ui-font-size-lg: 14px;--ui-space-1: 2px;--ui-space-2: 4px;--ui-space-3: 6px;--ui-space-4: 8px;--ui-space-5: 12px;--ui-space-6: 16px;--ui-radius-sm: 6px;--ui-radius-md: 12px;--ui-radius-lg: 5px;--ui-shadow-soft: 0 10px 15px rgba(15, 23, 42, .08);--ui-shadow-subtle: 0 1px 3px rgba(15, 23, 42, .08);--ui-transition-fast: .12s ease-out;--ui-transition-normal: .18s ease-out;--ui-z-commandbar: 10;--ui-z-sidebar: 9;--ui-z-overlay: 20}html,body{margin:0;padding:0;height:100%}body{font-family:var(--ui-font-family-sans);font-size:var(--ui-font-size-md);color:var(--ui-color-text-primary);background:radial-gradient(circle at top,#e5edff 0,#f3f4f6 45% 100%)}*,*:before,*:after{box-sizing:border-box}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}*{scrollbar-width:thin;scrollbar-color:var(--ui-color-border-subtle) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--ui-color-border-subtle);border-radius:999px}.toast-host.svelte-1qmc06t{pointer-events:none;position:fixed;display:flex;flex-direction:column;gap:.75rem;z-index:1100}.toast-host--top-right.svelte-1qmc06t{top:1.25rem;right:1.25rem}.toast-host--top-left.svelte-1qmc06t{top:1.25rem;left:1.25rem}.toast-host--bottom-right.svelte-1qmc06t{bottom:1.25rem;right:1.25rem}.toast-host--bottom-left.svelte-1qmc06t{bottom:1.25rem;left:1.25rem}.toast.svelte-1qmc06t{pointer-events:auto;min-width:240px;max-width:360px;padding:.85rem 1rem;border-radius:.75rem;border:1px solid transparent;box-shadow:0 18px 38px #0f172a2e;background:#fff;color:#0f172a;display:flex;align-items:flex-start;gap:.75rem}.toast__content.svelte-1qmc06t{flex:1}.toast__content.svelte-1qmc06t p:where(.svelte-1qmc06t){margin:0;font-size:.92rem;line-height:1.3}.toast__actions.svelte-1qmc06t{display:flex;align-items:center;gap:.35rem}.toast__action.svelte-1qmc06t{border:none;background:transparent;color:inherit;font-weight:600;text-transform:uppercase;font-size:.75rem;padding:.15rem .4rem;border-radius:.4rem;cursor:pointer}.toast__dismiss.svelte-1qmc06t{border:none;background:transparent;color:inherit;font-size:1.15rem;line-height:1;cursor:pointer;padding:.15rem}.toast--success.svelte-1qmc06t{border-color:#22c55e80;background:#22c55e4d;color:#14532d}.toast--error.svelte-1qmc06t{border-color:#f8717199;background:#f871714d;color:#7f1d1d}.toast--info.svelte-1qmc06t{border-color:#3b82f673;background:#bfdbfe4d;color:#1d4ed8}.toast--warning.svelte-1qmc06t{border-color:#facc1580;background:#fef08a66;color:#92400e}.toast--error.svelte-1qmc06t .toast__dismiss:where(.svelte-1qmc06t),.toast--error.svelte-1qmc06t .toast__action:where(.svelte-1qmc06t){color:#7f1d1d}:root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:#fff;box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-text-light)}.gantt-container .popup-wrapper .action-btn:hover{background-color:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:#fff}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:--g-weekend-label-color;border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:#000000b3;color:#fff;border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}html,body{height:100%;margin:0;overflow:hidden}:root{--nav-height: 68px}.app-root.svelte-12qhfyh{min-height:100vh;background:var(--surface-app);display:flex;flex-direction:column;font-family:var(--font-base)}.nav.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between;padding:.9rem 2rem;min-height:var(--nav-height);background:var(--surface-nav);color:var(--text-on-dark);box-shadow:var(--shadow-nav)}.brand.svelte-12qhfyh a:where(.svelte-12qhfyh){font-weight:700;letter-spacing:.05em;color:inherit;text-decoration:none;text-transform:uppercase;font-size:.95rem}.links.svelte-12qhfyh{display:flex;align-items:center;gap:1.25rem;list-style:none;margin:0;padding:0}.links.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--text-on-dark-muted);text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding-bottom:.25rem}.links.svelte-12qhfyh a:where(.svelte-12qhfyh):after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:2px;border-radius:999px;background:transparent;transition:background var(--transition-base)}.links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover:after,.links.svelte-12qhfyh a.is-active:where(.svelte-12qhfyh):after{background:var(--color-brand-highlight)}.links.svelte-12qhfyh a.is-active:where(.svelte-12qhfyh){color:var(--text-inverse)}.user.svelte-12qhfyh{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.name.svelte-12qhfyh{color:var(--text-on-dark-muted)}.settings-trigger.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;text-decoration:none;color:var(--text-on-dark-soft);font-size:1.2rem;transition:background var(--transition-base),color var(--transition-base)}.settings-trigger.svelte-12qhfyh:hover{background:var(--surface-nav-hover);color:var(--text-inverse)}.sign-in.svelte-12qhfyh{color:var(--color-brand-highlight);text-decoration:none;font-weight:600}.layout-main.svelte-12qhfyh{flex:1;min-height:0;height:calc(100vh - var(--nav-height));overflow:hidden;display:flex;flex-direction:column}.layout-content.svelte-12qhfyh{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.layout-content--scroll.svelte-12qhfyh{overflow-y:auto;overflow-x:hidden;height:100%}.layout-content>*{flex:1;min-height:0}
