@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-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-950:oklch(25.8% .092 26.042);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--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;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}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.z-\[9999\]{z-index:9999}.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}}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.max-w-lg{max-width:var(--container-lg)}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.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}.list-disc{list-style-type:disc}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-red-500{border-color:var(--color-red-500)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.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))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}}@media(prefers-color-scheme:dark){.dark\:bg-neutral-900{background-color:var(--color-neutral-900)}.dark\:text-neutral-200{color:var(--color-neutral-200)}.dark\:text-neutral-300{color:var(--color-neutral-300)}@media(hover:hover){.dark\:hover\:bg-red-950:hover{background-color:var(--color-red-950)}}}}:root{--bg-app:#0d141f;--bg-ribbon:#0f1826;--bg-ribbon-tabs:#0a111c;--bg-panel:#0f1826;--bg-header:#0a111c;--bg-row-even:#0d141f;--bg-row-odd:#101927;--bg-hover:#1a2636;--bg-selected:#1d4677;--bg-input:#16202e;--bg-modal:#171f2c;--border-primary:#1e2937;--border-secondary:#2f3d4f;--border-accent:#3d8fe0;--text-primary:#e7edf5;--text-secondary:#a5b4c8;--text-muted:#8497ac;--text-accent:#9fcbfb;--text-heading:#f4f8fd;--color-indigo:#2f83d8;--color-indigo-dark:#1c66b4;--color-critical:#ff5a4d;--color-normal:#4c94f5;--color-milestone:#ffd60a;--color-today:#ff9f0a;--color-progress:#30d158;--color-status-line:#64d2ff;--color-baseline:#7d8b9c;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 12px #00000073;--shadow-3:0 12px 32px #0000008c;--ring-accent:0 0 0 3px #2f83d847;--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-display:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Code", "Fira Code", monospace;--bg-primary:#0d141f;--bg-secondary:#0f1826;--bg-elevated:#16202e;--bg-elevated-2:#1c2836;--ease-default:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(0, 0, .58, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275)}.light{--bg-app:#e9eef4;--bg-ribbon:#d6dee8;--bg-ribbon-tabs:#cfd8e3;--bg-panel:#e0e7f0;--bg-header:#e0e7f0;--bg-row-even:#eef2f8;--bg-row-odd:#e0e7f0;--bg-hover:#c8dcf3;--bg-selected:#aacdf0;--bg-input:#eef2f8;--bg-modal:#eef2f8;--border-primary:#b7c5d6;--border-secondary:#ccd6e3;--border-accent:#1f6fc7;--text-primary:#333d47;--text-secondary:#586675;--text-muted:#646f7a;--text-accent:#18579d;--text-heading:#2a333d;--bg-primary:#e9eef4;--bg-secondary:#e0e7f0;--color-indigo:#1f6fc7;--color-indigo-dark:#18579d;--color-critical:#ef4444;--color-normal:#3b82f6;--color-milestone:#d97706;--color-today:#f59e0b;--color-progress:#16a34a;--color-status-line:#0891b2;--color-baseline:#6b7280;--shadow-1:0 1px 2px #0f172a14;--shadow-2:0 4px 12px #0f172a1f;--shadow-3:0 12px 32px #0f172a29;--ring-accent:0 0 0 3px #1f6fc738;--bg-elevated:#fff;--bg-elevated-2:#f4f7fb}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1,"cv01" 1,"cv11" 1,"calt" 1;letter-spacing:-.006em;text-rendering:optimizelegibility;font-size:12px;line-height:1.45;overflow:hidden}h1,h2,h3,h4,h5,h6,.ribbon-brand-copy strong,.modal-title{font-family:var(--font-display);letter-spacing:-.018em;color:var(--text-heading)}.tcell,.tcell-num,.tcell-id,.tcell-dur,.tcell-pct,.tcell-date,.fp-cell-id,.fp-cell-lag,.fp-cell-units,.fp-cell-work,.col-hdr,table,input,select{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 42%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:3px solid #0000;border-radius:999px;transition:background .15s}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 62%,transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}@supports (color:color-mix(in lab,red,red)){*{scrollbar-color:color-mix(in srgb,var(--text-muted) 42%,transparent) transparent}}.ribbon{background:var(--bg-ribbon);border-bottom:1px solid var(--border-primary);flex-direction:column;flex-shrink:0;display:flex}.ribbon-tabs{background:var(--bg-ribbon-tabs);border-bottom:1px solid var(--border-primary);align-items:center;gap:4px;height:32px;padding:0 10px;display:flex}.ribbon-brand{white-space:nowrap;align-items:center;gap:8px;margin-right:10px;padding:0 8px 0 2px;display:inline-flex}.ribbon-brand-mark{width:20px;height:20px;color:var(--text-accent);background:#1f6fc724;border:1px solid #1f6fc747;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.ribbon-brand-copy{flex-direction:column;gap:1px;line-height:1;display:flex}.ribbon-brand-copy strong{letter-spacing:.04em;color:var(--text-heading);font-size:11px;font-weight:800}.ribbon-brand-copy small{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:8px;font-weight:700}.ribbon-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.ribbon-tab.active{color:var(--text-heading);background:#1f6fc71f;border-color:#1f6fc73d;box-shadow:inset 0 -2px #1f6fc7e6}.ribbon-body{align-items:stretch;gap:0;min-height:52px;padding:3px 10px 2px;display:flex;overflow:auto hidden}.ribbon-group{border-right:1px solid var(--border-primary);flex-direction:column;align-items:center;gap:3px;padding:0 10px 1px;display:flex;position:relative}.ribbon-group-inner{flex:1;align-items:center;gap:5px;display:flex}.ribbon-group-label{text-transform:uppercase;letter-spacing:.18em;white-space:nowrap;text-align:center;color:var(--text-muted);margin-top:auto;padding-top:1px;font-size:8px;font-weight:700}.rbtn{border:1px solid var(--border-secondary);cursor:pointer;white-space:nowrap;background:var(--bg-input);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:42px;padding:4px 7px;font-size:9px;font-weight:600;display:flex}@supports (color:color-mix(in lab,red,red)){.rbtn{background:color-mix(in srgb,var(--bg-input) 88%,transparent)}}.rbtn{color:var(--text-primary);transition:all .15s}.rbtn:hover{background:var(--bg-hover)}@supports (color:color-mix(in lab,red,red)){.rbtn:hover{background:color-mix(in srgb,var(--bg-hover) 86%,transparent)}}.rbtn:hover{border-color:#1f6fc78c}.rbtn.active{border-color:var(--color-indigo);color:var(--text-heading);background:#1f6fc729}.rbtn:focus-visible{border-color:var(--color-indigo);outline:none;box-shadow:0 0 0 3px #1f6fc72e}.rbtn:disabled{opacity:.45;cursor:not-allowed}.rbtn-icon{width:16px;height:16px;color:var(--text-secondary);background:#94a3b81f;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.rbtn.active .rbtn-icon{color:var(--text-heading);background:#1f6fc733}.rbtn-label{text-align:center;line-height:1.15}.rbtn-sm{flex-direction:row;gap:5px;min-width:auto;padding:3px 8px;font-size:10px}.rbtn-primary{background:var(--color-indigo-dark);border-color:var(--color-indigo);color:#fff;font-weight:700}.ribbon-format-stack{flex-direction:column;align-items:stretch;gap:4px;min-width:148px;display:flex}.ribbon-format-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.rbtn-format-mini{justify-content:center;gap:0;width:28px;min-width:0;height:26px;padding:0}.rbtn-format-mini svg{width:16px;height:16px}.ribbon-format-caption{min-height:16px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:10px;line-height:1.2;overflow:hidden}.ribbon-font-row{align-items:center;gap:4px;min-width:0;display:flex}.ribbon-font-family{flex:132px;min-width:132px;max-width:150px}.ribbon-font-size{flex:0 0 58px;min-width:58px}.ribbon-inline-actions{align-items:center;gap:4px;display:flex}.ribbon-inline-actions-nowrap{flex-wrap:nowrap}.rbtn-compact{gap:2px;min-width:40px;padding:3px 6px}.rbtn-compact .rbtn-icon{border-radius:5px;width:14px;height:14px}.rbtn-compact .rbtn-label{font-size:8.5px}.ribbon-search-action{min-width:90px}.ribbon-save-action{gap:2px;min-width:58px;padding:4px 10px}.ribbon-save-action .rbtn-icon{width:14px;height:14px}.ribbon-save-action .rbtn-label{font-size:10px}.ribbon-save-btn{position:relative;overflow:hidden}.ribbon-save-btn>.rbtn-icon,.ribbon-save-btn>.rbtn-label{z-index:1;position:relative}.ribbon-save-fill{z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--color-indigo),var(--color-indigo));height:0;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.ribbon-save-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--color-indigo) 55%,transparent),color-mix(in srgb,var(--color-indigo) 80%,transparent))}}.ribbon-save-fill{transition:height .3s,background .35s,opacity .4s}.ribbon-save-btn.save-saving .ribbon-save-fill{animation:2.4s cubic-bezier(.25,.8,.3,1) forwards saveWaterFill}@keyframes saveWaterFill{0%{height:0}to{height:88%}}.ribbon-save-btn.save-saved .ribbon-save-fill{background:linear-gradient(180deg,var(--color-progress),var(--color-progress));height:100%;animation:none}@supports (color:color-mix(in lab,red,red)){.ribbon-save-btn.save-saved .ribbon-save-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--color-progress) 60%,transparent),color-mix(in srgb,var(--color-progress) 85%,transparent))}}.ribbon-save-btn.save-saved .rbtn-icon{color:#fff}.ribbon-save-btn.save-error .ribbon-save-fill{background:linear-gradient(180deg,var(--color-critical),var(--color-critical));height:100%;animation:none}@supports (color:color-mix(in lab,red,red)){.ribbon-save-btn.save-error .ribbon-save-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--color-critical) 55%,transparent),color-mix(in srgb,var(--color-critical) 80%,transparent))}}.ribbon-settings-panel{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;min-width:420px;display:grid}.ribbon-settings-panel-modal{min-width:0}.ribbon-setting-card{border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:6px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.ribbon-setting-card{background:color-mix(in srgb,var(--bg-input) 84%,transparent)}}.ribbon-setting-head{color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;display:flex}.ribbon-setting-head strong{color:var(--text-primary);font-size:11px}.ribbon-setting-inline{align-items:center;gap:6px;display:flex}.ribbon-setting-number{text-align:right;width:72px;min-width:72px;height:28px;padding:4px 8px;font-size:12px}.ribbon-setting-unit{color:var(--text-muted);font-size:10px;font-weight:700}.ribbon-setting-range{width:100%;accent-color:var(--color-indigo)}.ribbon-settings-launcher{gap:3px;min-width:110px;padding:7px 10px}.ribbon-settings-launcher small{color:var(--text-muted);font-size:9px;font-weight:600}.ribbon-table-modal{gap:16px}.ribbon-table-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ribbon-table-modal-subtitle{color:var(--text-secondary);font-size:11px;line-height:1.4}.ribbon-config-tabs{border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:10px;gap:6px;padding:4px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ribbon-config-tabs{background:color-mix(in srgb,var(--bg-input) 78%,transparent)}}.ribbon-config-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:700;transition:all .15s}.ribbon-config-tab:hover{color:var(--text-primary);background:var(--bg-hover)}@supports (color:color-mix(in lab,red,red)){.ribbon-config-tab:hover{background:color-mix(in srgb,var(--bg-hover) 82%,transparent)}}.ribbon-config-tab.active{color:var(--text-primary);border-color:var(--color-indigo);background:#1f6fc724}.ribbon-project-form{flex-direction:column;gap:2px;display:flex}.ribbon-project-note{color:var(--text-muted);margin-top:4px;font-size:10px;line-height:1.25}.ribbon-security-actions{flex-direction:column;gap:6px;min-width:220px;display:flex}.ribbon-leveling-launcher{min-width:116px;min-height:42px;padding:6px 10px}.ribbon-leveling-launcher .rbtn-label{font-size:9px}.ribbon-leveling-launcher small{letter-spacing:.04em;color:var(--text-muted);font-size:7.5px;font-weight:700}.module-tabs-bar{background:var(--bg-ribbon-tabs);border-bottom:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:4px;min-height:34px;padding:4px 10px;display:flex;overflow:auto hidden}.module-brand{border:none;border-right:1px solid var(--border-primary);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;height:30px;margin-right:4px;padding:0 10px 0 4px;display:inline-flex}.module-brand-logo{object-fit:contain;width:auto;height:22px;display:block}.module-brand:hover{opacity:.96}.module-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:6px 10px;transition:all .15s;display:inline-flex}.module-tab:hover{background:var(--bg-hover)}@supports (color:color-mix(in lab,red,red)){.module-tab:hover{background:color-mix(in srgb,var(--bg-hover) 72%,transparent)}}.module-tab:hover{color:var(--text-primary);border-color:#1f6fc71f}.module-tab.active{background:var(--bg-ribbon)}@supports (color:color-mix(in lab,red,red)){.module-tab.active{background:color-mix(in srgb,var(--bg-ribbon) 88%,transparent)}}.module-tab.active{color:var(--text-heading);border-color:#1f6fc738}.module-tab-icon{width:18px;height:18px;color:inherit;opacity:.92;justify-content:center;align-items:center;display:inline-flex}.module-tab-label{letter-spacing:.01em;font-size:11px;font-weight:600}.module-tabs-spacer{flex:8px;min-width:4px}.module-project-indicator{background:var(--bg-ribbon);border:1px solid #1f6fc71f;border-radius:999px;align-items:center;gap:6px;min-width:0;margin-left:6px;padding:4px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.module-project-indicator{background:color-mix(in srgb,var(--bg-ribbon) 78%,transparent)}}.module-project-indicator{color:var(--text-muted);cursor:pointer;white-space:nowrap}.module-project-indicator:hover{color:var(--text-primary);border-color:#1f6fc73d}.module-project-indicator-text{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.module-project-indicator-icon{width:18px;height:18px;color:var(--text-accent);background:#1f6fc71f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.module-project-indicator-text{text-overflow:ellipsis;max-width:188px;font-size:10px;font-weight:600;overflow:hidden}.ribbon-leveling-modal{gap:16px}.ribbon-leveling-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ribbon-leveling-command{text-align:left;border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.ribbon-leveling-command{background:color-mix(in srgb,var(--bg-input) 86%,transparent)}}.ribbon-leveling-command{color:var(--text-primary);cursor:pointer;transition:all .15s}.ribbon-leveling-command:hover{background:var(--bg-hover);border-color:#1f6fc780}@supports (color:color-mix(in lab,red,red)){.ribbon-leveling-command:hover{background:color-mix(in srgb,var(--bg-hover) 78%,transparent)}}.ribbon-leveling-command:disabled{opacity:.48;cursor:not-allowed}.ribbon-leveling-command-icon{width:28px;height:28px;color:var(--text-accent);background:#1f6fc71f;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ribbon-leveling-command-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.ribbon-leveling-command-copy strong{color:var(--text-heading);font-size:12px;font-weight:700}.ribbon-leveling-command-copy span{color:var(--text-secondary);font-size:10px;line-height:1.35}.ribbon-leveling-card{text-align:left;border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}@supports (color:color-mix(in lab,red,red)){.ribbon-leveling-card{background:color-mix(in srgb,var(--bg-input) 88%,transparent)}}.ribbon-leveling-card{color:var(--text-primary);cursor:pointer;transition:all .15s}.ribbon-leveling-card:hover{background:var(--bg-hover);border-color:#1f6fc780}@supports (color:color-mix(in lab,red,red)){.ribbon-leveling-card:hover{background:color-mix(in srgb,var(--bg-hover) 82%,transparent)}}.ribbon-leveling-card.active{border-color:var(--color-indigo);background:#1f6fc724}.ribbon-leveling-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ribbon-leveling-card-icon{width:28px;height:28px;color:var(--text-accent);background:#1f6fc71f;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.ribbon-leveling-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--text-heading);background:#22c55e29;border:1px solid #22c55e47;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.ribbon-leveling-card-title{color:var(--text-heading);font-size:13px;font-weight:700}.ribbon-leveling-card-copy{color:var(--text-secondary);font-size:11px;line-height:1.45}.ribbon-leveling-note{border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:10px;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.ribbon-leveling-note{background:color-mix(in srgb,var(--bg-input) 72%,transparent)}}.ribbon-leveling-note{color:var(--text-secondary);font-size:11px;line-height:1.45}.ribbon-action-compact{justify-content:flex-start;gap:6px;padding:4px 8px;font-size:10px}.ribbon-action-compact svg{flex:none}.ribbon-action-danger{color:#ef4444}.ribbon-config-caption{color:var(--text-secondary);max-width:420px;margin-top:6px;font-size:10px;line-height:1.25}.ribbon-config-caption-modal{max-width:none;margin-top:0}.col-hdr{text-transform:uppercase;text-align:center;letter-spacing:.5px;white-space:nowrap;-webkit-user-select:none;user-select:none;height:36px;color:var(--text-muted);border-right:1px solid var(--border-primary);background:var(--bg-header);flex-shrink:0;padding:0 4px;font-size:11px;font-weight:700;line-height:36px;position:relative;overflow:hidden}.col-hdr-active{z-index:1}.col-rsz{cursor:col-resize;z-index:2;width:5px;height:100%;position:absolute;top:0;right:-2px}.col-rsz:hover{background:var(--color-indigo)}.trow{cursor:default;box-sizing:border-box;border-bottom:1px solid #94a3b80a;align-items:stretch;height:26px;min-height:26px;transition:background 50ms;display:flex}body:not(.is-scrolling) .trow:hover{background:var(--bg-hover)!important}.trow.sel{background:var(--bg-selected)!important}.light .trow-proj{background:#dde3f5!important;border-bottom:2px solid #5aa3e8!important}.trow-summary{border-bottom:1px solid #94a3b80f!important}.trow-group{background:#1a1040!important;border-bottom:2px solid #18579d!important}.light .trow-group{background:#e4e8f8!important;border-bottom:2px solid #1f6fc7!important}.la-grid-table tbody tr{cursor:default;transition:background 50ms}.la-grid-table tbody tr:hover{background:var(--bg-hover)!important}.la-grid-table tbody tr.la-sel{background:var(--bg-selected)!important}.empty-row{opacity:.5}.empty-row:hover{opacity:1!important}.tcell{white-space:nowrap;text-overflow:ellipsis;text-align:center;box-sizing:border-box;border-right:1px solid #94a3b80a;outline:none;flex-shrink:0;justify-content:center;align-items:center;height:26px;min-height:26px;padding:0 4px;font-size:11px;line-height:26px;display:flex;overflow:hidden}.tcell[contenteditable=true]:focus{outline:1px solid var(--color-indigo);z-index:1;background:#1f6fc726}.tcell-num{color:var(--text-muted)}.tcell-info{cursor:pointer;color:var(--color-indigo);opacity:.4;font-size:14px}.tcell-info:hover{opacity:1}.tcell-id{font-family:var(--font-mono);color:var(--color-indigo)}.tcell-name{text-align:left;justify-content:flex-start}.form-zone{background:var(--bg-panel);border-top:3px solid var(--border-primary);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.form-header{background:var(--bg-ribbon);border-bottom:1px solid var(--border-primary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;min-height:30px;padding:0 10px;display:flex}.form-header .fh-title{color:var(--text-heading);flex-shrink:0;font-size:12px;font-weight:700}.form-header .fh-field{font-size:10px}.form-header .fh-label{color:var(--text-muted)}.form-header .fh-input{background:var(--bg-input);border:1px solid var(--border-secondary);color:var(--text-primary);border-radius:3px;outline:none;width:50px;padding:1px 4px;font-size:10px}.form-header .fh-input:focus{border-color:var(--color-indigo)}.form-header select{background:var(--bg-input);border:1px solid var(--border-secondary);color:var(--text-primary);cursor:pointer;border-radius:3px;outline:none;padding:1px 4px;font-size:10px}.fv-tabs{background:var(--bg-header);border-bottom:1px solid var(--border-primary);flex-shrink:0;gap:0;padding:0 6px;display:flex}.fv-tab{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid #0000;padding:4px 14px;font-size:10px;font-weight:700}.fv-tab.active{border-bottom-color:var(--color-indigo);color:var(--text-accent)}.fp-row{border-bottom:1px solid #1a203599;align-items:center;gap:0;height:24px;font-size:11px;display:flex}.fp-cell{text-overflow:ellipsis;white-space:nowrap;padding:0 4px;overflow:hidden}.fp-cell-id{width:65px;font-family:var(--font-mono);color:var(--color-indigo);flex-shrink:0;font-size:10px}.fp-cell-name{flex:1;min-width:0}.fp-cell-type{text-align:center;width:50px;color:var(--text-accent);flex-shrink:0}.fp-cell-lag{text-align:center;width:55px;color:var(--color-milestone);flex-shrink:0}.fp-cell-units{text-align:center;color:#34d399;flex-shrink:0;width:55px}.fp-cell-work{text-align:center;color:#60a5fa;flex-shrink:0;width:60px}.fp-cell-btn{text-align:center;cursor:pointer;flex-shrink:0;width:24px}.fp-cell-edit{color:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;outline:none;width:100%;font-family:inherit}.fp-cell-edit:focus{background:#1f6fc71f}.fp-section-hdr{text-transform:uppercase;letter-spacing:.5px;background:var(--bg-header);border-bottom:1px solid var(--border-primary);flex-shrink:0;padding:2px 10px;font-size:10px;font-weight:700}.fp-col-hdr{text-transform:uppercase;letter-spacing:.5px;height:20px;color:var(--text-muted);border-bottom:1px solid var(--border-primary);background:var(--bg-header);align-items:center;font-size:9px;font-weight:700;display:flex}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--bg-modal);border:1px solid var(--border-secondary);border-radius:10px;width:520px;max-width:92vw;max-height:90vh;padding:22px;overflow-y:auto;box-shadow:0 12px 40px #0009}.modal h2{color:var(--text-heading);margin-bottom:14px;font-size:14px;font-weight:700}.form-row{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.form-group{flex-direction:column;flex:1;gap:4px;min-width:100px;margin-bottom:6px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.form-input{background:var(--bg-input);border:1px solid var(--border-secondary);color:var(--text-primary);border-radius:4px;outline:none;padding:5px 8px;font-family:inherit;font-size:11px}option{color:#1a1a1a;background-color:#fff}.fp-cell-edit option,.adp-input option{color:#e5e7eb;background-color:#1f2937}.form-input:focus{border-color:var(--color-indigo)}.form-input[readonly]{opacity:.6}textarea.form-input{resize:vertical;min-height:42px}.btn{cursor:pointer;border:none;border-radius:4px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:600}.btn-primary{background:var(--color-indigo);color:#fff}.btn-primary:hover{background:var(--color-indigo-dark)}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-secondary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--color-indigo)}.btn-ghost{background:var(--border-secondary);color:var(--text-primary)}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover{background:#b91c1c}.act-type-badge{letter-spacing:.5px;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-block}.gantt-tip{z-index:2000;color:#d1d5db;pointer-events:none;background:#1e293b;border:1px solid #475569;border-radius:8px;max-width:310px;padding:10px 14px;font-size:11px;line-height:1.5;display:none;position:fixed;box-shadow:0 8px 24px #00000080}.col-ctx-menu{z-index:999;background:var(--bg-modal);border:1px solid var(--border-secondary);border-radius:8px;min-width:180px;max-height:340px;padding:8px 6px;display:none;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000080}.ctx-item{cursor:pointer;color:var(--text-primary);border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.ctx-item:hover{background:var(--bg-hover)}.ctx-item input[type=checkbox]{accent-color:var(--color-indigo)}.col-picker-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;animation:.15s ease-out cpFadeIn;display:flex;position:fixed;inset:0}@keyframes cpFadeIn{0%{opacity:0}to{opacity:1}}.col-picker-modal{background:var(--bg-modal,#1e293b);border:1px solid var(--border-secondary,#374151);width:680px;max-width:95vw;max-height:85vh;color:var(--text-primary,#e5e7eb);font-family:var(--font-sans);border-radius:8px;flex-direction:column;font-size:12px;display:flex;overflow:hidden;box-shadow:0 12px 40px #0009}.col-picker-title{background:var(--bg-ribbon,#0f172a);border-bottom:1px solid var(--border-primary,#1f2937);color:var(--text-heading,#f1f5f9);justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;font-weight:700;display:flex}.col-picker-close{color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;line-height:1}.col-picker-close:hover{color:#ef4444;background:#ef444433}.col-picker-body{flex:1;align-items:stretch;gap:8px;min-height:0;padding:12px 16px;display:flex}.col-picker-panel{border:1px solid var(--border-primary,#1f2937);background:var(--bg-panel,#0c1220);border-radius:6px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.col-picker-panel-title{letter-spacing:.02em;background:var(--bg-header,#0a0f1a);border-bottom:1px solid var(--border-primary,#1f2937);color:var(--text-secondary,#9ca3af);text-transform:uppercase;padding:6px 10px;font-size:11px;font-weight:600}.col-picker-list{flex:1;min-height:220px;max-height:380px;padding:4px 0;overflow-y:auto}.col-picker-group{cursor:pointer;color:var(--text-accent,#93c5fd);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.col-picker-group:hover{background:var(--bg-hover,#172040)}.col-picker-tree-icon{text-align:center;flex-shrink:0;width:12px;font-size:10px}.col-picker-group-label{flex:1}.col-picker-item{cursor:pointer;color:var(--text-primary,#e5e7eb);-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;border-radius:0;padding:3px 12px 3px 24px;font-size:11px;overflow:hidden}.col-picker-item:hover{background:var(--bg-hover,#172040)}.col-picker-item.highlighted{background:var(--color-indigo,#1f6fc7);color:#fff}.col-picker-empty{text-align:center;color:var(--text-muted,#6b7280);padding:12px;font-size:11px;font-style:italic}.col-picker-arrows{flex-direction:column;justify-content:center;gap:6px;padding:0 2px;display:flex}.col-picker-arrows button,.col-picker-side-btns button{background:var(--bg-input,#1f2937);border:1px solid var(--border-secondary,#374151);width:32px;height:28px;color:var(--text-primary,#e5e7eb);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:11px;transition:background .1s,border-color .1s;display:flex}.col-picker-arrows button:hover:not(:disabled),.col-picker-side-btns button:hover:not(:disabled){background:var(--color-indigo,#1f6fc7);border-color:var(--color-indigo,#1f6fc7);color:#fff}.col-picker-arrows button:disabled,.col-picker-side-btns button:disabled{opacity:.35;cursor:default}.col-picker-side-btns{flex-direction:column;justify-content:center;gap:6px;padding:0 2px;display:flex}.col-picker-footer{border-top:1px solid var(--border-primary,#1f2937);background:var(--bg-ribbon,#0f172a);align-items:center;gap:8px;padding:10px 16px;display:flex}.col-picker-btn{border:1px solid var(--border-secondary,#374151);background:var(--bg-input,#1f2937);color:var(--text-primary,#e5e7eb);cursor:pointer;white-space:nowrap;border-radius:4px;padding:5px 14px;font-size:11px;transition:background .1s}.col-picker-btn:hover{background:var(--bg-hover,#172040)}.col-picker-btn.primary{background:var(--color-indigo,#1f6fc7);border-color:var(--color-indigo-dark,#18579d);color:#fff;font-weight:600}.col-picker-btn.primary:hover{background:var(--color-indigo-dark,#18579d)}.light .col-picker-modal{color:#333d47;background:#fff;border-color:#d1d5db}.light .col-picker-title{color:#333d47;background:#f1f5f9;border-color:#e2e8f0}.light .col-picker-close:hover{background:#ef44441a}.light .col-picker-panel{background:#fafbfc;border-color:#e2e8f0}.light .col-picker-panel-title{color:#646f7a;background:#f1f5f9;border-color:#e2e8f0}.light .col-picker-group{color:#18579d}.light .col-picker-group:hover{background:#f1f5f9}.light .col-picker-item{color:#333d47}.light .col-picker-item:hover{background:#f1f5f9}.light .col-picker-item.highlighted{color:#fff;background:#18579d}.light .col-picker-arrows button,.light .col-picker-side-btns button{color:#586675;background:#f1f5f9;border-color:#d1d5db}.light .col-picker-arrows button:hover:not(:disabled),.light .col-picker-side-btns button:hover:not(:disabled){color:#fff;background:#18579d;border-color:#18579d}.light .col-picker-footer{background:#f8fafc;border-color:#e2e8f0}.light .col-picker-btn{color:#586675;background:#f1f5f9;border-color:#d1d5db}.light .col-picker-btn:hover{background:#e2e8f0}.light .col-picker-btn.primary{color:#fff;background:#18579d;border-color:#3730a3}.light .col-picker-btn.primary:hover{background:#3730a3}.res-picker-modal{width:760px;max-width:min(92vw,760px)}.res-picker-titlebar{align-items:flex-start}.res-picker-subtitle{color:#fff9;margin-top:4px;font-size:12px;font-weight:400}.res-picker-toolbar{border-bottom:1px solid var(--border-primary,#1f2937);background:#0c1220b8;flex-wrap:wrap;gap:12px;padding:16px;display:flex}.res-picker-search{min-width:240px;color:var(--text-primary,#e5e7eb);background:#0f172af0;border:1px solid #ffffff14;border-radius:8px;flex:280px;align-items:center;gap:10px;padding:10px 12px;display:flex}.res-picker-search input{min-width:0;color:inherit;background:0 0;border:none;outline:none;flex:1;font-size:12px}.res-picker-search input::placeholder{color:#94a3b8c7}.res-picker-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.res-picker-chip{color:var(--text-secondary,#cbd5e1);cursor:pointer;background:#0f172ab8;border:1px solid #ffffff14;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:600}.res-picker-chip.active{color:#dbeafe;background:#2563eb29;border-color:#2563eb73}.res-picker-stats{color:var(--text-secondary,#94a3b8);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px 0;font-size:11px;display:flex}.res-picker-stats span{align-items:center;gap:6px;display:inline-flex}.res-picker-create-panel{border-bottom:1px solid var(--border-primary,#1f2937);background:#1e293b85;flex-wrap:wrap;align-items:end;gap:14px;padding:12px 16px 14px;display:flex}.res-picker-create-copy{flex:220px;min-width:220px}.res-picker-create-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#cbd5e1);font-size:11px;font-weight:700}.res-picker-create-help{color:var(--text-secondary,#94a3b8);margin-top:4px;font-size:11px;line-height:1.45}.res-picker-create-field{min-width:240px;color:var(--text-secondary,#cbd5e1);flex-direction:column;flex:280px;gap:6px;font-size:11px;font-weight:600;display:flex}.res-picker-create-field input{width:100%;color:var(--text-primary,#e5e7eb);background:#0f172af0;border:1px solid #ffffff14;border-radius:8px;outline:none;padding:10px 12px;font-size:12px}.res-picker-create-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1c}.res-picker-create-field input::placeholder{color:#94a3b8c7}.res-picker-create-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.res-picker-actions-inline{border-bottom:1px solid var(--border-primary,#1f2937);flex-wrap:wrap;gap:8px;padding:10px 16px 14px;display:flex}.res-picker-actions-inline .col-picker-btn{align-items:center;gap:6px;display:inline-flex}.res-picker-list{background:#0f172a4d;flex-direction:column;gap:6px;min-height:260px;max-height:48vh;padding:14px 16px;display:flex;overflow-y:auto}.res-picker-row{width:100%;color:var(--text-primary,#e5e7eb);cursor:pointer;text-align:left;background:#0f172aad;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.res-picker-row:hover:not(:disabled){background:#1e293beb;border-color:#2563eb47}.res-picker-row.is-selected{background:#2563eb1f;border-color:#2563eb70}.res-picker-row.is-assigned{cursor:default;opacity:.62}.res-picker-check{color:#0000;border:1px solid #94a3b873;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.res-picker-check.is-selected{color:#fff;background:#2563eb;border-color:#2563eb}.res-picker-check.is-assigned{color:#f8fafc;background:#94a3b840}.res-picker-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.res-picker-name-row{align-items:center;gap:8px;min-width:0;display:flex}.res-picker-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.res-picker-type{letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.res-picker-type.type-trabajo{color:#bfdbfe;background:#2563eb29}.res-picker-type.type-maquinaria{color:#fde68a;background:#f59e0b29}.res-picker-type.type-material{color:#bbf7d0;background:#16a34a29}.res-picker-meta{color:var(--text-secondary,#94a3b8);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.res-picker-status{color:var(--text-secondary,#94a3b8);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:10px;font-weight:700}.res-picker-empty{min-height:220px;color:var(--text-secondary,#94a3b8);border:1px dashed #94a3b83d;border-radius:10px;justify-content:center;align-items:center;font-size:12px;display:flex}.res-picker-footer{justify-content:flex-end}.res-picker-footer-text{color:var(--text-secondary,#94a3b8);margin-right:auto;font-size:11px}.light .res-picker-subtitle{color:#646f7a}.light .res-picker-toolbar{background:#f8fafc;border-color:#e2e8f0}.light .res-picker-search{color:#2a333d;background:#e8ecf4;border-color:#0f172a17}.light .res-picker-search input::placeholder{color:#646f7a}.light .res-picker-chip{color:#586675;background:#f8fafc;border-color:#0f172a17}.light .res-picker-chip.active{color:#1d4ed8;background:#2563eb14;border-color:#2563eb40}.light .res-picker-stats,.light .res-picker-footer-text,.light .res-picker-meta,.light .res-picker-status{color:#646f7a}.light .res-picker-create-panel{background:#f8fafc;border-color:#e2e8f0}.light .res-picker-create-title,.light .res-picker-create-field{color:#586675}.light .res-picker-create-help{color:#646f7a}.light .res-picker-create-field input{color:#2a333d;background:#e8ecf4;border-color:#0f172a17}.light .res-picker-create-field input::placeholder{color:#646f7a}.light .res-picker-actions-inline{border-color:#e2e8f0}.light .res-picker-list{background:#f8fafc}.light .res-picker-row{color:#2a333d;background:#fff;border-color:#0f172a17}.light .res-picker-row:hover:not(:disabled){background:#f8fbff;border-color:#2563eb38}.light .res-picker-row.is-selected{background:#2563eb0f;border-color:#2563eb47}.light .res-picker-check{border-color:#0f172a29}.light .res-picker-check.is-assigned{color:#586675;background:#94a3b82e}.light .res-picker-empty{color:#646f7a;background:#fff;border-color:#0f172a1f}@media(max-width:820px){.res-picker-modal{width:calc(100vw - 24px);max-height:90vh}.res-picker-toolbar,.res-picker-create-panel,.res-picker-actions-inline,.col-picker-footer{padding-left:12px;padding-right:12px}.res-picker-row{align-items:flex-start}.res-picker-status{display:none}}.ac-list{z-index:999;background:#1e1e2e;border:1px solid #444;border-radius:4px;width:100%;max-height:150px;display:none;position:absolute;top:100%;left:0;overflow-y:auto}.ac-list.open{display:block}.ac-item{cursor:pointer;gap:6px;padding:4px 8px;font-size:11px;display:flex}.ac-item:hover,.ac-item.hl{background:#334155}.ac-id{color:var(--color-indigo);font-family:var(--font-mono);flex-shrink:0;width:55px}.ac-nm{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ac-empty{color:var(--text-muted);padding:4px 8px;font-size:10px;font-style:italic}.v-resize{cursor:col-resize;background:var(--border-primary);flex-shrink:0;width:4px;transition:background .15s}.v-resize:hover,.v-resize.rsz{background:var(--color-indigo)}.h-resize{cursor:row-resize;background:var(--border-primary);flex-shrink:0;height:4px;transition:background .15s}.h-resize:hover,.h-resize.rsz{background:var(--color-indigo)}.legend{color:var(--text-muted);flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:10px;display:flex}.legend-dot{border-radius:2px;width:12px;height:7px;display:inline-block}.legend-diamond{width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.legend-line{width:2px;height:12px;display:inline-block}.sb-status{white-space:nowrap;color:var(--text-muted);padding:2px 8px;font-size:9px}.light{--bg-primary:#e8edf5;--bg-secondary:#e0e7f0;--bg-elevated:#eef2f8;--border-primary:#b8c5d6;--border-secondary:#cdd6e2;--text-primary:#333d47;--text-secondary:#586675;--text-muted:#646f7a;--color-indigo:#18579d}.light .ribbon{color:#333d47;background:linear-gradient(#e0e7f0,#d4dce8);border-bottom:1px solid #b8c5d6}.light .ribbon .btn{color:#586675}.light .ribbon .btn:hover{color:#333d47;background:#cdd6e2}.light .ribbon .btn.act{color:#fff;background:#18579d}.light .tb-sep{background:#b8c5d6}.light .col-hdr{color:#586675;background:#d4dce8;border-bottom:1px solid #b8c5d6;border-right:1px solid #cdd6e2}.light .col-rsz{background:0 0}.light .col-rsz:hover{background:#94a3b8}.light .trow{color:#333d47;background:#eef2f8;border-bottom:1px solid #94a3b814}.light .trow:nth-child(2n){background:#e8edf5}body:not(.is-scrolling) .light .trow:hover{background:#d8d4f8}.light .trow.sel{box-shadow:inset 3px 0 #1f6fc7;background:#ccc7f5!important}.light .trow-proj{color:#12325c;font-weight:700;background:#c8c3f0!important}.light .trow-summary{color:#333d47;background:#d9e0f5!important;border-bottom:1px solid #94a3b81a!important}.light .trow-group{color:#18579d;border-bottom:2px solid #5aa3e8;background:#d5cefc!important}.light .empty-row{color:#94a3b8;background:0 0}.light .tcell{color:#586675;border-right:1px solid #94a3b814}.light .tcell[contenteditable=true]:focus{color:#333d47;background:#eef2f8;box-shadow:inset 0 0 0 1.5px #1f6fc7}.light .tcell select{color:#586675;background:#eef2f8}.light .form-zone{color:#586675;background:#e8edf5;border-top:1px solid #b8c5d6}.light .form-header{background:#d9e0f5;border-bottom:1px solid #cdd6e2}.light .fh-title{color:#333d47}.light .fh-label{color:#646f7a}.light .fh-input,.light .form-input{color:#333d47;background:#eef2f8;border:1px solid #b8c5d6}.light .form-input option{color:#333d47;background:#eef2f8}.light .fh-input:focus,.light .form-input:focus{border-color:#1f6fc7;box-shadow:0 0 0 2px #1f6fc733}.light .fv-tabs{background:#d4dce8;border-bottom:1px solid #b8c5d6}.light .fv-tab{color:#646f7a}.light .fv-tab.active{color:#18579d;background:#e8edf5;border-bottom-color:#18579d}.light .fp-section-hdr{color:#18579d}.light .fp-col-hdr{color:#646f7a;background:#d4dce8;border-bottom:1px solid #b8c5d6}.light .fp-row{border-bottom:1px solid #d4dce8}.light .fp-row:hover{background:#e0e7f0}.light .fp-cell-edit{color:#333d47;background:#eef2f8;border:1px solid #cdd6e2}.light .fp-cell-edit option,.light .adp-input option{color:#2a333d;background-color:#fff}.light .fp-cell-edit:focus{border-color:#1f6fc7}.light .ac-list{background:#eef2f8;border:1px solid #b8c5d6;box-shadow:0 4px 12px #0000001f}.light .ac-item:hover,.light .ac-item.hl{background:#d5cefc}.light .ac-id{color:#18579d}.light .ac-nm{color:#586675}.light .tip{color:#f1f5f9;background:#1e293b;border:1px solid #334155}.light .col-ctx-menu{color:#586675;background:#eef2f8;border:1px solid #b8c5d6;box-shadow:0 4px 12px #0000001f}.light .col-ctx-menu label:hover{background:#e0e7f0}.light .modal-overlay .modal,.light .link-modal,.light .act-modal,.light .proj-modal{color:#333d47;background:#eef2f8;border:1px solid #b8c5d6;box-shadow:0 8px 30px #0000002e}.light .modal-header{color:#333d47;background:#e0e7f0;border-bottom:1px solid #cdd6e2}.light .modal input,.light .modal select,.light .modal textarea,.light .link-modal input,.light .link-modal select,.light .act-modal input,.light .act-modal select,.light .act-modal textarea{color:#333d47;background:#e8edf5;border:1px solid #b8c5d6}.light .modal input:focus,.light .modal select:focus,.light .link-modal input:focus,.light .act-modal input:focus,.light .act-modal select:focus{border-color:#1f6fc7;box-shadow:0 0 0 2px #1f6fc726}.light .v-resize{background:#cdd6e2}.light .v-resize:hover,.light .v-resize.rsz{background:#1f6fc7}.light .h-resize{background:#cdd6e2}.light .h-resize:hover,.light .h-resize.rsz{background:#1f6fc7}.light .legend{color:#586675}.light .ribbon-brand-mark{color:#2563eb;background:#2563eb14;border-color:#2563eb33}.light .ribbon-tab{color:#586675}.light .ribbon-tab.active{color:#1d4ed8;background:#2563eb1a;box-shadow:inset 0 -2px #2563eb}.light .ribbon-group-label{color:#646f7a}.light .module-tab:hover{background:#2563eb14;border-color:#2563eb1a}.light .module-tab.active{color:#1d4ed8;background:#ffffffb3;border-color:#2563eb29}.light .module-project-indicator{background:#ffffff8c;border-color:#2563eb24}.light .module-project-indicator-icon{color:#2563eb;background:#2563eb14}.light .tcell-num{color:#586675}.light .fp-cell-units{color:#16a34a}.light .fp-cell-work{color:#2563eb}.light .tcell-info{color:var(--text-muted);opacity:.6}.light ::-webkit-scrollbar-track{background:0 0}.light ::-webkit-scrollbar-thumb{background:#b6c2d1 padding-box padding-box}.light ::-webkit-scrollbar-thumb:hover{background:#8d9cb0 padding-box padding-box}.detail-ctx-menu{z-index:9999;background:var(--bg-modal,#1e293b);border:1px solid var(--border-secondary,#374151);min-width:220px;font-family:var(--font-sans);color:var(--text-primary,#e5e7eb);-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 0;font-size:12px;animation:.12s ease-out ctx-fade-in;position:fixed;box-shadow:0 6px 24px #00000073,0 2px 8px #00000040}@keyframes ctx-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.detail-ctx-header{color:var(--text-secondary,#9ca3af);letter-spacing:.02em;padding:6px 12px 4px;font-size:11px;font-weight:600}.detail-ctx-sep{background:var(--border-primary,#1f2937);height:1px;margin:3px 8px}.detail-ctx-item{cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:4px 12px;transition:background .1s;display:flex}.detail-ctx-item:hover:not(.disabled){background:var(--bg-hover,#172040)}.detail-ctx-item.disabled{cursor:default;opacity:.5}.detail-ctx-check{text-align:center;width:16px;color:var(--color-indigo,#1f6fc7);flex-shrink:0;font-size:13px;font-weight:700}.detail-ctx-item.active .detail-ctx-check{color:#22c55e}.detail-ctx-label{flex:1}.detail-ctx-item.active .detail-ctx-label{font-weight:600}.light .detail-ctx-menu{color:#333d47;background:#fff;border-color:#d1d5db;box-shadow:0 6px 20px #00000026,0 2px 6px #00000014}.light .detail-ctx-header{color:#6b7280}.light .detail-ctx-sep{background:#e5e7eb}.light .detail-ctx-item:hover:not(.disabled){background:#f1f5f9}.light .detail-ctx-check{color:#18579d}.light .detail-ctx-item.active .detail-ctx-check{color:#16a34a}.row-ctx-menu{z-index:9999;background:var(--bg-modal,#1e293b);border:1px solid var(--border-secondary,#374151);min-width:230px;font-family:var(--font-sans);color:var(--text-primary,#e5e7eb);-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 0;font-size:12px;animation:.12s ease-out ctx-fade-in;position:fixed;box-shadow:0 6px 24px #00000073,0 2px 8px #00000040}.row-ctx-sep{background:var(--border-primary,#1f2937);height:1px;margin:3px 8px}.row-ctx-item{cursor:pointer;align-items:center;gap:6px;padding:5px 14px;transition:background .1s;display:flex;position:relative}.row-ctx-item:hover:not(.disabled){background:var(--bg-hover,#172040)}.row-ctx-item.disabled{cursor:default;opacity:.4;pointer-events:none}.row-ctx-label{flex:1}.row-ctx-shortcut{color:var(--text-secondary,#9ca3af);white-space:nowrap;margin-left:18px;font-size:11px}.row-ctx-arrow{color:var(--text-secondary,#9ca3af);margin-left:6px;font-size:9px}.row-ctx-submenu{background:var(--bg-modal,#1e293b);border:1px solid var(--border-secondary,#374151);z-index:10000;border-radius:4px;min-width:130px;padding:4px 0;animation:.12s ease-out ctx-fade-in;position:absolute;top:-4px;left:100%;box-shadow:0 6px 24px #00000073,0 2px 8px #00000040}.light .row-ctx-menu{color:#333d47;background:#fff;border-color:#d1d5db;box-shadow:0 6px 20px #00000026,0 2px 6px #00000014}.light .row-ctx-sep{background:#e5e7eb}.light .row-ctx-item:hover:not(.disabled){background:#f1f5f9}.light .row-ctx-shortcut,.light .row-ctx-arrow{color:#6b7280}.light .row-ctx-submenu{background:#fff;border-color:#d1d5db;box-shadow:0 6px 20px #00000026,0 2px 6px #00000014}.adp-root{background:var(--bg-primary,#0f172a);height:100%;font-family:var(--font-sans);color:var(--text-primary,#e5e7eb);flex-direction:column;font-size:11px;display:flex;overflow:hidden}.adp-tabs{border-bottom:1px solid var(--border-primary,#1f2937);background:var(--bg-secondary,#1e293b);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;min-height:28px;display:flex}.adp-tab{cursor:pointer;color:var(--text-secondary,#9ca3af);-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:2px solid #0000;padding:5px 12px;font-size:11px;font-weight:500;transition:all .15s}.adp-tab:hover{color:var(--text-primary,#e5e7eb);background:#1f6fc714}.adp-tab.active{color:#5aa3e8;border-bottom-color:#5aa3e8;font-weight:600}.adp-tab.disabled{opacity:.35;cursor:default}.adp-nav{flex-direction:column;gap:1px;margin-left:4px;display:flex}.adp-nav-btn{border:1px solid var(--border-primary,#1f2937);color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:2px;padding:0 4px;font-size:9px;line-height:12px}.adp-nav-btn:hover{background:var(--bg-hover,#172040);color:#5aa3e8}.adp-act-hdr{flex:1;align-items:center;gap:6px;min-width:0;margin-left:12px;padding:2px 0;display:flex}.adp-lbl{color:var(--text-secondary,#9ca3af);white-space:nowrap;font-size:10px;font-weight:600}.adp-val{color:var(--text-primary,#e5e7eb);background:var(--bg-primary,#0f172a);border:1px solid var(--border-primary,#1f2937);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:1px 6px;font-size:11px;overflow:hidden}.adp-body{flex:1;padding:6px 8px;overflow:hidden auto}.adp-empty{color:var(--text-muted,#6b7280);justify-content:center;align-items:center;height:100%;font-size:12px;display:flex}.adp-input{background:var(--bg-primary,#0f172a);border:1px solid var(--border-primary,#1f2937);color:var(--text-primary,#e5e7eb);border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,background-color .15s,box-shadow .15s}.adp-input:focus{border-color:#5aa3e8;box-shadow:0 0 0 3px #818cf824}.adp-input:disabled,.adp-input[readOnly]{opacity:.6;cursor:default}.adp-input.adp-num{text-align:right;-moz-appearance:textfield;width:72px}.adp-input.adp-num::-webkit-inner-spin-button{opacity:0;pointer-events:none;height:20px}.adp-input.adp-num::-webkit-outer-spin-button{opacity:0;pointer-events:none;height:20px}.adp-input.adp-num:hover::-webkit-inner-spin-button{opacity:1;pointer-events:auto}.adp-input.adp-num:hover::-webkit-outer-spin-button{opacity:1;pointer-events:auto}.adp-input.adp-num:focus::-webkit-inner-spin-button{opacity:1;pointer-events:auto}.adp-input.adp-num:focus::-webkit-outer-spin-button{opacity:1;pointer-events:auto}.adp-input.adp-num:hover,.adp-input.adp-num:focus{-moz-appearance:auto}.adp-readonly{color:var(--text-secondary,#9ca3af);padding:2px 0;font-size:11px}.adp-suffix{color:var(--text-secondary,#9ca3af);margin-left:2px;font-size:10px}.adp-field-row{align-items:center;gap:6px;margin-bottom:3px;display:flex}.adp-field-label{color:var(--text-secondary,#9ca3af);white-space:nowrap;letter-spacing:.02em;min-width:85px;font-size:10px;font-weight:600}.adp-check-label{min-width:90px;color:var(--text-primary,#e5e7eb);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.adp-check-label input[type=checkbox]{accent-color:#5aa3e8}.adp-section{margin-bottom:10px}.adp-section-panel{background:#0f172a29;border:1px solid #94a3b824;border-radius:10px;padding:12px 14px}.adp-section-title{color:#5aa3e8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #94a3b824;margin-bottom:10px;padding-bottom:6px;font-size:10px;font-weight:700}.adp-fieldset{border:1px solid var(--border-primary,#1f2937);border-radius:3px;flex:1;min-width:0;margin:0;padding:6px 10px 8px}.adp-fieldset legend{color:var(--text-secondary,#9ca3af);padding:0 4px;font-size:10px;font-weight:600}.adp-fieldset-wide{flex:1.5}.adp-estado{flex-direction:column;gap:6px;display:flex}.adp-estado-grid{grid-template-columns:minmax(220px,.9fr) minmax(520px,1.9fr) minmax(300px,.95fr);align-items:start;gap:8px;display:grid}.adp-estado-checks{flex-direction:column;gap:2px;display:flex}.adp-estado-row2{grid-template-columns:minmax(220px,.9fr) minmax(520px,1.9fr) minmax(300px,.95fr);align-items:start;gap:8px;display:grid}.adp-estado-col-left,.adp-estado-col-main,.adp-estado-col-right{width:auto;min-width:0}.adp-estado-col-left{grid-column:1}.adp-estado-col-main{grid-column:2}.adp-estado-col-right{grid-column:3}@media(max-width:1400px){.adp-estado-grid,.adp-estado-row2{grid-template-columns:minmax(220px,.95fr) minmax(420px,1.5fr) minmax(260px,.95fr)}}@media(max-width:1100px){.adp-estado-grid,.adp-estado-row2{grid-template-columns:minmax(0,1fr)}.adp-estado-col-left,.adp-estado-col-main,.adp-estado-col-right{grid-column:auto}}.adp-apply-bar{justify-content:flex-end;padding:4px 0;display:flex}.adp-apply-btn{color:#fff;cursor:pointer;background:#18579d;border:none;border-radius:3px;padding:4px 16px;font-size:11px;font-weight:600;transition:background .15s}.adp-apply-btn:hover{background:#18579d}.adp-general{flex-direction:column;gap:10px;display:flex}.adp-general-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.adp-stack-field{flex-direction:column;gap:5px;min-width:0;display:flex}.adp-stack-field-span-2{grid-column:span 2}.adp-input-block{width:100%}.adp-readonly-box{min-height:33px;color:var(--text-primary,#e5e7eb);background:#0f172a38;border:1px solid #94a3b81f;border-radius:8px;align-items:center;padding:7px 10px;display:flex}.adp-readonly-inline{white-space:nowrap}.adp-field-hint{color:var(--text-muted,#6b7280);font-size:10px;line-height:1.35}.adp-split-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.adp-risk-banner{background:#16a34a14;border:1px solid #22c55e38;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:33px;padding:7px 10px;display:flex}.adp-risk-badge{color:#86efac;letter-spacing:.03em;background:#16a34a24;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.adp-risk-copy{color:var(--text-primary,#e5e7eb);font-size:11px}.adp-risk-copy-muted{color:var(--text-secondary,#9ca3af)}.adp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.adp-metric-card{background:#0f172a2e;border:1px solid #94a3b81f;border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:9px 10px;display:flex}.adp-metric-card-span-2{grid-column:span 2}.adp-metric-label{letter-spacing:.02em;color:var(--text-secondary,#9ca3af);font-size:10px;font-weight:600}.adp-metric-value{color:var(--text-primary,#e5e7eb);font-size:12px;font-weight:600;line-height:1.35}.adp-metric-value-muted{color:var(--text-secondary,#9ca3af);font-weight:500}.adp-notes-area{resize:vertical;min-height:88px}.adp-fields-grid{grid-template-columns:1fr 1fr;gap:4px 16px;display:grid}@media(max-width:980px){.adp-general-grid,.adp-metric-grid{grid-template-columns:minmax(0,1fr)}.adp-stack-field-span-2,.adp-metric-card-span-2{grid-column:span 1}.adp-split-field{grid-template-columns:minmax(0,1fr)}}.adp-table-tab{padding:2px 0}.adp-rel-toolbar{justify-content:flex-end;gap:6px;padding:4px 8px;display:flex}.adp-rel-tablewrap{flex:auto;min-height:0;overflow:auto}.adp-rel-tablewrap .adp-tbl{width:max-content;min-width:100%}.adp-tbl td{white-space:nowrap}.adp-resource-grid-wrap{border-bottom:1px solid var(--border-primary,#1f2937);overflow-x:auto}.adp-resource-grid{min-width:max-content}.adp-resource-grid th{cursor:context-menu}.adp-resource-grid td{min-width:92px}.adp-tbl{border-collapse:collapse;width:100%;font-size:11px}.adp-tbl th{text-align:left;color:var(--text-secondary,#9ca3af);border-bottom:1px solid var(--border-primary,#1f2937);background:var(--bg-secondary,#1e293b);white-space:nowrap;padding:4px 8px;font-size:10px;font-weight:600}.adp-tbl td{border-bottom:1px solid var(--border-primary,#0f172a);color:var(--text-primary,#e5e7eb);padding:3px 8px}.adp-tbl tr:hover td{background:#1f6fc70f}.adp-del-cell{color:#ef4444;cursor:pointer;text-align:center;font-weight:700}.adp-del-cell:hover{color:#f87171}.adp-inline-sel{color:inherit;cursor:pointer;background:0 0;border:none;outline:none;width:100%;font-size:11px}.adp-inline-sel option{color:#000}.adp-inline-input{color:inherit;background:0 0;border:none;outline:none;width:100%;font-size:11px}.adp-inline-input[readonly]{cursor:default;opacity:.7}.adp-inline-input:not([readonly]){cursor:text;border-bottom:1px solid #60a5fa66}.adp-inline-input:not([readonly]):focus{background:#60a5fa14;border-bottom:1px solid #60a5fa}.adp-inline-input option{color:#0f172a;background:#fff}.adp-inline-with-suffix{align-items:center;gap:4px;display:flex}.adp-inline-suffix{color:var(--text-secondary,#9ca3af);flex-shrink:0;font-size:11px}.adp-resource-grid .adp-inline-input{min-width:72px}.adp-add-row{padding:4px 0}.adp-resource-launcher{border-bottom:1px solid var(--border-primary,#1f2937);justify-content:space-between;align-items:center;gap:16px;padding:12px 8px 8px;display:flex}.adp-resource-launcher-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#9ca3af);font-size:11px;font-weight:700}.adp-resource-launcher-copy{color:var(--text-muted,#6b7280);margin-top:4px;font-size:11px;line-height:1.45}.adp-ac-list{background:var(--bg-modal,#1e293b);border:1px solid var(--border-secondary,#374151);z-index:100;border-radius:3px;max-height:180px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0006}.adp-ac-item{cursor:pointer;gap:8px;padding:4px 8px;font-size:11px;display:flex}.adp-ac-item:hover{background:#1f6fc726}.adp-ac-id{color:#5aa3e8;min-width:60px;font-weight:600}.adp-ac-nm{color:var(--text-primary,#e5e7eb)}.adp-ac-empty{color:var(--text-muted,#6b7280);padding:8px;font-size:11px}.adp-ac-create{color:#34d399;border-bottom:1px solid var(--border-primary,#1f2937)}.adp-ac-create .adp-ac-id{color:#34d399;font-size:14px}.adp-summary{color:var(--text-muted,#6b7280);padding:6px 8px;font-size:10px}.adp-summary-panel{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.adp-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.adp-summary-title{color:var(--text-primary,#e5e7eb);font-size:12px;font-weight:700}.adp-summary-subtitle{color:var(--text-muted,#6b7280);margin-top:4px;font-size:10px;line-height:1.4}.adp-summary-meta{flex-wrap:wrap;gap:8px;display:flex}.adp-summary-meta-pill{border:1px solid var(--border-primary,#1f2937);color:var(--text-secondary,#9ca3af);white-space:nowrap;background:#0f172a59;border-radius:999px;padding:4px 8px;font-size:10px}.adp-summary-table-wrap{border:1px solid var(--border-primary,#1f2937);border-radius:4px;overflow:auto}.adp-summary-table{border-collapse:collapse;width:100%;min-width:860px;font-size:11px}.adp-summary-table th,.adp-summary-table td{border-right:1px solid var(--border-primary,#1f2937);border-bottom:1px solid var(--border-primary,#1f2937);white-space:nowrap;padding:8px 10px}.adp-summary-table thead th{background:var(--bg-secondary,#1e293b);color:var(--text-secondary,#9ca3af);text-align:right;font-size:10px;font-weight:700}.adp-summary-table thead th:first-child,.adp-summary-table tbody th{text-align:left}.adp-summary-table tbody th{color:var(--text-primary,#e5e7eb);background:#0f172a59;font-weight:600}.adp-summary-table tbody td{text-align:right;color:var(--text-primary,#e5e7eb)}.adp-summary-table tbody tr:hover th,.adp-summary-table tbody tr:hover td{background:#1f6fc70f}.adp-summary-table .is-positive{color:#f59e0b;font-weight:700}.adp-summary-table .is-negative{color:#10b981;font-weight:700}.adp-rel-root{gap:8px;height:100%;display:flex;overflow:hidden}.adp-rel-panel{border:1px solid var(--border-primary,#1f2937);border-radius:3px;flex-direction:column;flex:1;display:flex;overflow-y:auto}.adp-rel-header{background:var(--bg-secondary,#1e293b);border-bottom:1px solid var(--border-primary,#1f2937);justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.adp-rel-title{font-size:11px;font-weight:700}.adp-rel-btns{gap:4px;display:flex}.adp-rel-btn{border:1px solid var(--border-secondary,#374151);color:var(--text-primary,#e5e7eb);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:2px 8px;font-size:10px;transition:background .15s}.adp-rel-btn:hover:not(:disabled){background:#1f6fc726}.adp-rel-btn:disabled{opacity:.35;cursor:default}.adp-rel-btn-del{color:#ef4444;border-color:#ef44444d}.adp-rel-btn-del:hover:not(:disabled){background:#ef44441f}.adp-rel-sel td{background:#1f6fc733!important}.adp-rel-ac{border-bottom:1px solid var(--border-primary,#1f2937);padding:4px 8px}.light .adp-root{color:#333d47;background:#f8fafc}.light .adp-tabs{background:#e2e8f0;border-bottom-color:#cbd5e1}.light .adp-tab{color:#646f7a}.light .adp-tab:hover{color:#333d47;background:#1f6fc714}.light .adp-tab.active{color:#18579d;border-bottom-color:#18579d}.light .adp-nav-btn{color:#646f7a;border-color:#cbd5e1}.light .adp-nav-btn:hover{color:var(--text-primary);background:#e2e8f0}.light .adp-val,.light .adp-input{color:#333d47;background:#fff;border-color:#cbd5e1}.light .adp-input:focus{border-color:#18579d}.light .adp-fieldset{border-color:#cbd5e1}.light .adp-fieldset legend,.light .adp-field-label,.light .adp-readonly{color:#646f7a}.light .adp-section-panel{background:#fff;border-color:#0f172a17}.light .adp-section-title{color:var(--text-secondary);border-bottom-color:#e2e8f0}.light .adp-readonly-box{color:#333d47;background:#f8fafc;border-color:#0f172a14}.light .adp-field-hint{color:#646f7a}.light .adp-risk-banner{background:#f0fdf4;border-color:#16a34a2e}.light .adp-risk-badge{color:#166534;background:#16a34a1f}.light .adp-risk-copy{color:#333d47}.light .adp-risk-copy-muted{color:#646f7a}.light .adp-metric-card{background:#f8fafc;border-color:#0f172a14}.light .adp-metric-value{color:#2a333d}.light .adp-metric-value-muted{color:#586675}.light .adp-tbl th{color:#586675;background:#e2e8f0;border-bottom-color:#cbd5e1}.light .adp-tbl td{color:#333d47;border-bottom-color:#f1f5f9}.light .adp-tbl tr:hover td{background:#1f6fc70f}.light .adp-ac-list{background:#fff;border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.light .adp-ac-item:hover{background:#1f6fc71a}.light .adp-ac-id{color:var(--text-secondary)}.light .adp-lbl{color:#646f7a}.light .adp-rel-panel{border-color:#cbd5e1}.light .adp-rel-header{background:#e2e8f0;border-bottom-color:#cbd5e1}.light .adp-rel-btn{color:#586675;border-color:#cbd5e1}.light .adp-rel-btn-del{color:#ef4444;border-color:#ef44444d}.light .adp-rel-sel td{background:#1f6fc71f!important}.light .adp-check-label,.light .adp-ac-nm{color:#333d47}.light .adp-ac-create{color:#16a34a;border-bottom-color:#e2e8f0}.light .adp-ac-create .adp-ac-id{color:#16a34a;font-size:14px}.light .adp-summary{color:#646f7a}.light .adp-summary-title{color:#2a333d}.light .adp-summary-subtitle{color:#646f7a}.light .adp-summary-meta-pill{color:#586675;background:#fff;border-color:#cbd5e1}.light .adp-summary-table-wrap{border-color:#cbd5e1}.light .adp-summary-table th,.light .adp-summary-table td{border-bottom-color:#cbd5e1;border-right-color:#cbd5e1}.light .adp-summary-table thead th{color:#586675;background:#e2e8f0}.light .adp-summary-table tbody th{color:#333d47;background:#f8fafc}.light .adp-summary-table tbody td{color:#333d47}.light .adp-resource-launcher{border-color:#e2e8f0}.light .adp-resource-launcher-title{color:#586675}.light .adp-resource-launcher-copy{color:#646f7a}@media(max-width:820px){.adp-resource-launcher{flex-direction:column;align-items:flex-start}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border-secondary);border-top-color:var(--color-indigo);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.loading-fallback{min-height:0;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}@media print{@page{size:auto;margin:0}body,html{margin:0;padding:0;background:#fff!important}#root>:not(.print-wrapper),sonner-toast,[data-sonner-toaster],.modal-overlay{display:none!important}.print-wrapper{position:static;background:#fff!important;display:block!important}.print-page-sheet{page-break-after:always;background:#fff;width:100%;height:100vh;position:relative;overflow:hidden}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}svg.lucide{stroke-width:1.75px;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke;flex-shrink:0}svg.lucide[width="24"],svg.lucide[width="28"],svg.lucide[width="32"]{stroke-width:1.5px}.rbtn-icon svg,.ctx-item svg,.col-hdr svg{color:inherit}.rbtn:not(.active):not(:hover) .rbtn-icon{color:var(--text-secondary)}.rbtn:hover .rbtn-icon{color:var(--text-heading);background:#2f83d829}.modal-overlay{-webkit-backdrop-filter:blur(6px)saturate(120%);background:#02060e9e}.modal,.col-ctx-menu,.gantt-tip{box-shadow:inset 0 1px #ffffff0f,var(--shadow-3)}.gantt-tip{background:var(--bg-modal);border-color:var(--border-secondary);color:var(--text-primary)}.modal{border-radius:14px}.col-ctx-menu{border-radius:12px}.ctx-item{border-radius:6px}.trow.sel{box-shadow:inset 2px 0 0 var(--color-indigo)}.trow-proj{background:#0a1220!important;border-bottom:2px solid #24405f!important}.trow-group{border-bottom:2px solid var(--color-indigo-dark)!important;background:#132033!important}.col-hdr{letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);font-size:10px;font-weight:600}.rbtn:focus-visible{box-shadow:var(--ring-accent)}.rbtn:active:not(:disabled){transform:scale(.97)}.rbtn{transition:background .15s,border-color .15s,color .15s,transform .1s ease-out}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tcell-id,.adp-ac-id,.fp-cell-id{font-family:var(--font-mono);color:var(--text-secondary)}.tcell-info{color:var(--text-muted)}.ribbon-brand{filter:grayscale()}button svg.lucide,[role=button] svg.lucide,.rbtn svg.lucide,.ribbon-tab svg.lucide,.module-tab svg.lucide,.ctx-item svg.lucide{filter:drop-shadow(0 1px .5px #0000008c);transition:transform .24s cubic-bezier(.175,.885,.32,1.275),filter .24s}button:hover:not(:disabled) svg.lucide,[role=button]:hover svg.lucide,.rbtn:hover:not(:disabled) svg.lucide,.ribbon-tab:hover svg.lucide,.module-tab:hover svg.lucide,.ctx-item:hover svg.lucide{filter:drop-shadow(0 2px 2.5px #00000080);transform:translateY(-1px)scale(1.06)}button:active:not(:disabled) svg.lucide,[role=button]:active svg.lucide,.rbtn:active:not(:disabled) svg.lucide,.ribbon-tab:active svg.lucide,.module-tab:active svg.lucide,.ctx-item:active svg.lucide{filter:none;transition-duration:90ms;transform:translateY(.5px)scale(.94)}button:disabled svg.lucide,.rbtn:disabled svg.lucide{filter:none;transform:none}.light button svg.lucide,.light [role=button] svg.lucide,.light .rbtn svg.lucide,.light .ribbon-tab svg.lucide,.light .module-tab svg.lucide,.light .ctx-item svg.lucide{filter:drop-shadow(0 1px .5px #333d4747)}.light button:hover:not(:disabled) svg.lucide,.light [role=button]:hover svg.lucide,.light .rbtn:hover:not(:disabled) svg.lucide,.light .ribbon-tab:hover svg.lucide,.light .module-tab:hover svg.lucide,.light .ctx-item:hover svg.lucide{filter:drop-shadow(0 2px 2.5px #333d473d)}.light button:active:not(:disabled) svg.lucide,.light .rbtn:active:not(:disabled) svg.lucide,.light .module-tab:active svg.lucide{filter:none}.graphite button svg.lucide,.graphite [role=button] svg.lucide,.graphite .rbtn svg.lucide,.graphite .ribbon-tab svg.lucide,.graphite .module-tab svg.lucide,.graphite .ctx-item svg.lucide{filter:drop-shadow(0 1px .5px #00000073)}.graphite button:hover:not(:disabled) svg.lucide,.graphite [role=button]:hover svg.lucide,.graphite .rbtn:hover:not(:disabled) svg.lucide,.graphite .ribbon-tab:hover svg.lucide,.graphite .module-tab:hover svg.lucide,.graphite .ctx-item:hover svg.lucide{filter:drop-shadow(0 2px 2.5px #0000006b)}.graphite button:active:not(:disabled) svg.lucide,.graphite .rbtn:active:not(:disabled) svg.lucide,.graphite .module-tab:active svg.lucide{filter:none}@media(prefers-reduced-motion:reduce){button:hover:not(:disabled) svg.lucide,[role=button]:hover svg.lucide,.rbtn:hover:not(:disabled) svg.lucide,.ribbon-tab:hover svg.lucide,.module-tab:hover svg.lucide,.ctx-item:hover svg.lucide,button:active:not(:disabled) svg.lucide,.rbtn:active:not(:disabled) svg.lucide{transform:none}}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-indigo);outline-offset:1px}#gl-body,#gr-body,#res-gl-body,#res-gr-body,#usage-detail-col,#res-usage-detail-col,#gl-body *,#gr-body *,#res-gl-body *,#res-gr-body *,#usage-detail-col *,#res-usage-detail-col *{overflow-anchor:none}.is-scrolling .trow{transition:none}[data-linear-scroll],[data-linear-scroll] *{overflow-anchor:none}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}.light{--executive-nav: #1b2430;--executive-nav-hover: #242f3c;--executive-surface: #f8fafc;--executive-surface-muted: #e3e8f0;--executive-canvas: #e9edf3;--executive-border: #cfd7e1;--executive-border-strong: #b2bdcb;--executive-focus: #33509f;--executive-success: #37805a;--executive-warning: #8a5f13;--executive-danger: #b03a35;--delay-header-strong: #dee4ed;--delay-header: #e9edf3;--delay-timeline: #f8fafc;--delay-weekend-header: #e0e6f0;--delay-weekend-grid: #eaeff6;--delay-row-even: #f8fafc;--delay-row-odd: #f1f4f9;--delay-window-row: #e3eee8;--bg-app: #e9edf3;--bg-primary: #e9edf3;--bg-secondary: #e3e8f0;--bg-ribbon: #f8fafc;--bg-ribbon-tabs: #1b2430;--bg-panel: #f8fafc;--bg-header: #e3e8f0;--bg-row-even: #f8fafc;--bg-row-odd: #f1f4f9;--bg-hover: #e4eaf4;--bg-selected: #dde5f3;--bg-input: #f2f5fa;--bg-modal: #f8fafc;--border-primary: #cfd7e1;--border-secondary: #b2bdcb;--border-accent: #33509f;--text-primary: #18212c;--text-secondary: #46525f;--text-muted: #5b6673;--text-accent: #33509f;--text-heading: #111a24;--color-indigo: #33509f;--color-indigo-dark: #2a4287;--color-critical: #b03a35;--color-normal: #7d8794;--color-milestone: #414c59;--color-progress: #414b58;--color-baseline: #bcc5d0;--color-today: #33509f;--color-status-line: #5b6673;color-scheme:light}.light body,.light #root{background:var(--executive-canvas);color:var(--text-primary)}.light button,.light input,.light select,.light textarea{font-family:var(--font-sans);letter-spacing:0}.light input:focus-visible,.light select:focus-visible,.light textarea:focus-visible,.light button:focus-visible{outline:2px solid color-mix(in srgb,var(--executive-focus) 34%,transparent);outline-offset:1px}.light .module-tabs-bar{min-height:40px;padding:4px 12px;gap:2px;background:var(--executive-nav);border-bottom-color:#283442}.light .module-brand{height:32px;padding-right:12px;margin-right:6px;border-right-color:#323e4c}.light .module-brand-logo{height:23px}.light .module-tab{min-height:32px;padding:6px 10px;border-color:transparent;border-radius:5px;color:#b5bfcb;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.light .module-tab:hover{background:var(--executive-nav-hover);border-color:#374351;color:#fff}.light .module-tab.active{background:#283443;border-color:#43526d;color:#fff;box-shadow:inset 0 -2px #7688d2}.light .module-tab-icon{opacity:.9}.light .module-tab-label,.light .module-project-indicator-text{letter-spacing:0}.light .module-project-indicator{min-height:30px;border-radius:5px;border-color:#374351;background:#242f3c;color:#c2cad5}.light .module-project-indicator:hover{border-color:#525f72;color:#fff}.light .module-project-indicator-icon{border-radius:4px;background:#2c3848;color:#92a2d8}.light .ribbon{background:var(--executive-surface);border-bottom:1px solid var(--executive-border);color:var(--text-primary)}.light .ribbon-tabs{height:32px;background:var(--executive-surface);border-bottom-color:var(--executive-border)}.light .ribbon-body{min-height:54px;padding-top:4px;background:var(--executive-surface)}.light .ribbon-tab{border-radius:4px 4px 0 0;color:var(--text-secondary);letter-spacing:0}.light .ribbon-tab:hover{background:#edf1f7;color:var(--text-primary)}.light .ribbon-tab.active{border-color:transparent;color:var(--executive-focus);background:transparent;box-shadow:inset 0 -2px 0 var(--executive-focus)}.light .ribbon-group{border-right-color:var(--executive-border)}.light .ribbon-group-label{color:var(--text-muted);font-size:8px;font-weight:600;letter-spacing:0;text-transform:none}.light .ribbon-brand-mark{border-color:#c6d1ee;background:#e5eaf8;color:var(--executive-focus)}.light .ribbon-brand-copy strong,.light .ribbon-brand-copy small{color:var(--text-primary);letter-spacing:0}.light .rbtn{border-color:#cfd7e1;border-radius:5px;background:#f3f6fa;color:var(--text-secondary);box-shadow:none}.light .rbtn:hover:not(:disabled){background:#e9eef6;border-color:#aab5c4;color:var(--text-primary)}.light .rbtn.active,.light .rbtn-primary{background:#dde4f6;border-color:#a7b4de;color:var(--executive-focus)}.light .rbtn-icon{border-radius:4px;background:transparent;color:inherit}.light .rbtn.active .rbtn-icon{background:#ccd6f0;color:var(--executive-focus)}.light .rbtn:disabled{color:#7e8896;background:#eef1f6;border-color:#dbe1ea;opacity:.68}.light .ribbon-font-family,.light .ribbon-font-size,.light .ribbon-setting-number{border-color:var(--executive-border-strong);background:#f2f5fa;color:var(--text-primary)}.light .col-hdr{background:#e3e8f0;color:#414c59;border-right-color:var(--executive-border);border-bottom:1px solid var(--executive-border-strong);font-weight:650;letter-spacing:0}.light .col-rsz{background:transparent}.light .col-rsz:hover{background:var(--executive-focus)}.light .trow{background:var(--bg-row-odd);color:var(--text-primary);border-bottom-color:#e2e7ef}.light .trow:nth-child(2n){background:var(--bg-row-even)}.light .trow:hover{background:var(--bg-hover)!important}.light .trow.sel{background:var(--bg-selected)!important;box-shadow:inset 3px 0 0 var(--executive-focus)}.light .trow-proj,.light .trow-summary,.light .trow-group{color:var(--text-heading);border-bottom-color:var(--executive-border-strong)!important}.light .trow-proj{background:#e0e6ef!important;border-bottom-width:1px!important}.light .trow-summary{background:#ecf0f6!important}.light .trow-group{background:#dde4ee!important;border-bottom-width:1px!important}.light .empty-row{background:transparent;color:#7e8896}.light .tcell{color:var(--text-primary);border-right-color:#e2e7ef}.light .tcell-num{color:#414c59}.light .tcell-id{color:var(--text-secondary)}.light .tcell-info{color:var(--text-muted);opacity:.62}.light .tcell[contenteditable=true]:focus{background:#fff;color:var(--text-primary);outline:1px solid var(--executive-focus);box-shadow:inset 0 0 0 1px #fff}.light .tcell select{background:var(--bg-input);color:var(--text-primary);border-color:var(--executive-border-strong)}.light .form-zone,.light .adp-root{background:var(--executive-surface);color:var(--text-primary);border-top-color:var(--executive-border-strong)}.light .form-zone{border-top-width:1px}.light .form-header,.light .fv-tabs,.light .adp-tabs{background:#e3e8f0;border-color:var(--executive-border)}.light .fh-title{color:var(--text-heading)}.light .fh-label,.light .adp-lbl,.light .adp-field-label,.light .adp-readonly,.light .adp-field-hint{color:var(--text-muted)}.light .fv-tab,.light .adp-tab{color:var(--text-secondary);letter-spacing:0;text-transform:none}.light .fv-tab:hover,.light .adp-tab:hover{background:#d8e0ed;color:var(--text-primary)}.light .fv-tab.active,.light .adp-tab.active{background:var(--executive-surface);border-bottom-color:var(--executive-focus);color:var(--executive-focus)}.light .adp-body,.light .adp-general,.light .adp-table-tab,.light .adp-summary,.light .adp-rel-root{background:var(--executive-surface)}.light .fp-section-hdr,.light .fp-col-hdr,.light .adp-rel-header,.light .adp-summary-table thead th,.light .adp-tbl th{background:#e3e8f0;color:#414c59;border-color:var(--executive-border);letter-spacing:0}.light .fp-row,.light .adp-tbl td,.light .adp-summary-table th,.light .adp-summary-table td{border-color:#e2e7ef;color:var(--text-primary)}.light .fp-row:hover,.light .adp-tbl tr:hover td,.light .adp-summary-table tbody tr:hover th,.light .adp-summary-table tbody tr:hover td{background:#e9eef6}.light .adp-section-panel,.light .adp-metric-card,.light .adp-readonly-box,.light .adp-summary-table-wrap,.light .adp-rel-panel{background:var(--executive-surface);border-color:var(--executive-border);border-radius:6px;color:var(--text-primary);box-shadow:none}.light .adp-section-title,.light .adp-summary-title,.light .adp-metric-value{color:var(--text-heading)}.light .adp-risk-banner{background:#e7f0ea;border-color:#c3d9cc}.light .adp-risk-badge{background:#d6e6dc;color:var(--executive-success)}.light .fh-input,.light .form-input,.light .adp-input,.light .fp-cell-edit,.light .adp-inline-input,.light .modal input,.light .modal select,.light .modal textarea,.light .link-modal input,.light .link-modal select,.light .act-modal input,.light .act-modal select,.light .act-modal textarea{background:var(--bg-input);border-color:var(--executive-border-strong);border-radius:4px;color:var(--text-primary)}.light .fh-input:focus,.light .form-input:focus,.light .adp-input:focus,.light .fp-cell-edit:focus,.light .adp-inline-input:not([readonly]):focus,.light .modal input:focus,.light .modal select:focus,.light .modal textarea:focus,.light .link-modal input:focus,.light .link-modal select:focus,.light .act-modal input:focus,.light .act-modal select:focus{border-color:var(--executive-focus);box-shadow:0 0 0 2px #33509f2e}.light .btn,.light .adp-btn,.light .col-picker-btn,.light .adp-nav-btn,.light .adp-rel-btn{border-radius:5px}.light .btn-primary,.light .adp-apply-btn{background:var(--executive-focus);color:#fff}.light .btn-primary:hover,.light .adp-apply-btn:hover{background:#2a4287}.light .btn-secondary,.light .btn-ghost,.light .adp-btn,.light .adp-nav-btn,.light .adp-rel-btn{background:#f2f5fa;border-color:var(--executive-border-strong);color:var(--text-primary)}.light .btn-danger{background:var(--executive-danger)}.light .modal-overlay{background:#111a246b}.light .modal-overlay .modal,.light .link-modal,.light .act-modal,.light .proj-modal,.light [role=dialog]{background:var(--executive-surface);border-color:var(--executive-border-strong);border-radius:6px;color:var(--text-primary);box-shadow:0 18px 48px #111a2433}.light .modal-header{background:#e8edf4;border-bottom-color:var(--executive-border);color:var(--text-heading)}.light .col-ctx-menu,.light .row-ctx-menu,.light .detail-ctx-menu,.light .ac-list,.light .adp-ac-list{background:var(--executive-surface);border-color:var(--executive-border-strong);border-radius:5px;color:var(--text-primary);box-shadow:0 8px 20px #111a2424}.light .col-ctx-menu label:hover,.light .row-ctx-item:hover:not(.disabled),.light .detail-ctx-item:hover:not(.disabled),.light .ac-item:hover,.light .ac-item.hl,.light .adp-ac-item:hover{background:#e4eaf4}.light .gantt-tip,.light .tip{background:#1b2430;border-color:#374453;border-radius:5px;color:#edf1f6;box-shadow:0 8px 20px #111a2433}.light .v-resize,.light .h-resize{background:#bec7d2}.light .v-resize:hover,.light .v-resize.rsz,.light .h-resize:hover,.light .h-resize.rsz{background:var(--executive-focus)}.light ::-webkit-scrollbar-track{background:#e4e9f0}.light ::-webkit-scrollbar-thumb{background:#a6b1bf}.light ::-webkit-scrollbar-thumb:hover{background:#7e8896}.light h1{color:var(--text-heading)!important;font-size:18px!important;line-height:1.3;letter-spacing:0}.light h2,.light h3{color:var(--text-heading);letter-spacing:0}.light p,.light label,.light th,.light td{letter-spacing:0}.light table{color:var(--text-primary);border-color:var(--executive-border)}.light table th{background:#e3e8f0;color:#414c59;border-color:var(--executive-border);letter-spacing:0}.light table td{border-color:#e2e7ef}.light [role=dialog]{color:var(--text-primary)}.light [data-sonner-toast]{border:1px solid var(--executive-border-strong)!important;border-radius:6px!important;background:var(--executive-surface)!important;color:var(--text-primary)!important;box-shadow:0 10px 28px #111a2429!important}@media(max-width:900px){.light .module-tabs-bar,.light .ribbon-tabs,.light .ribbon-body{overflow-x:auto;scrollbar-width:thin}.light .module-tab,.light .rbtn{flex:0 0 auto}.light .module-tabs-spacer{flex-basis:8px}.light h1{font-size:16px!important}}@media(max-width:900px){html,body,#root{max-width:100vw;overflow-x:hidden}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}}@media(max-width:900px){.module-tabs-bar{gap:2px;padding:3px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.module-tabs-bar::-webkit-scrollbar{display:none}.module-brand{padding:0 6px 0 2px;margin-right:2px;min-height:34px}.module-brand-logo{height:18px}.module-tab{padding:6px 9px;gap:5px;border-radius:8px;min-height:34px}.module-tab-label{font-size:10px}.module-tabs-spacer{flex:0 0 12px}.module-project-indicator{margin-left:4px}}@media(max-width:900px){.ribbon-tabs{height:auto;min-height:34px;padding:0 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ribbon-tabs::-webkit-scrollbar{display:none}.ribbon-tab{padding:6px 10px;white-space:nowrap;flex:0 0 auto}.ribbon-brand-copy{display:none}.ribbon-brand{margin-right:4px;padding:0 4px 0 2px}.ribbon-body{padding:3px 6px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ribbon-body::-webkit-scrollbar{display:none}.ribbon-group{padding:0 7px 1px}.rbtn,.rbtn-compact{min-height:34px}}@media(max-width:640px){.modal-overlay.open{align-items:flex-end;padding:0}.modal{width:100%!important;max-width:100%!important;max-height:92vh!important;border-radius:14px 14px 0 0!important;padding:16px 14px calc(16px + env(safe-area-inset-bottom))!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal:before{content:"";display:block;width:36px;height:4px;margin:-6px auto 12px;border-radius:999px;background:var(--border-secondary)}.modal-header,.modal-footer{flex-wrap:wrap;gap:8px}.modal-footer .btn{flex:1 1 auto}}@media(max-width:640px){.form-row{flex-direction:column;gap:8px}.form-group{min-width:0!important;width:100%!important}.form-input,.adp-input,.adp-inline-input,input[type=text],input[type=number],input[type=date],input[type=search],input[type=email],input[type=password],select,textarea{font-size:16px!important;min-height:38px}.btn{min-height:38px;padding-left:14px;padding-right:14px}}@media(max-width:900px){.adp-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.adp-tabs::-webkit-scrollbar{display:none}.adp-field-row{flex-direction:column;align-items:stretch!important;gap:3px}.adp-field-label{width:auto!important;min-width:0!important;text-align:left!important}.adp-fieldset{min-width:0!important}.adp-tbl{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media(max-width:640px){.row-ctx-menu,.detail-ctx-menu{max-width:calc(100vw - 16px)!important}.row-ctx-item{min-height:36px}.row-ctx-shortcut{display:none}}.rsp-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}@media(max-width:900px){.rsp-stack{flex-direction:column!important;align-items:stretch!important}.rsp-full{width:100%!important;min-width:0!important;max-width:100%!important;flex-basis:auto!important}.rsp-toolbar{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rsp-toolbar::-webkit-scrollbar{display:none}.rsp-toolbar>*{flex:0 0 auto}.rsp-hide-mobile{display:none!important}}@media(max-width:640px){#root .module-pane>div[style*=padding]{padding-left:14px!important;padding-right:14px!important}}@media(max-width:640px){#root [style*=grid-template-columns]:not([style*=auto-fit]):not([style*=auto-fill]):not(.rsp-keep-grid):not(.rsp-keep-grid *){grid-template-columns:minmax(0,1fr)!important}}@media(max-width:640px){#root .module-pane [style*="min-height: 500px"],#root .module-pane [style*="min-height: 520px"],#root .module-pane [style*="min-height: 420px"],#root .module-pane [style*="min-height: 350px"]{min-height:260px!important}}@media(max-width:640px){#root .module-pane [style*="justify-content: space-between"][style*="display: flex"]{flex-wrap:wrap;gap:8px}}@media(max-width:900px){.rsp-keep-grid{grid-template-columns:inherit}.rsp-dense{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100vw}}.rsp-pane-switch{display:flex;gap:4px;flex-shrink:0;padding:5px 8px;background:var(--bg-panel);border-bottom:1px solid var(--border-primary)}.rsp-pane-switch button{flex:1;min-height:32px;border:1px solid var(--border-secondary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer}.rsp-pane-switch button.active{background:color-mix(in srgb,var(--color-indigo) 14%,transparent);border-color:color-mix(in srgb,var(--color-indigo) 40%,transparent);color:var(--text-heading)}@media(max-width:640px){#root .module-pane [style*="font-size: 28px"]{font-size:20px!important;line-height:1.25!important}#root .module-pane [style*="font-size: 26px"]{font-size:19px!important;line-height:1.25!important}#root .module-pane [style*="font-size: 24px"]{font-size:19px!important}#root .module-pane [style*="font-size: 22px"]{font-size:18px!important}}.ribbon-config-shell{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;align-items:start;min-height:0}.ribbon-config-panel{min-width:0;max-height:62vh;overflow-y:auto;padding-right:4px}.ribbon-config-rail{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-secondary);border-radius:10px;background:color-mix(in srgb,var(--bg-input) 78%,transparent)}.ribbon-config-rail button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);padding:8px 10px;font-size:11px;font-weight:700;cursor:pointer;transition:.15s ease}.ribbon-config-rail button:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-hover) 82%,transparent)}.ribbon-config-rail button.active{color:var(--text-primary);border-color:var(--color-indigo);background:color-mix(in srgb,var(--color-indigo) 14%,transparent)}.ribbon-config-section-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.ribbon-config-note{font-size:10.5px;line-height:1.5;color:var(--text-muted);margin-top:8px}@media(max-width:720px){.ribbon-config-shell{grid-template-columns:minmax(0,1fr)}.ribbon-config-rail{order:-1;flex-direction:row;overflow-x:auto}.ribbon-config-rail button{width:auto;white-space:nowrap}}.graphite{--bg-app: #1c1c1e;--bg-ribbon: #242426;--bg-ribbon-tabs: #1a1a1c;--bg-panel: #242426;--bg-header: #1a1a1c;--bg-row-even: #1c1c1e;--bg-row-odd: #1f1f21;--bg-hover: #2f2f31;--bg-selected: #0a3a6b;--bg-input: #2c2c2e;--bg-modal: #2c2c2e;--bg-elevated: #323234;--bg-elevated-2: #3a3a3c;--border-primary: #38383a;--border-secondary: #48484a;--border-accent: #0a84ff;--separator: rgba(84, 84, 88, .65);--text-primary: #ffffff;--text-secondary: #a1a1a6;--text-muted: #86868b;--text-accent: #64b5ff;--text-heading: #ffffff;--color-indigo: #0a84ff;--color-indigo-dark: #0060df;--color-critical: #ff453a;--color-normal: #0a84ff;--color-milestone: #ffd60a;--color-today: #ff9f0a;--color-progress: #30d158;--color-status-line: #64d2ff;--color-baseline: #8e8e93;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 4px 14px rgba(0, 0, 0, .42);--shadow-3: 0 16px 40px rgba(0, 0, 0, .55);--ring-accent: 0 0 0 3.5px rgba(10, 132, 255, .35);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, SFMono-Regular, "IBM Plex Mono", Menlo, Monaco, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--ease-default: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .58, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--bg-primary: #1c1c1e;--bg-secondary: #242426;--delay-header-strong: #1a1a1c;--delay-header: #242426;--delay-timeline: #1c1c1e;--delay-weekend-header: rgba(255, 255, 255, .045);--delay-weekend-grid: rgba(255, 255, 255, .03)}.graphite body,.graphite #root{letter-spacing:0;font-feature-settings:"tnum" 1,"case" 1}.graphite h1,.graphite h2,.graphite .modal h2{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.graphite .ribbon-group-label,.graphite .col-hdr{font-weight:590;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}.graphite svg.lucide{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.graphite svg.lucide[width="20"],.graphite svg.lucide[width="24"],.graphite svg.lucide[width="28"],.graphite svg.lucide[width="32"]{stroke-width:1.4}.graphite .rbtn:not(.active):not(:hover) svg.lucide{opacity:.82}.graphite .ribbon{background:var(--bg-ribbon);border-bottom:1px solid var(--separator)}.graphite .ribbon-tabs{border-bottom:1px solid var(--separator)}.graphite .ribbon-tab{border-radius:var(--radius-sm);border-color:transparent;font-weight:500;transition:background .2s var(--ease-default),color .2s var(--ease-default)}.graphite .ribbon-tab:hover:not(.active){background:#ffffff0f;color:var(--text-primary)}.graphite .ribbon-tab.active{background:var(--bg-elevated-2);border-color:transparent;color:#fff;font-weight:590;box-shadow:var(--shadow-1)}.graphite .ribbon-group{border-right:1px solid var(--separator)}.graphite .rbtn{background:transparent;border-color:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;transition:background .18s var(--ease-default),color .18s var(--ease-default),transform .1s var(--ease-out)}.graphite .rbtn:hover:not(:disabled){background:#ffffff14;border-color:transparent;color:var(--text-primary)}.graphite .rbtn:active:not(:disabled){background:#ffffff1f;transform:scale(.96)}.graphite .rbtn.active{background:var(--bg-elevated-2);border-color:transparent;color:#fff;box-shadow:var(--shadow-1)}.graphite .rbtn:focus-visible{outline:none;border-color:transparent;box-shadow:var(--ring-accent)}.graphite .rbtn:disabled{opacity:.35}.graphite .rbtn-icon{background:transparent;color:inherit;border-radius:var(--radius-sm)}.graphite .rbtn.active .rbtn-icon{background:transparent;color:#fff}.graphite .rbtn-primary{background:var(--color-indigo);border-color:transparent;color:#fff;font-weight:590;border-radius:var(--radius-full);padding-left:12px;padding-right:12px}.graphite .rbtn-primary:hover:not(:disabled){background:#3d9bff;color:#fff}.graphite .ribbon-brand-mark{background:#0a84ff2e;border-color:#0a84ff52;border-radius:var(--radius-sm);color:var(--text-accent)}.graphite .ribbon-brand-copy small{letter-spacing:.14em;font-weight:590}.graphite .col-hdr{background:var(--bg-header);border-right:1px solid var(--separator);border-bottom:1px solid var(--separator)}.graphite .trow{border-bottom:1px solid rgba(255,255,255,.05)}.graphite .tcell{border-right:1px solid rgba(255,255,255,.045)}.graphite .trow:hover{background:var(--bg-hover)!important}.graphite .trow.sel{background:var(--bg-selected)!important;box-shadow:inset 2.5px 0 0 var(--color-indigo)}.graphite .trow-proj{background:#17171a!important;border-bottom:1px solid var(--border-secondary)!important}.graphite .trow-group{background:#2a2a2c!important;border-bottom:1px solid var(--border-secondary)!important}.graphite .tcell[contenteditable=true]:focus{background:#0a84ff2e;outline:2px solid var(--color-indigo);outline-offset:-2px;border-radius:3px}.graphite input,.graphite select,.graphite textarea{background:var(--bg-input);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default)}.graphite input::placeholder,.graphite textarea::placeholder{color:var(--text-muted)}.graphite input:focus-visible,.graphite select:focus-visible,.graphite textarea:focus-visible{outline:none;border-color:var(--color-indigo);box-shadow:var(--ring-accent)}.graphite .modal-overlay{background:#00000080;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.graphite .modal{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);box-shadow:inset 0 1px #ffffff14,var(--shadow-3)}.graphite .col-ctx-menu,.graphite .gantt-tip{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:var(--text-primary);box-shadow:inset 0 1px #ffffff0f,var(--shadow-2)}.graphite .ctx-item{border-radius:var(--radius-sm)}.graphite .ctx-item:hover{background:var(--color-indigo);color:#fff}.graphite .form-zone{background:var(--bg-panel);border-top:1px solid var(--separator)}.graphite ::-webkit-scrollbar-thumb{background:#ebebf547;background-clip:padding-box}.graphite ::-webkit-scrollbar-thumb:hover{background:#ebebf573;background-clip:padding-box}.graphite *{scrollbar-color:rgba(235,235,245,.28) transparent}.graphite input:focus-visible,.graphite select:focus-visible,.graphite textarea:focus-visible,.graphite button:focus-visible,.graphite [role=button]:focus-visible,.graphite [tabindex]:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.graphite .spinner{border-color:#ebebf52e;border-top-color:var(--color-indigo)}
