@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-black:900;--tracking-wide:.025em;--tracking-wider:.05em;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--muted\)\]{color:var(--muted)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}}:root{--bg:#0d1117;--surface:#161b22;--surface2:#1c2128;--border:#505d6e;--text:#e6edf3;--muted:#c8d4de;--accent:#f5a623;--green:#3fb950;--red:#e05555;--violet:#ddd0ff;--blue:#38bdf8;--l1:#a8854a;--l2:#ffa502;--l3:#2ed573;--l4:#1e90ff;--l5:#a55eea}*{box-sizing:border-box}body{font-family:var(--font-dm-sans),"DM Sans",system-ui,sans-serif;background:var(--bg);color:var(--text);margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:#3d4d5c;opacity:1}input:-webkit-autofill{caret-color:var(--text);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2)inset!important;-webkit-text-fill-color:var(--text)!important;border-color:var(--border)!important}input:-webkit-autofill:hover{caret-color:var(--text);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2)inset!important;-webkit-text-fill-color:var(--text)!important;border-color:var(--border)!important}input:-webkit-autofill:focus{caret-color:var(--text);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2)inset!important;-webkit-text-fill-color:var(--text)!important;border-color:var(--border)!important}input:-webkit-autofill:active{caret-color:var(--text);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2)inset!important;-webkit-text-fill-color:var(--text)!important;border-color:var(--border)!important}:root{--DAY-W:24px;--ROW-H:38px;--TASK-W:560px}body.scheduler-page{height:100vh;overflow:hidden}body.scheduler-page>div,body.scheduler-page>div>main,body.scheduler-page>div>div{height:100%;overflow:hidden}.app-header{background:var(--surface);border-bottom:2px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 18px;display:flex}.logo{letter-spacing:3px;color:var(--accent);font-size:24px;font-weight:900;line-height:1}.logo em{color:var(--text);font-style:normal}.vr{background:var(--border);width:1px;height:28px}.proj-name{cursor:pointer;color:var(--text);font-size:13px;font-weight:600}.proj-sub{color:var(--muted);cursor:pointer;margin-top:1px;font-size:11px}.proj-name:hover,.proj-sub:hover{color:var(--accent)}.proj-edit-input{border:none;border-bottom:1px solid var(--accent);color:inherit;font:inherit;background:0 0;outline:none;width:200px;padding:0 2px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.8);cursor:pointer;opacity:.8}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.spacer{flex:1}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 18px;display:flex;position:relative}.toolbar-sep{background:#7a8fa8;border-radius:1px;flex-shrink:0;align-self:center;width:2px;height:26px;margin:0 8px}.filter-btn{border:1.5px solid var(--border);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:0 0;border-radius:5px;align-items:center;padding:6px 10px;font-family:DM Mono,monospace;font-size:11px;font-weight:500;line-height:1;transition:border-color .15s,background .12s,color .12s,box-shadow .15s;display:inline-flex}.filter-btn:hover{color:#fff;background:#c8d8e81a;border-color:#c8d8e8;box-shadow:0 0 0 2px #c8d8e826}.filter-btn--active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700;box-shadow:0 0 0 2.5px #f5a62366,0 0 12px #f5a62340}.filter-btn--active:hover{background:var(--accent);filter:brightness(1.15);box-shadow:0 0 0 3px #f5a62380,0 0 16px #f5a62359}.btn{font-family:var(--font-dm-sans),"DM Sans",system-ui,sans-serif;border:1.5px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;line-height:1;transition:border-color .15s,background .12s,box-shadow .15s;display:inline-flex}.btn:hover{background:#ffffff0d;border-color:#a0b4c8;box-shadow:0 0 0 2.5px #a0b4c82e}.btn-primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}.btn-primary:hover{filter:brightness(1.15);box-shadow:0 0 0 2.5px #f5a6234d}.btn-sm{align-items:center;padding:6px 11px;font-size:12px;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-delete{color:var(--muted)!important;border-color:var(--border)!important;background:0 0!important}.btn-delete:hover{color:#f55!important;background:#ff555514!important;border-color:#ff5555b3!important;box-shadow:0 0 0 2.5px #f553!important}.workspace{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.task-panel{width:var(--TASK-W);flex-direction:column;flex-shrink:0;height:100%;min-height:0;display:flex;overflow:hidden}.col-head{height:var(--ROW-H);background:var(--surface2);border-bottom:1px solid var(--border);color:#d8e4ee;text-transform:uppercase;letter-spacing:.8px;-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-columns:28px 1fr 52px 60px 72px 72px 40px;align-items:center;gap:4px;padding:0 15px 0 8px;font-family:DM Mono,monospace;font-size:11px;display:grid}.task-list{scrollbar-gutter:stable;flex:1;overflow:hidden auto}.trow{height:var(--ROW-H);cursor:pointer;border-bottom:1px solid #30363d99;grid-template-columns:28px 1fr 52px 60px 72px 72px 40px;align-items:center;gap:4px;padding:0 8px 0 0;transition:background .1s;display:grid;position:relative}.trow:hover{background:#ffffff08}.trow:focus{outline:none}.trow.selected,.grow.selected{outline-offset:-1px;outline:1px solid #f5a6234d;background:#f5a62314!important}.trow.L1{background:#f5a6230a}.trow.L2{background:#4ecdc408}.dep-arrow.ss-arrow{stroke-dasharray:5 3}.toggle-btn{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;font-size:9px;transition:all .1s;display:flex}.toggle-btn:hover{background:var(--border);color:var(--text)}.tname{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;font-size:12px;display:flex;overflow:hidden}.tname-text{text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:3px;flex:1;max-width:fit-content;padding:1px 4px;overflow:hidden}.tname-text:hover{outline:1px dashed var(--border);background:#ffffff12}.tname.L1{color:var(--l1);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:700}.tname.L2{color:var(--l2);font-weight:600}.tname.L3{color:var(--l3);font-weight:500}.tname.L4{color:var(--l4);font-weight:400}.tname.L5{color:var(--l5);font-size:11px;font-weight:400}.tdays{color:#ccd8e4;text-align:center;font-family:DM Mono,monospace;font-size:12px}.tdate{color:#ccd8e4;text-align:center;font-family:DM Mono,monospace;font-size:11px;line-height:1.3}.tdays-wrap,.tdate-wrap{justify-content:center;align-items:center;height:100%;display:flex}.tpred{color:var(--muted);font-size:11px;overflow:hidden}.tpred-wrap{justify-content:center;align-items:center;height:100%;padding:0 4px;display:flex;position:relative}.tpred-display{cursor:pointer;align-items:center;gap:3px;max-width:100%;display:flex;overflow:hidden}.tpred-name{color:var(--violet);text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:11px;overflow:hidden}.tpred-badge{color:var(--violet);cursor:pointer;background:#a78bfa2e;border:1px solid #a78bfa59;border-radius:3px;flex-shrink:0;padding:1px 3px;font-family:DM Mono,monospace;font-size:9px}.tpred-badge:hover{background:#a78bfa59}.tpred-empty{color:var(--border);font-size:11px}.tpred-empty:hover{color:var(--muted)}.tpred-clear{color:var(--muted);cursor:pointer;opacity:0;flex-shrink:0;margin-left:2px;font-size:10px;transition:opacity .15s}.tpred-wrap:hover .tpred-clear{opacity:1}.tpred-input-wrap{width:100%;position:relative}.tpred-input{background:var(--surface2);border:1px solid var(--accent);width:100%;color:var(--text);border-radius:4px;outline:none;padding:2px 5px;font-family:inherit;font-size:11px}.tpred-dropdown{background:var(--surface2);border:1px solid var(--border);z-index:600;border-radius:6px;min-width:160px;max-height:160px;position:fixed;overflow-y:auto;box-shadow:0 8px 30px #00000080}.tpred-opt{cursor:pointer;white-space:nowrap;padding:5px 10px;font-size:11px}.tpred-opt:hover{background:var(--hover);color:var(--accent)}.teditable:hover{cursor:text;background:#ffffff0a;border-radius:3px}.cell-calc{cursor:not-allowed}.cell-edit{background:var(--bg);border:1px solid var(--accent);width:100%;height:26px;color:var(--text);border-radius:4px;outline:none;padding:0 6px;font-family:DM Sans,system-ui,sans-serif;font-size:12px;box-shadow:0 0 0 2px #f5a62326}.cell-edit.mono{text-align:center;font-family:DM Mono,monospace;font-size:11px}.pct-cell{cursor:pointer;justify-content:center;align-items:center;height:100%;display:flex}.pct-label{color:var(--muted);font-family:DM Mono,monospace;font-size:11px}.pct-label.complete{color:var(--green);font-weight:700}.pct-label.partial{color:var(--accent)}.pct-label.rollup{font-style:italic}.notes-icon{cursor:pointer;opacity:.7;flex-shrink:0;margin-left:4px;font-size:11px}.notes-icon:hover{opacity:1}.scroll-to-icon{cursor:pointer;opacity:0;border-radius:3px;flex-shrink:0;margin-left:3px;padding:0 2px;font-size:13px;transition:opacity .15s}.trow:hover .scroll-to-icon{opacity:.55}.scroll-to-icon:hover{background:#f5a6231f;opacity:1!important}.trow.critical-row{border-left:2px solid #e0555599}.trow.is-milestone .tname{font-style:italic}.gantt-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.gantt-header-wrap{flex-shrink:0;overflow:hidden}.gantt-month-row,.gantt-day-row{background:var(--surface2);border-bottom:1px solid var(--border);height:19px;display:flex;overflow:hidden}.gmonth{color:var(--muted);border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:1px;flex-shrink:0;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:11px;display:flex}.gday{width:var(--DAY-W);color:var(--muted);border-right:1px solid #30363d80;flex-shrink:0;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:10px;display:flex}.gday.we{color:#a0b4c8b3;background:#ffffff06}.gday.today{color:var(--accent);background:#f5a6232e;font-weight:700}.gantt-body-wrap{flex:1;min-width:0;min-height:0;position:relative;overflow:auto}.gantt-body{position:relative}.grow{height:var(--ROW-H);border-bottom:1px solid #30363d80;align-items:center;width:100%;display:flex;position:absolute}.grow:hover{background:#ffffff04}.grow.L1{background:#f5a62306}.grow.L2{background:#4ecdc404}.gbar.flagged{background:#ffe56633!important;border-color:#ffe566bf!important}.gcell{width:var(--DAY-W);flex-shrink:0;height:100%;position:absolute;top:0}.gcell.we{background:#ffffff03;border-left:1px solid #30363d40;border-right:1px solid #30363d40}.gcell.today{background:#f5a6230f}.gbar{white-space:nowrap;cursor:pointer;z-index:2;border-radius:3px;align-items:center;padding:0 5px;font-size:9px;font-weight:600;transition:filter .12s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gbar:hover{filter:brightness(1.25);z-index:10}.gbar.L1{height:8px;color:var(--l1);background:#a8854a59;border:1px solid #a8854acc;border-radius:1px;padding:0}.gbar.L2{height:14px;color:var(--l2);background:#ffa50233;border:1px solid #ffa502a6}.gbar.L3{height:20px;color:var(--l3);background:#2ed5732e;border:1px solid #2ed57399}.gbar.L4{height:22px;color:var(--l4);background:#1e90ff2e;border:1px solid #1e90ffa6}.gbar.L5{height:18px;color:var(--l5);background:#a55eea26;border:1px solid #a55eea8c}.gbar-fill{pointer-events:none;border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.gbar.L2 .gbar-fill{background:#ff9f438c}.gbar.L3 .gbar-fill{background:#00d4aa80}.gbar.L4 .gbar-fill{background:#38bdf88c}.gbar.L5 .gbar-fill{background:#f9c74f99}.gbar.critical{box-shadow:0 0 8px #e0555559;background:#e0555540!important;border-color:#e05555cc!important}.gbar.critical .gbar-fill{background:#e055558c!important}.today-line{z-index:5;pointer-events:none;background:#f5a6234d;width:1px;position:absolute;top:0;bottom:0}.today-line:after{content:"NOW";color:#f5a62366;letter-spacing:1px;font-family:DM Mono,monospace;font-size:7px;font-weight:700;position:absolute;top:6px;left:4px}.milestone-diamond{z-index:5;cursor:pointer;width:14px;height:14px;transition:opacity .15s;position:absolute;transform:rotate(45deg)}.milestone-diamond:hover{opacity:.8}.milestone-label{white-space:nowrap;z-index:20;pointer-events:none;background:var(--bg);box-shadow:-1px 0 0 1px var(--bg),2px 0 0 1px var(--bg);border-radius:2px;padding:1px 4px;font-size:11px;position:absolute;top:50%;transform:translateY(-50%)}#arrowSvg{pointer-events:none;z-index:2;position:absolute;top:0;left:0;overflow:visible}.dep-arrow{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.55}@keyframes gbar-pulse{0%{outline:2px solid #f5a62300;box-shadow:0 0 #f5a62300}20%{outline:2px solid #f5a623e6;box-shadow:0 0 0 4px #f5a62380}60%{outline:2px solid #f5a62399;box-shadow:0 0 0 6px #f5a62340}to{outline:2px solid #f5a62300;box-shadow:0 0 #f5a62300}}.gbar-highlight{animation:2s ease-out forwards gbar-pulse;z-index:10!important}.dep-arrowhead{opacity:.55}.dep-arrow.fromL5{stroke:#f9c74fd9}.dep-arrow.fromL4{stroke:#38bdf8d9}.dep-arrow.fromL3{stroke:#00d4aad9}.dep-arrow.fromL2{stroke:#ff9f43d9}.dep-arrowhead.fromL5{fill:#f9c74fd9}.dep-arrowhead.fromL4{fill:#38bdf8d9}.dep-arrowhead.fromL3{fill:#00d4aad9}.dep-arrowhead.fromL2{fill:#ff9f43d9}.dep-arrow.critical-arrow{stroke:#e05555e6!important;stroke-width:2px!important;opacity:.85!important}.dep-arrowhead.critical-arrow{fill:#e05555e6!important;opacity:.85!important}.statusbar{background:var(--surface);border-top:1px solid var(--border);height:26px;color:var(--muted);flex-shrink:0;align-items:center;gap:20px;padding:0 16px;font-family:DM Mono,monospace;font-size:12px;display:flex}.statusbar b{color:var(--text);font-weight:400}.overlay{z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface2);border:1px solid var(--border);border-radius:12px;width:500px;max-width:95vw;animation:.18s fadeUp;box-shadow:0 30px 90px #000000b3}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.modal-head h2{font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:12px;padding:18px 22px;display:flex}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.frow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.frow.full{grid-template-columns:1fr}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-family:DM Mono,monospace;font-size:10px}.modal-body textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:100%;padding:8px 10px}.modal-body textarea:focus{border-color:var(--accent)}.pred-wrap{position:relative}.pred-selected{background:var(--bg);border:1px solid var(--border);min-height:unset;cursor:text;border-radius:6px;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 8px;transition:border-color .12s;display:flex;overflow:hidden}.pred-selected:focus-within{border-color:var(--accent)}.pred-chip{color:var(--violet);white-space:nowrap;background:#a78bfa2e;border:1px solid #a78bfa66;border-radius:4px;align-items:center;gap:5px;max-width:220px;padding:2px 6px 2px 8px;font-size:11px;display:flex}.pred-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.pred-chip-remove{cursor:pointer;color:var(--muted);border-radius:3px;padding:0 2px;font-size:13px;line-height:1}.pred-chip-remove:hover{color:var(--red)}.tpred-open-wrap{z-index:600;background:var(--surface2);border:1px solid var(--accent);border-radius:6px;min-width:220px;max-width:320px;padding:4px 6px;position:fixed;box-shadow:0 8px 30px #00000080}.tpred-chip-inline{background:#a78bfa38;border:1px solid #a78bfa8c;border-radius:5px;align-items:center;gap:4px;max-width:100%;margin-bottom:6px;padding:3px 6px;display:flex}.tpred-chip-name{color:var(--violet);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.tpred-chip-x{color:var(--muted);cursor:pointer;border-radius:3px;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.tpred-chip-x:hover{color:var(--red)}.tpred-num{color:var(--violet);cursor:pointer;white-space:nowrap;background:#a78bfa40;border:1px solid #a78bfa99;border-radius:4px;justify-content:center;align-items:center;padding:2px 7px;font-family:DM Mono,monospace;font-size:11px;display:inline-flex}.tpred-num:hover{background:#a78bfa52}.tpred-type-badge{color:var(--violet);background:#a78bfa2e;border:1px solid #a78bfa80;border-radius:3px;margin-left:4px;padding:1px 3px;font-family:DM Mono,monospace;font-size:9px;font-weight:600;line-height:1}.pred-search{color:#e6edf3;background:0 0;border:none;outline:none;flex:1;min-width:80px;font-family:DM Sans,system-ui,sans-serif;font-size:13px}.pred-search::placeholder{color:var(--muted)}.pred-dropdown{background:var(--surface2);border:1px solid var(--border);z-index:500;border-radius:8px;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 40px #00000080}.pred-opt{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .1s;display:flex}.pred-opt:hover{background:#ffffff0d}.pred-opt-badge{background:var(--surface);color:var(--muted);border-radius:3px;padding:1px 5px;font-family:DM Mono,monospace;font-size:9px}.pred-opt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pred-opt-level{color:var(--muted);font-size:9px}.pred-opt.L1 .pred-opt-name{color:var(--l1)}.pred-opt.L2 .pred-opt-name{color:var(--l2)}.pred-opt.L3 .pred-opt-name{color:var(--l3)}.pred-opt.L4 .pred-opt-name{color:var(--l4)}.pred-opt.L5 .pred-opt-name{color:var(--l5)}#journalDrawer{background:var(--surface);border-left:1px solid var(--border);z-index:200;flex-direction:column;width:360px;height:100vh;transition:transform .22s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0006}#journalDrawer.open{transform:translate(0)}.jdrawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.jdrawer-head h3{font-size:14px;font-weight:600}.jdrawer-body{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.jdrawer-foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.jentry{background:var(--surface2);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.jentry-meta{justify-content:space-between;align-items:center;display:flex}.jentry-ts{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.jentry-del{color:var(--muted);cursor:pointer;border-radius:3px;padding:2px 4px;font-size:11px}.jentry-del:hover{color:var(--red);background:#e055551a}.jentry-text{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5}.jentry-text:focus{outline:1px solid var(--accent);border-radius:2px}.jnew-input{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:6px;min-height:72px;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.5}.jnew-input:focus{border-color:var(--accent);outline:none}.jdrawer-empty{text-align:center;color:var(--muted);padding:32px 0;font-size:12px}#aiAdvisorDrawer{background:var(--surface);border-left:1px solid var(--border);z-index:200;flex-direction:column;width:480px;height:100vh;transition:transform .22s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0006}#aiAdvisorDrawer.open{transform:translate(0)}.panel-divider{cursor:col-resize;background:var(--border);z-index:10;flex-shrink:0;justify-content:center;align-items:center;width:6px;transition:background .12s;display:flex;position:relative}.panel-divider:hover,.panel-divider:active,.panel-divider.dragging{background:var(--accent)}.ctx-menu{background:var(--surface2);border:1px solid var(--border);border-radius:8px;min-width:200px;padding:4px;font-size:12px;box-shadow:0 12px 40px #0009}.ctx-item{cursor:pointer;white-space:nowrap;color:var(--text);border-radius:5px;padding:7px 12px;transition:background .1s}.ctx-item:hover{background:var(--hover)}.ctx-danger{color:#f87171}.ctx-danger:hover{background:#f8717126}.ctx-disabled{opacity:.38;pointer-events:none}.ctx-divider{background:var(--border);height:1px;margin:3px 6px}.ctx-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:5px 12px 3px;font-size:10px}.pct-popover{background:var(--surface2);border:1px solid var(--border);border-radius:8px;min-width:200px;padding:10px 12px;box-shadow:0 8px 32px #00000080}.btn-sm{border:1.5px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:5px;align-items:center;padding:6px 11px;font-size:12px;line-height:1;transition:border-color .15s,background .12s,box-shadow .15s;display:inline-flex}.btn-sm:hover{background:#ffffff0d;border-color:#a0b4c8;box-shadow:0 0 0 2.5px #a0b4c82e}.btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#000!important}.btn-primary:hover{opacity:.85}.add-row-hint{color:var(--muted);cursor:pointer;border-top:1px dashed var(--border);-webkit-user-select:none;user-select:none;padding:8px 16px;font-size:11px;transition:color .15s,background .15s}.add-row-hint:hover{color:var(--accent);background:var(--hover)}.app-toast{background:var(--surface2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;pointer-events:none;z-index:2000;border-radius:20px;padding:6px 16px;font-size:11px;animation:.15s toast-in;position:fixed;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.row-num-gutter{cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0;display:flex;position:relative}.row-num-gutter:active{cursor:grabbing}.row-num-gutter:before{content:"";border-radius:0 6px 6px 0;width:24px;height:32px;transition:filter .12s,height .1s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.row-num-gutter:hover:before{filter:brightness(1.25);height:34px}.trow.selected .row-num-gutter:before{filter:brightness(1.4);height:34px}.row-num-gutter span{z-index:1;color:#0d1117;font-family:DM Mono,monospace;font-size:10px;font-weight:700;line-height:1;position:relative}.row-num-gutter.L1:before{background:#a8854a}.row-num-gutter.L2:before{background:#ffa502}.row-num-gutter.L3:before{background:#2ed573}.row-num-gutter.L4:before{background:#1e90ff}.row-num-gutter.L5:before{background:#a55eea}.row-num-gutter.L5 span{color:#f0e8ff}.flag-btn{cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;color:#555;border-radius:3px;flex-shrink:0;padding:0 3px;font-size:21px;line-height:1;transition:opacity .15s,background .15s,color .15s}.trow:hover .flag-btn{opacity:1;color:#888;background:#ffffff0f}.flag-btn.flagged{opacity:1!important;background:#ffffff14!important}.trow.flagged-row{background:#ffffff04!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
