:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-ui:var(--font-inter), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:var(--font-playfair), Georgia, "Times New Roman", serif;--ink:#0b0b0c;--paper:#fafaf9;--graphite:#232326;--red:red;--red-fill:#c40000;--red-fill-hover:#a30000;--signal-green:#1f9d55;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:56px;--s10:72px;--r-xs:6px;--r-sm:8px;--r:10px;--r-lg:16px;--r-pill:999px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:30px;--fs-3xl:40px;--fs-4xl:56px;--lh-tight:1.08;--lh-snug:1.3;--lh:1.5;--dur-fast:.15s;--dur:.2s;--dur-slow:.25s;--dur-thread:.64s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease:var(--ease-out);--thread-w:2px;--sidebar-w:252px;--topbar-h:60px;--bg:var(--lightningcss-light,#fafaf9)var(--lightningcss-dark,#0b0b0c);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#141416);--surface-2:var(--lightningcss-light,#f6f6f5)var(--lightningcss-dark,#19191c);--col-bg:var(--lightningcss-light,#f3f3f2)var(--lightningcss-dark,#121214);--fill:var(--lightningcss-light,#efefed)var(--lightningcss-dark,#1d1d20);--fill-2:var(--lightningcss-light,#e6e6e3)var(--lightningcss-dark,#232326);--border:var(--lightningcss-light,#e4e4e1)var(--lightningcss-dark,#2a2a2e);--border-strong:var(--lightningcss-light,#cfcfcb)var(--lightningcss-dark,#3a3a3f);--border-control:var(--lightningcss-light,#8f8f96)var(--lightningcss-dark,#6b6b72);--text:var(--lightningcss-light,#0b0b0c)var(--lightningcss-dark,#fafaf9);--text-2:var(--lightningcss-light,#2e2e33)var(--lightningcss-dark,#d8d8d5);--muted:var(--lightningcss-light,#5b5b62)var(--lightningcss-dark,#a6a6ac);--faint:var(--lightningcss-light,#5b5b62)var(--lightningcss-dark,#a6a6ac);--accent-text:var(--lightningcss-light,#c40000)var(--lightningcss-dark,#ff8a8a);--focus:var(--lightningcss-light,#c40000)var(--lightningcss-dark,#ff8a8a);--accent-soft:var(--lightningcss-light,#c4000012)var(--lightningcss-dark,#ff000024);--accent-line:var(--lightningcss-light,#c4000066)var(--lightningcss-dark,#ff6e6e80);--good:var(--lightningcss-light,#11663a)var(--lightningcss-dark,#63d394);--good-soft:var(--lightningcss-light,#e6f4ec)var(--lightningcss-dark,#63d3941f);--good-dot:var(--lightningcss-light,#1f9d55)var(--lightningcss-dark,#1f9d55);--warn:var(--lightningcss-light,#7a4800)var(--lightningcss-dark,#f2bd5a);--warn-soft:var(--lightningcss-light,#fff4d9)var(--lightningcss-dark,#f2bd5a1f);--warn-dot:var(--lightningcss-light,#e59a00)var(--lightningcss-dark,#f0a928);--crit:var(--lightningcss-light,#c40000)var(--lightningcss-dark,#ff8a8a);--crit-soft:var(--lightningcss-light,#fdecec)var(--lightningcss-dark,#ff505024);--shadow-1:0 1px 2px var(--lightningcss-light,#0b0b0c0d)var(--lightningcss-dark,#0009);--shadow-2:0 1px 2px var(--lightningcss-light,#0b0b0c0a)var(--lightningcss-dark,#00000080), 0 8px 24px -10px var(--lightningcss-light,#0b0b0c29)var(--lightningcss-dark,#000c);--shadow-3:0 28px 72px -16px var(--lightningcss-light,#0b0b0c4d)var(--lightningcss-dark,#000000e6), 0 2px 8px var(--lightningcss-light,#0b0b0c0f)var(--lightningcss-dark,#0006);--overlay:var(--lightningcss-light,#0b0b0c61)var(--lightningcss-dark,#000000a8);--inverse-bg:var(--lightningcss-light,#0b0b0c)var(--lightningcss-dark,#fafaf9);--inverse-text:var(--lightningcss-light,#fafaf9)var(--lightningcss-dark,#0b0b0c);--inverse-muted:var(--lightningcss-light,#b8b8bc)var(--lightningcss-dark,#4a4a4f)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-ui);font-size:var(--fs-base);line-height:var(--lh);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600;line-height:var(--lh-snug);margin:0}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}dl,dd{margin:0}button,input,select,textarea{font:inherit;color:inherit}option,optgroup{background-color:var(--surface);color:var(--text)}a{color:inherit}::selection{background:var(--lightningcss-light,#c4000029)var(--lightningcss-dark,#ff5a5a59)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small-muted{color:var(--muted);font-size:12px}.section-gap-bottom{margin-bottom:var(--s5)}.section-title{margin-bottom:var(--s3)}.skip-link{z-index:200;background:var(--inverse-bg);color:var(--inverse-text);border-radius:var(--r);padding:10px 14px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.ic{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.ic-sm{width:15px;height:15px}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:var(--lh-tight)}.brand-logo{flex:none;align-items:center;line-height:0;display:inline-flex}.brand-logo-img{max-width:none;display:block}.brand-logo-on-dark,[data-theme=dark] .brand-logo-on-light{display:none}[data-theme=dark] .brand-logo-on-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-on-light{display:none}:root:not([data-theme=light]) .brand-logo-on-dark{display:block}}.thread{width:100%;height:var(--thread-w);border-radius:var(--thread-w);background:var(--red);transform-origin:0;animation:thread-draw-x var(--dur-thread) var(--ease-out) both;animation-delay:var(--thread-delay,0s);display:block}.thread-y{width:var(--thread-w);transform-origin:top;height:100%;animation-name:thread-draw-y}.has-thread{position:relative}.has-thread:after{content:"";height:var(--thread-w);background:var(--red);transform-origin:0;animation:thread-draw-x var(--dur-thread) var(--ease-out) both;animation-delay:var(--thread-delay,0s);position:absolute;bottom:-1px;left:0;right:0}.thread-gauge{border-radius:var(--r-pill);background:var(--fill-2);height:6px;position:relative;overflow:hidden}.thread-gauge>span{width:var(--value,0%);border-radius:inherit;background:var(--red);transform-origin:0;max-width:100%;height:100%;animation:thread-draw-x var(--dur-thread) var(--ease-out) both;display:block}.thread-gauge.is-thin{height:var(--thread-w)}@keyframes thread-draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes thread-draw-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.view{padding:var(--s7) var(--s8) var(--s9);outline:none;flex:1;min-width:0}.view-inner{max-width:1440px;animation:rise var(--dur-slow) var(--ease-out);margin:0 auto}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.brand{height:var(--topbar-h);border-bottom:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:flex}.brand-plain{border:0;height:auto;padding:0}.brand-dot{background:var(--red);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex:none}.brand-word{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:700}.brand-sep{background:var(--border-strong);width:1px;height:18px}.brand-prod{letter-spacing:.06em;font-size:13px;font-weight:700}.brand .brand-logo{margin-left:-2px}.brand:focus-visible{outline-offset:-3px;border-radius:var(--r-sm)}.nav{padding:var(--s3) var(--s3) var(--s4);flex:1;overflow-y:auto}.nav-group{margin-top:var(--s5)}.nav-group:first-child{margin-top:var(--s1)}.nav-group-label{font-size:var(--fs-xs);color:var(--muted);padding:0 10px 6px;font-weight:600}.nav-group-toggle{align-items:center;gap:var(--s1);border-radius:var(--r-sm);width:100%;min-height:28px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0 0 4px;padding:0 10px;display:flex}.nav-group-toggle .nav-group-label{flex:1;padding:0}.nav-group-toggle:hover:not([aria-disabled=true]){color:var(--text)}.nav-group-toggle[aria-disabled=true]{cursor:default}.nav-group-toggle[aria-disabled=true] .nav-group-chevron{opacity:.35}.nav-group-chevron{transition:transform var(--dur-fast) var(--ease-out)}.nav-group-toggle[aria-expanded=false] .nav-group-chevron{transform:rotate(-90deg)}.nav-group-items[hidden]{display:none}.nav-link{border-radius:var(--r-sm);min-height:40px;color:var(--text-2);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:11px;padding:0 10px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:hover{background:var(--fill);color:var(--text)}.nav-link[aria-current=page]{background:var(--fill);color:var(--text);font-weight:600}.nav-link[aria-current=page]:before{content:"";width:var(--thread-w);border-radius:0 var(--thread-w) var(--thread-w) 0;background:var(--red);transform-origin:top;animation:thread-draw-y var(--dur-thread) var(--ease-out) both;position:absolute;top:8px;bottom:8px;left:-12px}.nav-link[aria-current=page] .ic{color:var(--text)}.nav-link .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-link.is-disabled{color:var(--faint);cursor:default}.nav-link.is-disabled:hover{color:var(--faint);background:0 0}.nav-soon{color:var(--faint);font-size:11px;font-weight:500}.nav-group.is-off summary{list-style:none}.nav-group.is-off summary::-webkit-details-marker{display:none}.nav-group.is-off ul{margin:0;padding:0;list-style:none}.nav-link.is-off{color:var(--muted)}.nav-badge{border-radius:var(--r-pill);background:var(--text);min-width:20px;height:20px;color:var(--surface);text-align:center;font-variant-numeric:tabular-nums;padding:0 6px;font-size:11px;font-weight:700;line-height:20px}.sidebar-foot{border-top:1px solid var(--border);padding:var(--s2) var(--s3) var(--s3);font-size:var(--fs-xs);color:var(--muted)}.sidebar-foot-text{padding:var(--s2) 10px 0}.sidebar-version{font-variant-numeric:tabular-nums;margin-top:2px;display:block}.topbar{z-index:25;min-height:var(--topbar-h);align-items:center;gap:var(--s3);padding:0 var(--s6);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar-spacer{flex:1}.dev-badge{border-radius:var(--r-pill);border:1px dashed var(--border-strong);height:26px;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.dev-badge:before{content:"";background:var(--warn-dot);border-radius:50%;width:6px;height:6px}.seg{border-radius:var(--r);background:var(--fill);gap:2px;padding:3px;display:inline-flex}.seg button{min-width:36px;min-height:30px;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.seg button:disabled{cursor:progress}.bell{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);transition:border-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.bell:hover{border-color:var(--border-strong)}.bell:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.bell-badge{border-radius:var(--r-pill);background:var(--text);min-width:20px;height:20px;color:var(--surface);text-align:center;font-variant-numeric:tabular-nums;padding:0 5px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.user-menu{position:relative}.user-menu summary{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:40px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 10px 0 4px;font-size:13px;font-weight:600;list-style:none;display:flex}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover{border-color:var(--border-strong)}.user-menu[open] summary{box-shadow:var(--shadow-1)}.user-menu-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:240px;box-shadow:var(--shadow-3);padding:var(--s2);z-index:50;animation:rise var(--dur) var(--ease-out);position:absolute;top:calc(100% + 6px);right:0}.user-menu-head{padding:var(--s2) var(--s3) var(--s3);border-bottom:1px solid var(--border);margin-bottom:var(--s2)}.user-menu-head strong{display:block}.menu-item{border-radius:var(--r-sm);cursor:pointer;text-align:left;width:100%;min-height:40px;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.menu-item:hover{background:var(--fill)}.btn{border-radius:var(--r);border:1px solid var(--border-control);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--fill);border-color:var(--text-2)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--surface);border-color:var(--border-control);color:var(--text)}.btn-primary{background:var(--inverse-bg);border-color:var(--inverse-bg);color:var(--inverse-text);box-shadow:var(--shadow-1)}.btn-primary:hover{background:color-mix(in srgb, var(--inverse-bg) 86%, var(--bg));border-color:color-mix(in srgb, var(--inverse-bg) 86%, var(--bg))}.btn-dark{background:var(--inverse-bg);border-color:var(--inverse-bg);color:var(--inverse-text)}.btn-dark:hover{background:color-mix(in srgb, var(--inverse-bg) 86%, var(--bg));border-color:color-mix(in srgb, var(--inverse-bg) 86%, var(--bg))}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--fill);box-shadow:none;border-color:#0000}.btn-add{border-color:var(--border-strong);color:var(--text-2);background:0 0}.btn-add:hover{color:var(--text)}.btn-add>[aria-hidden=true]{font-size:1.15em;font-weight:500;line-height:1}.btn-danger{background:var(--surface);border-color:var(--accent-line);color:var(--crit)}.btn-danger:hover{background:var(--crit-soft);border-color:var(--crit)}.btn-sm{border-radius:var(--r-sm);min-height:32px;padding:0 10px;font-size:12.5px}.btn-lg{min-height:48px;font-size:var(--fs-md);border-radius:var(--r);padding:0 20px}.btn-block{width:100%}.btn-group{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.btn[aria-busy=true],.btn.is-loading{cursor:progress}.btn:disabled[aria-busy=true],.btn.is-loading{opacity:.8}.btn[aria-busy=true]:before,.btn.is-loading:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}.btn .ic{margin-left:-2px}.btn-google{gap:12px}.btn-google .google-mark{flex:none;width:18px;height:18px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-2);font-size:13px;font-weight:600}.field-help{color:var(--muted);font-size:12.5px;line-height:1.45}.field-error{color:var(--crit);align-items:flex-start;gap:6px;font-size:12.5px;font-weight:500;line-height:1.45;display:flex}.field-error .ic{width:14px;height:14px;margin-top:1px}.input,.select,.textarea{border-radius:var(--r-sm);border:1px solid var(--border-control);background:var(--surface);width:100%;min-height:40px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:0 12px}.textarea{resize:vertical;min-height:88px;padding:10px 12px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:1}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-2)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--focus)}:is(.input,.select,.textarea):is([aria-invalid=true],:user-invalid){border-color:var(--crit);box-shadow:0 0 0 3px var(--crit-soft)}:is(.input,.select,.textarea):disabled{background:var(--fill);color:var(--muted);cursor:not-allowed}.field.is-invalid .field-label{color:var(--crit)}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.select-sm{width:auto;min-height:32px;padding-left:10px;font-size:12.5px}.form-row{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s4) var(--s5);margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:relative}.page-head:after{content:"";width:56px;height:var(--thread-w);border-radius:var(--thread-w);background:var(--red);transform-origin:0;animation:thread-draw-x var(--dur-thread) var(--ease-out) both;position:absolute;bottom:-1px;left:0}.page-head>div:first-child{min-width:0}.page-head-action{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.page-kicker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.page-kicker a{text-decoration:none}.page-kicker a:hover{color:var(--accent-text)}.page-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere;font-weight:700;line-height:1.12}.page-sub{color:var(--muted);max-width:72ch;font-size:var(--fs-md);margin-top:6px}.page-help{flex-direction:column;gap:2px;display:flex}.page-help-row{align-items:flex-start;gap:0 var(--s4);flex-wrap:wrap;display:flex}.help-link,.help-can>summary{min-height:44px;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.help-link:hover,.help-can>summary:hover{color:var(--accent-text)}.help-link:focus-visible,.help-can>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.help-mark{border:1.5px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:inline-grid}.help-can>summary{list-style:none}.help-can>summary::-webkit-details-marker{display:none}.help-can>summary:after{content:"+";color:var(--muted);font-size:16px;line-height:1}.help-can[open]{flex-basis:100%}.help-can[open]>summary:after{content:"−"}.help-list{max-width:72ch;margin:0 0 var(--s2);color:var(--text-2);font-size:var(--fs-sm);gap:4px;padding-left:1.2em;display:grid}.qs-trigger{min-height:44px;padding:0 var(--s3);border:1px solid var(--border-control);border-radius:var(--r);background:var(--surface);color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.qs-trigger:hover{border-color:var(--border-strong);color:var(--text)}.qs-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.qs-trigger kbd,.qs-hint kbd{font-family:var(--font-ui);font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--fill);color:var(--muted);padding:1px 6px}.qs-dialog{width:min(640px,100vw - 24px);margin:10vh auto auto}.qs-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);display:flex}.qs-head .input{min-height:44px;box-shadow:none;font-size:var(--fs-md);background:0 0;border:0;flex:1}.qs-head .input:focus-visible{outline:none}.qs-head:focus-within{box-shadow:inset 0 -2px 0 var(--focus)}.qs-list{max-height:min(60vh,480px);padding:var(--s2) 0;margin:0;list-style:none;overflow-y:auto}.qs-group-label{padding:var(--s2) var(--s4) 4px;color:var(--muted);font-size:var(--fs-xs);font-weight:600}.qs-option{min-height:44px;padding:6px var(--s4);cursor:pointer;flex-direction:column;justify-content:center;display:flex}.qs-option-title{color:var(--text);overflow-wrap:anywhere;font-weight:500}.qs-option-detail{color:var(--muted);font-size:var(--fs-sm)}.qs-option[aria-selected=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--red)}.qs-status{padding:var(--s4);color:var(--muted)}.qs-hint{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}@media (max-width:560px){.qs-trigger kbd{display:none}.qs-trigger-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.qs-dialog{margin-top:4vh}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.panel-head{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);display:flex}.panel-title{font-size:var(--fs-md);font-weight:600}.panel-body{padding:var(--s4) var(--s5)}.stack{gap:var(--s5);flex-direction:column;display:flex}.stack-sm{gap:var(--s2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s2);display:flex}.wrap{flex-wrap:wrap}.chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text-2);white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.chip .ic{width:12px;height:12px}.chip-expedite{background:var(--crit-soft);color:var(--crit);border-color:#0000}.chip-fixed_date{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip-standard{background:var(--fill);color:var(--text-2);border-color:#0000}.chip-background{color:var(--muted);background:0 0;border-style:dashed}.chip-good{background:var(--good-soft);color:var(--good);border-color:#0000}.chip-watch{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip-risk{background:var(--crit-soft);color:var(--crit);border-color:#0000}.chip-dark{background:var(--inverse-bg);color:var(--inverse-text);border-color:#0000}.chip-blocked{background:var(--red-fill);color:#fff;border-color:#0000}.chip-outline{border-color:var(--border-strong);color:var(--text-2);background:0 0}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-good{background:var(--good-dot)}.dot-watch{background:var(--warn-dot)}.dot-risk{background:var(--red)}.dot-none{background:var(--fill-2)}.avatar{background:var(--fill-2);width:26px;height:26px;color:var(--text);border:1.5px solid var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex}.avatar.is-me{box-shadow:0 0 0 1.5px var(--red)}.avatar-sm{width:22px;height:22px;font-size:9.5px}.size{border:1px solid var(--border);width:22px;height:22px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.key{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:11.5px;font-weight:600}.tabs{gap:var(--s1);margin-bottom:var(--s5);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.tab{min-height:44px;padding:0 var(--s3);border-radius:var(--r-sm) var(--r-sm) 0 0;color:var(--muted);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.tab:hover{color:var(--text);background:var(--fill)}.tab:focus-visible{outline-offset:-3px}.tab[aria-current=page]{color:var(--text)}.tab[aria-current=page]:after{content:"";left:var(--s3);right:var(--s3);background:var(--text);border-radius:2px;height:2px;position:absolute;bottom:-1px}.notice{padding:var(--s3) var(--s4);border-radius:var(--r);background:var(--warn-soft);color:var(--text);overflow-wrap:anywhere;border:1px solid var(--lightningcss-light,#ecd9a8)var(--lightningcss-dark,#f2bd5a4d);align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;display:flex}.notice .ic{color:var(--warn);margin-top:1px}.notice-info{background:var(--surface-2);border-color:var(--border)}.notice-info .ic{color:var(--muted)}.notice-success{background:var(--good-soft);border-color:var(--lightningcss-light,#b9dec8)var(--lightningcss-dark,#63d3944d)}.notice-success .ic{color:var(--good)}.notice-error{background:var(--crit-soft);border-color:var(--accent-line)}.notice-error .ic{color:var(--crit)}.notice code,.field-help code{background:var(--fill);overflow-wrap:anywhere;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.empty{text-align:center;padding:var(--s7) var(--s5);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty strong,.empty-title{color:var(--text);font-size:var(--fs-md);font-weight:600}.empty>strong{font-size:var(--fs-lg);text-wrap:balance;max-width:52ch;font-weight:600}.empty>.ic{background:var(--fill);width:44px;height:44px;color:var(--text-2);margin-bottom:var(--s1);border-radius:50%;padding:12px}.empty-title{font-size:var(--fs-lg);font-weight:600}.not-yet-line{align-items:center;gap:var(--s1) var(--s2);padding:var(--s3) 0;border-top:1px solid var(--border);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.not-yet-line ul{gap:var(--s1) var(--s2);flex-wrap:wrap;align-items:center;display:flex}.not-yet-line li>span:only-child{color:var(--muted)}.value-empty{color:var(--muted);font-weight:400}.empty-body{max-width:52ch}.empty-actions{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.empty-compact{padding:var(--s4)}.empty-compact>strong{font-family:var(--font-ui);font-size:var(--fs-base);color:var(--muted);font-weight:500}.empty-panel{border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2)}.wip-slots{align-items:center;gap:4px;display:inline-flex}.wip-slots b{background:var(--fill-2);border-radius:3px;width:18px;height:8px}.wip-slots b.on{background:var(--inverse-bg)}.wip-slots b.over{background:var(--red)}.wip-badge{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;background:var(--fill);height:22px;color:var(--text-2);align-items:center;gap:6px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.wip-badge.is-full{background:var(--warn-soft);color:var(--warn)}.wip-badge.is-over{background:var(--crit-soft);color:var(--crit)}.wip-badge.is-low{background:var(--warn-soft);color:var(--warn)}.people{gap:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.person-wip{color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.team-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;margin:0;padding:0;list-style:none;display:grid}.team-card{flex-direction:column;display:flex}.team-card.is-risk{box-shadow:inset 3px 0 0 var(--red)}.team-card-head{align-items:center;gap:var(--s2);padding:var(--s4) var(--s5) 0;flex-wrap:wrap;display:flex}.team-name{min-width:0;font-size:var(--fs-md);overflow-wrap:anywhere;flex:8ch;margin:0;font-weight:700}.props.team-props{padding:var(--s4) var(--s5);grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.team-props dd{flex-wrap:wrap;gap:4px;display:flex}.team-projects{grid-column:1/-1}.team-note{padding:0 var(--s5) var(--s3);margin:0}.team-items{border-top:1px solid var(--border)}.team-items>summary{justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.team-item-list{padding:var(--s3) var(--s5) var(--s4);gap:var(--s3);flex-direction:column;margin:0;list-style:none;display:flex}.team-item-list li{overflow-wrap:anywhere;flex-direction:column;gap:4px;display:flex}.capacity-grid td{vertical-align:top;min-width:120px}.capacity-cell{justify-items:start;gap:2px;display:grid}@media (max-width:560px){.team-card-head,.props.team-props,.team-item-list,.team-note{padding-left:var(--s4);padding-right:var(--s4)}}.warnings{gap:var(--s2);margin-bottom:var(--s4);flex-direction:column;display:flex}.list-search{gap:var(--s2);margin-bottom:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.list-search .input{flex:260px;max-width:420px}.project-list{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));display:grid}.project-list>li{display:flex}.project-list .project-card{flex:1;min-width:0}.project-card{gap:var(--s3);padding:var(--s5);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.project-card:active{transform:scale(.995)}.project-card:focus-visible{outline-offset:3px;border-radius:var(--r-lg)}.project-card h2{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:650}.project-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-role{color:var(--muted);font-size:12px}.project-health{gap:var(--s4);color:var(--text-2);border-top:1px solid var(--border);padding-top:var(--s3);flex-wrap:wrap;font-size:12.5px;display:flex}.project-health span{align-items:center;gap:6px;display:inline-flex}.project-card-reason{color:var(--text-2);font-size:13px;line-height:1.45}.project-summary{gap:var(--s2);border-top:1px solid var(--border);padding-top:var(--s3);font-size:13px;display:grid}.project-summary>div{gap:var(--s3);grid-template-columns:minmax(96px,auto) 1fr;align-items:baseline;display:grid}.project-summary dt{color:var(--muted);font-size:12px;font-weight:600}.project-summary dd{overflow-wrap:anywhere;min-width:0}.project-missing{color:var(--text-2);border-left:3px solid var(--warn-dot);padding-left:var(--s2);font-size:12.5px;font-weight:500}@media (max-width:420px){.project-summary>div{grid-template-columns:1fr;gap:2px}}.card-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.card-grid>li{min-width:0;display:flex}.card{gap:var(--s3);min-width:0;padding:var(--s5);flex-direction:column;flex:1;display:flex}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.card-title{font-size:var(--fs-lg);overflow-wrap:anywhere;font-weight:650;line-height:1.3}.card-title a{color:inherit;text-decoration:none}.card-title a:hover{text-underline-offset:3px;text-decoration:underline}.card-title a:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.card-summary{font-size:var(--fs-base);color:var(--text-2);line-height:1.5}.card-facts{padding:var(--s3) 0 0;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2);overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:0;list-style:none;display:flex}.card-actions{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);padding-top:var(--s2);flex-wrap:wrap;margin-top:auto;display:flex}.card-main{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.card-actions .btn{min-height:44px}.card-configure{align-items:center;min-height:44px;margin-left:auto;display:inline-flex}.card-configure:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.card.is-muted{background:var(--surface-2);box-shadow:none}.card.is-muted .card-summary{color:var(--muted)}.card .disclosure>summary{justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-2);font-weight:600;display:flex}.card .disclosure[open]>summary{margin-bottom:var(--s2)}@media (max-width:560px){.card{padding:var(--s4)}}.row-list{margin:0;padding:0;list-style:none}.row-list>li{padding:var(--s3) var(--s4);min-width:0}.row-list>li+li{border-top:1px solid var(--border)}.notification-row{align-items:flex-start;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.notification-row.is-unread{box-shadow:inset 3px 0 0 var(--text);border-left:0}.notification-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.notification-main{overflow-wrap:anywhere;flex-direction:column;flex:260px;gap:2px;min-width:0;display:flex}.notification-what{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.notification-link{font-weight:500}.notification-day{font-size:var(--fs-md);margin:0}.notification-done>summary{justify-content:space-between;align-items:center;gap:var(--s2);color:var(--text-2);font-weight:600;display:flex}.notification-done[open]>summary,.notification-done>p{margin-bottom:var(--s2)}.proposal-row-head{justify-content:space-between;align-items:flex-start;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.proposal-row-main{flex-direction:column;flex:320px;gap:2px;min-width:0;display:flex}.proposal-row-title{font-size:var(--fs-base);overflow-wrap:anywhere;font-weight:600;line-height:1.4}.proposal-row-title a{color:inherit}.proposal-row-actions,.proposal-quick{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.proposal-row-actions .btn{min-height:44px}.proposal-row.is-open{background:var(--surface-2)}.proposal-detail{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border)}.proposal-group-row>.proposal-group{gap:var(--s3)}.proposal-group-members{border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.capture-row{gap:var(--s2);min-width:0;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.row-list .capture-row{background:0 0;border:0;border-radius:0;padding:0}.capture-rows>li{gap:var(--s2);flex-direction:column;display:flex}.capture-row-head{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.capture-row-title{font-size:var(--fs-base);overflow-wrap:anywhere;font-weight:600;line-height:1.4}.capture-row-details{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.capture-row-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.capture-row-actions .btn{min-height:44px}.capture-row-form{padding-top:var(--s3);border-top:1px solid var(--border)}.portal-card-progress{align-items:center;gap:var(--s3);display:flex}.portal-card-progress .portal-bar{background:var(--fill-2);height:6px}.portal-card-progress .portal-bar>span{background:var(--text)}.portal-pending .portal-needs{margin:0}@media (max-width:560px){.row-list>li{padding:var(--s3)}}.time-week-next{gap:var(--s2);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.time-week-next .row{gap:var(--s4)}.portfolio-project{min-width:13rem}.portfolio-where{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:34ch;display:-webkit-box;overflow:hidden}.portfolio-pending>summary,.settings-advanced>summary{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.portfolio-pending:not([open])>summary,.settings-advanced:not([open])>summary{border-bottom:0}.portfolio-downloads{gap:var(--s2) var(--s3)}@media (max-width:560px){.portfolio-kpis .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-project{min-width:0}.portfolio-where{max-width:none}}.settings-home{gap:var(--s6);flex-direction:column;display:flex}.settings-home-group{gap:var(--s3);flex-direction:column;display:flex}.settings-home-heading{font-size:var(--fs-md);color:var(--text-2);font-weight:600}.settings-home-card{gap:var(--s2);padding:var(--s4) var(--s5)}.settings-section{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.settings-section-title{font-size:var(--fs-lg);align-items:baseline;gap:var(--s2);flex-wrap:wrap;font-weight:650;display:flex}.settings-advanced-title{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-readonly{align-items:center;gap:6px;display:inline-flex}.settings-foot{margin-top:var(--s2)}.user-list{background:var(--surface)}.user-row{justify-content:space-between;align-items:flex-start;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.user-row-main{justify-content:space-between;align-items:flex-start;gap:var(--s1) var(--s4);overflow-wrap:anywhere;flex-wrap:wrap;flex:320px;min-width:0;display:flex}.user-row-name{font-weight:600}.user-row-facts{gap:var(--s2)}.user-row-change>summary{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-2);font-weight:600;display:inline-flex}.user-row-change[open]{padding-top:var(--s2);flex-basis:100%}.user-row-change[open]>summary{margin-bottom:var(--s2)}.user-row-change .btn-group{margin-top:var(--s3)}.user-row-active{gap:var(--s2);min-height:44px}.module-card{gap:var(--s2);padding:var(--s4) var(--s5)}.module-card .card-actions{padding-top:var(--s1)}.module-details{margin-left:auto}.module-details>summary{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-2);font-weight:600;display:inline-flex}.module-details[open]{flex-basis:100%;margin-left:0}.module-details[open]>summary{margin-bottom:var(--s2)}.module-details p{overflow-wrap:anywhere}.create-form{gap:var(--s5);flex-direction:column;max-width:760px;display:flex}.create-section{min-width:0;padding:var(--s5);gap:var(--s2);flex-direction:column;margin:0;display:flex}.create-legend{float:left;width:100%;font-size:var(--fs-lg);padding:0;font-weight:650}.create-legend+*{clear:both}.create-fields{gap:var(--s4);margin-top:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.create-field.is-wide{grid-column:1/-1}.create-required{color:var(--text-2);font-weight:500}.create-form>.disclosure{padding:0 var(--s5) var(--s1);border:1px solid var(--border);border-radius:var(--r-lg)}.create-form>.disclosure>summary{color:var(--text-2);justify-content:space-between;align-items:center;font-weight:600;display:flex}.create-form>.disclosure[open]>.create-fields{padding:var(--s3) 0 var(--s4)}.create-actions{gap:var(--s2);flex-direction:column;display:flex}.create-actions .btn{min-height:44px}.picker-row{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.picker-row>.select{flex:220px;width:auto}.picker-row>.btn{min-height:40px}.quick-create-full{border-top:1px solid var(--border);padding-top:var(--s3)}@media (max-width:560px){.create-section{padding:var(--s4)}.create-fields{grid-template-columns:minmax(0,1fr)}.create-form>.disclosure{padding:0 var(--s4) var(--s1)}.picker-row>.btn{flex:100%}}.service-page{gap:var(--s5);flex-direction:column;min-width:0;display:flex}.service-head{gap:var(--s2);flex-direction:column;display:flex}.service-title{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.service-title h2{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:700}.service-back{align-self:flex-start;align-items:center;gap:6px;min-height:44px;display:inline-flex}.service-section{gap:var(--s2);min-width:0;padding-top:var(--s4);border-top:1px solid var(--border);flex-direction:column;display:flex}.service-section>h3{font-size:var(--fs-md);font-weight:600}.service-section .props,.service-admin .props{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.service-page :is(.prop dd,li,p){overflow-wrap:anywhere}.board-toolbar{align-items:center;gap:var(--s4);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.board{scroll-snap-type:x proximity;gap:var(--s3);padding-bottom:var(--s3);grid-auto-columns:minmax(min(240px,82vw),1fr);grid-auto-flow:column;align-items:start;display:grid;overflow-x:auto}.col{background:var(--col-bg);border:1px solid var(--border);border-radius:var(--r-lg);min-height:420px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);scroll-snap-align:start;flex-direction:column;display:flex}.col.is-optional{border-style:dashed}.col.is-over{border-color:var(--accent-line);background:color-mix(in srgb, var(--crit-soft) 45%, var(--col-bg))}.col-head{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 12px 10px;display:flex;position:relative}.col-head.has-thread{border-bottom-color:#0000}.col-title{justify-content:space-between;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.col-name{font-size:inherit}.wcard-type{color:var(--muted);font-size:12px}.col-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.col-rule{color:var(--muted);font-size:11.5px;line-height:1.35}.col-body{border-radius:0 0 var(--r-lg) var(--r-lg);min-height:80px;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;flex:1;gap:8px;padding:10px;display:flex}.col-body.is-drag-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent-line)}.col-empty{color:var(--faint);text-align:center;border:1px dashed var(--border);border-radius:var(--r);padding:18px 6px;font-size:12px}.wcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);padding:10px 12px;position:relative}.wcard[draggable=true]{cursor:grab}.wcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.wcard:focus-within{border-color:var(--focus)}.wcard.is-dragging{opacity:.45;transform:scale(.98)}.wcard.is-moving{opacity:.7}.wcard.is-blocked{border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--red), var(--shadow-1)}.wcard-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.wcard-top input[type=checkbox]{z-index:1;position:relative}.wcard-title{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.35;text-decoration:none;display:block}.wcard-title:hover{color:var(--accent-text)}.wcard-title:after{content:"";border-radius:inherit;position:absolute;inset:0}.wcard-meta{z-index:1;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex;position:relative}.wcard-meta .grow{flex:1}.wcard-flag{border-radius:var(--r-sm);background:var(--crit-soft);color:var(--crit);align-items:flex-start;gap:6px;margin-top:8px;padding:6px 8px;font-size:11.5px;font-weight:600;line-height:1.35;display:flex}.wcard-flag .ic{width:13px;height:13px;margin-top:1px}.wcard-flag.is-closed{background:var(--fill-2);color:var(--text-2);font-weight:500}.priority-lanes{padding:0 var(--s3) var(--s3);grid-auto-columns:minmax(min(220px,82vw),1fr)}.priority-lanes .col{min-height:160px}.priority-card-controls{z-index:1;margin-top:8px;position:relative}.alignment-kpis>div{flex:1;min-width:160px}.alignment-kpis dd{margin:4px 0 0;font-size:20px}.alignment-map td{vertical-align:top;min-width:160px}.move-menu{z-index:1;position:relative}.move-menu .select{max-width:150px;min-height:32px}.item-layout{gap:var(--s5);grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start;display:grid}.item-title{font-family:var(--font-display);letter-spacing:-.015em;max-width:40ch;margin-top:8px;font-size:28px;font-weight:700;line-height:1.18}.props{gap:var(--s3) var(--s4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.prop dt{color:var(--muted);font-size:12px;font-weight:600}.prop{min-width:0}.prop dd{overflow-wrap:anywhere;margin-top:2px;font-weight:500}.spec{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.spec-row{gap:var(--s3);border-top:1px solid var(--border);grid-template-columns:132px minmax(0,1fr);padding:10px 14px;font-size:13.5px;display:grid}.spec-row:first-child{border-top:0}.spec-row dt{color:var(--muted);padding-top:1px;font-size:12.5px;font-weight:600}.spec-row dd li{margin:2px 0;padding-left:18px;position:relative}.spec-row dd li:before{content:"";border-left:1.75px solid var(--good-dot);border-bottom:1.75px solid var(--good-dot);width:9px;height:5px;position:absolute;top:7px;left:2px;transform:rotate(-45deg)}.spec-empty{color:var(--muted);font-weight:400}.checks{flex-direction:column;gap:2px;display:flex}.check-row{justify-content:space-between;align-items:center;gap:var(--s1) var(--s3);min-height:44px;padding:var(--s1) 2px;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.check-row .check-state{flex:160px;min-width:0}.check-row:last-child{border-bottom:0}.check-row .btn{white-space:normal;text-align:left;max-width:100%;padding-block:6px;line-height:1.3}.move-menu{min-width:0;max-width:100%}.check-state{align-items:center;gap:8px;font-weight:500;display:inline-flex}.timeline>li{padding:0 0 var(--s4) 26px;position:relative}.timeline>li:before{content:"";background:var(--border);width:1px;position:absolute;top:22px;bottom:2px;left:8px}.timeline>li:last-child:before{display:none}.t-dot{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:50%;width:17px;height:17px;position:absolute;top:2px;left:0}.t-dot.is-note{border-color:var(--red)}.t-line{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.t-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.source{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3) var(--s4);background:var(--surface-2);flex-direction:column;gap:6px;display:flex}.quote{border-left:2px solid var(--border-strong);color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;padding-left:12px;font-size:13px}.table-wrap{position:relative;overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.table th{text-align:left;color:var(--text-2);border-bottom:1px solid var(--border-strong);white-space:nowrap;background:0 0;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}.table :is(th,td).num{text-align:right}.table :is(th,td):first-child{padding-left:var(--s5)}.table :is(th,td):last-child{padding-right:var(--s5)}.panel.table-wrap{overflow-x:auto}.table tr:last-child td{border-bottom:0}.table tbody th{font-size:inherit;color:var(--text);border-bottom:1px solid var(--border);white-space:normal;vertical-align:middle;padding-top:11px;padding-bottom:11px;font-weight:500}.table tbody tr:last-child>th{border-bottom:0}.table tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}.table tbody tr:hover{background:var(--surface-2)}.table tr.is-risk td:first-child{box-shadow:inset 3px 0 0 var(--red)}.cell-title{flex-direction:column;gap:2px;min-width:0;display:flex}.plain-link{color:var(--text);transition:color var(--dur-fast) var(--ease-out);font-weight:600;text-decoration:none}.plain-link.is-quiet{font-weight:500}.plain-link:hover{color:var(--accent-text)}.gauge{align-items:center;gap:var(--s5);padding:var(--s4) var(--s5);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.gauge-limit{color:var(--muted);font-size:15px;font-weight:500}.gauge-note{min-width:220px;color:var(--muted);flex:1}.gauge-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:650}.gauge .thread-gauge{flex:160px;min-width:120px}.gauge.is-over .thread-gauge{box-shadow:0 0 0 2px var(--accent-soft)}.gauge.is-full .gauge-value{color:var(--warn)}.gauge.is-over .gauge-value{color:var(--accent-text)}.settings-list{flex-direction:column;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border-top:1px solid var(--border);display:flex}.settings-row:first-child{border-top:0}.settings-value{font-variant-numeric:tabular-nums;font-weight:650}.settings-row>label{font-weight:500}.settings-list>.section-title{padding:var(--s4) var(--s5);font-size:var(--fs-md);margin:0;font-weight:600}.settings-list>.section-title+p{padding:0 var(--s5) var(--s4);margin:0}.settings-row:has(>:is(.input,.select,.textarea,.stack-sm)){align-items:stretch;gap:var(--s2);flex-direction:column}.settings-row:has(>:is(.input,.select,.textarea,.stack-sm))>label{color:var(--text-2);font-size:13px;font-weight:600}.settings-row>:is(.input,.select,.textarea,.stack-sm){width:100%;max-width:560px}.settings-row:has(>.settings-row-label){align-items:stretch;gap:var(--s2);flex-direction:column}.settings-row>.settings-row-label{color:var(--text-2);font-size:13px;font-weight:600}.settings-row:has(>.settings-row-label)>p{margin:0}.settings-row:has(>.btn[type=submit]){flex-wrap:wrap}.settings-row:has(>.btn[type=submit])>.btn{margin-left:auto}.settings-row:has(>.form-status:empty:only-child){border-top:0;padding-top:0;padding-bottom:0}.input-key{width:14ch}.proposal-what{overflow-wrap:anywhere}.proposal-meta{gap:var(--s2) var(--s5);flex-wrap:wrap;font-size:13px;display:flex}.proposal-meta dt{color:var(--muted);font-size:12px;font-weight:600}.proposal-meta dd{color:var(--text);margin:0}.proposal-meta code,.proposal-json{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.proposal-meta code{background:var(--fill);border-radius:4px;padding:1px 4px}.proposal-diff tbody th,.proposal-diff td{vertical-align:top;overflow-wrap:break-word;white-space:pre-wrap}.proposal-diff tr.is-changed td:last-child{font-weight:600}.proposal-current{color:var(--text-2)}@media (max-width:560px){.proposal-diff thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.proposal-diff,.proposal-diff tbody,.proposal-diff tr,.proposal-diff tbody th,.proposal-diff td{display:block}.proposal-diff tr{padding:var(--s2) 0;border-bottom:1px solid var(--border)}.proposal-diff tbody tr:last-child{border-bottom:0}.table.proposal-diff :is(tbody th,td){border-bottom:0;padding:2px 0}.proposal-diff td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:600;display:block}}.proposal-sources{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.proposal-ref{overflow-wrap:anywhere}.proposal-details>summary{cursor:pointer;color:var(--text-2);padding:6px 0;font-size:13px;font-weight:600}.proposal-json{margin:var(--s2) 0 0;padding:var(--s3);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-x:auto}.proposal-failed{margin-top:var(--s7)}.proposal-failed-list{margin:0;padding:0;list-style:none}.proposal-failed-list>li+li{border-top:1px solid var(--border)}.disclosure>summary{cursor:pointer;border-bottom:0;min-height:44px;list-style:none}.disclosure[open]>summary{border-bottom:1px solid var(--border)}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"+";color:var(--muted);margin-left:.5em;font-size:18px;line-height:1}.disclosure[open]>summary:after{content:"−"}.disclosure>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-lg)}.dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(480px,100vw - 32px);color:var(--text);box-shadow:var(--shadow-3);padding:0}.dialog::backdrop{background:var(--overlay)}.dialog[open]{animation:dialog-in var(--dur-slow) var(--ease-out)}.dialog[open]::backdrop{animation:fade-in var(--dur-slow) var(--ease-out)}.dialog form{gap:var(--s4);padding:var(--s5) var(--s6);flex-direction:column;display:flex}.dialog h2{font-size:var(--fs-lg);font-weight:650}.dialog-actions{gap:var(--s2);padding-top:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.toasts{z-index:90;pointer-events:none;flex-direction:column;gap:8px;width:min(520px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--inverse-bg);color:var(--inverse-text);border-radius:var(--r);box-shadow:var(--shadow-3);animation:toast-in var(--dur) var(--ease-out);align-items:flex-start;gap:12px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.toast strong{margin-bottom:2px;display:block}.toast ul{margin-top:4px;padding-left:16px;list-style:outside}.toast .t-ic{background:#7f7f7f40;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.toast.is-warn .t-ic{background:var(--red-fill);color:#fff}.toast.is-ok .t-ic{background:var(--good-dot);color:#fff}.toast .t-ic .ic{stroke-width:2.4px;width:13px;height:13px}.toast .grow{flex:1}.toast .t-close{color:var(--inverse-muted);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast .t-close:hover{color:var(--inverse-text)}.form-status{color:var(--muted);min-height:1.5em;font-size:12.5px}.form-status:empty{min-height:0}.form-status.is-error,.small-muted.is-error{color:var(--crit)}.secret-box{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow-x:auto}.secret-box.secret-box-wrap{white-space:pre-wrap;overflow-wrap:anywhere;resize:none;field-sizing:content;overflow-x:hidden}.token-row{gap:var(--s2) var(--s4);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.token-main{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.token-main .chip{white-space:normal;height:auto;min-height:24px;padding-block:3px;line-height:1.3}.token-side{align-items:flex-end;gap:var(--s1);text-align:right;flex-direction:column;max-width:18rem;display:flex}.token-past>summary{padding:var(--s3) var(--s4);cursor:pointer;border-top:1px solid var(--border)}@media (max-width:560px){.token-row{grid-template-columns:minmax(0,1fr)}.token-side{text-align:left;align-items:flex-start;max-width:none}}fieldset.field,.fieldset-plain{border:0;min-width:0;margin:0;padding:0}.auth{background:var(--bg);grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100vh;display:grid}.auth-hero{background:var(--ink);color:var(--paper);padding:var(--s8) 0 var(--s8) var(--s9);justify-content:space-between;gap:var(--s8);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-hero>*{z-index:1;padding-right:var(--s8);position:relative}.auth-hero .brand{padding:0 var(--s8) 0 0;border:0;gap:14px;height:auto}.auth-hero .brand-sep{background:#fafaf952;height:24px}.auth-hero .brand-prod{letter-spacing:.08em;color:var(--paper);font-size:15px}.auth-copy{flex-direction:column;display:flex}.auth-claim{margin-top:var(--s3,12px);font-size:var(--fs-sm,13px);letter-spacing:.01em;opacity:.78}.auth-hero .auth-display{font-family:var(--font-display);font-size:clamp(36px, 4.4vw, var(--fs-4xl));font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;text-wrap:balance;max-width:13ch}.auth-hero .auth-thread{margin-top:var(--s6);margin-right:calc(-1 * var(--s8));width:auto;padding-right:0}.auth-hero p:not(.auth-display){color:#c9c9cc;max-width:40ch;margin-top:var(--s5);font-size:var(--fs-lg);line-height:1.5}.auth-panel{padding:var(--s8);background:var(--lightningcss-light,var(--paper))var(--lightningcss-dark,#141416);border-left:1px solid var(--border);flex-direction:column;justify-content:center;display:flex}.auth>.auth-panel:only-child{border-left:0;grid-column:1/-1}.auth-card{gap:var(--s6);width:100%;max-width:420px;animation:rise var(--dur-slow) var(--ease-out);flex-direction:column;margin:0 auto;display:flex}.auth-card h1{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:700;line-height:1.12}.auth-lead{color:var(--muted);font-size:var(--fs-md);margin-top:var(--s2)}.auth-section{gap:var(--s3);padding-top:var(--s6);border-top:1px solid var(--border);flex-direction:column;display:flex}.auth-section h2{font-size:var(--fs-md);font-weight:600}.auth-primary{gap:var(--s2);flex-direction:column;display:flex}.auth-card .btn-block{min-height:48px;font-size:var(--fs-md)}.auth-foot{justify-content:space-between;align-items:center;gap:var(--s3);padding-top:var(--s5);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;display:flex}.auth-foot .seg button{min-width:44px;min-height:36px}.auth-brand-mark{margin-bottom:var(--s2)}.client-notice{min-height:100vh;padding:var(--s6);background:var(--bg);place-items:center;display:grid}.client-card{gap:var(--s4);max-width:560px;padding:var(--s8);flex-direction:column;display:flex;position:relative;overflow:hidden}.client-card:after{content:"";border:24px solid var(--accent-soft);border-radius:50%;width:160px;height:160px;position:absolute;bottom:-50px;right:-50px}.client-card h1{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700}.portal{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.portal-top .brand{border:0;gap:12px}.portal-main{padding:var(--s7) var(--s6) var(--s9);outline:none;flex:1}.portal-foot{padding:var(--s4) var(--s6);border-top:1px solid var(--border);text-align:center;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.portal-inner{gap:var(--s6);max-width:1120px;animation:rise var(--dur-slow) var(--ease-out);flex-direction:column;margin:0 auto;display:flex}.portal-greeting .page-sub{margin-top:4px}.portal-project{gap:var(--s5);flex-direction:column;display:flex}.portal-project+.portal-project{margin-top:var(--s6)}.portal-hero{background:var(--ink);color:var(--paper);border:1px solid var(--lightningcss-light,var(--ink))var(--lightningcss-dark,var(--border-strong));border-radius:var(--r-lg);padding:var(--s8) var(--s8) var(--s7);position:relative;overflow:hidden}.portal-hero:after{content:"";background:var(--red);border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:-60px}.portal-hero:before{content:"";border:1px solid #ffffff2e;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-90px;right:120px}.portal-hero>*{z-index:1;position:relative}.portal-key{letter-spacing:.04em;color:#c9c9cc;font-size:12px;font-weight:600}.portal-name{font-family:var(--font-display);letter-spacing:-.015em;max-width:22ch;margin-top:6px;font-size:clamp(26px,3.4vw,38px);font-weight:700;line-height:1.12}.portal-progress{align-items:center;gap:var(--s5);margin-top:var(--s6);max-width:620px;display:flex}.portal-pct{letter-spacing:-.02em;font-size:32px;font-weight:650}.portal-bar{border-radius:var(--r-pill);background:#ffffff2e;flex:1;height:8px;overflow:hidden}.portal-bar>span{border-radius:inherit;background:#fff;height:100%;display:block}.portal-hero-meta{gap:var(--s2) var(--s5);margin-top:var(--s3);color:#c9c9cc;flex-wrap:wrap;font-size:13.5px;display:flex}.portal-health{margin-top:var(--s3);color:#f2f2f4;font-size:var(--fs-md);max-width:70ch}.kpi-spark{color:var(--text-2);flex:none}.burn-up{gap:var(--s2);flex-direction:column;margin:0;display:flex}.burn-up svg{width:100%;height:auto;max-height:260px}.burn-up-band{fill:var(--fill)}.burn-up-grid{stroke:var(--border);stroke-width:1px}.burn-up-label{fill:var(--muted);font-size:11px;font-family:var(--font-ui)}.burn-up-gap{fill:var(--accent-soft)}.burn-up-today{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.burn-up-planned{fill:none;stroke:var(--text-2);stroke-width:2px;stroke-dasharray:6 4}.burn-up-projection{fill:none;stroke:var(--muted);stroke-width:2px;stroke-dasharray:2 3}.burn-up-actual{fill:none;stroke:var(--text);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.burn-up-now{fill:var(--text)}.burn-up-legend{gap:var(--s2) var(--s4);margin:0;padding:0;list-style:none}.burn-up-legend li{align-items:center;gap:var(--s1);display:inline-flex}.burn-up-key{border-top:3px solid var(--text);width:18px;display:inline-block}.burn-up-key-planned{border-top:2px dashed var(--text-2)}.burn-up-key-gap{background:var(--accent-soft);border:0;height:10px}.burn-up-key-projection{border-top:2px dotted var(--muted)}.burn-up-key-today{border-top:1px dotted var(--muted)}.portal-grid{gap:var(--s5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.portal-needs.is-waiting{border-color:var(--accent-line)}.portal-needs h4,.portal-ask h4{font-size:14px;font-weight:600}.portal-ask{gap:var(--s2);padding-bottom:var(--s4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.portal-ask:last-child{border-bottom:0;padding-bottom:0}.portal-criteria{color:var(--text-2);font-size:13px}.portal-criteria strong{color:var(--muted);font-size:12.5px}.portal-criteria li{margin:3px 0;padding-left:18px;position:relative}.portal-criteria li:before{content:"";border-left:1.75px solid var(--good-dot);border-bottom:1.75px solid var(--good-dot);width:9px;height:5px;position:absolute;top:7px;left:2px;transform:rotate(-45deg)}.release-note{color:var(--text-2);font-size:13px}.release-note-title{color:var(--text);margin:0;font-size:13px;font-weight:600}.release-note-section strong{color:var(--muted);font-size:12.5px}.release-note-section ul{margin:3px 0;padding-left:20px;list-style:outside}.release-note-section ol{margin:3px 0;padding-left:22px;list-style:decimal}.release-note-section li{overflow-wrap:anywhere;margin:2px 0}.portal-list li{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.portal-list li:first-child{border-top:0}.portal-approve{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.portal-approve .btn{min-height:44px}.preview-bar{align-items:center;gap:var(--s3);padding:10px var(--s4);border-radius:var(--r);background:var(--inverse-bg);color:var(--inverse-text);flex-wrap:wrap;font-size:13.5px;display:flex}.preview-bar .grow{flex:1;min-width:220px}.preview-bar .btn{color:var(--inverse-text);border-color:var(--inverse-muted);background:0 0}.weekly{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weekly>div{padding:var(--s4) var(--s5)}.weekly>div+div{border-left:1px solid var(--border)}.weekly h4{margin-bottom:var(--s2);font-size:13.5px;font-weight:600}.weekly li{color:var(--text-2);overflow-wrap:anywhere;padding:5px 0;font-size:13.5px}.weekly .need{background:var(--accent-soft);border-radius:0 0 var(--r-lg) 0}.weekly .need li{color:var(--text);font-weight:500}.mstones>li{gap:var(--s3);padding:var(--s4) 0;border-top:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto;align-items:start;display:grid}.mstones>li:first-child{border-top:0;padding-top:0}.m-node{border:2px solid var(--border-strong);background:var(--surface);border-radius:50%;width:18px;height:18px;margin-top:2px}.m-node.is-done{background:var(--inverse-bg);border-color:var(--inverse-bg)}.m-node.is-awaiting{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px var(--accent-soft)}.m-node.is-rejected{border-color:var(--warn-dot);box-shadow:0 0 0 4px var(--warn-soft)}.comment-bubble{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 12px 12px;padding:8px 12px;font-size:13px}.portal-blocker{gap:var(--s2);padding-bottom:var(--s4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.portal-blocker:last-child{border-bottom:0;padding-bottom:0}.portal-flag-meta{font-weight:500}.stages{gap:var(--s3);padding:var(--s4) var(--s5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stage{background:var(--col-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3);gap:var(--s2);flex-direction:column;min-width:0;display:flex}.stage.is-to_validate{border-color:var(--accent-line)}.stage-head{justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600;display:flex}.stage-list{gap:var(--s2);flex-direction:column;display:flex}.stage-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.stage-list li.is-blocked{box-shadow:inset 3px 0 0 var(--red)}.stage-title{overflow-wrap:anywhere;font-size:13.5px;font-weight:500;line-height:1.35}.summary-layout{gap:var(--s5);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.summary-fields{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}.summary-text{min-height:120px}.summary-history li{padding:var(--s3) var(--s5);border-top:1px solid var(--border);flex-direction:column;gap:4px;display:flex}.summary-history li:first-child{border-top:0}.summary-history li[aria-current=true]{box-shadow:inset 3px 0 0 var(--red);background:var(--surface-2)}.dialog-body{gap:var(--s4);padding:var(--s5) var(--s6);flex-direction:column;display:flex}.client-feedback{margin:4px 0;display:block}.loading-panel{padding:var(--s6);gap:var(--s4);flex-direction:column;display:flex}.skeleton{border-radius:var(--r-xs);background:linear-gradient(90deg, var(--fill-2) 0%, var(--fill) 50%, var(--fill-2) 100%) 0 0 / 200% 100%;height:20px;animation:shimmer 1.4s var(--ease-in-out) infinite}.skeleton-title{width:min(60%,320px);height:32px}.skeleton-row{height:72px}.skeleton-text{width:80%;height:14px}.spinner{border:2px solid var(--fill-2);border-top-color:var(--accent-text);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.portal :is(button,select,input,summary,.btn){min-height:44px}.portal .seg button{min-width:44px}.portal .brand-prod{white-space:normal}.portal .brand{min-width:0}.portal :is(.portal-name,.portal-ask h4,.stage-title){overflow-wrap:anywhere}@media (pointer:coarse){:is(.btn,.input,.select,.select-sm,.nav-link,.nav-group-toggle,.menu-item,.user-menu summary),.move-menu .select{min-height:44px}.seg button,.auth-foot .seg button{min-width:44px;min-height:44px}.plain-link{padding-block:12px;display:inline-block}}@media (prefers-reduced-motion:no-preference){.btn:not(:disabled,[aria-disabled=true]):active{transform:scale(.97)}.wcard.is-dragging{transform:rotate(-1deg)scale(1.02)}}.wcard.is-dragging{opacity:.92}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.btn:hover,.btn:active,.wcard:hover,.wcard.is-dragging,.project-card:hover,.project-card:active{transform:none}.skeleton{background:var(--fill-2)}}@media (max-width:1100px){.item-layout,.summary-layout{grid-template-columns:minmax(0,1fr)}.stages{grid-template-columns:repeat(2,minmax(0,1fr))}.view{padding:var(--s6) var(--s5) var(--s8)}}@media (max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.nav{gap:var(--s2);overscroll-behavior-x:contain;scroll-padding-inline:var(--s3);padding:var(--s2) var(--s3);display:flex;overflow-x:auto}.nav-group{gap:var(--s1);flex:none;align-items:center;margin-top:0;display:flex}.nav-group+.nav-group{padding-left:var(--s2);border-left:1px solid var(--border)}.nav-group-items{gap:var(--s1);align-items:center;display:flex}.nav-group .nav-link{flex:none}.nav-group-toggle{white-space:nowrap;flex:none;width:auto;margin:0}.nav-group.is-later,.nav-group.is-off,.sidebar-foot{display:none}.nav-link .nav-label{flex:none}.nav-link[aria-current=page]:before{width:auto;height:var(--thread-w);border-radius:var(--thread-w);transform-origin:0;animation-name:thread-draw-x;inset:auto 10px 0}.brand{height:56px}.auth{grid-template-columns:minmax(0,1fr)}.auth-hero{padding:var(--s6) 0 var(--s6) var(--s5);gap:var(--s6)}.auth-hero>*,.auth-hero .brand{padding-right:var(--s5)}.auth-hero .auth-thread{margin-top:var(--s4);margin-right:calc(-1 * var(--s5));padding-right:0}.auth-hero .auth-display{max-width:16ch;font-size:clamp(28px,8vw,40px)}.auth-hero p:not(.auth-display){font-size:var(--fs-md);margin-top:var(--s3)}.auth-panel{padding:var(--s7) var(--s4) var(--s8);border-left:0;justify-content:flex-start}.auth-card{gap:var(--s5)}.auth-section{padding-top:var(--s5)}.topbar{padding:var(--s2) var(--s4)}.form-row{grid-template-columns:minmax(0,1fr)}.spec-row{grid-template-columns:minmax(0,1fr);gap:2px}.portal-main{padding:var(--s5) var(--s4) var(--s8)}.portal-hero{padding:var(--s6) var(--s5)}.portal-hero:after{width:160px;height:160px;top:-50px;right:-50px}.portal-hero:before{display:none}.portal-top{position:static}.portal-grid,.weekly,.stages{grid-template-columns:minmax(0,1fr)}.weekly>div+div{border-left:0;border-top:1px solid var(--border)}.weekly .need{border-radius:0 0 var(--r-lg) var(--r-lg)}}@media (max-width:560px){.view{padding:var(--s5) var(--s4) var(--s8)}.page-title{font-size:26px}.item-title{font-size:24px}.page-head{margin-bottom:var(--s5);padding-bottom:var(--s4)}.page-head>.btn-group{width:100%}.panel-head,.panel-body,.settings-row,.settings-list>.section-title,.settings-list>.section-title+p{padding-left:var(--s4);padding-right:var(--s4)}.table :is(th,td):first-child{padding-left:var(--s4)}.table :is(th,td):last-child{padding-right:var(--s4)}.topbar{gap:var(--s2)}.user-menu summary>span:not(.avatar){display:none}.user-menu summary{padding:0 4px}.gauge{padding:var(--s4);gap:var(--s4)}.panel-head,.settings-row{flex-wrap:wrap}.topbar{justify-content:flex-end;row-gap:var(--s2)}.topbar-spacer{display:none}.topbar .dev-badge{order:1;margin-right:auto}.portal-top .brand{flex-basis:100%}.portal-hero{padding:var(--s5) var(--s4)}.portal-pct{font-size:26px}}.guide-search{max-width:720px;margin-bottom:var(--s6)}.guide-search .list-search .input{min-height:44px;font-size:var(--fs-md)}.guide-results{margin-bottom:var(--s7)}.guide-sections{gap:var(--s6) var(--s7);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.guide-section-title{font-size:var(--fs-lg);letter-spacing:-.01em;margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--border);font-weight:650}.guide-list{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guide-list li>a{font-weight:600}.guide-list li>.chip{margin-left:var(--s2);vertical-align:middle}.guide-list p{max-width:64ch;margin-top:2px}.guide-article{max-width:78ch}.guide-article .page-title .chip{vertical-align:middle;font-family:var(--font-ui);letter-spacing:0}.guide-body{gap:var(--s6);flex-direction:column;display:flex}.guide-block p{max-width:72ch;line-height:var(--lh)}.guide-heading{font-size:var(--fs-lg);margin-bottom:var(--s2);font-weight:600}.guide-steps{counter-reset:guide-step;margin:0;padding:0;list-style:none;position:relative}.guide-steps:before{content:"";width:var(--thread-w);background:var(--accent-line);position:absolute;top:14px;bottom:14px;left:13px}.guide-steps li{counter-increment:guide-step;padding:3px 0 var(--s4) 44px;line-height:var(--lh);max-width:72ch;position:relative}.guide-steps li:before{content:counter(guide-step);background:var(--surface);border:var(--thread-w) solid var(--red);width:28px;height:28px;color:var(--accent-text);font-size:var(--fs-sm);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:0;left:0}.guide-related{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guide-related .chip{margin-left:var(--s2)}.guide-faq{border-top:1px solid var(--border);flex-direction:column;display:flex}.guide-faq details{border-bottom:1px solid var(--border);padding:var(--s3) 0}.guide-faq summary{cursor:pointer;min-height:24px;font-weight:600}.guide-faq details p{margin-top:var(--s2);color:var(--text-2);max-width:72ch}.guide-glossary{gap:var(--s4);max-width:78ch;margin:0;display:grid}.guide-glossary dt{font-weight:600}.guide-glossary dd{color:var(--text-2);line-height:var(--lh);margin:2px 0 0}.guide-term:target dt{color:var(--accent-text)}.table-caption{caption-side:top;text-align:left;padding:0 0 var(--s2);font-weight:600}.term{display:inline;position:relative}.term-trigger{all:unset;cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.term-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.term-tip{z-index:30;width:max-content;max-width:min(320px,80vw);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--graphite);color:#fafaf9;font-size:var(--fs-sm);text-transform:none;letter-spacing:0;white-space:normal;text-align:left;border:1px solid var(--border-strong);box-shadow:var(--shadow-2);font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:0}.term-tip[hidden]{display:none}.first-steps .panel-head{flex-wrap:wrap}.first-steps-list{padding:var(--s2) var(--s5) var(--s4);gap:var(--s2);margin:0;list-style:none;display:grid}.first-steps-list li{gap:var(--s3);padding:var(--s2) 0;grid-template-columns:24px minmax(0,1fr);align-items:start;display:grid}.first-steps-list .ic{color:var(--muted);margin-top:2px}.first-steps-list li.is-done .ic{color:var(--good)}.first-steps-list li.is-done a{color:var(--muted);text-decoration:line-through}.first-steps-foot{padding:0 var(--s5) var(--s4);gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.module-meta{margin-top:var(--s2);flex-direction:column;gap:2px;display:flex}.first-steps{margin-bottom:var(--s5)}.stars{color:var(--text-2);letter-spacing:.05em;white-space:nowrap}.sales-map{width:100%;overflow-x:auto}.sales-map svg{width:100%;min-width:520px;height:auto;display:block}.sales-map-grid{stroke:var(--border);stroke-width:1px}.sales-map-label{fill:var(--muted);font-size:12px}.sales-map-today{stroke:var(--text-2);stroke-width:1px;stroke-dasharray:4 4}.sales-map-dot{fill:color-mix(in srgb, var(--red) 28%, transparent);stroke:var(--red-fill);stroke-width:1.5px;transition:fill var(--dur-fast) var(--ease-out)}.sales-map-dot.is-overdue{stroke-dasharray:3 2}.sales-map-dot.is-focus,.sales-map a:focus-visible .sales-map-dot{fill:color-mix(in srgb, var(--red) 60%, transparent);stroke-width:3px}.sales-map a:focus-visible{outline:none}tr.is-focus>*{background:var(--fill)}.sales-list{padding:0 var(--s5) var(--s4);gap:var(--s2);margin:0;list-style:none;display:grid}.sales-list li{align-items:center;gap:var(--s2) var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.sales-list li:last-child{border-bottom:0}.thread-gauge.is-bar{min-width:80px;display:block}@media (prefers-reduced-motion:reduce){.sales-map-dot{transition:none}}.tab[aria-current=step]{color:var(--text)}.tab[aria-current=step]:after{content:"";left:var(--s3);right:var(--s3);background:var(--text);border-radius:2px;height:2px;position:absolute;bottom:-1px}.step-index{background:var(--fill);border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;font-size:12px;display:inline-grid}.tab[aria-current=step] .step-index{background:var(--inverse-bg);color:var(--inverse-text)}.review-queue{gap:var(--s1);margin:0;padding:0;list-style:none}.review-dot{border-radius:var(--r-pill);border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-2);place-items:center;padding:0 6px;font-size:12px;font-weight:600;text-decoration:none;display:inline-grid}.review-dot.is-reviewed{background:var(--good-soft);color:var(--good);border-color:#0000}.review-dot[aria-current=true]{background:var(--inverse-bg);color:var(--inverse-text);border-color:#0000}.agreement{gap:var(--s2);align-items:baseline}.agreement.is-done>span:first-of-type{color:var(--muted);text-decoration:line-through}.session-nav{justify-content:space-between;align-items:center}.tiles{margin:0 0 var(--s2);gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0;list-style:none;display:grid}.tile{min-height:44px;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:2px;text-decoration:none;display:flex}.tile:hover{border-color:var(--border-strong)}.tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tile-label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.tile-value{font-size:var(--fs-xl);font-weight:700}.tile-risk{border-color:var(--accent-line)}.tile-risk .tile-value{color:var(--crit)}.tile-watch .tile-value{color:var(--warn)}.seg a{min-width:36px;min-height:30px;color:var(--muted);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.seg:has(>a){flex-wrap:wrap;max-width:100%}.seg a:hover{color:var(--text)}.seg a[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.health-groups{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;display:grid}.health-card{padding:var(--s3);border:1px solid var(--border);border-radius:var(--r);gap:2px;display:grid}.cal{gap:var(--s2);display:grid;overflow-x:auto}.cal-months{min-width:420px;height:18px;font-size:var(--fs-xs);color:var(--muted);margin-left:180px;position:relative}.cal-months span{white-space:nowrap;position:absolute;top:0}.cal-rows{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.cal-row{gap:var(--s2);grid-template-columns:172px minmax(420px,1fr);align-items:center;display:grid}.cal-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-track{border-radius:var(--r-pill);background:var(--fill);height:18px;position:relative}.cal-bar{border-radius:var(--r-pill);border:1px solid;height:12px;position:absolute;top:3px}.cal-milestone{background:var(--text-2);width:12px;height:12px;margin-left:-6px;position:absolute;top:3px;transform:rotate(45deg)}.cal-today{background:var(--red);width:2px;position:absolute;top:-2px;bottom:-2px}.scatter{width:100%;max-width:420px;height:auto;display:block}.scatter-axis{stroke:var(--border-strong);stroke-width:1px}.scatter-diagonal{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 4}.scatter-label{fill:var(--muted);font-size:11px}.scatter-point{fill:currentColor;fill-opacity:.35;stroke:currentColor;stroke-width:1.5px}.pending-client{padding-bottom:var(--s3);border-bottom:1px solid var(--border)}.pending-client:last-child{border-bottom:0}@media print{.sidebar,.topbar,.no-print,.page-help,nav[aria-label],form,.toasts{display:none!important}.app{min-height:0;display:block}.main{min-height:0}.view{padding:0}.panel,.tile{box-shadow:none;break-inside:avoid}body{color:#000;background:#fff}a{color:inherit;text-decoration:none}}.wcard-parent{align-items:center;gap:4px;margin:6px 0 0;display:flex}.wcard-delivery{overflow-wrap:anywhere;align-items:center;gap:4px;margin:6px 0 0;display:flex}.wcard-subtasks{color:var(--text-2);align-items:center;gap:8px;margin:8px 0 0;font-size:11.5px;font-weight:600;display:flex}.wcard-subtasks-bar{background:var(--fill-2);border-radius:4px;flex:1;height:4px;overflow:hidden}.wcard-subtasks-bar>b{background:var(--good-dot);height:100%;display:block}.subtask-list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.subtask-list li{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.celebration{z-index:95;gap:var(--s3);pointer-events:none;align-items:center;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.celebration.is-on{pointer-events:auto;border-radius:var(--r);background:var(--inverse-bg);color:var(--inverse-text);box-shadow:var(--shadow-3);padding:10px 14px}.celebration-text{margin:0;font-weight:600}.celebration-text:empty{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.celebration .btn{color:inherit}.celebration-burst{display:none}@keyframes celebration-piece{0%{opacity:1;transform:rotate(calc(var(--i) * 30deg)) translateY(0) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(-56px) scale(.4)}}@media (prefers-reduced-motion:no-preference){.celebration-burst{pointer-events:none;width:0;height:0;display:block;position:absolute;top:50%;left:50%}.celebration-burst>i{background:var(--red);width:8px;height:8px;animation:celebration-piece 1.2s var(--ease-out) both;border-radius:2px;position:absolute;top:-4px;left:-4px}.celebration-burst>i:nth-child(3n){background:var(--good-dot)}.celebration-burst>i:nth-child(3n+1){background:var(--inverse-text)}}.chart{gap:var(--s2);flex-direction:column;min-width:0;margin:0;display:flex}.chart-scroll{width:100%;overflow-x:auto}.chart-scroll svg{width:100%;height:auto;display:block}.chart-ink{fill:var(--text)}.chart-ink-soft{fill:color-mix(in srgb, var(--text) 55%, transparent)}.chart-light{fill:color-mix(in srgb, var(--text) 28%, transparent)}.chart-track{fill:var(--fill-2)}.chart-red{fill:var(--crit)}.chart-red-soft{fill:var(--crit-soft)}.chart-outline{stroke:var(--text);stroke-width:1.2px}.chart-outline-red{stroke:var(--crit);stroke-width:1.2px}.chart-zone{fill:color-mix(in srgb, var(--text) 5%, transparent)}.chart-zone-red{fill:var(--crit-soft)}.chart-hatch-ink{stroke:var(--text);stroke-width:1.3px}.chart-hatch-red{stroke:var(--crit);stroke-width:1.3px}.chart-hatch-red-thin{stroke:var(--crit);stroke-width:1px;opacity:.55}.chart-dot-ink{fill:var(--text)}.chart-dot-red{fill:var(--crit)}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-axis{stroke:var(--border-strong);stroke-width:1px}.chart-today{stroke:var(--text-2);stroke-width:1px;stroke-dasharray:4 4}.chart-reference{stroke:var(--text-2);stroke-width:1.5px;stroke-dasharray:6 4}.chart-reference.is-red{stroke:var(--crit)}.chart-target{stroke:var(--crit);stroke-width:2.5px}.chart-label{fill:var(--muted);font-size:11px;font-family:var(--font-ui)}.chart-label.is-red,.chart-value.is-red{fill:var(--crit)}.chart-value{fill:var(--text);font-size:12px;font-weight:600;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.chart-value.is-inverse{fill:var(--surface)}.chart-dot{fill:var(--text);stroke:var(--surface);stroke-width:1px}.chart-dot.is-red{fill:var(--crit)}.chart-dot.is-hollow{fill:var(--surface);stroke:var(--text);stroke-width:1.6px}.chart a:focus-visible{outline:none}.chart a:focus-visible>*,.chart a:hover>rect{stroke:var(--focus);stroke-width:2.5px}.chart-legend{gap:var(--s2) var(--s4);margin:0;padding:0;list-style:none}.chart-legend li{align-items:center;gap:var(--s1);display:inline-flex}.chart-key{background:var(--text);border-radius:2px;width:14px;height:10px;display:inline-block}.chart-key-ink-soft{background:color-mix(in srgb, var(--text) 55%, transparent)}.chart-key-light{background:color-mix(in srgb, var(--text) 28%, transparent)}.chart-key-track{background:var(--fill-2)}.chart-key-red{background:var(--crit)}.chart-key-red-soft{background:var(--crit-soft);border:1px solid var(--crit)}.chart-key-hatch{background:repeating-linear-gradient(45deg, var(--text) 0 1.3px, transparent 1.3px 4px);border:1px solid var(--text)}.chart-key-hatch-red{background:repeating-linear-gradient(45deg, var(--crit) 0 1.3px, transparent 1.3px 4px);border:1px solid var(--crit)}.chart-key-dots{background:radial-gradient(circle, var(--text) 1px, transparent 1.2px) 0 0 / 4px 4px;border:1px solid var(--text)}.chart-key-line{border-top:2px solid var(--text);background:0 0;border-radius:0;height:0}.chart-key-line-dashed{border-top:2px dashed var(--text-2);background:0 0;border-radius:0;height:0}.chart-key-line-red{border-top:3px solid var(--crit);background:0 0;border-radius:0;height:0}.chart-key-dot{border-radius:50%;width:10px}.chart-key-dot-hollow{border:1.6px solid var(--text);background:0 0;border-radius:50%;width:10px}.chart-key-zone{background:color-mix(in srgb, var(--text) 8%, transparent);border:1px dashed var(--border-strong)}.chart-key-zone-red{background:var(--crit-soft)}.table tr:target>*{background:var(--accent-soft)}@keyframes chart-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes chart-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.chart-grow-y,.chart-grow-x,.chart-grow-x-end{transform-box:fill-box;animation:chart-grow-y var(--dur-thread) var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms)}.chart-grow-y{transform-origin:bottom}.chart-grow-x{transform-origin:0;animation-name:chart-grow-x}.chart-grow-x-end{transform-origin:100%;animation-name:chart-grow-x}}@media print{.chart,.chart svg{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.chart-scroll{overflow:visible}.chart-scroll svg{min-width:0!important}}.panel-body:empty{display:none}.chart-equation{align-items:baseline;gap:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.chart-equation b{color:var(--text);font-size:var(--fs-md)}.chart-equation i{color:var(--muted);font-style:normal}.chart-equation-gap b{color:var(--crit)}.col-value{border-radius:var(--r-pill);background:var(--fill);height:6px;display:block;position:relative;overflow:hidden}.col-value>span{border-radius:inherit;background:var(--fill-2);box-shadow:inset 0 0 0 1px var(--border-strong);position:absolute;top:0;bottom:0;left:0}.col-value>span.is-weighted{background:var(--text);box-shadow:none}.sales-map-strip{stroke-dasharray:3 3}.health-dot{background:var(--text);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.health-dot.is-attention{box-shadow:inset 0 0 0 1.6px var(--text);background:0 0}.health-dot.is-at_risk{background:var(--crit)}.health-dot.is-paused{background:color-mix(in srgb, var(--text) 28%, transparent)}.mini-track{border-radius:var(--r-pill);background:var(--fill-2);flex:1;min-width:48px;height:5px;display:block;overflow:hidden}.mini-track>span{border-radius:inherit;background:var(--text);height:100%;display:block}.alignment-chips{margin:0;padding:0;list-style:none}.alignment-chip{padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);gap:4px;display:grid}.alignment-chip-top{gap:var(--s1);align-items:center}.alignment-lead{border-radius:var(--r-pill);background:var(--fill-2);min-width:24px;height:24px;color:var(--text-2);place-items:center;margin-left:auto;padding:0 4px;font-size:10.5px;font-weight:700;display:inline-grid}.alignment-progress{gap:var(--s2);align-items:center}.alignment-cell.is-flagged{box-shadow:inset 0 0 0 2px var(--crit);background:var(--crit-soft)}.alignment-kpis .is-bad strong{color:var(--crit)}.alignment-kpis .is-warn strong{color:var(--warn)}.alignment-kpis dd{gap:2px;display:grid}.scatter-point{stroke-width:1.5px}.scatter-point.is-healthy{fill:var(--text);fill-opacity:.8;stroke:var(--surface)}.scatter-point.is-attention{fill:var(--surface);stroke:var(--text);stroke-width:2px}.scatter-point.is-at_risk{fill:var(--crit);fill-opacity:.85;stroke:var(--surface)}.scatter-point.is-paused{fill:color-mix(in srgb, var(--text) 28%, transparent);stroke:var(--surface)}.scatter-point.is-off{opacity:.18}.scatter-name{font-size:11px}.cal-fill{border-radius:var(--r-pill);opacity:.55;background:currentColor;height:12px;position:absolute;top:3px}.cal-eta{border-top:2px dashed var(--crit);height:0;position:absolute;top:8px}.cal-eta.is-beyond{border-right:0}.cal-meta{grid-column:2}.cal-meta:empty{display:none}.cal-meta.is-late{color:var(--crit)}.split-bar{border-radius:var(--r-pill);background:var(--fill);max-width:320px;height:8px;display:flex;overflow:hidden}.split-bar>.is-client{background:repeating-linear-gradient(45deg, var(--crit) 0 1.5px, var(--crit-soft) 1.5px 4px)}.split-bar>.is-others{background:var(--text)}.capacity-cell{border-radius:var(--r-sm);border:1px solid #0000;padding:6px 8px}.capacity-cell.is-h1{background:color-mix(in srgb, var(--text) 5%, transparent)}.capacity-cell.is-h2{background:color-mix(in srgb, var(--text) 10%, transparent)}.capacity-cell.is-h3{background:color-mix(in srgb, var(--text) 16%, transparent)}.capacity-cell.is-h4{background:color-mix(in srgb, var(--text) 23%, transparent)}.capacity-cell.is-over{background:var(--crit-soft);border-color:var(--crit)}.risk-dot{flex:none}.risk-dot-cell{fill:var(--fill-2)}.risk-dot-mark{fill:var(--text)}.risk-dot.is-attention .risk-dot-mark{fill:var(--warn)}.risk-dot.is-critical .risk-dot-mark{fill:var(--crit)}.chart-highlight.is-dimmed [data-pid]:not(.is-hl){opacity:.35}.chart-highlight tr.is-hl>*{background:var(--accent-soft)}@keyframes chart-pop{0%{transform:scale(0)}to{transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.chart-pop{transform-box:fill-box;transform-origin:50%;animation:chart-pop var(--dur-thread) var(--ease-out) both;animation-delay:calc(var(--i,0) * 30ms)}.chart-highlight [data-pid]{transition:opacity var(--dur-fast) var(--ease-out)}}@media print{.capacity-cell,.alignment-cell,.split-bar,.mini-track,.cal-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.milestone-bar{border-radius:var(--r-sm);gap:2px;height:26px;display:flex;overflow:hidden}.milestone-seg{background:var(--fill-2);min-width:4px;display:block;position:relative;overflow:hidden}.milestone-seg-fill{background:var(--text);position:absolute;top:0;bottom:0;left:0}.milestone-seg.is-approved .milestone-seg-fill{background:var(--good-dot)}.milestone-seg.is-late{box-shadow:inset 0 0 0 2px var(--crit);background:repeating-linear-gradient(45deg, var(--crit-soft) 0 3px, var(--fill-2) 3px 7px)}.milestone-seg.is-late .milestone-seg-fill{background:var(--crit)}.milestone-seg-label{border-radius:var(--r-xs);background:var(--surface);white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 8px);color:var(--text);padding:0 4px;font-size:11px;font-weight:600;line-height:16px;position:absolute;top:50%;left:4px;overflow:hidden;transform:translateY(-50%)}.milestone-legend{gap:2px;margin:0;padding-left:1.2em;display:grid}.milestone-legend .is-late{color:var(--crit)}.court-bar{max-width:none;height:10px}.is-late-text{color:var(--crit)}.portal-court{gap:4px;max-width:520px;display:grid}.budget-bar{border-radius:var(--r-pill);height:12px;display:block;position:relative}.budget-bar>span{border-radius:var(--r-pill);position:absolute;top:0;bottom:0;left:0}.budget-bar-track{background:var(--fill-2)}.budget-bar-fill{background:var(--text)}.budget-bar-over{background:repeating-linear-gradient(45deg, var(--crit) 0 1.5px, var(--crit-soft) 1.5px 4px);box-shadow:inset 0 0 0 1px var(--crit)}.budget-bar>.budget-bar-mark{background:var(--crit);border-radius:1px;width:3px;margin-left:-1.5px;top:-3px;bottom:-3px}.kpi-trend{color:var(--text)}.kpi-trend-area{fill:color-mix(in srgb, var(--text) 10%, transparent)}.kpi-delta{gap:2px}.kpi-track{gap:var(--s2);align-items:center;min-width:180px}.brief-heat li{align-items:center;gap:var(--s2)}.heat-cell{font-variant-numeric:tabular-nums;border:1px solid var(--border);place-items:center;min-width:58px;min-height:30px;font-size:12px;font-weight:600;display:inline-grid}.stage-stack{border-radius:var(--r-sm);gap:2px;height:28px;display:flex;overflow:hidden}.stage-stack>span{white-space:nowrap;text-overflow:ellipsis;align-items:center;min-width:3px;padding:0 6px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.stage-stack>.is-ink{background:var(--text);color:var(--surface)}.stage-stack>.is-ink-soft{background:color-mix(in srgb, var(--text) 55%, transparent);color:var(--surface)}.stage-stack>.is-light{background:color-mix(in srgb, var(--text) 22%, transparent);color:var(--text)}.stage-stack>.is-hatch{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--text) 35%, transparent) 0 1.5px, transparent 1.5px 5px);box-shadow:inset 0 0 0 1px var(--text);color:var(--text)}.count-up{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:no-preference){[data-reveal].is-armed{opacity:0;transition:opacity var(--dur-thread) var(--ease-out), transform var(--dur-thread) var(--ease-out);transform:translateY(14px)}[data-reveal].is-armed.is-revealed{opacity:1;transform:none}}@media print{[data-reveal].is-armed{opacity:1!important;transform:none!important}.milestone-bar,.budget-bar,.stage-stack,.heat-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.delivery-steps{margin:0;padding:0;list-style:none}.add-form>summary{width:fit-content;min-height:44px;list-style:none}.add-form>summary::-webkit-details-marker{display:none}.add-form>summary .add-form-open,.add-form[open]>summary .add-form-closed{display:none}.add-form[open]>summary .add-form-open{display:inline}.add-form[open]>summary{margin-bottom:var(--s3)}.add-form>form{padding-top:var(--s4);border-top:1px solid var(--border)}.contact-ticks{gap:0 var(--s4);flex-wrap:wrap;display:flex}.contact-ticks>label{align-items:center;gap:var(--s2);min-height:44px;display:inline-flex}fieldset.create-field>legend.field-label{padding:0}.client-rename>summary{cursor:pointer;align-items:center;width:fit-content;min-height:44px;display:flex}.client-rename>.input{margin-top:var(--s1)}.panel-head>.panel-head-action{margin-left:auto}.detail-head{align-items:flex-start}.detail-head-main{flex:420px;min-width:0}.detail-title-row{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.detail-status{gap:var(--s2)}.detail-facts{gap:var(--s2) var(--s6);margin:var(--s3) 0 var(--s2);flex-wrap:wrap;display:flex}.detail-fact{min-width:0}.detail-fact dt{color:var(--muted);font-size:12px;font-weight:600}.detail-fact dd{overflow-wrap:anywhere;margin-top:2px;font-weight:500}.detail-action{align-self:flex-end}.detail-section>.panel-head{padding-block:var(--s2);flex-wrap:wrap;justify-content:flex-start;min-height:60px}.detail-section>.panel-head>:is(.detail-edit-button,.panel-head-action){margin-left:auto}.detail-section>.panel-head>.panel-head-action+.detail-edit-button{margin-left:0}.detail-edit-button,.detail-rows .btn-sm,.on-demand .btn-sm{min-height:44px}.detail-edit{border-top:0}.detail-rows>li{padding-inline:0}.detail-row-read{justify-content:space-between;align-items:center;gap:var(--s3);min-width:0;display:flex}.detail-row-read>:first-child{min-width:0}.detail-row-edit{padding-block:var(--s2)}.on-demand{margin:0}.detail-more,.detail-wide{margin-top:var(--s5)}.detail-quick{gap:var(--s2) var(--s3)}.detail-quick>.on-demand.is-open{border-top:0;flex-basis:100%;padding-top:0}.on-demand.is-open{padding-top:var(--s3);border-top:1px solid var(--border)}.detail-layout>aside .props{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}@media (max-width:560px){.detail-facts{gap:var(--s2) var(--s4)}.detail-action{width:100%}.detail-row-read{align-items:flex-start;gap:var(--s1);flex-direction:column}}.filter-row{align-items:flex-end;gap:var(--s3);flex-wrap:wrap;display:flex}.filter-row>.field{flex:150px;min-width:0;max-width:260px}.filter-row>.field-wide{flex:2 220px;max-width:420px}.filter-row>.filter-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.filter-row>.filter-hint{flex-basis:100%}.filter-row .check{align-items:center;gap:var(--s2);min-height:44px;display:inline-flex}.view-switch{flex-wrap:wrap;align-self:flex-start;width:fit-content;max-width:100%}.view-switch a{min-height:36px;padding:0 var(--s3)}.collection-foot{gap:var(--s2) var(--s4);margin-top:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.row-change>summary{align-items:center;gap:var(--s2);cursor:pointer;min-height:44px;color:var(--text-2);font-weight:600;display:inline-flex}.row-change[open]>summary{margin-bottom:var(--s2)}.row-change-body{gap:var(--s2) var(--s3);flex-wrap:wrap;align-items:flex-end;display:flex}.row-change-body .field{flex:200px;min-width:0}.cell-nowrap{white-space:nowrap}.csv-columns code{overflow-wrap:anywhere;word-break:break-all}.list-search-toggle{align-items:center;min-height:44px;display:inline-flex}.list-search>nav{align-items:center}.filter-row>.list-search{flex:320px;margin-bottom:0}.project-card .project-missing{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.team-rows>li.is-risk{box-shadow:inset 3px 0 0 var(--red)}.team-row{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.team-row-head{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.team-row-name{align-items:baseline;gap:2px var(--s2);flex-wrap:wrap;flex:16ch;min-width:0;display:flex}.team-row-facts,.team-row-projects{overflow-wrap:anywhere;margin:0}.team-row .team-note{padding:0}.team-row .team-items{border-top:0}.team-row .team-items>summary{min-height:44px;padding:0}.team-row .team-item-list{padding:0 0 var(--s2)}.pipeline-totals{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media (pointer:coarse){.view-switch a{min-height:44px}}@media (max-width:560px){.filter-row{gap:var(--s2) var(--s3)}.filter-row>.field{flex-basis:calc(50% - var(--s3));max-width:none}.filter-row>.field-wide{flex-basis:100%;max-width:none}.collection-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.collection-table,.collection-table tbody,.collection-table tr,.collection-table th,.collection-table td{width:100%;display:block}.collection-table tr{gap:2px var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--border);font-size:var(--fs-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.collection-table tbody tr:first-child{border-top:0}.table.collection-table tbody :is(th,td){text-align:left;white-space:normal;border:0;min-width:0;padding:0}.collection-table th[scope=row],.collection-table td.cell-full{grid-column:1/-1}.collection-table th[scope=row]{margin-bottom:var(--s1);font-size:var(--fs-base)}.collection-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-weight:600}}.alignment-alerts-count{color:var(--crit);font-weight:700}.alignment-alert-list{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.alignment-alert{height:100%;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;gap:2px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.alignment-alert strong{font-size:24px;line-height:1.1}.alignment-alert.is-bad strong{color:var(--crit)}.alignment-alert.is-good strong{color:var(--good)}a.alignment-alert:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1)}a.alignment-alert[aria-current=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}a.alignment-alert[aria-current=true]:after{content:"✓";align-self:flex-end;margin-top:-1.4em;font-size:14px}.alignment-people{gap:var(--s3);grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;display:grid}.alignment-people>*{min-width:0}.alignment-idle.is-on{box-shadow:inset 0 0 0 2px var(--text)}.alignment-idle-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alignment-idle-list li{align-items:center;gap:var(--s2);font-weight:600;display:flex}.alignment-idle-list .alignment-lead{margin-left:0}.alignment-details{justify-self:start}@media (max-width:860px){.alignment-people{grid-template-columns:1fr}}.prio-matrix{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);gap:0;display:grid;overflow:hidden}.prio-totals{padding:var(--s2) var(--s3);justify-content:flex-end;gap:var(--s2);border-bottom:1px solid var(--border);flex-wrap:wrap;margin:0;list-style:none;display:flex}.prio-head,.prio-row{grid-template-columns:minmax(170px,220px) repeat(3,minmax(0,1fr));display:grid}.prio-head>div{padding:var(--s3);background:var(--surface-2);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;display:flex}.prio-head small{color:var(--muted);font-size:12px}.prio-head-person strong{font-size:13px}.prio-tag{border-radius:var(--r-xs);letter-spacing:0;align-items:center;margin:0;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.prio-tag.is-p1{background:var(--crit-soft);color:var(--crit)}.prio-tag.is-p2{background:var(--warn-soft);color:var(--warn)}.prio-tag.is-p3{background:var(--fill-2);color:var(--text-2)}.prio-row{border-bottom:1px solid var(--border)}.prio-row:last-child{border-bottom:0}.prio-person{align-items:flex-start;gap:var(--s2);padding:var(--s3);border-right:1px solid var(--border);display:flex}.prio-person-name{flex-direction:column;gap:4px;min-width:0;display:flex}.prio-person-name .panel-title{overflow-wrap:anywhere}.prio-avatar{background:var(--inverse-bg);width:36px;height:36px;color:var(--inverse-text);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.prio-cell{border-right:1px solid var(--border);min-width:0}.prio-cell:last-child{border-right:0}.prio-cell-head{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3) 0;display:none}.prio-cell .col-body{border-radius:0;min-height:72px}.prio-card-facts{flex-wrap:wrap;gap:2px 10px;display:flex}.prio-due.is-passed{color:var(--crit);font-weight:600}@media (max-width:900px){.prio-head{display:none}.prio-row{grid-template-columns:1fr}.prio-person{border-right:0;border-bottom:1px solid var(--border);background:var(--surface-2)}.prio-cell{border-right:0;border-bottom:1px dashed var(--border)}.prio-cell:last-child{border-bottom:0}.prio-cell-head{display:flex}}
.page-head+.project-tabs{margin-top:calc(var(--s3) * -1)}.status-blocked{gap:2px;margin:0;padding:0;list-style:none;display:grid}.status-milestones{list-style:none}.status-milestones>li+li{padding-top:var(--s3);border-top:1px solid var(--border)}.status-milestone-ask{margin-left:auto}.plan-empty{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.plan-empty>p{margin:0}.plan-empty-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;display:flex}.plan-empty-actions>p{margin:0}.plan-empty-actions>form{flex-basis:100%}.pending-counter.is-low{color:var(--warn);font-weight:600}@media (min-width:861px){.board{grid-auto-columns:minmax(208px,1fr)}}.time-suggestions{margin-top:var(--s5)}
