@import "https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Geist+Mono:wght@100..900&display=swap";
:root{--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading:var(--font-sans);--product-color:var(--primary);--row-task:30px;--row-product:32px;--row-axis:78px;--left-w:280px;--left-w-collapsed:56px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html,body{background:var(--muted);color:var(--foreground);font:400 14px/1.5 var(--font-sans);font-feature-settings:"ss01", "ss02";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow:hidden}.tabular{font-variant-numeric:tabular-nums}button{font-family:inherit}.app{width:100vw;height:100vh}.main-wrap{height:100vh;padding:8px;overflow:hidden}.main{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;height:calc(100vh - 16px);display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#eeaf610a 0%,#fb906208 25%,#ee5d6c08 50%,#ce499308 75%,#6a0d830a 100%);background:linear-gradient(90deg,lab(76.3629% 17.8041 48.8185/.04) 0%,lab(71.0069% 38.5066 42.6243/.03) 25%,lab(59.6888% 57.649 22.5829/.03) 50%,lab(52.1495% 58.2849 -11.8901/.03) 75%,lab(26.3645% 49.8296 -43.7891/.04) 100%);flex-direction:column;flex-shrink:0;gap:12px;min-width:0;padding:14px 26px;display:flex}.topbar-main{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.topbar-filters{flex-wrap:wrap;align-items:center;gap:8px;min-height:28px;display:flex}.brand-row{align-items:center;gap:24px;min-width:0;display:flex}.brand-mark{place-items:center;width:54px;height:54px;display:grid}.brand-mark i{font-size:28px}.brand-mark img{object-fit:contain;width:54px;height:54px}.dark .brand-mark img{opacity:0}.brand-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-name{font:600 22px var(--font-heading);letter-spacing:-.018em;white-space:nowrap;background:linear-gradient(135deg,#ee5d6c 0%,#ce4993 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.csv-download-btn{background:var(--card);border:1px solid var(--border);height:28px;color:var(--foreground);font:500 12px var(--font-sans);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;margin-left:8px;padding:0 12px;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.csv-download-btn i{color:var(--muted-foreground);font-size:14px}.csv-download-btn:hover{background:oklch(from var(--primary) l c h / .06);border-color:oklch(from var(--primary) l c h / .4);color:var(--primary)}.csv-download-btn:hover i{color:var(--primary)}.filter-clear-all{border:1px solid color-mix(in oklch, var(--border) 60%, transparent);height:26px;color:var(--muted-foreground);font:500 12px var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border-radius:7px;align-items:center;gap:5px;margin-left:4px;padding:0 10px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.filter-clear-all i{color:#d40924;color:lab(45.5382% 69.8881 46.2994);font-size:14px}.filter-clear-all:hover{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d409240f;background:lab(45.5382% 69.8881 46.2994/.06);border-color:#d4092473;border-color:lab(45.5382% 69.8881 46.2994/.45)}.filter-clear-all:hover i{color:#bd001b;color:lab(39.7145% 70.0599 49.6254)}.topbar .right{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{width:30px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-btn:hover,.icon-btn.active{background:var(--muted);color:var(--foreground)}.btn{height:32px;font:500 13px var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;transition:all .15s cubic-bezier(0,0,.2,1);display:inline-flex}.btn:active{transform:translateY(1px)}.btn-default{color:#fff;background:linear-gradient(135deg,#ee5d6c 0%,#ce4993 100%);border-color:#0000}.btn-default:hover{background:linear-gradient(135deg,#e05060 0%,#c03c87 100%);background:linear-gradient(135deg,lab(55.0444% 57.6493 22.759) 0%,lab(47.5063% 58.1254 -11.8772) 100%)}.btn-default:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:var(--background);color:var(--foreground);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-outline:hover{background:var(--muted)}.btn-ghost{color:var(--foreground);background:0 0}.btn-ghost:hover{background:var(--muted)}.btn-destructive{color:var(--destructive);background:#e400141a;background:lab(48.4493% 77.4328 61.5452/.1)}.btn-destructive:hover{background:#e400142e;background:lab(48.4493% 77.4328 61.5452/.18)}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-lg{height:38px;padding:0 16px;font-size:14px}.avatar{width:24px;height:24px;font:600 10px var(--font-sans);color:#fff;letter-spacing:.02em;border-radius:9999px;flex-shrink:0;place-items:center;display:grid}.avatar.lg{width:32px;height:32px;font-size:12px}.avatar.sm{width:20px;height:20px;font-size:10px}.badge{height:22px;font:500 12px var(--font-sans);border:1px solid var(--border);background:var(--background);color:var(--foreground);white-space:nowrap;border-radius:9999px;align-items:center;gap:4px;padding:0 9px;display:inline-flex}.badge .dot{background:currentColor;border-radius:9999px;width:6px;height:6px}.badge .status-icon{font-size:11px;line-height:1}.badge.status-in-progress{color:var(--primary);background:#1447e614;background:lab(36.9089% 35.0961 -85.6872/.08);border-color:#1447e633;border-color:lab(36.9089% 35.0961 -85.6872/.2)}.badge.status-delayed{color:#8e5300;color:lab(41.3729% 30.4805 84.3183);background:#f2a6181a;background:lab(74.3059% 21.7583 74.0995/.1);border-color:#f2a61840;border-color:lab(74.3059% 21.7583 74.0995/.25)}.badge.status-done{color:#1e6626;color:lab(37.6297% -33.7386 28.5922);background:#27873314;background:lab(49.5829% -42.1882 35.8774/.08);border-color:#27873333;border-color:lab(49.5829% -42.1882 35.8774/.2)}.badge.status-backlog{color:var(--muted-foreground)}.badge.confidence-high{color:#006915;color:lab(37.9407% -42.3641 37.5694);background:#2787331a;background:lab(49.5829% -42.1882 35.8774/.1);border-color:#2787334d;border-color:lab(49.5829% -42.1882 35.8774/.3)}.badge.confidence-medium{color:#8e5300;color:lab(41.3729% 30.4805 84.3183);background:#f2a6181f;background:lab(74.3059% 21.7583 74.0995/.12);border-color:#f2a61859;border-color:lab(74.3059% 21.7583 74.0995/.35)}.badge.confidence-low{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d409241a;background:lab(45.5382% 69.8881 46.2994/.1);border-color:#d409244d;border-color:lab(45.5382% 69.8881 46.2994/.3)}.badge .conf-dot{border-radius:999px;flex-shrink:0;width:7px;height:7px;display:inline-block}.badge.confidence-high .conf-dot{background:#189a30;background:lab(55.7164% -50.7132 43.8697)}.badge.confidence-medium .conf-dot{background:#d68d00;background:lab(64.8857% 26.4086 111.608)}.badge.confidence-low .conf-dot{background:#e62b34;background:lab(51.3582% 69.7345 44.3509)}.sheet-pill.confidence-high{color:#00590e;color:lab(32.1129% -42.5162 39.2515);background:#2787331a;background:lab(49.5829% -42.1882 35.8774/.1);border-color:#2787334d;border-color:lab(49.5829% -42.1882 35.8774/.3)}.sheet-pill.confidence-medium{color:#8e5300;color:lab(41.3729% 30.4805 84.3183);background:#f2a6181f;background:lab(74.3059% 21.7583 74.0995/.12);border-color:#f2a61859;border-color:lab(74.3059% 21.7583 74.0995/.35)}.sheet-pill.confidence-low{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d409241a;background:lab(45.5382% 69.8881 46.2994/.1);border-color:#d409244d;border-color:lab(45.5382% 69.8881 46.2994/.3)}.fchip{border:1px solid color-mix(in oklch, var(--border) 60%, transparent);height:26px;font:500 12px var(--font-sans);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:0 10px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.fchip:hover{background:oklch(from var(--primary) l c h / .05);border-color:oklch(from var(--primary) l c h / .3);color:var(--foreground)}.fchip.solid{background:oklch(from var(--primary) l c h / .12);border-color:oklch(from var(--primary) l c h / .5);color:var(--primary)}.fchip-toggle{-webkit-user-select:none;user-select:none}.fchip-toggle.active{background:oklch(from var(--primary) l c h / .1);border-color:oklch(from var(--primary) l c h / .45);color:var(--primary)}.fchip-toggle i{font-size:13px;line-height:1}.login-wrap{background:var(--muted);place-items:center;height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--border);width:400px;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:22px;padding:36px 32px 28px;display:flex}.login-brand{flex-direction:column;align-items:center;gap:14px;padding-bottom:4px;display:flex}.login-brand .mark{place-items:center;width:128px;height:128px;display:grid}.login-brand .mark i{font-size:52px}.login-brand .mark img{object-fit:contain;width:128px;height:128px}.login-brand h1{font:600 28px var(--font-heading);letter-spacing:-.02em;text-align:center;margin:0}.field{flex-direction:column;gap:6px;display:flex}.field label{font:500 13px var(--font-sans);color:var(--foreground);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field label>span{color:var(--muted-foreground);font-size:12px;font-style:italic;font-weight:400}.field input,.field textarea,.field select{border:1px solid var(--input);background:var(--background);width:100%;height:38px;font:400 15px var(--font-sans);color:var(--foreground);box-shadow:var(--shadow-xs);border-radius:8px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;height:auto;min-height:80px;padding:8px 12px;line-height:1.55}.field textarea.resize-y{min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #9f9fa94d;box-shadow:0 0 0 3px lab(65.6464% 1.53497 -5.42429/.3)}.field .hint{color:var(--muted-foreground);font-size:12px;font-style:italic}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--destructive);box-shadow:0 0 0 3px #e400142e;box-shadow:0 0 0 3px lab(48.4493% 77.4328 61.5452/.18)}.field .err{color:var(--destructive);align-items:center;gap:4px;font-size:12px;display:flex}:root{--left-w-current:var(--left-w)}.gantt-wrap{background:var(--card);--left-w-current:var(--left-w);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.left-resize-handle{cursor:col-resize;z-index:25;background:0 0;width:6px;position:absolute;top:0;bottom:0}.left-resize-handle:hover,.gantt-wrap.resizing .left-resize-handle{background:#2b62ef40;background:lab(45.0778% 23.2653 -77.4561/.25)}.gantt-wrap.resizing{cursor:col-resize}.gantt-wrap.resizing *{-webkit-user-select:none;user-select:none}.gantt-wrap.left-collapsed{--left-w-current:var(--left-w-collapsed)}.g-scroll{flex:auto;min-height:0;position:relative;overflow:auto}.g-rails{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0;left:0}.g-row{z-index:2;grid-template-columns:var(--left-w-current) max-content;align-items:stretch;width:max-content;display:grid;position:relative}.g-row-label{background:var(--card);border-right:1px solid var(--border);z-index:10;transition:width .2s cubic-bezier(0,0,.2,1);position:sticky;left:0}.g-row-cell{position:relative}.g-axis-row{z-index:12;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0}.g-axis-corner{height:var(--row-axis);font:500 11px var(--font-sans);color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;z-index:13;align-items:flex-start;gap:8px;padding:8px 10px 10px;display:flex}.g-axis-corner .left-toggle{margin-top:-2px}.corner-stack{flex-direction:column;flex:1;justify-content:space-between;gap:6px;min-width:0;height:100%;display:flex}.corner-stack .corner-label{font:800 14px var(--font-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--foreground);margin-top:1px;margin-left:0}.corner-sort{border:1px solid color-mix(in oklch, var(--border) 60%, transparent);height:22px;color:var(--muted-foreground);font:500 11px var(--font-sans);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:5px;align-self:flex-start;align-items:center;gap:4px;margin-bottom:2px;padding:0 6px 0 8px;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.corner-sort:hover{background:oklch(from var(--muted) l c h / .5);border-color:var(--border);color:var(--foreground)}.corner-sort:before{content:"Sort:";font:500 9.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:oklch(from var(--muted-foreground) l c h / .75);margin-right:1px}.corner-sort-caret{color:var(--muted-foreground);margin-left:-1px;font-size:13px}.g-axis-cell{height:var(--row-axis);background:var(--card)}.left-toggle{width:26px;height:26px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.left-toggle:hover{background:var(--muted);color:var(--foreground)}.left-toggle i{font-size:16px}.g-product-row{top:var(--row-axis);z-index:7;position:sticky}.g-product-row:hover{z-index:60}.g-product-row .g-product-header{height:var(--row-task);background:color-mix(in oklch, var(--product-color) 14%, var(--card));box-shadow:inset 4px 0 0 var(--product-color);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);cursor:help;align-items:center;gap:10px;padding:0 14px;display:flex}.g-product-row .g-product-band{height:var(--row-task);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);background-color:var(--gantt-cell-base);background-image: linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w,160px)),  linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w,160px) 100%, 100% 100%;background-repeat:repeat-x,no-repeat}.g-product-row .g-product-header .swatch{display:none}.g-product-row .g-product-header .name{font:600 13px var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--foreground);white-space:nowrap;overflow:visible}.left-toggle{display:none!important}.g-task-row{position:relative}.g-task-row .g-task-label{height:var(--row-task);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);font:400 13px var(--font-sans);color:var(--foreground);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 18px 0 12px;display:flex}.g-task-row .g-task-label:active{cursor:grabbing}.owner-chip{background:var(--owner-color,#2b62ef);color:#fff;width:18px;height:18px;font:600 10px var(--font-sans);letter-spacing:0;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:inline-grid}@supports (color:lab(0% 0 0)){.owner-chip{background:var(--owner-color,lab(45.0778% 23.2653 -77.4561))}}.owner-chip.empty{background:var(--muted);color:var(--muted-foreground)}.gantt-bar .owner-chip{background:var(--owner-color,#ffffffd9);color:#fff;width:14px;height:14px;margin-right:4px;font-size:9px;box-shadow:0 0 0 1.5px #ffffffd9}.gantt-bar .owner-chip.empty{color:#00000080;box-shadow:none;background:#0000001f}.g-task-row .g-task-label{background:var(--card)}.g-task-row .g-task-label:hover{background:var(--gantt-cell-hover)}.g-task-row.selected .g-task-label{background:var(--card);box-shadow:inset 3px 0 0 var(--product-color)}.g-task-row .g-task-label .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.g-task-row .g-task-label .status-emoji{flex:none;margin-left:6px;font-size:7px;line-height:1}.g-task-row .g-task-label .g-task-warn{flex:none;margin-right:2px;font-size:11px;line-height:1}.gantt-wrap.left-collapsed .g-task-row .g-task-label>.title{display:none}.gantt-wrap.left-collapsed .g-task-row .g-task-label{justify-content:space-between;gap:4px;padding:0 6px 0 9px}.gantt-wrap.left-collapsed .g-task-row .g-task-label .status-emoji{margin-left:0}.gantt-wrap.left-collapsed .g-task-row .g-task-label:before{display:none}.gantt-wrap.left-collapsed .g-product-header{z-index:6;overflow:visible}.gantt-wrap.left-collapsed .g-product-header .name{white-space:nowrap;background:var(--card);z-index:6;padding-right:10px;position:relative}.g-task-row .g-row-cell{height:var(--row-task);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);background-color:var(--gantt-cell-base);background-image: linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w,160px)),  linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w,160px) 100%, 100% 100%;background-repeat:repeat-x,no-repeat}.gantt-wrap.detailed .g-task-row .g-row-cell{background-image: linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w)),  linear-gradient(to right, transparent 0, transparent calc(var(--day-w) - 1px), var(--gantt-cell-sprint-divider) calc(var(--day-w) - 1px), var(--gantt-cell-sprint-divider) var(--day-w)),  linear-gradient(to right, transparent 0, transparent calc(var(--day-w) * 3), var(--gantt-cell-base) calc(var(--day-w) * 3), var(--gantt-cell-base) calc(var(--day-w) * 5), transparent calc(var(--day-w) * 5), transparent calc(var(--day-w) * 10), var(--gantt-cell-base) calc(var(--day-w) * 10), var(--gantt-cell-base) calc(var(--day-w) * 12), transparent calc(var(--day-w) * 12)),  linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w) 100%, var(--day-w) 100%, var(--sprint-w) 100%, 100% 100%;background-repeat:repeat-x,repeat-x,repeat-x,no-repeat}.gantt-wrap.detailed .g-product-row .g-product-band,.gantt-wrap.detailed .g-cap-row .g-row-cell,.gantt-wrap.detailed .g-spacer-row .g-spacer-cell{background-image:linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w,160px)), linear-gradient(to right, transparent 0, transparent calc(var(--day-w,20px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--day-w,20px) - 1px), var(--gantt-cell-sprint-divider) var(--day-w,20px)), linear-gradient(to right, transparent 0, transparent calc(var(--day-w,20px) * 3), var(--gantt-cell-base) calc(var(--day-w,20px) * 3), var(--gantt-cell-base) calc(var(--day-w,20px) * 5), transparent calc(var(--day-w,20px) * 5), transparent calc(var(--day-w,20px) * 10), var(--gantt-cell-base) calc(var(--day-w,20px) * 10), var(--gantt-cell-base) calc(var(--day-w,20px) * 12), transparent calc(var(--day-w,20px) * 12)), linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w,160px) 100%, var(--day-w,20px) 100%, var(--sprint-w,160px) 100%, 100% 100%;background-repeat:repeat-x,repeat-x,repeat-x,no-repeat}.g-product-tooltip{background:var(--popover);border:1px solid var(--border);border-left:3px solid var(--product-color);width:360px;max-width:90vw;box-shadow:var(--shadow-lg);z-index:100;opacity:0;pointer-events:none;border-radius:8px;padding:12px 14px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 4px);left:18px;transform:translateY(-4px)}.g-product-row .g-product-header:hover{background:color-mix(in oklch, var(--product-color) 8%, var(--card))}.g-product-row .g-product-header.tip-open .g-product-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.g-product-tooltip .t-name{font:600 13px var(--font-heading);letter-spacing:-.005em;color:var(--product-color);margin-bottom:6px}.g-product-tooltip .t-body{font:400 12.5px/1.5 var(--font-sans);color:var(--foreground)}.time-axis{height:var(--row-axis);flex-direction:column;display:flex}.ta-quarters{border-bottom:1px solid var(--border);height:28px;display:flex}.ta-quarter{border-right:2px solid var(--border);font:600 12px var(--font-heading);color:var(--foreground);letter-spacing:.02em;background:oklch(from var(--qc,var(--muted)) l c h / .07);white-space:nowrap;align-items:center;padding:0 12px;display:flex;position:relative;overflow:hidden}.ta-quarter:before{content:"";background:var(--qc,var(--muted));opacity:.55;height:2px;position:absolute;top:0;left:0;right:0}.ta-quarter:last-child{border-right:0}.ta-quarter .qlabel{display:inline-block;position:sticky;left:12px}.ta-sprints{border-bottom:1px solid var(--border);height:50px;display:flex}.ta-sprint{border-right:1px solid var(--border);white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 6px;display:flex;overflow:hidden}.ta-sprint:last-child{border-right:0}.ta-sprint .sprint-label{font:600 12px var(--font-sans);color:var(--foreground);letter-spacing:.005em;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ta-sprint .sprint-dates{font:500 10.5px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--muted-foreground);text-overflow:ellipsis;max-width:100%;overflow:hidden}.ta-sprints.density-start .sprint-label{font-size:11.5px}.ta-sprints.density-start .sprint-dates{font-size:10px}.ta-sprints.density-none .sprint-label{font-size:11px}.gantt-wrap.detailed{--row-axis:106px}.ta-days{height:28px;display:flex}.ta-day{border-right:1px solid color-mix(in oklch, var(--border) 50%, transparent);background:var(--card);color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;line-height:1.05;display:flex;overflow:hidden}.ta-day .d-dow{font:500 8.5px var(--font-sans);letter-spacing:.04em;color:oklch(from var(--muted-foreground) l c h / .7);text-transform:uppercase}.ta-day .d-num{font:500 10px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.ta-day.weekend{background:var(--gantt-cell-base)}.ta-day.weekend .d-dow,.ta-day.weekend .d-num{color:oklch(from var(--muted-foreground) l c h / .55)}.ta-day.today .d-dow,.ta-day.today .d-num{color:#0064bc;color:lab(40.0518% 9.48258 -73.0386)}.today-line{display:none}.today-tick{z-index:2;pointer-events:none;border-left:2.5px solid #0083e3d9;border-left:2.5px solid lab(52.5446% -2.04957 -60.1708/.85);width:0;position:absolute;top:0;bottom:0}.quarter-tick{z-index:2;pointer-events:none;border-left:2px solid #d7d7d9;width:0;position:absolute;top:0;bottom:0}.gantt-bar{height:calc(var(--row-task) - 6px);background:color-mix(in oklch, var(--product-color) 55%, var(--gantt-bar-mix));color:#000;font:500 11px var(--font-sans);cursor:default;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);border:1px solid color-mix(in oklch, var(--product-color) 80%, #000 0%);z-index:3;border-radius:5px;align-items:stretch;transition:box-shadow .15s,transform .1s;display:flex;position:absolute;top:3px;overflow:hidden}.gantt-bar.draft{background:oklch(from var(--muted-foreground) l c h / .16);border:1px dashed oklch(from var(--muted-foreground) l c h / .65);box-shadow:none;color:var(--muted-foreground);opacity:.85}.gantt-bar.draft:hover{opacity:1}.gantt-bar.draft .milestone-marker,.gantt-bar.draft .milestone-divider{display:none}.milestone-anchor{z-index:4;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.milestone-divider{background:#ffffffb3;width:1px;position:absolute;top:0;bottom:0;left:-.5px;box-shadow:0 0 0 .5px #0000001a}.milestone-marker{pointer-events:auto;cursor:ew-resize;border:1.5px solid #fff;width:10px;height:10px;transition:width 80ms,height 80ms,box-shadow 80ms;position:absolute;top:0;left:0;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 .5px #00000059,0 1px 2px #00000026}.milestone-marker:hover{width:12px;height:12px;box-shadow:0 0 0 .5px #00000080,0 2px 4px #00000040}.milestone-marker:active{cursor:grabbing}.milestone-marker.milestone-design{background:#8b5cf6}.milestone-marker.milestone-dev{background:#3b82f6}.bar-inner{z-index:1;flex:1;align-items:center;gap:5px;min-width:0;padding:0 8px;display:flex;position:relative;overflow:hidden}.gantt-bar .bar-owner{flex-shrink:0;width:16px;height:16px;font-size:8.5px;box-shadow:0 0 0 1px #fff9;box-shadow:0 0 0 1px lab(100% -.0000298023 .0000119209/.6)}.gantt-bar .bar-owner.empty{opacity:.45}.gantt-bar .bar-warn{flex-shrink:0;font-size:11px;line-height:1}.gantt-bar:hover{box-shadow:var(--shadow-md);z-index:7}.gantt-bar.dragging{cursor:grabbing;box-shadow:var(--shadow-lg);z-index:8}.gantt-bar .bar-title{font:600 11.5px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;color:#000;line-height:1.2;overflow:hidden}.gantt-bar.status-delayed{background:repeating-linear-gradient(135deg, var(--product-color) 0 8px, oklch(from var(--product-color) calc(l - .08) c h) 8px 16px);outline-offset:-1.5px;outline:1.5px solid #ee5d6c}.gantt-bar.status-done{color:#000;background:#9acd32;border-color:#7ba828}.gantt-bar.status-done .bar-title{color:#000;opacity:1}.gantt-bar .resize-handle{cursor:ew-resize;z-index:2;background:0 0;width:6px;position:absolute;top:0;bottom:0}.gantt-bar .resize-handle.left{left:0}.gantt-bar .resize-handle.right{right:0}.gantt-bar:hover .resize-handle:after{content:"";opacity:.5;background:currentColor;border-radius:1px;width:2px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gantt-bar.read-only{cursor:pointer}.gantt-bar.read-only .resize-handle{display:none}.gantt-bar.selected{outline:1px solid var(--foreground);outline-offset:2px;z-index:5}.drop-preview{display:none}.band-drop-preview{background:oklch(from var(--product-color) l c h / .25);border:1.5px dashed var(--product-color);pointer-events:none;z-index:4;border-radius:6px;position:absolute;top:4px;bottom:4px}.g-product-band.drop-target{background:oklch(from var(--product-color) l c h / .2)}.bl-card{background:var(--background);border:1px solid var(--border);border-left:3px solid var(--product-color,var(--border));cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;min-height:28px;padding:6px 10px;transition:box-shadow .15s,transform .1s;display:flex}.bl-card:hover{box-shadow:var(--shadow-sm)}.bl-card.dragging{opacity:.4}.bl-card.read-only{cursor:pointer}.bl-card.read-only:hover{box-shadow:var(--shadow-sm)}.bl-card .bl-title{font:500 12.5px var(--font-sans);letter-spacing:-.002em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.25;overflow:hidden}.content-row{flex:auto;min-height:0;display:flex;overflow:hidden}.drawer{background:var(--card);border:1px solid var(--border);width:100%;max-width:760px;max-height:88vh;box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}.drawer-empty{text-align:center;justify-content:center;align-items:center;padding:40px 20px;display:flex}.drawer-empty-inner{color:var(--muted-foreground);flex-direction:column;align-items:center;gap:8px;max-width:280px;display:flex}.drawer-empty i{color:var(--muted-foreground);opacity:.5;font-size:32px}.drawer-empty-title{font:600 14px var(--font-heading);color:var(--foreground)}.drawer-empty-hint{font:400 13px/1.5 var(--font-sans)}.drawer-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:22px 24px 18px;display:flex;position:relative}.drawer-head:before{content:"";background:var(--product-color);width:4px;position:absolute;top:0;bottom:0;left:0}.drawer-head .titlebox{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.drawer-head h2{font:600 24px var(--font-heading);letter-spacing:-.015em;line-height:1.25}.drawer-head .editable-title{font:600 24px var(--font-heading);letter-spacing:-.015em;width:100%;color:var(--foreground);resize:none;field-sizing:content;min-height:1.25em;line-height:1.25;font-family:var(--font-heading);background:0 0;border:0;outline:none;padding:0;overflow:hidden}.drawer-head .editable-title:focus{background:var(--muted);border-radius:6px;margin:-2px -6px;padding:2px 6px}.drawer-actions{align-items:center;gap:4px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:24px;padding:22px 24px 40px;display:flex;overflow:auto}.section-title{font:600 13px var(--font-heading);color:var(--muted-foreground);align-items:center;gap:6px;margin-bottom:8px;display:flex}.kv-grid{grid-template-columns:110px 1fr;align-items:center;gap:10px 16px;display:grid}.kv-grid dt{font:500 13px var(--font-sans);color:var(--muted-foreground)}.kv-grid dd{align-items:center;gap:8px;min-height:28px;margin:0;font-size:14px;display:flex}.drawer-dates-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.drawer-date-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.drawer-date-label{font:600 10px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}@media (max-width:600px){.drawer-dates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.drawer-dates-grid .date-picker-trigger{gap:5px;padding:0 8px;font-size:12.5px}.drawer-dates-grid .date-picker-trigger>i{font-size:13px}.kv-grid dd .pill-select{cursor:pointer;white-space:nowrap;max-width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.kv-grid dd .pill-select>span:not(.swatch):not(.dot){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.kv-grid dd .pill-select:hover{background:var(--muted)}.kv-grid dd .pill-select .chev{color:var(--muted-foreground);font-size:12px}.kv-grid dd .pill-select.read-only{cursor:default}.kv-grid dd .pill-select.read-only:hover{background:0 0}.kv-grid dd .pill-select.read-only .chev{display:none}.description{font:400 14px/1.65 var(--font-sans);color:var(--foreground);white-space:pre-wrap}.description-editor{border:1px solid var(--border);background:var(--background);width:100%;min-height:84px;font:400 14px/1.6 var(--font-sans);color:var(--foreground);resize:vertical;border-radius:8px;outline:none;padding:10px 12px}.description-editor:focus{border-color:var(--ring);box-shadow:0 0 0 3px #9f9fa94d;box-shadow:0 0 0 3px lab(65.6464% 1.53497 -5.42429/.3)}.modal-backdrop{z-index:60;background:#00000059;background:lab(0% 0 0/.35);place-items:center;padding:24px;animation:.2s cubic-bezier(0,0,.2,1) fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);width:760px;max-width:100%;max-height:92vh;box-shadow:var(--shadow-2xl);border-radius:14px;flex-direction:column;animation:.2s cubic-bezier(0,0,.2,1) modal-in;display:flex;overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px 22px 16px;display:flex}.modal-head h2{font:600 20px var(--font-heading);letter-spacing:-.01em;flex:1}.modal-body{flex-direction:column;flex:1;gap:16px;padding:18px 22px;display:flex;overflow:auto}.modal-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-foot .spacer{flex:1}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.status-pills{flex-wrap:wrap;gap:6px;display:flex}.status-pill{background:var(--background);border:1px solid var(--border);cursor:pointer;border-radius:9999px;align-items:center;padding:4px 6px 4px 4px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.status-pill:hover{border-color:var(--foreground)}.status-pill.on{border-color:var(--foreground);box-shadow:0 0 0 2px var(--foreground)}.status-pill .badge{border:0}.readonly-pill{background:var(--muted);border:1px solid var(--border);font:500 13px var(--font-sans);color:var(--foreground);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.readonly-pill i{color:var(--muted-foreground)}.readonly-pill .hint{color:var(--muted-foreground);font-size:12px;font-style:italic}.popover{background:var(--popover);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:30;border-radius:10px;min-width:200px;max-height:420px;padding:6px;animation:.15s cubic-bezier(0,0,.2,1) pop-in;position:absolute;overflow-y:auto}.popover:has(.outcome-pick-quarter){min-width:420px;max-width:520px}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-item{cursor:pointer;font:400 14px var(--font-sans);text-align:left;width:100%;color:var(--foreground);background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.popover-item:hover{background:var(--accent)}.role-pill{height:22px;font:500 11px var(--font-sans);letter-spacing:.02em;background:var(--secondary);color:var(--foreground);cursor:pointer;border-radius:9999px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.role-pill .dot{border-radius:9999px;width:6px;height:6px}.role-pill.editor .dot{background:#278733;background:lab(49.5829% -42.1882 35.8774)}.role-pill.viewer .dot{background:#009588;background:lab(55.0319% -41.1781 -3.36678)}.role-pill:hover{background:var(--muted)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 24px;display:flex}.empty-state h3{font:600 17px var(--font-heading);margin:0}.empty-state p{color:var(--muted-foreground);font:400 13px var(--font-sans);max-width:320px;margin:0}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);color:var(--background);font:400 12px var(--font-sans);z-index:100;pointer-events:none;white-space:normal;background:#18181b;background:lab(8.30603% .618205 -2.16572);border-radius:6px;width:max-content;max-width:280px;padding:6px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.badge.status-blocked{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d409241a;background:lab(45.5382% 69.8881 46.2994/.1);border-color:#d4092440;border-color:lab(45.5382% 69.8881 46.2994/.25)}.gantt-bar.status-blocked{background:repeating-linear-gradient(45deg, color-mix(in oklch, var(--product-color) 22%, var(--gantt-bar-mix)) 0 6px, var(--gantt-bar-mix) 6px 12px);outline-offset:-1.5px;outline:1.5px solid #d40924;outline:1.5px solid lab(45.5382% 69.8881 46.2994)}.gantt-bar.status-ready-for-launch{border-style:dashed;border-width:1.5px;border-color:color-mix(in oklch, var(--product-color) 70%, #000)}.badge.status-not-started{color:var(--muted-foreground);background:var(--muted);border-color:var(--border)}.g-product-section+.g-product-section{margin-top:0}.g-spacer-row{pointer-events:none;height:18px}.g-spacer-label{background:var(--card)}.g-spacer-cell{background-color:var(--gantt-cell-base);background-image: linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w,160px)),  linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w,160px) 100%, 100% 100%;background-repeat:repeat-x,no-repeat}.g-task-row.drop-above,.g-task-row.drop-below{z-index:9;position:relative}.g-task-row.drop-above:after,.g-task-row.drop-below:after{content:"";z-index:50;pointer-events:none;background:#2b62ef;background:lab(45.0778% 23.2653 -77.4561);border-radius:2px;height:3px;position:absolute;left:0;right:0}.g-task-row.drop-above:after{top:-1px}.g-task-row.drop-below:after{bottom:-1px}.view-tabs{background:oklch(from var(--muted) l c h / .85);border:1px solid var(--border);border-radius:11px;gap:3px;margin-left:16px;padding:4px;display:inline-flex}.view-tab{font:600 14px var(--font-sans);letter-spacing:-.005em;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:8px 16px;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.view-tab i{font-size:16px}.view-tab:hover{color:var(--foreground);background:oklch(from var(--card) l c h / .5)}.view-tab.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-xs), inset 0 0 0 1px color-mix(in oklch, var(--border) 60%, transparent)}.sheet-wrap{background:var(--background);flex:1;min-width:0;padding:0;overflow:auto}.sheet-grid{grid-template-columns:160px var(--task-col-w,280px) 56px 150px 90px 90px minmax(180px, 1.4fr) 150px;display:grid}.sheet-wrap.no-confidence .sheet-grid{grid-template-columns:160px var(--task-col-w,280px) 56px 150px 90px minmax(180px, 1.4fr) 150px}.sheet-grid{border-bottom:1px solid var(--border);align-items:stretch}.sheet-th-task{position:relative}.col-resize-handle{cursor:col-resize;z-index:6;background:0 0;width:8px;position:absolute;top:0;bottom:0;right:-4px}.col-resize-handle:before{content:"";background:var(--border);width:1px;transition:background .1s,width .1s;position:absolute;top:6px;bottom:6px;left:50%;transform:translate(-50%)}.col-resize-handle:hover:before,.col-resize-handle:active:before{background:var(--primary);width:2px}.sheet-grid>.sheet-cell:nth-child(2){border-right:1px solid var(--border)}.sheet-header{z-index:5;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0}.sheet-th{font:600 11px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);cursor:pointer;text-align:left;background:0 0;border-bottom:0;align-items:center;gap:4px;padding:10px 14px;display:inline-flex}button.sheet-th{border:none}button.sheet-th:hover{color:var(--foreground)}.sheet-th .sort-arrow{color:var(--primary);font-size:13px}.info-hint{color:oklch(from var(--muted-foreground) l c h / .7);cursor:help;margin-left:4px;font-size:13px}.info-hint:hover{color:var(--foreground)}.sheet-quarter-cell{align-items:center;padding:8px 14px;display:flex}.sheet-quarter-tag{background:oklch(from var(--muted) l c h / .4);color:var(--foreground);font:500 12px var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;padding:3px 8px;display:inline-flex}.sheet-quarter-tag[data-quarter="1"]{color:#003f6b;color:lab(23.9984% -5.18121 -42.8776);background:#d6efff;background:lab(93.0902% -7.6023 -16.2154);border-color:#aed7f5;border-color:lab(83.807% -8.85001 -19.3516)}.sheet-quarter-tag[data-quarter="2"]{color:#472077;color:lab(22.1672% 33.1941 -43.1138);background:#efe6ff;background:lab(92.461% 9.03732 -16.1119);border-color:#d7c9f3;border-color:lab(83.0515% 10.9989 -19.2456)}.sheet-quarter-tag[data-quarter="3"]{color:#004920;color:lab(26.3454% -46.9023 24.6257);background:#d2f6dd;background:lab(93.7125% -15.5331 7.96211);border-color:#b3ddc0;border-color:lab(84.5639% -18.6854 9.5825)}.sheet-quarter-tag[data-quarter="4"]{color:#733200;color:lab(29.4152% 37.9085 66.1897);background:#ffe4cf;background:lab(92.8257% 12.2825 19.4461);border-color:#f6c6a6;border-color:lab(83.4968% 14.5757 22.9435)}.dark .sheet-quarter-tag[data-quarter="1"]{color:#99d6ff;color:lab(82.613% -13.3766 -31.8155);background:#042c43;background:lab(16.4038% -6.20483 -18.7179);border-color:#12415e;border-color:lab(25.6919% -7.69435 -21.9102)}.dark .sheet-quarter-tag[data-quarter="2"]{color:#d6c1ff;color:lab(81.3504% 19.0807 -31.7132);background:#2e2142;background:lab(15.6403% 12.3737 -18.724);border-color:#43345c;border-color:lab(24.8028% 14.212 -21.9031)}.dark .sheet-quarter-tag[data-quarter="3"]{color:#98e2b1;color:lab(83.9251% -31.3797 16.1176);background:#09311b;background:lab(17.258% -19.1683 9.88864);border-color:#19482c;border-color:lab(26.6717% -22.2739 11.4786)}.dark .sheet-quarter-tag[data-quarter="4"]{color:#ffbd91;color:lab(82.131% 23.9022 37.4335);background:#482304;background:lab(18.4295% 16.4054 25.6039);border-color:#623512;border-color:lab(27.6741% 18.4719 30.1929)}.sheet-quarter-empty{color:var(--muted-foreground);font-size:13px}.sheet-owner-cell{justify-content:center;align-items:center;padding:0 6px;display:flex}.sheet-owner-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.sheet-owner-btn:hover:not(:disabled){background:oklch(from var(--muted) l c h / .5)}.sheet-owner-btn.ro{cursor:default}.g-goal-tag{font:600 11px var(--font-sans);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:5px;flex-shrink:0;align-items:center;margin-right:8px;padding:2px 7px;display:inline-flex}.g-goal-tag[data-goal-idx="1"]{color:#8a0314;color:lab(28.7551% 50.8278 33.6722);background:#ffddd9;background:lab(91.3199% 18.4761 10.0295);border-color:#f7b4ad;border-color:lab(79.5258% 24.7343 13.5279)}.g-goal-tag[data-goal-idx="2"]{color:#004e4e;color:lab(29.5288% -45.9822 -13.3523);background:#b9f5f4;background:lab(92.5214% -19.585 -6.01332);border-color:#90d6d5;border-color:lab(81.0267% -22.8592 -6.98733)}.g-goal-tag[data-goal-idx="3"]{color:#3c349a;color:lab(27.8684% 28.18 -55.8792);background:#e1e5ff;background:lab(91.3694% 4.77421 -21.9084);border-color:#bcc2fb;border-color:lab(79.5528% 7.05647 -28.9423)}.g-goal-tag[data-goal-idx="4"]{color:#5a4500;color:lab(30.4429% 11.026 72.5711);background:#fdeab6;background:lab(93.325% 1.17663 27.8619);border-color:#e2cc91;border-color:lab(82.9011% 1.75986 32.3581)}.g-goal-tag[data-goal-idx="5"]{color:#811968;color:lab(30.3915% 48.747 -19.7086);background:#ffdbf3;background:lab(91.0545% 18.9654 -7.57152);border-color:#ecb3d8;border-color:lab(79.1734% 25.1685 -10.0631)}.g-goal-tag[data-goal-idx="6"],.g-goal-tag[data-goal-idx="0"]{background:oklch(from var(--muted) l c h / .7);color:var(--muted-foreground);border-color:var(--border)}.g-goal-tag[data-goal-idx=ns]{background:oklch(from var(--primary) l c h / .08);color:var(--primary);border-color:oklch(from var(--primary) l c h / .28)}.dark .g-goal-tag[data-goal-idx="1"]{color:#ffbcb6;color:lab(82.7129% 34.1361 18.8359);background:#4f1a18;background:lab(18.0069% 25.1663 14.7585);border-color:#70312e;border-color:lab(29.5183% 28.2085 16.1692)}.dark .g-goal-tag[data-goal-idx="2"]{color:#76e2e2;color:lab(83.663% -32.6801 -9.91747);background:#003131;background:lab(17.2137% -22.9408 -6.78764);border-color:#004e4e;border-color:lab(28.9221% -26.1967 -7.80572)}.dark .g-goal-tag[data-goal-idx="3"]{color:#c3c8ff;color:lab(81.5316% 10.7036 -39.4779);background:#272755;background:lab(17.7949% 10.9183 -28.1229);border-color:#3f4177;border-color:lab(29.3515% 11.1945 -31.7807)}.dark .g-goal-tag[data-goal-idx="4"]{color:#e7cb80;color:lab(82.9403% 2.8061 41.3748);background:#3b2b00;background:lab(18.906% 5.00059 33.9757);border-color:#594500;border-color:lab(30.5685% 4.82152 45.1871)}.dark .g-goal-tag[data-goal-idx="5"]{color:#ffb7e6;color:lab(82.2304% 34.4546 -13.7956);background:#471b3a;background:lab(17.6601% 24.6424 -9.92285);border-color:#673257;border-color:lab(29.1272% 27.8504 -11.1967)}.g-outcome-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sheet-cell.sheet-title.status-done .t-text{color:var(--muted-foreground);opacity:.85;text-decoration:line-through}.sheet-title-warn{flex-shrink:0;margin-right:8px;font-size:13px;line-height:1;display:inline-block}.g-task-label.status-done .title{color:var(--muted-foreground);opacity:.85;text-decoration:line-through}.section-hint,.field-hint{font:400 11.5px var(--font-sans);color:var(--muted-foreground);max-width:480px;margin:-2px 0 8px;line-height:1.45}.field-hint{margin:2px 0 8px}.drawer-quarter-derived{cursor:help;align-items:center;gap:8px;margin-top:10px;display:inline-flex}.drawer-quarter-label{font:600 10.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground)}.drawer-quarter-tag{border:1px solid var(--border);background:oklch(from var(--muted) l c h / .4);color:var(--foreground);font:500 12px var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;border-radius:5px;align-items:center;padding:3px 8px;display:inline-flex}.sheet-cell{border-right:1px solid color-mix(in oklch, var(--border) 45%, transparent);align-items:center;min-width:0;padding:8px 14px;display:flex}.sheet-cell:last-child{border-right:0}.sheet-row{background:var(--card);transition:background .1s}.sheet-row:hover{background:oklch(from var(--muted) l c h / .4)}.sheet-row.selected{background:oklch(from var(--primary) l c h / .06)}.sheet-title{cursor:pointer;text-align:left;color:var(--foreground);font:500 13px var(--font-sans);background:0 0;border:none;width:100%}.sheet-title .t-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet-title:hover .t-text{text-decoration:underline;-webkit-text-decoration-color:var(--muted-foreground);text-decoration-color:var(--muted-foreground)}.sheet-pill{border:1px solid var(--border);background:var(--background);cursor:pointer;font:500 12px var(--font-sans);color:var(--foreground);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 9px;display:inline-flex}.sheet-pill:hover{border-color:var(--muted-foreground)}.sheet-pill.ro{cursor:default}.sheet-pill.ro:hover{border-color:var(--border)}.sheet-pill .pill-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-pill.status-not-started{background:oklch(from var(--muted) l c h / .6)}.sheet-pill.status-in-progress{color:var(--primary);background:#1447e614;background:lab(36.9089% 35.0961 -85.6872/.08);border-color:#1447e640;border-color:lab(36.9089% 35.0961 -85.6872/.25)}.sheet-pill.status-blocked{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d4092414;background:lab(45.5382% 69.8881 46.2994/.08);border-color:#d4092440;border-color:lab(45.5382% 69.8881 46.2994/.25)}.sheet-pill.status-ready-for-launch{color:#00646a;color:lab(37.5997% -46.0426 -18.7788);background:#00b6be1a;background:lab(66.6355% -46.7249 -19.1129/.1);border-color:#00949b4d;border-color:lab(55.0248% -46.5432 -19.0039/.3)}.sheet-pill.status-done{color:#00590e;color:lab(32.1129% -42.5162 39.2515);background:#2787331a;background:lab(49.5829% -42.1882 35.8774/.1);border-color:#2787334d;border-color:lab(49.5829% -42.1882 35.8774/.3)}.category-pill{font-weight:600;background:color-mix(in oklch, var(--product-color) 14%, var(--card))!important;border-color:color-mix(in oklch, var(--product-color) 45%, var(--card))!important;color:color-mix(in oklch, var(--product-color) 75%, #000 25%)!important}.category-pill:hover{border-color:color-mix(in oklch, var(--product-color) 70%, var(--card))!important}.sheet-empty{text-align:center;font:400 13px var(--font-sans);color:var(--muted-foreground);padding:40px 22px;font-style:italic}.sheet-row.unscheduled{background:oklch(from var(--muted) l c h / .25)}.sheet-row.unscheduled:hover{background:oklch(from var(--muted) l c h / .45)}.sheet-row.unscheduled .sheet-title{color:oklch(from var(--foreground) l c h / .78)}.sheet-row.parked{opacity:.72;box-shadow:inset 3px 0 0 oklch(from var(--muted-foreground) l c h / .45)}.sheet-row.parked:hover{opacity:1}.sheet-cap-row.cap-done .t-text{color:var(--muted-foreground);text-decoration:line-through}.sheet-cap-row.cap-done{opacity:.65}.sheet-cap-row.cap-done:hover{opacity:1}.sheet-cap-check{width:18px;height:18px;color:var(--muted-foreground);cursor:pointer;border-radius:3px;place-items:center;margin-right:4px;transition:color .1s,background .1s;display:inline-grid}.sheet-cap-check:hover{color:var(--foreground);background:var(--muted)}.sheet-cap-check i{font-size:16px}.sheet-cap-check.checked{color:#31983d;color:lab(55.5063% -44.9848 38.123)}.sheet-cap-check.checked:hover{color:#1c882d;color:lab(49.688% -45.0514 38.7399)}.goals-wrap{background:var(--background);flex:1;min-width:0;padding:24px 32px 48px;overflow:auto}.goals-row{grid-template-columns:180px 1fr;gap:4px;padding:16px 0;display:grid}.goals-column .goals-row+.goals-row{border-top:1px solid var(--border)}.goals-row-label .title{font:600 15px var(--font-sans);letter-spacing:-.005em;color:var(--foreground);display:inline-block}.quarter-toggle{cursor:pointer;color:var(--foreground);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:4px 6px 4px 0;display:inline-flex}.quarter-toggle i{color:var(--muted-foreground);margin-left:-4px;font-size:18px;transition:transform .12s}.quarter-toggle:hover i{color:var(--foreground)}.quarter-count{background:oklch(from var(--muted) l c h / .7);border:1px solid var(--border);min-width:18px;height:18px;color:var(--muted-foreground);font:600 11px var(--font-sans);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;margin-left:4px;padding:0 6px;display:inline-flex}.goals-row.collapsed{padding-top:4px;padding-bottom:4px}.goals-row.current .goals-row-label .title{color:#ee5d6c}.goals-row-body{flex-direction:column;gap:8px;min-width:0;display:flex}@media (max-width:800px){.goals-row{grid-template-columns:1fr;gap:8px}.goals-row-label .title{padding-top:0}}.goals-column{flex-direction:column;display:flex}.north-star{border-bottom:2px solid var(--border);margin-bottom:28px;padding:12px 0 28px}.north-star-body{padding-left:184px}@media (max-width:800px){.north-star-body{padding-left:0}}.north-star-header{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.ns-eyebrow{font:700 12px var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--primary)}.ns-year{font:600 14px var(--font-sans);color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.02em}.north-star-header .goals-add-icon{margin-left:auto}.north-star-body{flex-direction:column;gap:4px;display:flex}.goal-card.goal-card-prominent{background:linear-gradient(180deg, oklch(from var(--primary) l c h / .04) 0%, transparent 100%);border:none;border-left:3px solid oklch(from var(--primary) l c h / .45);border-radius:8px;padding:18px 22px 20px}.goal-card.goal-card-prominent:hover{border-color:oklch(from var(--primary) l c h / .45)}.goal-card.goal-card-prominent .goal-card-head{align-items:flex-start;gap:28px}.goal-card.goal-card-prominent .goal-title{font:600 26px var(--font-heading);letter-spacing:-.02em;flex:1.6 1 0;padding:2px 0;line-height:1.22}.goal-card.goal-card-prominent .goal-title::placeholder{color:oklch(from var(--muted-foreground) l c h / .55);font-weight:500}.goal-card.goal-card-prominent .goal-metrics{flex:1 1 0;gap:2px}.goal-card.goal-card-prominent .goal-metric-input{font-size:12.5px}.goal-card.goal-card-prominent .goal-metric-num{min-width:16px;height:16px;font-size:9.5px}.goal-card.goal-card-prominent .goal-delete{top:18px;right:18px}.goals-add-icon{border:1px solid var(--border);background:var(--card);width:26px;height:26px;color:var(--muted-foreground);cursor:pointer;border-radius:6px;place-items:center;transition:background .1s,color .1s,border-color .1s;display:inline-grid}.goals-add-icon:hover{background:oklch(from var(--primary) l c h / .08);border-color:oklch(from var(--primary) l c h / .4);color:var(--primary)}.goals-add-icon i{font-size:16px}.goals-row-toolbar{justify-content:flex-end;margin-top:-2px;margin-bottom:4px;display:flex}.goal-card{border:1px solid var(--border);background:var(--background);border-radius:10px;flex-direction:column;gap:0;padding:10px 14px;transition:border-color .12s;display:flex}.goal-card:hover{border-color:var(--muted-foreground)}.goal-card-eyebrow{border-bottom:1px solid var(--border);align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.goal-card-head{align-items:center;gap:10px;display:flex}.goal-number{font:600 11px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);background:oklch(from var(--muted) l c h / .6);border-radius:4px;flex-shrink:0;padding:2px 8px}.goal-title{min-width:0;font:600 16.5px var(--font-sans);color:var(--foreground);letter-spacing:-.01em;background:0 0;border:none;border-radius:4px;flex:.85;padding:4px;line-height:1.3}.goal-title:focus{outline:none}.goal-title:disabled{color:var(--foreground);opacity:1}.goal-title::placeholder{color:var(--muted-foreground);font-weight:500}.goal-metrics{border-left:1px solid var(--border);flex-direction:column;flex:2.4;gap:4px;min-width:0;padding:2px 0 2px 14px;display:flex}.goal-metric-empty{font:400 12px var(--font-sans);color:oklch(from var(--muted-foreground) l c h / .7);padding:2px 4px;font-style:italic}.goal-metric-row{align-items:flex-start;gap:6px;padding:1px 0;display:flex;position:relative}.goal-metric-num{font:600 10px var(--font-sans);color:var(--muted-foreground);background:oklch(from var(--muted) l c h / .6);font-variant-numeric:tabular-nums;letter-spacing:.02em;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-top:3px;padding:0 5px;display:inline-flex}.goal-metric-input{min-width:0;font:400 13px var(--font-sans);color:var(--foreground);background:0 0;border:none;border-radius:4px;flex:1;padding:3px 4px;line-height:1.4}.goal-metric-input:focus{background:oklch(from var(--muted) l c h / .35);outline:none}.goal-metric-input:disabled{color:var(--foreground);opacity:1}.goal-metric-input::placeholder{color:oklch(from var(--muted-foreground) l c h / .6);font-style:italic}textarea.goal-metric-input{resize:none;white-space:pre-wrap;word-break:break-word;display:block;overflow:hidden}.goal-metric-owner{cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.goal-metric-owner:disabled{cursor:default;opacity:.7}.goal-metric-owner:not(:disabled):hover{background:oklch(from var(--muted) l c h / .6)}.goal-metric-delete{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.goal-metric-row:hover .goal-metric-delete{opacity:.7}.goal-metric-delete:hover{opacity:1;background:oklch(from var(--destructive) l c h / .12);color:var(--destructive)}.goal-metric-seed{color:oklch(from var(--muted-foreground) l c h / .7);font:400 13px var(--font-sans);cursor:text;background:0 0;border:none;border-radius:4px;align-self:flex-start;padding:4px 6px;font-style:italic;transition:background .12s,color .12s}.goal-metric-seed:hover{background:oklch(from var(--muted) l c h / .45);color:var(--foreground)}textarea.goal-title{resize:none;white-space:pre-wrap;word-break:break-word;display:block;overflow:hidden}.goal-card-head{align-items:flex-start}.goal-card-foot{border-top:1px solid color-mix(in oklch, var(--border) 50%, transparent);align-items:center;gap:12px;padding-top:4px;display:flex}.goal-metric{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.goal-metric label{font:600 10.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);flex-shrink:0}.goal-metric input{min-width:0;font:400 13px var(--font-sans);color:var(--foreground);background:0 0;border:none;border-radius:4px;flex:1;padding:4px}.goal-metric input:focus{outline:2px solid oklch(from var(--primary) l c h / .3)}.goal-metric input::placeholder{color:var(--muted-foreground)}.goal-delete{cursor:pointer;width:28px;height:28px;color:var(--muted-foreground);opacity:0;background:0 0;border:none;border-radius:6px;place-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-grid}.goal-card:hover .goal-delete{opacity:1}.goal-delete:hover{color:var(--destructive);background:#e400141a;background:lab(48.4493% 77.4328 61.5452/.1)}.goal-card{position:relative}.goal-drag-handle{cursor:grab;width:20px;height:28px;color:var(--muted-foreground);opacity:0;background:0 0;border:none;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:50%;left:-22px;transform:translateY(-50%)}.goal-drag-handle:active{cursor:grabbing}.goal-drag-handle i{font-size:18px}.goal-card:hover .goal-drag-handle{opacity:.6}.goal-drag-handle:hover{opacity:1}.goal-card.dragging{opacity:.5;border-color:#0073cd;border-color:lab(46.0499% 6.00439 -73.1069)}.goal-card.drop-above:before,.goal-card.drop-below:after{content:"";z-index:2;pointer-events:none;background:#0073cd;background:lab(46.0499% 6.00439 -73.1069);border-radius:1px;height:2px;position:absolute;left:0;right:0}.goal-card.drop-above:before{top:-5px}.goal-card.drop-below:after{bottom:-5px}.caps-list{flex-direction:column;gap:4px;display:flex}.caps-empty{font:400 12.5px var(--font-sans);color:var(--muted-foreground);padding:4px 2px;font-style:italic}.caps-list .cap-row{border-radius:6px;align-items:flex-start;gap:6px;padding:4px 4px 4px 14px;transition:background 80ms;display:flex;position:relative}.caps-list .cap-row:hover{background:oklch(from var(--muted) l c h / .5)}.caps-list .cap-row.dragging{opacity:.55;background:oklch(from var(--muted) l c h / .7)}.caps-list .cap-row.drop-above:before,.caps-list .cap-row.drop-below:after{content:"";background:var(--primary);pointer-events:none;border-radius:2px;height:2px;position:absolute;left:8px;right:8px}.caps-list .cap-row.drop-above:before{top:-1px}.caps-list .cap-row.drop-below:after{bottom:-1px}.caps-list .cap-drag{width:16px;height:22px;color:var(--muted-foreground);cursor:grab;opacity:0;background:0 0;border:0;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:4px;left:-2px}.caps-list .cap-drag:active{cursor:grabbing}.caps-list .cap-drag i{font-size:14px;line-height:1}.caps-list .cap-row:hover .cap-drag{opacity:.6}.caps-list .cap-drag:hover{color:var(--foreground);opacity:1!important}.caps-list .cap-bullet{color:var(--muted-foreground);flex-shrink:0;margin-top:7px;font-size:10px}.caps-list .cap-input{width:auto;min-width:0;height:auto;font:400 13px var(--font-sans);color:var(--foreground);box-shadow:none;resize:none;field-sizing:content;min-height:22px;line-height:1.45;font-family:var(--font-sans);background:0 0;border:none;border-radius:4px;flex:1;padding:3px 4px;overflow:hidden}.caps-list .cap-input:focus{background:var(--background);box-shadow:inset 0 0 0 1px var(--border);border-color:#0000;outline:none}.caps-list .cap-input::placeholder{color:var(--muted-foreground)}.cap-delete{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;margin-top:1px;transition:opacity .1s,background .1s,color .1s;display:grid}.cap-delete i{font-size:14px}.cap-row:hover .cap-delete{opacity:.7}.cap-delete:hover{opacity:1;color:var(--destructive);background:#e400141a;background:lab(48.4493% 77.4328 61.5452/.1)}.cap-check{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;margin-top:0;transition:color .1s,background .1s;display:grid}.cap-check:not(:disabled):hover{background:var(--muted);color:var(--foreground)}.cap-check i{font-size:18px}.cap-check.checked{color:#31983d;color:lab(55.5063% -44.9848 38.123)}.cap-check.checked:hover{color:#1c882d;color:lab(49.688% -45.0514 38.7399)}.cap-row.done .cap-input{color:var(--muted-foreground);opacity:.65;text-decoration:line-through}.cap-row.done .cap-bullet{opacity:.3}.goal-picker-btn{background:var(--background);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:400 13px var(--font-sans);color:var(--foreground);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:border-color .1s,background .1s;display:inline-flex}.goal-picker-btn:hover:not(.ro){border-color:oklch(from var(--primary) l c h / .4)}.goal-picker-btn.ro{cursor:default}.goal-picker-btn i{color:var(--muted-foreground);flex-shrink:0;font-size:14px}.goal-picker-btn.linked i{color:var(--primary)}.goal-picker-text{flex-direction:column;gap:1px;min-width:0;display:flex}.goal-picker-text.muted{color:var(--muted-foreground);font-style:italic}.goal-picker-prefix{font:600 10.5px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.goal-picker-title{font:500 13.5px var(--font-sans);color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.outcome-pick-quarter+.outcome-pick-quarter{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.outcome-pick-quarter-head{font:700 11px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);padding:10px 14px 4px}.outcome-pick-goal{padding:6px 0 10px}.outcome-pick-goal+.outcome-pick-goal{border-top:1px solid oklch(from var(--border) l c h / .55);margin-top:4px;padding-top:10px}.outcome-pick-goal-head{padding:4px 14px 6px}.outcome-pick-goal-eyebrow{font:600 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:3px}.outcome-pick-goal-title{font:500 13px var(--font-sans);color:var(--foreground);white-space:normal;line-height:1.35}.outcome-pick-outcomes{flex-direction:column;gap:1px;padding:2px 6px 0;display:flex}.outcome-pick-item{cursor:pointer;text-align:left;font:inherit;color:var(--foreground);background:0 0;border:0;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px 8px 16px;transition:background 80ms;display:flex}.outcome-pick-item:hover{background:oklch(from var(--muted) l c h / .7)}.outcome-pick-item.on{background:oklch(from var(--primary) l c h / .1);color:oklch(from var(--primary) .35 c h);font-weight:500}.outcome-pick-item.on:hover{background:oklch(from var(--primary) l c h / .14)}.outcome-pick-text{white-space:normal;text-overflow:clip;flex:auto;min-width:0;font-size:13px;line-height:1.4;overflow:visible}.outcome-pick-check{color:var(--primary);flex-shrink:0;margin-top:1px;font-size:15px}.outcome-pick-empty{font:400 12px var(--font-sans);color:oklch(from var(--muted-foreground) l c h / .75);padding:4px 14px 6px;font-style:italic}.popover-divider{background:var(--border);height:1px;margin:6px 0}.outcome-pick-clear{color:var(--muted-foreground)}.outcome-pick-clear:hover{color:var(--foreground)}.park-toggle-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);font:500 13px var(--font-sans);cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.park-toggle-btn:hover{border-color:var(--muted-foreground)}.park-toggle-btn.on{background:oklch(from var(--primary) l c h / .14);border-color:oklch(from var(--primary) l c h / .4);color:var(--primary)}.park-toggle-btn i{font-size:15px;line-height:1}.popover-empty{font:400 12px var(--font-sans);color:var(--muted-foreground);padding:10px;font-style:italic}.framework-page{background:var(--background);flex:1;min-width:0;overflow:auto}.framework-inner{max-width:1180px;margin:0 auto;padding:40px 32px 80px;position:relative}.framework-toolbar{z-index:2;align-items:center;gap:8px;display:flex;position:absolute;top:32px;right:32px}.framework-err{font:500 12px var(--font-sans);color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d4092414;background:lab(45.5382% 69.8881 46.2994/.08);border-radius:6px;padding:4px 10px}.framework-input,.framework-textarea{font:inherit;color:inherit;background:oklch(from var(--primary) l c h / .04);border:1px solid oklch(from var(--primary) l c h / .3);width:100%;line-height:inherit;border-radius:5px;padding:4px 8px}.framework-textarea{resize:vertical;min-height:44px}.framework-input:focus,.framework-textarea:focus{border-color:oklch(from var(--primary) l c h / .6);background:oklch(from var(--primary) l c h / .07);outline:none}:is(.framework-page:has(.framework-textarea) .framework-head h1,.framework-page:has(.framework-input) .framework-head h1){-webkit-text-fill-color:var(--foreground);color:var(--foreground);background:0 0}.framework-head{margin-bottom:28px}.framework-head h1{font:600 28px var(--font-heading);letter-spacing:-.02em;background:linear-gradient(135deg,#ee5d6c 0%,#ce4993 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 16px}.framework-lede{font:400 15px/1.55 var(--font-sans);color:var(--foreground);max-width:78ch;margin:0}.framework-lede strong{color:var(--foreground);font-weight:600}.framework-table-wrap{border:1px solid var(--border);background:var(--card);border-radius:12px;margin:28px 0 36px;overflow:hidden}.framework-table{border-collapse:collapse;width:100%;font:400 13px/1.45 var(--font-sans);color:var(--foreground)}.framework-table thead th{text-align:left;font:600 11px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);background:oklch(from var(--muted) l c h / .5);border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:12px 14px}.framework-table tbody td{border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);vertical-align:top;padding:14px}.framework-table tbody tr:last-child td{border-bottom:none}.framework-table tbody tr:nth-child(2n) td{background:oklch(from var(--muted) l c h / .18)}.framework-table .fw-element{white-space:nowrap;min-width:130px}.framework-table .fw-element strong{font:600 14px var(--font-sans);color:var(--primary)}@media (max-width:800px){.framework-inner{padding:24px 16px 48px}.framework-head h1{font-size:24px}.framework-table-wrap{overflow-x:auto}.framework-table{min-width:880px}}.tokens-generate{border-bottom:1px solid oklch(from var(--border) l c h / .6);flex-direction:column;gap:12px;margin-bottom:16px;padding:12px 0 20px;display:flex}.tokens-fresh{border:1px solid oklch(from var(--primary) l c h / .4);background:oklch(from var(--primary) l c h / .05);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.token-owner{flex-direction:column;gap:2px;display:flex}.token-owner-name{font-weight:500}.token-owner-email{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11.5px}.tokens-table{border-collapse:collapse;width:100%;font:400 13px var(--font-sans)}.tokens-table th{text-align:left;font:600 10.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:6px 10px}.tokens-table td{border-bottom:1px solid oklch(from var(--border) l c h / .5);color:var(--foreground);padding:10px}.tokens-table td:last-child{text-align:right;width:90px}.btn-primary{background:var(--primary);color:var(--primary-foreground);font:500 13px var(--font-sans);cursor:pointer;border:none;border-radius:8px;padding:8px 14px;transition:background .12s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:not(:disabled):hover{background:oklch(from var(--primary) calc(l - .05) c h)}.btn-small{border:1px solid var(--border);background:var(--card);color:var(--foreground);font:500 12px var(--font-sans);cursor:pointer;border-radius:6px;padding:5px 10px;transition:background .12s,border-color .12s}.btn-small:hover{border-color:var(--muted-foreground)}.btn-ghost{color:var(--muted-foreground);background:0 0;border-color:#0000;align-self:flex-start}.btn-ghost:hover{color:var(--foreground);background:oklch(from var(--muted) l c h / .5);border-color:#0000}.btn-danger{color:var(--destructive)}.btn-danger:hover{border-color:var(--destructive);background:oklch(from var(--destructive) l c h / .08)}.settings-loading,.settings-empty{color:var(--muted-foreground);font:400 13px var(--font-sans);text-align:center;padding:20px}.settings-wrap{background:var(--background);flex:1;min-width:0;padding:28px 32px 56px;overflow:auto}.settings-section{margin-bottom:40px}.settings-header{margin-bottom:14px}.settings-header h2{font:700 22px var(--font-heading);letter-spacing:-.015em;color:var(--foreground);margin:0 0 6px}.settings-sub{font:400 12.5px var(--font-sans);color:var(--muted-foreground);max-width:580px;margin:0;line-height:1.5}.settings-list{flex-direction:column;gap:4px;display:flex}.settings-row{border-radius:8px;grid-template-columns:60px 1fr 2fr 40px;align-items:center;gap:12px;padding:8px 10px;transition:background .1s;display:grid}.settings-section:has(.col-initials) .settings-row{grid-template-columns:60px 70px 1fr 40px}.settings-row:hover{background:oklch(from var(--muted) l c h / .4)}.settings-row-header{font:600 10.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);background:0 0;padding-top:4px;padding-bottom:4px}.settings-row-header:hover{background:0 0}.settings-row input[type=text]{width:100%;font:400 13.5px var(--font-sans);border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:6px;padding:6px 8px}.settings-row input[type=text]:focus{outline:2px solid oklch(from var(--primary) l c h / .3);outline-offset:-1px}.settings-row input[type=text]:disabled{background:var(--muted);color:var(--muted-foreground);cursor:not-allowed}.settings-row input[type=color]{border:1px solid var(--border);cursor:pointer;background:var(--background);border-radius:6px;width:36px;height:28px;padding:2px}.settings-row input[type=color]:disabled{opacity:.6;cursor:not-allowed}.col-color{align-items:center;display:flex}.col-initials input{text-align:center;font-weight:600}.settings-delete{cursor:pointer;width:28px;height:28px;color:var(--muted-foreground);opacity:0;background:0 0;border:none;border-radius:6px;place-items:center;transition:opacity .1s,background .1s,color .1s;display:grid}.settings-row:hover .settings-delete{opacity:.7}.settings-delete:hover{opacity:1;color:var(--destructive);background:#e400141a;background:lab(48.4493% 77.4328 61.5452/.1)}.settings-delete i{font-size:14px}.settings-add-btn{border:1px dashed var(--border);color:var(--muted-foreground);font:500 12.5px var(--font-sans);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;transition:border-color .1s,color .1s,background .1s;display:inline-flex}.settings-add-btn i{font-size:14px}.settings-add-btn:hover{border-color:var(--primary);color:var(--primary);background:oklch(from var(--primary) l c h / .04)}.settings-row{position:relative}.settings-drag-handle{cursor:grab;width:20px;height:28px;color:var(--muted-foreground);opacity:0;background:0 0;border:none;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:50%;left:-22px;transform:translateY(-50%)}.settings-drag-handle:active{cursor:grabbing}.settings-drag-handle i{font-size:18px}.settings-row:hover .settings-drag-handle{opacity:.6}.settings-drag-handle:hover{opacity:1}.settings-row.dragging{opacity:.5}.settings-row.drop-above:before,.settings-row.drop-below:after{content:"";background:var(--primary);z-index:2;pointer-events:none;border-radius:1px;height:2px;position:absolute;left:0;right:0}.settings-row.drop-above:before{top:-3px}.settings-row.drop-below:after{bottom:-3px}.cat-color-swatch{border:1px solid var(--border);border-radius:6px;width:22px;height:22px;display:inline-block}.timeline-sort-select{appearance:none;font:500 11px var(--font-sans);letter-spacing:.02em;text-transform:none;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;margin:0;padding:0 2px 0 0}.goal-state{font:600 10.5px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px 3px 7px;display:inline-flex}.goal-state:disabled{cursor:default}.goal-state-dot{border-radius:999px;width:7px;height:7px}.goal-state.goal-state-draft{background:oklch(from var(--muted) l c h / .7);color:var(--muted-foreground);border-color:var(--border)}.goal-state.goal-state-draft .goal-state-dot{background:#a6a6ab}.goal-state.goal-state-active{color:#00590e;color:lab(32.1129% -42.5162 39.2515);background:#2787331a;background:lab(49.5829% -42.1882 35.8774/.1);border-color:#2787334d;border-color:lab(49.5829% -42.1882 35.8774/.3)}.goal-state.goal-state-active .goal-state-dot{background:#189a30;background:lab(55.7164% -50.7132 43.8697)}.goal-state.goal-state-past{background:oklch(from var(--muted) l c h / .4);color:var(--muted-foreground);border-color:var(--border);text-decoration:line-through}.goal-state.goal-state-past .goal-state-dot{background:#c4c4c8}.g-cap-row{height:var(--row-task);background:var(--card)}.g-cap-row .g-row-cell{height:var(--row-task);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);background-color:var(--gantt-cell-base);background-image:linear-gradient(to right, transparent 0, transparent calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) calc(var(--sprint-w,160px) - 1px), var(--gantt-cell-sprint-divider) var(--sprint-w,160px)), linear-gradient(to right, transparent 0, transparent var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-start,0px), var(--gantt-cell-current-q) var(--cur-q-end,0px), transparent var(--cur-q-end,0px));background-size:var(--sprint-w,160px) 100%, 100% 100%;background-repeat:repeat-x,no-repeat}.g-cap-label{height:var(--row-task);font:500 11.5px var(--font-sans);color:var(--muted-foreground);cursor:pointer;background:var(--card);border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);align-items:center;gap:6px;padding:0 10px 0 36px;display:flex}.g-cap-label .cap-indent-icon{color:var(--muted-foreground);flex-shrink:0;font-size:12px}.g-cap-label .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-cap-label:hover{background:var(--gantt-cell-hover);color:var(--foreground)}.gantt-bar.gantt-cap-bar{height:calc(var(--row-task) - 8px);background:color-mix(in oklch, var(--product-color) 28%, var(--gantt-bar-mix));border:1px solid color-mix(in oklch, var(--product-color) 55%, var(--card));box-shadow:none;top:4px}.gantt-bar.gantt-cap-bar .bar-title{font:500 10.5px var(--font-sans);color:#484848;color:lab(30.4% -.0000149012 0)}.sheet-cap-row{background:var(--card)}.sheet-cap-row:hover{background:oklch(from var(--muted) l c h / .35)}.sheet-cap-title{padding-left:22px!important}.sheet-cap-title .cap-indent-icon{color:var(--muted-foreground);margin-right:4px;font-size:12px}.sheet-cap-title .t-text{font:400 12.5px var(--font-sans);color:oklch(from var(--foreground) l c h / .78)}.cap-row-ghost{opacity:.85}.cap-row-ghost .cap-input::placeholder{color:var(--muted-foreground);font-style:italic}.cap-row-ghost .cap-bullet{color:oklch(from var(--muted-foreground) l c h / .6)}@keyframes schedule-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sheet-goal{cursor:pointer;text-align:left;font:400 12.5px var(--font-sans);color:var(--foreground);background:0 0;border:none;width:100%;min-width:0;display:block;overflow:hidden}.sheet-goal-cell{min-width:0;overflow:hidden}.sheet-goal .g-text{align-items:center;min-width:0;display:flex;overflow:hidden}.sheet-goal .g-empty{color:var(--muted-foreground)}.sheet-goal .g-missing{color:#eeaf61f2;color:lab(76.3629% 17.8041 48.8185/.95);font:500 11.5px var(--font-sans);white-space:nowrap;background:#eeaf6124;background:lab(76.3629% 17.8041 48.8185/.14);border:1px solid #eeaf6166;border:1px solid lab(76.3629% 17.8041 48.8185/.4);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.sheet-goal .g-missing i{font-size:12px;line-height:1}.sheet-goal-cap{cursor:default}.sheet-goal-cap .g-dash{color:var(--muted-foreground);font:500 13px var(--font-sans);padding-left:2px}.sheet-goal:hover{background:oklch(from var(--muted) l c h / .4)}.sheet-goal-cap:hover{background:0 0}.goals-row-label{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.goals-row.quarter-state-draft .goals-row-label .title,.goals-row.quarter-state-past{opacity:.55}.goals-row.quarter-state-past .goals-row-label .title{text-decoration:line-through}.conn-wrap{background:var(--background);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.conn-head{border-bottom:1px solid var(--border);background:var(--card);align-items:center;gap:16px;padding:16px 22px;display:flex}.conn-head-left{flex-direction:column;flex:1;gap:2px;display:flex}.conn-head-left h2{font:700 18px var(--font-heading);letter-spacing:-.005em;margin:0}.conn-sub{font:500 12px var(--font-sans);color:var(--muted-foreground)}.conn-quarter-tabs{background:oklch(from var(--muted) l c h / .5);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.conn-quarter-tab{font:600 12.5px var(--font-sans);color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 12px;transition:background .1s,color .1s}.conn-quarter-tab:hover{color:var(--foreground)}.conn-quarter-tab.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.conn-quarter-tab.active:hover{color:#fff}.conn-empty-state{text-align:center;color:var(--muted-foreground);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.conn-empty-state i{color:oklch(from var(--muted-foreground) l c h / .5);font-size:48px}.conn-empty-state h3{font:600 16px var(--font-heading);color:var(--foreground);margin:0}.conn-empty-state p{font:400 13px var(--font-sans);max-width:360px;margin:0}.conn-board-v{flex-direction:column;flex:1;min-height:0;padding:24px 32px 32px;display:flex;overflow:auto}.conn-ns-bar{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.conn-ns-card{background:linear-gradient(135deg, oklch(from var(--primary) l c h / .08) 0%, var(--card) 80%);border:1px solid oklch(from var(--primary) l c h / .35);max-width:720px;box-shadow:var(--shadow-xs);text-align:center;border-radius:12px;flex:auto;padding:14px 18px}.conn-ns-eyebrow{font:700 10.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}.conn-ns-title{font:700 18px var(--font-heading);letter-spacing:-.01em;color:var(--foreground)}.conn-goal-blocks{flex-direction:column;gap:20px;display:flex}.conn-goal-block{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-xs);border-radius:12px;overflow:hidden}.conn-goal-header{background:oklch(from var(--primary) l c h / .04);border-bottom:1px solid var(--border);padding:16px 18px 14px}.conn-goal-eyebrow{font:700 11px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);align-items:center;gap:8px;margin-bottom:6px;display:flex}.conn-goal-title{font:600 17px var(--font-heading);letter-spacing:-.012em;color:var(--foreground);line-height:1.3}.conn-outcome-rows{flex-direction:column;display:flex}.conn-outcome-row.conn-row{box-shadow:none;background:0 0;border:0;border-radius:0}.conn-outcome-row.conn-row+.conn-outcome-row.conn-row{border-top:1px solid oklch(from var(--border) l c h / .6)}.conn-outcome-row .conn-row-label{background:0 0}.conn-outcome-row .conn-row-eyebrow{color:var(--muted-foreground);letter-spacing:.1em}.conn-empty-outcomes{color:var(--muted-foreground);font:400 13px var(--font-sans);text-align:center;padding:22px 18px;font-style:italic}.conn-row{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:10px;grid-template-columns:280px 1fr;min-width:0;display:grid;overflow:hidden}.conn-row-label{border-right:1px solid var(--border);background:oklch(from var(--muted) l c h / .3);flex-direction:column;min-width:0;padding:14px;display:flex}.conn-row-eyebrow{font:700 10.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:8px;margin-bottom:6px;display:flex}.conn-task-count{background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);font:600 10px var(--font-sans);letter-spacing:0;text-transform:none;border-radius:999px;margin-left:auto;padding:2px 8px}.conn-row-title{font:600 14.5px var(--font-sans);letter-spacing:-.005em;color:var(--foreground);line-height:1.3}.conn-row-tasks-wrap{min-width:0;position:relative;overflow:hidden}.conn-row-tasks{flex-direction:row;align-items:stretch;gap:8px;min-width:0;padding:10px 36px 10px 12px;display:flex;overflow:auto hidden}.conn-row-tasks-fade{background:linear-gradient(to right, transparent, var(--card) 70%);pointer-events:none;opacity:0;width:56px;transition:opacity .15s;position:absolute;top:0;bottom:0;right:0}.conn-row-tasks-arrow{background:var(--card);border:1px solid var(--border);width:26px;height:26px;color:var(--muted-foreground);cursor:pointer;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;border-radius:999px;place-items:center;transition:opacity .15s,color .1s,background .1s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.conn-row-tasks-arrow i{font-size:18px;line-height:1}.conn-row-tasks-arrow:hover{color:var(--primary);background:oklch(from var(--primary) l c h / .06)}.conn-row-tasks-wrap.scrollable .conn-row-tasks-fade{opacity:1}.conn-row-tasks-wrap.scrollable .conn-row-tasks-arrow{opacity:1;pointer-events:auto}.conn-row-tasks .conn-task-card{flex:0 0 220px}.conn-row-tasks .conn-task-empty{align-self:center}@media (max-width:800px){.conn-row{grid-template-columns:1fr}.conn-row-label{border-right:none;border-bottom:1px solid var(--border)}}.conn-task-empty{text-align:center;font:400 12px var(--font-sans);color:var(--muted-foreground);padding:18px 12px;font-style:italic}.conn-task-card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--product-color);cursor:pointer;text-align:left;font:inherit;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px 8px 12px;transition:background .1s,border-color .1s,box-shadow .1s;display:flex}.conn-task-card:hover{background:oklch(from var(--muted) l c h / .35);box-shadow:var(--shadow-xs)}.conn-task-title{font:500 13px var(--font-sans);color:var(--foreground);line-height:1.35}.conn-task-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-task-cat{font:500 11px var(--font-sans);color:var(--muted-foreground)}.conn-task-status{font:600 10px var(--font-sans);background:oklch(from var(--muted) l c h / .6);color:var(--muted-foreground);letter-spacing:.02em;border-radius:999px;padding:1px 6px}.conn-task-status.status-in-progress{color:var(--primary);background:#1447e61a;background:lab(36.9089% 35.0961 -85.6872/.1)}.conn-task-status.status-blocked{color:#bd001b;color:lab(39.7145% 70.0599 49.6254);background:#d409241a;background:lab(45.5382% 69.8881 46.2994/.1)}.conn-task-status.status-ready-for-launch{color:#00646a;color:lab(37.5997% -46.0426 -18.7788);background:#00b6be1f;background:lab(66.6355% -46.7249 -19.1129/.12)}.conn-task-status.status-done{color:#00590e;color:lab(32.1129% -42.5162 39.2515);background:#2787331f;background:lab(49.5829% -42.1882 35.8774/.12)}.conn-empty-cols{text-align:center;color:var(--muted-foreground);font:500 13px var(--font-sans);border:1px dashed var(--border);border-radius:8px;margin-top:16px;padding:32px 16px;font-style:italic}.ctx-menu{z-index:100;background:var(--card);border:1px solid var(--border);width:240px;box-shadow:var(--shadow-lg);font:500 13px var(--font-sans);border-radius:8px;flex-direction:column;gap:1px;padding:4px;display:flex}.ctx-menu-header{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 6px;display:flex}.ctx-task{font:600 12px var(--font-sans);color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ctx-date{font:600 11px var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.ctx-item{font:500 13px var(--font-sans);color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;display:flex}.ctx-item:hover{background:oklch(from var(--primary) l c h / .1);color:var(--primary)}.ctx-item i{color:var(--muted-foreground);font-size:15px}.ctx-item:hover i{color:var(--primary)}.pill-empty{font:500 12px var(--font-sans);color:var(--muted-foreground);letter-spacing:.02em}.date-picker{width:100%;min-width:0;display:inline-block;position:relative}.date-picker-trigger{border:1px solid var(--border);background:var(--background);width:100%;height:32px;color:var(--foreground);font:500 13px var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:8px;padding:0 10px;transition:border-color .1s;display:inline-flex}.date-picker-trigger:hover{border-color:var(--muted-foreground)}.date-picker-trigger:focus{outline:2px solid var(--primary);outline-offset:1px}.date-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.date-picker-trigger>i{color:var(--muted-foreground);flex-shrink:0;font-size:14px}.date-picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.date-picker-trigger.is-empty .date-picker-value{color:var(--muted-foreground)}.date-picker-clear{width:18px;height:18px;color:var(--muted-foreground);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.date-picker-clear:hover{color:var(--destructive);background:#e400141a;background:lab(48.4493% 77.4328 61.5452/.1)}.date-picker-pop{z-index:200;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;padding:8px;position:absolute;top:calc(100% + 4px);left:0}.drawer-dates-grid .drawer-date-cell:nth-child(n+3) .date-picker-pop{left:auto;right:0}.date-picker-pop .rdp-root{--rdp-accent-color:var(--primary);--rdp-accent-background-color:oklch(from var(--primary) l c h / .12);--rdp-today-color:var(--primary);font:500 13px var(--font-sans);font-variant-numeric:tabular-nums}.date-picker-pop .rdp-day_button{border-radius:6px}.rdp-other .rdp-day_button{font-weight:700;box-shadow:inset 0 0 0 2px}.rdp-other-start .rdp-day_button{color:#0074c9;color:lab(46.6457% -.178784 -60.0399)}.rdp-other-design .rdp-day_button{color:#009399;color:lab(54.9345% -43.5216 -17.7835)}.rdp-other-dev .rdp-day_button{color:#008a22;color:lab(49.8938% -50.813 44.8413)}.rdp-other-live .rdp-day_button{color:#d40924;color:lab(45.5382% 69.8881 46.2994)}.date-picker-legend{border-top:1px solid var(--border);font:600 10.5px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:12px;margin-top:4px;padding:8px 4px 4px;display:flex}.date-picker-legend .leg{align-items:center;gap:3px;display:inline-flex}.date-picker-legend .leg-start{color:#0074c9;color:lab(46.6457% -.178784 -60.0399)}.date-picker-legend .leg-design{color:#009399;color:lab(54.9345% -43.5216 -17.7835)}.date-picker-legend .leg-dev{color:#008a22;color:lab(49.8938% -50.813 44.8413)}.date-picker-legend .leg-live{color:#d40924;color:lab(45.5382% 69.8881 46.2994)}.sheet-last-update{gap:6px;min-width:0}.last-update{min-width:0;font:500 12px var(--font-sans);color:var(--foreground);align-items:baseline;gap:6px;display:inline-flex}.last-update-who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.last-update-when{font:500 11px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--muted-foreground);white-space:nowrap}.btn.btn-google{color:#1f1f1f;font:500 14px var(--font-sans);background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;height:44px;padding:0 16px;text-decoration:none;transition:background .12s,box-shadow .12s;display:inline-flex}.btn.btn-google:hover{background:#f8f9fa;box-shadow:0 1px 3px #00000014}.btn.btn-google img{flex-shrink:0;display:block}.login-password-toggle{font:500 12.5px var(--font-sans);color:var(--muted-foreground);cursor:pointer;text-align:center;background:0 0;border:0;width:100%;margin-top:14px;padding:6px 0}.login-password-toggle:hover{color:var(--foreground);text-decoration:underline}.login-password-form{border-top:1px solid var(--border);flex-direction:column;gap:14px;margin-top:12px;padding-top:16px;display:flex}.dark-mode-toggle{background:var(--card);border:1px solid var(--border);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.dark-mode-toggle i{font-size:15px;line-height:1}.claude-guide-field{grid-template-columns:100px 1fr;align-items:center;gap:12px;display:grid}.claude-guide-field-label{font:600 11px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.claude-guide-field-value{background:oklch(from var(--muted) l c h / .35);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.claude-guide-field-value code{min-width:0;font:400 11.5px var(--font-mono,ui-monospace);color:var(--foreground);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1}.btn-primary.btn-generated,.btn-primary.btn-generated:disabled{color:#fff;opacity:1;cursor:default;background:#489a68;background:lab(57.3581% -34.887 17.9634)}.dark body{background:var(--background);color:var(--foreground)}.dark .main{background:var(--card);border-color:var(--border)}.dark .topbar{background:linear-gradient(90deg, #2563eb12 0%, #1e3a8a12 25%, #6d28d912 50%, #c026d312 75%, #db277714 100%), var(--card);border-bottom-color:var(--border)}@supports (color:lab(0% 0 0)){.dark .topbar{background:linear-gradient(90deg, lab(44.7906% 21.0478 -75.5989/.07) 0%, lab(26.3402% 13.7641 -48.672/.07) 25%, lab(36.2332% 57.4727 -79.1524/.07) 50%, lab(48.3434% 72.5769 -55.3681/.07) 75%, lab(49.8983% 70.26 1.96277/.08) 100%), var(--card)}}.dark .view-tabs{background:oklch(from var(--muted) l c h / .5)}.dark .view-tab.active{background:var(--background);color:var(--foreground)}.dark .fchip{border-color:oklch(from var(--border) l c h / 1.6)}.dark .sheet-header{background:var(--card)}.dark .sheet-row{background:var(--card);border-color:var(--border)}.dark .sheet-row:hover{background:oklch(from var(--muted) l c h / .35)}.dark .sheet-row.unscheduled{background:oklch(from var(--muted) l c h / .25)}.dark .sheet-row.unscheduled:hover{background:oklch(from var(--muted) l c h / .45)}.dark .sheet-row.selected{background:oklch(from var(--primary) l c h / .14)}.dark .g-row-cell{background:var(--card)}.dark .g-axis-row,.dark .g-axis-corner{background:var(--card);color:var(--foreground)}.dark .corner-label{color:var(--foreground)}.dark .corner-sort{border-color:var(--border);color:var(--muted-foreground);background:0 0}.dark .corner-sort:hover{background:oklch(from var(--muted) l c h / .5);color:var(--foreground)}.dark .ta-quarters,.dark .ta-sprints{background:var(--card);color:var(--foreground)}.dark .ta-quarter{color:var(--foreground);border-color:var(--border)}.dark .ta-sprint{color:var(--muted-foreground);border-color:var(--border)}.dark .ta-quarter{background:oklch(from var(--qc,var(--muted)) l c h / .16)}.dark .today-tick{border-left-color:#66b3ffe6;border-left-color:lab(70.1529% -6.06665 -60.5642/.9)}.dark .goal-card{background:var(--card);border-color:var(--border)}.dark .goal-card:hover{border-color:var(--muted-foreground)}.dark .north-star{border-bottom-color:var(--border)}.dark .goal-title:disabled,.dark .goal-title:focus,.dark .goal-title,.dark .goal-metric-input{color:var(--foreground);background:0 0}.dark .goal-metric-input:focus{background:oklch(from var(--muted) l c h / .5)}.dark .goal-metric-num{color:var(--muted-foreground)}.dark .goal-metric-empty{color:oklch(from var(--muted-foreground) l c h / .75)}.dark .goal-number{background:oklch(from var(--muted) l c h / .6);color:var(--muted-foreground)}.dark .quarter-toggle{color:var(--foreground)}.dark .quarter-count{background:oklch(from var(--muted) l c h / .6);color:var(--muted-foreground);border-color:var(--border)}.dark .conn-row{background:var(--card);border-color:var(--border)}.dark .conn-row-label{background:oklch(from var(--muted) l c h / .3);border-color:var(--border)}.dark .conn-row-eyebrow{color:var(--muted-foreground)}.dark .conn-row-title{color:var(--foreground)}.dark .conn-task-card{background:var(--card);border-color:var(--border)}.dark .conn-task-card:hover{border-color:var(--muted-foreground)}.dark .conn-task-title{color:var(--foreground)}.dark .conn-row-tasks-arrow{background:var(--card);border-color:var(--border)}.dark .conn-row-tasks-fade{background:linear-gradient(to right, transparent, var(--card) 70%)}.dark .conn-ns-card{background:oklch(from var(--muted) l c h / .3);border-color:var(--border)}.dark .conn-ns-title{color:var(--foreground)}.dark .conn-quarter-tab{background:oklch(from var(--muted) l c h / .5);color:var(--muted-foreground);border-color:var(--border)}.dark .conn-quarter-tab.active{background:oklch(from var(--primary) l c h / .25);color:var(--foreground)}.dark .framework-page{background:var(--background)}.dark .framework-table-wrap{background:var(--card);border-color:var(--border)}.dark .framework-table thead th{background:oklch(from var(--muted) l c h / .5);border-color:var(--border);color:var(--muted-foreground)}.dark .framework-table tbody td{border-color:oklch(from var(--border) l c h / 1.2);color:var(--foreground)}.dark .framework-table tbody tr:nth-child(2n) td{background:oklch(from var(--muted) l c h / .18)}.dark .framework-input,.dark .framework-textarea{background:oklch(from var(--primary) l c h / .06);border-color:oklch(from var(--primary) l c h / .4);color:var(--foreground)}.dark .modal-backdrop{background:#0009;background:lab(0% 0 0/.6)}.dark .modal,.dark .drawer,.dark .drawer-head{background:var(--card);border-color:var(--border)}.dark .drawer-head h2{color:var(--foreground)}.dark .description-editor,.dark .resize-y,.dark .field input,.dark .field select,.dark .field textarea{background:oklch(from var(--background) l c h / .6);color:var(--foreground);border-color:var(--border)}.dark .field input::placeholder,.dark .field textarea::placeholder{color:var(--muted-foreground)}.dark .date-picker-trigger{background:oklch(from var(--background) l c h / .6);border-color:var(--border);color:var(--foreground)}.dark .date-picker-trigger:hover{border-color:var(--muted-foreground)}.dark .date-picker-pop,.dark .popover{background:var(--card);border-color:var(--border);color:var(--foreground)}.dark .popover-item:hover{background:oklch(from var(--muted) l c h / .5);color:var(--foreground)}.dark .sheet-pill{color:var(--foreground)}.dark .login-wrap{background:var(--background)}.dark .login-card{background:var(--card);border-color:var(--border);color:var(--foreground)}.dark .login-card h1{color:var(--foreground)}.dark .login-password-toggle{color:var(--muted-foreground);background:0 0}.dark .btn-google{background:var(--card);border-color:var(--border);color:var(--foreground)}.dark .btn-google:hover{background:oklch(from var(--muted) l c h / .5)}.dark .settings-wrap{background:var(--background);color:var(--foreground)}.dark .settings-section{background:var(--card);border-color:var(--border)}.dark .csv-download-btn{background:var(--card);border-color:var(--border);color:var(--foreground)}.dark .filter-clear-all{color:var(--muted-foreground);border-color:var(--border);background:0 0}.dark .cap-input{color:var(--foreground);background:0 0}.dark .last-update-who{color:var(--foreground)}.dark .last-update-when,.dark .kv-grid dt{color:var(--muted-foreground)}.dark .kv-grid dd{color:var(--foreground)}.dark .section-title{color:var(--muted-foreground)}.dark .description{color:var(--foreground)}.dark .pill-select{background:oklch(from var(--background) l c h / .6);border:1px solid var(--border);color:var(--foreground)}.dark .readonly-pill{background:oklch(from var(--muted) l c h / .3);color:var(--muted-foreground);border-color:var(--border)}.dark .gantt-bar.draft{color:oklch(from var(--foreground) l c h / .78)}.dark .role-pill{background:var(--card);color:var(--foreground);border-color:var(--border)}.topbar-new-icon{justify-content:center;gap:0;min-width:34px;padding:6px 10px}.topbar-new-icon>i{margin:0;font-size:16px}.presence-bar{background:0 0;border-radius:10px;align-items:center;padding:0 6px;display:inline-flex;position:relative}.presence-popover{background:var(--popover);border:1px solid var(--border);min-width:220px;max-width:320px;box-shadow:var(--shadow-lg);z-index:40;border-radius:10px;padding:10px 4px 6px;animation:.12s cubic-bezier(0,0,.2,1) pop-in;position:absolute;top:calc(100% + 8px);right:0}.presence-popover-head{font:600 10.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);border-bottom:1px solid oklch(from var(--border) l c h / .6);margin-bottom:4px;padding:0 12px 8px}.presence-popover-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.presence-popover-item{font:400 13px var(--font-sans);color:var(--foreground);border-radius:6px;align-items:center;gap:10px;padding:6px 12px;display:flex}.presence-popover-item:hover{background:oklch(from var(--muted) l c h / .6)}.presence-popover-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.presence-popover-you{color:var(--muted-foreground);font-size:11px}.presence-popover-tabs{background:oklch(from var(--muted) l c h / .7);color:var(--muted-foreground);font:500 10px var(--font-sans);font-variant-numeric:tabular-nums;border-radius:4px;flex-shrink:0;padding:2px 6px}.presence-chip{align-items:center;margin-left:-6px;transition:transform .12s;display:inline-flex;position:relative}.presence-chip:first-child{margin-left:0}.presence-chip:hover{z-index:3;transform:translateY(-1px)}.presence-chip .owner-chip{border:2px solid var(--background);box-shadow:0 1px 2px #00000026;box-shadow:0 1px 2px lab(0% 0 0/.15)}.presence-chip.self .owner-chip{border-color:var(--primary);box-shadow:0 0 0 1px var(--background), 0 0 0 3px oklch(from var(--primary) l c h / .35)}.presence-chip.anon .owner-chip{opacity:.75}.presence-tabs{background:var(--foreground);min-width:14px;height:14px;color:var(--background);font:700 9px var(--font-sans);font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:inline-flex;position:absolute;bottom:-3px;right:-4px}.dark .gantt-bar{background:oklch(from var(--product-color) .45 calc(c * .45) h);border-color:oklch(from var(--product-color) .32 calc(c * .45) h)}.dark .g-task-row[data-product-id=p_tip_manager] .gantt-bar,.dark .g-cap-row[data-product-id=p_tip_manager] .gantt-bar{background:#793d67;background:lab(34.7864% 30.9548 -12.4433);border-color:#521942;border-color:lab(19.6832% 30.6593 -12.3665)}.dark .g-task-row[data-product-id=p_ferry_pay] .gantt-bar,.dark .g-cap-row[data-product-id=p_ferry_pay] .gantt-bar{background:#23588a;background:lab(35.7624% -4.01481 -33.7291);border-color:#003460;border-color:lab(20.5087% -.663981 -33.393)}.dark .g-task-row[data-product-id=p_1781741905778] .gantt-bar,.dark .g-cap-row[data-product-id=p_1781741905778] .gantt-bar{background:#5a4886;background:lab(34.8323% 18.8636 -32.5871);border-color:#38255f;border-color:lab(19.5801% 20.6506 -32.3166)}.dark .g-task-row .gantt-bar.status-done,.dark .g-cap-row .gantt-bar.status-done{color:#000;background:#9acd32;border-color:#7ba828}.dark .g-product-row[data-product-id=p_tip_manager] .g-product-header,.dark .g-product-row[data-product-id=p_tip_manager] .g-product-band{background:color-mix(in oklch, #a25089 22%, var(--card))}@supports (color:lab(0% 0 0)){.dark .g-product-row[data-product-id=p_tip_manager] .g-product-header,.dark .g-product-row[data-product-id=p_tip_manager] .g-product-band{background:color-mix(in oklch, lab(45.9577% 40.1767 -16.1594) 22%, var(--card))}}.dark .g-product-row[data-product-id=p_ferry_pay] .g-product-header,.dark .g-product-row[data-product-id=p_ferry_pay] .g-product-band{background:color-mix(in oklch, #2a75ba 22%, var(--card))}@supports (color:lab(0% 0 0)){.dark .g-product-row[data-product-id=p_ferry_pay] .g-product-header,.dark .g-product-row[data-product-id=p_ferry_pay] .g-product-band{background:color-mix(in oklch, lab(47.197% -4.55368 -43.7618) 22%, var(--card))}}.dark .g-product-row[data-product-id=p_1781741905778] .g-product-header,.dark .g-product-row[data-product-id=p_1781741905778] .g-product-band{background:color-mix(in oklch, #7860b5 22%, var(--card))}@supports (color:lab(0% 0 0)){.dark .g-product-row[data-product-id=p_1781741905778] .g-product-header,.dark .g-product-row[data-product-id=p_1781741905778] .g-product-band{background:color-mix(in oklch, lab(45.9885% 24.8827 -42.2926) 22%, var(--card))}}.dark .gantt-bar,.dark .gantt-bar .bar-title,.dark .gantt-bar.gantt-cap-bar .bar-title{color:#eee;color:lab(94.2% 0 0)}.dark .g-product-row .g-product-header{background:color-mix(in oklch, var(--product-color) 22%, var(--card))}.dark .g-product-row .g-product-header:hover{background:color-mix(in oklch, var(--product-color) 30%, var(--card))}.dark .g-product-row .g-product-band,.dark .g-task-row .g-task-label,.dark .g-task-row .g-row-cell{border-bottom-color:#ffffff0a;border-bottom-color:lab(100% 0 0/.04)}.dark .g-row-label{border-right-color:#ffffff0f;border-right-color:lab(100% 0 0/.06)}.dark .gantt-bar .owner-chip{box-shadow:0 0 0 1.5px #fff9;box-shadow:0 0 0 1.5px lab(100% 0 0/.6)}
