.auth-layout{background:radial-gradient(circle at 8% -10%, #2864ff1f, transparent 34%), radial-gradient(circle at 95% 12%, #6c5ce71a, transparent 28%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:40px 20px;display:flex}@media (width<=720px){.auth-layout{gap:16px;padding:24px 16px}}.auth-layout__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:40px 36px 36px}@media (width<=720px){.auth-layout__card{padding:28px 20px 24px}}.auth-layout__logo{mix-blend-mode:multiply;width:auto;height:36px;margin:0 auto 24px;display:block}.auth-layout__copyright{font-size:var(--fs-sm);color:var(--muted);margin:0}.app-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.app-shell__main{width:100%;max-width:var(--max);flex:1;margin:0 auto;padding:24px 20px 40px}@media (width<=720px){.app-shell__main{padding:16px 12px 32px}}.app-shell__main--full{flex-direction:column;max-width:none;height:calc(100vh - 56px);min-height:0;padding:0;display:flex;overflow:hidden}@media (width<=720px){.app-shell__main--full{height:calc(100dvh - 56px)}}.app-header{background:var(--surface);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 16px;display:flex}.app-header__left{align-items:center;gap:20px;min-width:0;display:flex}.app-header__brand{align-items:center;display:inline-flex}.app-header__logo{mix-blend-mode:multiply;width:auto;height:28px}@media (width<=720px){.app-header__logo{height:24px}}.app-header__nav{align-items:center;gap:4px;display:flex}@media (width<=720px){.app-header__nav{display:none}}.app-header__nav-link{font-size:var(--fs-md);color:var(--muted);border-radius:var(--radius-sm);padding:6px 12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.app-header__nav-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header__nav-link:hover{color:var(--ink);background:var(--surface-2)}.app-header__nav-link--active{color:var(--primary);background:var(--surface-2)}.app-header__nav-link--disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.app-header__nav-link--disabled:hover{color:var(--muted);background:0 0}.app-header__right{align-items:center;gap:8px;display:flex}.app-header__bell{width:34px;height:34px;color:var(--muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.app-header__bell:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header__bell:hover{color:var(--primary);background:var(--surface-2)}@media (width<=720px){.app-header__bell{width:44px;height:44px}}.app-header__hamburger{width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;display:none}.app-header__hamburger:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header__hamburger:hover{background:var(--surface-2)}@media (width<=720px){.app-header__hamburger{display:inline-flex}}.app-header__bell-badge{color:#fff;text-align:center;background:var(--danger);border-radius:999px;min-width:15px;height:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:2px;right:2px}.app-header__settings{width:34px;height:34px;color:var(--muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex}.app-header__settings:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header__settings:hover{color:var(--primary);background:var(--surface-2)}@media (width<=720px){.app-header__settings{width:44px;height:44px}}.app-header__user{position:relative}@media (width<=720px){.app-header__user{display:none}}.app-header__user-button{height:34px;font:inherit;font-size:var(--fs-md);color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.app-header__user-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header__user-button:hover{background:var(--surface-2)}.app-header__user-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.app-header__caret{font-size:var(--fs-xs);color:var(--muted)}.app-header__menu{z-index:100;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-md);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.app-header__menu-item{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;text-decoration:none;display:block}.app-header__menu-item:hover{background:var(--surface-2)}.app-header__menu-item--disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.app-header__menu-item--disabled:hover{background:0 0}@keyframes app-nav-drawer-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes app-nav-drawer-panel-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-nav-drawer{z-index:250;background:#11182766;animation:.2s app-nav-drawer-overlay-in;display:none;position:fixed;inset:0}@media (width<=720px){.app-nav-drawer{display:block}}@media (prefers-reduced-motion:reduce){.app-nav-drawer{animation:none}}.app-nav-drawer__panel{background:var(--surface);width:min(300px,100vw - 56px);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:8px 12px 16px;animation:.25s app-nav-drawer-panel-in;display:flex;overflow-y:auto}.app-nav-drawer__panel:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.app-nav-drawer__panel{animation:none}}.app-nav-drawer__head{flex:none;justify-content:flex-end;display:flex}.app-nav-drawer__close{width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.app-nav-drawer__close:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-nav-drawer__close:hover{color:var(--ink);background:var(--surface-2)}.app-nav-drawer__nav{gap:4px;display:grid}.app-nav-drawer__link{width:100%;height:48px;font:inherit;font-size:var(--fs-lg);color:var(--ink);text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;padding:0 14px;font-weight:600;text-decoration:none;display:flex}.app-nav-drawer__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-nav-drawer__link:hover{background:var(--surface-2)}.app-nav-drawer__link--active{color:var(--primary);background:var(--surface-2)}.app-nav-drawer__link--disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.app-nav-drawer__link--disabled:hover{background:0 0}.app-nav-drawer__divider{background:var(--line);flex:none;height:1px;margin:8px 4px}.app-nav-drawer__user{font-size:var(--fs-md);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 14px 4px;font-weight:700;overflow:hidden}.auth-form{gap:18px;display:grid}.auth-form__title{color:var(--ink);text-align:center;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:900}.auth-form__lead{font-size:var(--fs-md);color:var(--muted);text-align:center;margin:-8px 0 0;line-height:1.7}.auth-form__meta{font-size:var(--fs-md);color:var(--muted);text-align:center;margin:0}.auth-form__alert{font-size:var(--fs-md);border-radius:var(--radius-sm);margin:0;padding:10px 14px;line-height:1.6}.auth-form__alert--success{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.auth-form__alert--error{color:var(--c-load-high);background:var(--c-load-high-bg)}.auth-form__links{font-size:var(--fs-md);text-align:center;margin:0}.auth-form__link{color:var(--primary);border-radius:4px;text-decoration:none}.auth-form__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth-form__link:hover{text-decoration:underline}.bottom-sheet__backdrop{z-index:200;background:#11182766;position:fixed;inset:0}.bottom-sheet__panel{z-index:201;max-height:72dvh;padding:10px 12px calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--surface);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.bottom-sheet__panel--menu{gap:2px;display:grid}.bottom-sheet__panel--filters{max-height:70dvh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;display:flex}.bottom-sheet__head{justify-content:space-between;align-items:center;width:100%;display:flex}.bottom-sheet__title{font-size:var(--fs-md);color:var(--ink);font-weight:700}.bottom-sheet__close{min-height:44px;font:inherit;font-size:var(--fs-sm);color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:0 12px;font-weight:600}.bottom-sheet__label{font-size:var(--fs-xs);color:var(--muted);padding:6px 10px 2px}.bottom-sheet__item{font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:12px 10px;text-decoration:none;display:block}.bottom-sheet__item:hover:not(:disabled){background:var(--surface-2)}.bottom-sheet__item:disabled{cursor:not-allowed;opacity:.5}.bottom-sheet__item--danger{color:var(--danger)}.btn{height:44px;font:inherit;font-size:var(--fs-lg);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;line-height:1;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{color:#fff;background:var(--primary);border-color:#0000;box-shadow:0 10px 24px #2864ff38}.btn--primary:hover:not(:disabled){background:var(--primary-2)}.btn--ghost{color:var(--primary);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--surface-2)}.btn--danger{color:#fff;background:var(--danger);border-color:#0000}.btn--danger:hover:not(:disabled){background:#e64b60}.btn--sm{height:34px;font-size:var(--fs-md);padding:0 14px}@media (width<=720px){.btn--sm{height:44px}}.checkbox{font-size:var(--fs-md);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.checkbox__input{cursor:pointer;width:16px;height:16px;accent-color:var(--primary);margin:0}.checkbox__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.checkbox__text{line-height:1.4}.copy-fallback{opacity:0;pointer-events:none;position:fixed;top:-1000px;left:-1000px}@keyframes dialog-sheet-in{0%{transform:translateY(32px)}to{transform:translateY(0)}}.dialog{z-index:200;background:#11182766;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@media (width<=720px){.dialog{padding:16px}}@media (width<=480px){.dialog{align-items:flex-end;padding:0}}.dialog__panel{background:var(--surface);border-radius:var(--radius-md);width:min(480px,100%);max-height:min(80vh,640px);box-shadow:var(--shadow-lg);padding:20px 24px;overflow-y:auto}.dialog__panel:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.dialog__panel{width:calc(100vw - 32px);max-height:85dvh}}@media (width<=480px){.dialog__panel{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100vw;padding:16px 16px 20px;animation:.25s dialog-sheet-in}}@media (width<=480px) and (prefers-reduced-motion:reduce){.dialog__panel{animation:none}}.dialog__title{font-size:var(--fs-lg);color:var(--ink);margin:0 0 12px;font-weight:700}.dialog__body{gap:12px;display:grid}.dialog__message{font-size:var(--fs-md);color:var(--ink);white-space:pre-wrap;margin:0;line-height:1.8}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.field{gap:6px;display:grid}.field__label{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.field__error{font-size:var(--fs-sm);color:var(--danger);margin:0}.input{width:100%;height:44px;font:inherit;font-size:var(--fs-lg);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 14px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #203d7d0d}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.input:read-only{color:var(--muted);background:var(--surface-2)}.password-input{position:relative}.password-input__input{padding-right:46px}.password-input__toggle{width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-input__toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.password-input__toggle:hover{color:var(--ink);background:var(--surface-2)}.password-rules{font-size:var(--fs-sm);color:var(--muted);background:var(--surface-2);border-radius:var(--radius-sm);gap:4px;margin:0;padding:12px 14px;list-style:none;display:grid}.password-rules__item{align-items:center;gap:8px;display:flex}.password-rules__item--met{color:var(--success);font-weight:500}.password-rules__icon{flex:none;display:inline-flex}.password-rules__state{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-state{text-align:center;background:var(--surface);border-radius:var(--radius-md);border:1px dashed #11182724;justify-items:center;gap:8px;max-width:560px;margin:48px auto 0;padding:64px 24px;display:grid}.empty-state__icon{color:var(--muted)}.empty-state__title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.empty-state__description{font-size:var(--fs-md);color:var(--muted);margin:0}.project-card{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:10px;padding:16px 16px 14px;transition:box-shadow .15s,transform .15s;display:grid;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card__actions{border-top:1px solid var(--line);gap:8px;margin-top:2px;padding-top:4px;display:flex}.project-card__link{font-size:var(--fs-sm);color:var(--primary);text-align:center;background:var(--surface-2);border-radius:var(--radius-sm);flex:1;padding:6px 10px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.project-card__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.project-card__link:hover{background:var(--primary);color:#fff}.project-card__link--primary{color:#fff;background:var(--primary)}.project-card__link--primary:hover{background:var(--primary-2)}.project-card__accent{background:var(--project-color,var(--primary));width:100%;height:4px;position:absolute;top:0;left:0}.project-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-card__code{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.04em;margin-right:auto;font-weight:600}.project-card__menu-anchor{flex-shrink:0;position:relative}.project-card__menu-button{width:28px;height:28px;font-size:var(--fs-md);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;display:inline-flex}.project-card__menu-button:hover{color:var(--ink);background:var(--surface-2)}.project-card__menu-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.project-card__menu{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:132px;box-shadow:var(--shadow-md);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.project-card__menu-item{font-size:var(--fs-sm);color:var(--ink);text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:8px 10px}.project-card__menu-item:hover{background:var(--surface-2)}.project-card__menu-item--danger{color:var(--danger)}.project-card__status{font-size:var(--fs-xs);border-radius:999px;padding:2px 8px;font-weight:700}.project-card__status--draft{color:var(--muted);background:var(--surface-2)}.project-card__status--active{color:var(--c-status-doing);background:var(--surface-2)}.project-card__status--paused{color:var(--c-status-hold);background:var(--c-load-mid-bg)}.project-card__status--completed{color:var(--c-status-done);background:var(--c-load-ok-bg)}.project-card__status--archived{color:var(--muted);background:var(--surface-2)}.project-card__name{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700;line-height:1.4}.project-card__progress{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.project-card__progress-bar{background:var(--project-color,var(--primary));border-radius:999px;height:100%;display:block}.project-card__meta{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:10px;display:flex}.project-card__percent{color:var(--ink);font-weight:700}.project-card__period{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-card__delayed{font-size:var(--fs-xs);color:var(--c-load-high);background:var(--c-load-high-bg);border-radius:999px;padding:2px 8px;font-weight:700}.project-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 4px;display:flex}@media (width<=720px){.project-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}}.project-tabs--header{border-bottom:0;padding:0}@media (width<=720px){.project-tabs--header{max-width:46vw}}.project-tabs__tab{font-size:var(--fs-md);color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600;text-decoration:none}.project-tabs__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.project-tabs__tab{flex:none;align-items:center;min-height:44px;margin-bottom:0;display:inline-flex}}.project-tabs__tab:hover{color:var(--ink)}.project-tabs__tab--active{color:var(--primary);border-bottom-color:var(--primary)}.project-tabs__tab--header{font-size:var(--fs-sm);border-radius:var(--radius-sm);border-bottom:0;margin-bottom:0;padding:6px 10px}.project-tabs__tab--header:hover{background:var(--surface-2)}.project-tabs__tab--header-active{color:var(--primary);background:var(--surface-2)}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 4px;display:flex}@media (width<=720px){.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}}.tabs__tab{font:inherit;font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.tabs__tab{white-space:nowrap;flex:none;min-height:44px;margin-bottom:0}}.tabs__tab:hover{color:var(--ink)}.tabs__tab--active{color:var(--primary);border-bottom-color:var(--primary)}.tag{max-width:100%;font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-weight:700;line-height:1.6;display:inline-flex}.tag--not_started{color:var(--c-status-todo);background:#8a93a424}.tag--in_progress{color:var(--c-status-doing);background:#2456ca1f}.tag--done{color:var(--c-status-done);background:#13855c1f}.tag--on_hold{color:var(--c-status-hold);background:#a864131f}.tag--draft{color:var(--c-status-todo);background:#8a93a424}.tag--submitted{color:var(--c-status-done);background:#13855c1f}.tag--active{color:var(--c-status-doing);background:#2456ca1f}.tag--paused{color:var(--c-status-hold);background:#a864131f}.tag--completed{color:var(--c-status-done);background:#13855c1f}.tag--archived{color:var(--c-status-todo);background:#8a93a424}.tag--open{color:var(--c-load-high);background:var(--c-load-high-bg)}.tag--resolved{color:var(--c-status-done);background:#13855c1f}.tag--rejected{color:var(--c-status-todo);background:#8a93a424}.tag--priority-high{color:var(--c-load-high);background:var(--c-load-high-bg)}.tag--priority-medium{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.tag--priority-low{color:var(--c-status-todo);background:#8a93a424}.toast{z-index:300;pointer-events:none;justify-items:end;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}@media (width<=720px){.toast{justify-items:stretch;left:16px}}.toast__item{max-width:360px;font-size:var(--fs-md);color:var(--ink);pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);align-items:center;gap:10px;padding:10px 12px;display:flex}@media (width<=720px){.toast__item{width:100%;max-width:none}}.toast__item--success{border-left-color:var(--c-status-done)}.toast__item--error{border-left-color:var(--danger)}.toast__message{line-height:1.5}.toast__close{font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 4px;line-height:1}.toast__close:hover{color:var(--ink)}@media (width<=720px){.toast__close{flex:none;justify-content:center;align-items:center;width:36px;height:36px;margin-left:auto;display:inline-flex}}.home{gap:20px;display:grid}.home__flash{font-size:var(--fs-md);color:var(--c-load-ok);background:var(--c-load-ok-bg);border-radius:var(--radius-sm);margin:0;padding:10px 14px}.home__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.home__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.home__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}@media (width<=720px){.home__grid{grid-template-columns:1fr}}.home__empty{text-align:center;background:var(--surface);border-radius:var(--radius-md);border:1px dashed #11182724;justify-items:center;gap:8px;padding:64px 24px;display:grid}.home__empty-title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.home__empty-text{font-size:var(--fs-md);color:var(--muted);margin:0}.project-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);max-width:560px;box-shadow:var(--shadow-sm);gap:18px;margin:0 auto;padding:28px;display:grid}@media (width<=720px){.project-form{gap:16px;padding:20px 16px}}.project-form__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.project-form__dates{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=720px){.project-form__dates{grid-template-columns:1fr}}.project-form__textarea{width:100%;font:inherit;font-size:var(--fs-lg);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:10px 14px;box-shadow:0 1px 2px #203d7d0d}.project-form__textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.project-form__color{align-items:center;gap:10px;display:flex}.project-form__color-swatch{cursor:pointer;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;width:44px;height:34px;padding:2px}@media (width<=720px){.project-form__color-swatch{width:52px;height:44px}}.project-form__color-value{font-size:var(--fs-md);color:var(--muted)}.project-form__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.project-settings{gap:16px;max-width:840px;margin:0 auto;display:grid}.project-settings__head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-settings__back{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-decoration:none}.project-settings__back:hover{color:var(--primary)}.project-settings__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.project-settings__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:20px;display:grid}.project-settings__panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=720px){.project-settings__panel-head{flex-wrap:wrap}}.project-settings__panel-lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.project-settings__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=720px){.project-settings__row{grid-template-columns:1fr}}.project-settings__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=980px){.project-settings__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.project-settings__grid{grid-template-columns:1fr}}.project-settings__hint{font-size:var(--fs-xs);color:var(--muted);margin:4px 0 0;line-height:1.6}.project-settings__textarea{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:10px 12px;line-height:1.7}.project-settings__textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.project-settings__select{min-width:140px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.project-settings__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.project-settings__select{height:44px}}.project-settings__color{align-items:center;gap:10px;display:flex}.project-settings__color-swatch{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);width:44px;height:32px;padding:0}@media (width<=720px){.project-settings__color-swatch{width:56px;height:44px}}.project-settings__color-value{font-size:var(--fs-sm);color:var(--muted)}.project-settings__actions{justify-content:flex-end;display:flex}.project-settings__table{width:100%;font-size:var(--fs-md);border-collapse:collapse}@media (width<=720px){.project-settings__table{min-width:560px}}.project-settings__th{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:600}.project-settings__td{color:var(--ink);border-bottom:1px solid var(--c-grid-line);padding:8px 10px}.project-settings__toggles{gap:14px;margin:0;padding:0;list-style:none;display:grid}.project-settings__toggle{gap:4px;display:grid}.project-settings__toggle-label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.project-settings__toggle-label{min-height:44px}}.project-settings__toggle-input{width:16px;height:16px;accent-color:var(--primary)}.project-settings__toggle-text{font-size:var(--fs-md);color:var(--ink);font-weight:600}.project-settings__toggle-description{font-size:var(--fs-sm);color:var(--muted);margin:0 0 0 24px}.project-settings__section{border:1px solid var(--line);border-radius:var(--radius-md);justify-items:start;gap:8px;padding:16px;display:grid}.project-settings__section--danger{border-color:#ff5d7266}.project-settings__section-title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.project-settings__section-lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.org-page{gap:16px;max-width:920px;margin:0 auto;display:grid}.org-page__head{align-items:baseline;gap:12px;display:flex}.org-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.org-page__name{font-size:var(--fs-md);color:var(--muted);margin:0;font-weight:600}.org-page__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:20px;display:grid}.org-page__panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=720px){.org-page__panel-head{flex-wrap:wrap}}.org-page__panel-lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.org-page__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=720px){.org-page__row{grid-template-columns:1fr}}.org-page__select{min-width:140px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.org-page__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.org-page__select{height:44px}}.org-page__thresholds{border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:14px;display:grid}@media (width<=720px){.org-page__thresholds{grid-template-columns:1fr}}.org-page__thresholds-legend{font-size:var(--fs-sm);color:var(--ink);padding:0 6px;font-weight:700}.org-page__actions{justify-content:flex-end;display:flex}.org-page__table{width:100%;font-size:var(--fs-md);border-collapse:collapse}@media (width<=720px){.org-page__table{min-width:640px}}.org-page__th{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:600}.org-page__tr--inactive{opacity:.55}.org-page__td{color:var(--ink);border-bottom:1px solid var(--c-grid-line);padding:8px 10px}.org-page__empty{font-size:var(--fs-md);color:var(--muted);text-align:center;background:var(--bg);border-radius:var(--radius-md);border:1px dashed #11182724;margin:0;padding:32px 24px}.org-page__empty-calendar{justify-items:center;gap:12px;display:grid}.org-page__section{gap:10px;display:grid}.org-page__section-title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.org-page__weekdays{gap:6px;display:flex}.org-page__weekday{width:40px;height:40px;font:inherit;font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.org-page__weekday:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.org-page__weekday{width:44px;height:44px}}.org-page__weekday--active{color:#fff;background:var(--primary);border-color:var(--primary)}.org-page__holiday-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.org-page__holidays{gap:4px;margin:0;padding:0;list-style:none;display:grid}.org-page__holiday{font-size:var(--fs-sm);background:var(--bg);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px 10px;display:flex}.org-page__holiday-date{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.org-page__holiday-name{color:var(--ink);flex:1}.org-page__holiday-delete{width:24px;height:24px;font:inherit;font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.org-page__holiday-delete:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.org-page__holiday-delete{width:44px;height:44px}}.org-page__holiday-delete:hover{color:var(--danger);background:var(--c-load-high-bg)}.reports{gap:16px;max-width:920px;margin:0 auto;display:grid}.reports__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.reports__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.reports__filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:end;gap:12px;padding:12px;display:flex}@media (width<=720px){.reports__filters{grid-template-columns:1fr 1fr;display:grid}}.reports__select{min-width:160px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.reports__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.reports__select{min-width:0;height:44px}}.reports__loading,.reports__empty{font-size:var(--fs-md);color:var(--muted);text-align:center;background:var(--surface);border-radius:var(--radius-md);border:1px dashed #11182724;margin:0;padding:48px 24px}.reports__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.reports__item{display:block}.reports__item-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.reports__item-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.reports__item-button:hover{border-color:#2864ff59}.reports__date{font-size:var(--fs-md);color:var(--ink);font-weight:700}.reports__user{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.reports__submitted{font-size:var(--fs-sm);color:var(--muted)}.reports__projects{font-size:var(--fs-sm);color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.reports__pager{justify-content:center;align-items:center;gap:8px;display:flex}.reports__pager-label{font-size:var(--fs-sm);color:var(--muted)}.report-edit{gap:16px;max-width:1180px;margin:0 auto;display:grid}.report-edit__head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.report-edit__back{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-decoration:none}.report-edit__back:hover{color:var(--primary)}.report-edit__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.report-edit__banner{font-size:var(--fs-md);color:var(--c-load-mid);background:var(--c-load-mid-bg);border-radius:var(--radius-sm);margin:0;padding:10px 14px;font-weight:600}.report-edit__panes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=980px){.report-edit__panes{grid-template-columns:1fr}}@media (width<=720px){.report-edit__panes{gap:12px}}.report-edit__source{gap:12px;display:grid}.report-edit__source-toggle{width:100%;min-height:48px;font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:flex}.report-edit__source-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.report-edit__source-toggle:hover{background:var(--surface-2)}.report-edit__source-caret{color:var(--muted)}.report-edit__form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:20px;display:grid}.report-edit__textarea{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:10px 12px;line-height:1.7}.report-edit__textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.report-edit__textarea{font-size:16px}}.report-edit__textarea:read-only{color:var(--muted);background:var(--surface-2)}.report-edit__actions{justify-content:flex-end;gap:8px;display:flex}.weekly-report{align-content:start;gap:16px;max-width:960px;margin:0 auto;display:grid}.weekly-report__head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.weekly-report__heading{min-width:0}.weekly-report__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.weekly-report__project{font-size:var(--fs-sm);color:var(--muted);margin:2px 0 0}.weekly-report__status{font-size:var(--fs-xs);border-radius:999px;padding:1px 10px;font-weight:700}.weekly-report__status--draft{color:var(--muted);background:var(--surface-2)}.weekly-report__status--finalized{color:var(--c-status-done);background:var(--c-load-ok-bg)}.weekly-report__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;display:flex}.weekly-report__picker{gap:4px;min-width:0;display:grid}.weekly-report__picker-label{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.weekly-report__select{min-width:240px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.weekly-report__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.weekly-report__select{width:100%;min-width:0;height:44px;font-size:16px}}.weekly-report__actions{flex-wrap:wrap;gap:8px;display:flex}.weekly-report__loading{font-size:var(--fs-sm);color:var(--muted);margin:0}.weekly-report__meta{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.weekly-report__generated{font-weight:700}.weekly-report__grid{gap:16px;display:grid}.weekly-report__prose{font-size:var(--fs-md);color:var(--ink);margin:0;line-height:1.8}.weekly-report__metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0;display:grid}@media (width<=420px){.weekly-report__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.weekly-report__metric{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px}.weekly-report__metric-label{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.weekly-report__metric-value{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:800}.weekly-report__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.weekly-report__item{border:1px solid var(--line);border-radius:var(--radius-sm);gap:2px;padding:8px 10px;display:grid}.weekly-report__item-name{font-size:var(--fs-md);color:var(--ink);font-weight:700}.weekly-report__item-note{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted)}.weekly-report__item-sentence{font-size:var(--fs-sm);color:var(--muted);line-height:1.7}.weekly-report__comment{width:100%;min-height:96px;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:10px 12px;line-height:1.7}.weekly-report__comment:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.weekly-report__comment{font-size:16px}}.history-page{gap:16px;max-width:920px;margin:0 auto;display:grid}.history-page__head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.history-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.history-page__project{font-size:var(--fs-md);color:var(--muted);margin:0}.history-page__back{font-size:var(--fs-sm);color:var(--primary);margin-left:auto;text-decoration:none}.history-page__back:hover{text-decoration:underline}.issues-page{align-content:start;gap:16px;display:grid}.issues-page--detail{max-width:920px;margin:0 auto}.issues-page__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.issues-page__heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.issues-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.issues-page__project{font-size:var(--fs-md);color:var(--muted);margin:0}.issues-page__back{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-decoration:none}@media (width<=720px){.issues-page__back{align-items:center;min-height:44px;display:inline-flex}}.issues-page__back:hover{color:var(--primary)}.issues-page__loading{font-size:var(--fs-md);color:var(--muted);margin:0}.issues-page__error{font-size:var(--fs-md);color:var(--c-load-high);background:var(--c-load-high-bg);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.issues-page__retry{min-height:32px;font:inherit;font-size:var(--fs-sm);color:var(--c-load-high);cursor:pointer;background:var(--surface);border-radius:var(--radius-sm);border:1px solid;padding:0 12px;font-weight:700}.issues-page__retry:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issues-page__retry{min-height:44px}}.issues-page__pager{justify-content:center;align-items:center;gap:12px;display:flex}.issues-page__pager-label{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.project-summary{align-content:start;gap:16px;display:grid}.project-summary__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.project-summary__heading{min-width:0}.project-summary__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.project-summary__meta{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 0;display:flex}.project-summary__status{font-size:var(--fs-xs);border-radius:999px;padding:1px 8px;font-weight:700}.project-summary__status--draft{color:var(--muted);background:var(--surface-2)}.project-summary__status--active{color:var(--c-status-doing);background:var(--surface-2)}.project-summary__status--paused{color:var(--c-status-hold);background:var(--c-load-mid-bg)}.project-summary__status--completed{color:var(--c-status-done);background:var(--c-load-ok-bg)}.project-summary__status--archived{color:var(--muted);background:var(--surface-2)}.project-summary__as-of{font-variant-numeric:tabular-nums}.project-summary__stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}@media (width<=420px){.project-summary__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-summary__stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.project-summary__stat-label{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.project-summary__stat-value{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:800}.project-summary__stat-note{font-size:var(--fs-xs);color:var(--muted);margin-left:6px;font-weight:600}.project-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"kpi kpi""curve curve""delayed milestones""critical workload""changes risks";align-items:start;gap:16px;display:grid}@media (width<=980px){.project-summary__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"kpi""curve""delayed""milestones""critical""workload""changes""risks"}}@media (width<=720px){.project-summary__grid{gap:12px}}.project-summary__quality{font-size:var(--fs-sm);color:var(--c-load-mid);background:var(--c-load-mid-bg);border-radius:var(--radius-sm);gap:4px;margin:0;padding:8px 10px;line-height:1.7;list-style:none;display:grid}.project-summary__issues{font-size:var(--fs-sm);color:var(--ink);margin:0;line-height:1.7}.project-summary__link{color:var(--primary);margin-left:6px;font-weight:700;text-decoration:none}.project-summary__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.project-summary__link:hover{text-decoration:underline}.exports-page{gap:16px;max-width:920px;margin:0 auto;display:grid}.exports-page__head{gap:4px;display:grid}.exports-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.exports-page__lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.exports-page__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:16px;padding:16px;display:grid}.exports-page__section-title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.exports-page__field{gap:8px;display:grid}.exports-page__label{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.exports-page__select{max-width:420px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.exports-page__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.exports-page__select{max-width:none;height:44px}}.exports-page__columns{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 16px;display:grid}.exports-page__hint{font-size:var(--fs-sm);color:var(--muted);margin:0}.exports-page__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.exports-page__status{font-size:var(--fs-sm);color:var(--muted)}.exports-page__status--error{color:var(--danger)}.exports-page__table{width:100%;min-width:640px;font-size:var(--fs-sm);border-collapse:collapse}.exports-page__table th,.exports-page__table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:8px 12px}.exports-page__table th{color:var(--muted);font-weight:700}.exports-page__badge{font-size:var(--fs-xs);border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.exports-page__badge--pending,.exports-page__badge--processing{color:var(--muted);background:#1118270f}.exports-page__badge--completed{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.exports-page__badge--failed{color:var(--c-load-high);background:var(--c-load-high-bg)}.imports-page{gap:16px;max-width:1040px;margin:0 auto;display:grid}.imports-page__head{gap:4px;display:grid}.imports-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.imports-page__lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.imports-page__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:16px;padding:16px;display:grid}.imports-page__section-title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.imports-page__field{gap:8px;display:grid}.imports-page__label{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.imports-page__select{max-width:420px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.imports-page__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.imports-page__select{max-width:none;height:44px}}.imports-page__file{max-width:480px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px dashed #1118273d;padding:8px}.imports-page__file:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.imports-page__file{max-width:none}}.imports-page__radio{font-size:var(--fs-md);color:var(--ink);cursor:pointer;align-items:center;gap:8px;display:flex}@media (width<=720px){.imports-page__radio{min-height:44px}}.imports-page__hint{font-size:var(--fs-sm);color:var(--muted);margin:0}.imports-page__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (width<=720px){.imports-page__actions{flex-direction:column;align-items:stretch}}.imports-page__status{font-size:var(--fs-sm);color:var(--muted);margin:0}.imports-page__status--error{color:var(--danger)}.imports-page__table{width:100%;min-width:640px;font-size:var(--fs-sm);border-collapse:collapse}.imports-page__table th,.imports-page__table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:8px 12px}.imports-page__table th{color:var(--muted);font-weight:700}.imports-page__badge{font-size:var(--fs-xs);border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.imports-page__badge--pending,.imports-page__badge--processing{color:var(--muted);background:#1118270f}.imports-page__badge--completed{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.imports-page__badge--failed{color:var(--c-load-high);background:var(--c-load-high-bg)}.notifications-page{align-content:start;gap:16px;max-width:920px;margin:0 auto;display:grid}.notifications-page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.notifications-page__heading{gap:4px;min-width:0;display:grid}.notifications-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.notifications-page__lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.notifications-page__head-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notifications-page__settings-link{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-decoration:none}.notifications-page__settings-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.notifications-page__settings-link:hover{color:var(--primary)}@media (width<=720px){.notifications-page__settings-link{align-items:center;min-height:44px;display:inline-flex}}.notifications-page__filters{flex-wrap:wrap;gap:8px;display:flex}.notifications-page__filter{height:32px;font:inherit;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 12px;font-weight:600}.notifications-page__filter:focus-visible{box-shadow:var(--focus-ring);outline:none}.notifications-page__filter:hover{color:var(--ink)}.notifications-page__filter--active{color:#fff;background:var(--primary);border-color:var(--primary)}@media (width<=720px){.notifications-page__filter{min-height:44px}}.notifications-page__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notifications-page__more{justify-content:center;display:flex}.notification-settings{align-content:start;gap:16px;max-width:760px;margin:0 auto;display:grid}.notification-settings__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.notification-settings__heading{gap:4px;min-width:0;display:grid}.notification-settings__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.notification-settings__lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.notification-settings__back{font-size:var(--fs-sm);color:var(--muted);font-weight:600;text-decoration:none}.notification-settings__back:focus-visible{box-shadow:var(--focus-ring);outline:none}.notification-settings__back:hover{color:var(--primary)}@media (width<=720px){.notification-settings__back{align-items:center;min-height:44px;display:inline-flex}}.notification-settings__list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:0;margin:0;padding:0;list-style:none;display:grid}.notification-settings__row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:12px 16px;display:flex}.notification-settings__row:last-child{border-bottom:none}.notification-settings__info{gap:2px;min-width:0;display:grid}.notification-settings__name{font-size:var(--fs-md);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.notification-settings__priority{font-size:var(--fs-xs);color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 8px;font-weight:700}.notification-settings__priority--high{color:var(--c-load-high);background:var(--c-load-high-bg)}.notification-settings__priority--medium{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.notification-settings__pending{font-size:var(--fs-xs);color:var(--muted);background:var(--bg);border:1px dashed var(--line);border-radius:999px;padding:1px 8px;font-weight:700}.notification-settings__description{font-size:var(--fs-sm);color:var(--muted);margin:0}.notification-settings__channels{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.notification-settings__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notification-settings__hint{font-size:var(--fs-sm);color:var(--muted);margin:0}.share-page{background:radial-gradient(circle at 8% -10%, #2864ff1a, transparent 34%), var(--bg);flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:40px 24px 32px;display:flex}@media (width<=720px){.share-page{padding:20px 12px 24px}}.share-page__inner{align-content:start;gap:20px;width:100%;max-width:1080px;display:grid}.share-page__brand{font-size:var(--fs-xs);color:var(--muted);margin:0}.share-page__notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:460px;box-shadow:var(--shadow-md);justify-items:start;gap:12px;margin:60px auto 0;padding:32px 28px;display:grid}@media (width<=720px){.share-page__notice{margin-top:24px;padding:24px 18px}}.share-page__notice-title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.share-page__notice-text{font-size:var(--fs-md);color:var(--muted);margin:0;line-height:1.7}.share-page__head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:4px;padding:20px 24px;display:grid}@media (width<=720px){.share-page__head{padding:16px 14px}}.share-page__label{font-size:var(--fs-sm);color:var(--primary);margin:0;font-weight:700}.share-page__title{color:var(--ink);margin:0;font-size:22px;font-weight:800}@media (width<=720px){.share-page__title{font-size:var(--fs-xl)}}.share-page__meta{font-size:var(--fs-sm);color:var(--muted);margin:0}.share-page__empty{font-size:var(--fs-md);color:var(--muted);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin:0;padding:32px 24px}.share-page__section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:12px;padding:20px 24px;display:grid}@media (width<=720px){.share-page__section{padding:14px 12px}}.share-page__section-title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.share-page__foot{gap:4px;padding:0 4px;display:grid}.share-page__expiry{font-size:var(--fs-sm);color:var(--ink);margin:0;font-weight:700}.share-page__note{font-size:var(--fs-xs);color:var(--muted);margin:0}.import-stepper{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}@media (width<=720px){.import-stepper{gap:4px}}.import-stepper__item{font-size:var(--fs-sm);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:flex}.import-stepper__item--current{color:var(--ink);border-color:var(--accent);font-weight:700}.import-stepper__item--done{color:var(--c-load-ok);border-color:var(--c-load-ok-bg)}.import-stepper__index{min-width:20px;height:20px;font-size:var(--fs-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:inline-flex}.import-stepper__label{white-space:nowrap}.sheet-picker{gap:12px;display:grid}.sheet-picker__field{gap:8px;display:grid}.sheet-picker__label{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.sheet-picker__select{max-width:420px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.sheet-picker__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.sheet-picker__select{max-width:none;height:44px}}.sheet-picker__caption{font-size:var(--fs-xs);color:var(--muted);text-align:left;padding-bottom:8px}.sheet-picker__table{width:100%;font-size:var(--fs-sm);border-collapse:collapse}.sheet-picker__row--header{background:var(--c-load-ok-bg);font-weight:700}.sheet-picker__row-head{background:var(--surface);border-bottom:1px solid var(--line);padding:0;position:sticky;left:0}.sheet-picker__row-button{width:100%;min-width:40px;font:inherit;font-size:var(--fs-xs);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 8px}.sheet-picker__row-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.sheet-picker__row-button:hover{color:var(--ink);background:#6c5ce714}.sheet-picker__row-button[aria-pressed=true]{color:var(--accent);font-weight:700}@media (width<=720px){.sheet-picker__row-button{min-height:44px}}.sheet-picker__cell{white-space:pre;text-overflow:ellipsis;border-bottom:1px solid var(--line);max-width:220px;padding:6px 10px;overflow:hidden}.column-map{gap:12px;display:grid}.column-map__errors{font-size:var(--fs-sm);color:var(--c-load-high);background:var(--c-load-high-bg);border-radius:var(--radius-sm);margin:0;padding:8px 12px;list-style:inside}.column-map__list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.column-map__item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:6px;padding:12px;display:grid}.column-map__source{gap:2px;display:grid}.column-map__source-name{font-size:var(--fs-md);color:var(--ink);word-break:break-all;font-weight:700}.column-map__samples{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-map__target-label{font-size:var(--fs-xs);color:var(--muted)}.column-map__select{height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.column-map__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.column-map__select{height:44px}}.hierarchy-picker{gap:8px;display:grid}.hierarchy-picker__option{cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:12px;display:flex}.hierarchy-picker__option--selected{border-color:var(--accent)}.hierarchy-picker__option--disabled{color:var(--muted);cursor:not-allowed;background:#11182708}.hierarchy-picker__input{margin-top:4px}.hierarchy-picker__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.hierarchy-picker__body{gap:2px;display:grid}.hierarchy-picker__label{font-size:var(--fs-md);color:var(--ink);font-weight:700}.hierarchy-picker__description{font-size:var(--fs-sm);color:var(--muted)}.hierarchy-picker__note{font-size:var(--fs-xs);color:var(--c-load-mid)}.assignee-map{gap:8px;display:grid}.assignee-map__list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px;display:grid}.assignee-map__item{gap:4px;display:grid}.assignee-map__label{font-size:var(--fs-sm);color:var(--ink);word-break:break-all}.assignee-map__select{height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.assignee-map__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.assignee-map__select{height:44px}}.import-preview{gap:12px;display:grid}.import-preview__errors{background:var(--c-load-high-bg);border-radius:var(--radius-sm);gap:4px;padding:12px;display:grid}.import-preview__errors-title{font-size:var(--fs-sm);color:var(--c-load-high);margin:0;font-weight:700}.import-preview__errors-list{font-size:var(--fs-sm);color:var(--ink);margin:0;padding-left:20px}.import-preview__table{width:100%;min-width:760px;font-size:var(--fs-sm);border-collapse:collapse}.import-preview__table th,.import-preview__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:6px 10px}.import-preview__table th{color:var(--muted);white-space:nowrap;font-weight:700}.import-preview__row--error{background:var(--c-load-high-bg)}.import-preview__name{display:inline-block}.import-preview__name--depth-1{padding-left:16px}.import-preview__name--depth-2{padding-left:32px}.import-preview__name--depth-3{padding-left:48px}.import-preview__name--depth-4{padding-left:64px}.import-preview__name--depth-5{padding-left:80px}.import-preview__error-text{font-size:var(--fs-xs);color:var(--c-load-high);display:block}.import-result{justify-items:start;gap:16px;display:grid}.import-result__stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:100%;margin:0;display:grid}@media (width<=720px){.import-result__stats{grid-template-columns:1fr}}.import-result__stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:4px;padding:12px;display:grid}.import-result__stat dt{font-size:var(--fs-sm);color:var(--muted)}.import-result__stat dd{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:800}.import-result__errors{background:var(--c-load-high-bg);border-radius:var(--radius-sm);gap:4px;width:100%;padding:12px;display:grid}.import-result__errors-title{font-size:var(--fs-sm);color:var(--c-load-high);margin:0;font-weight:700}.import-result__errors-list{font-size:var(--fs-sm);color:var(--ink);margin:0;padding-left:20px}.health-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-content:start;gap:10px;padding:16px;display:grid}.health-section--kpi{grid-area:kpi}.health-section--curve{grid-area:curve}.health-section--delayed{grid-area:delayed}.health-section--milestones{grid-area:milestones}.health-section--critical{grid-area:critical}.health-section--workload{grid-area:workload}.health-section--changes{grid-area:changes}.health-section--risks{grid-area:risks}.health-section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.health-section__title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:800}.health-section__badge{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;background:var(--surface-2);border-radius:999px;padding:2px 8px;font-weight:700}.health-section__note{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.7}@media (width<=720px){.health-section__note{font-size:var(--fs-sm)}}.health-section__empty{font-size:var(--fs-md);color:var(--muted);background:var(--surface-2);border-radius:var(--radius-sm);margin:0;padding:12px}.health-section__body{gap:10px;min-width:0;display:grid}.health-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}@media (width<=720px){.health-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.health-kpi-grid{grid-template-columns:minmax(0,1fr)}}.health-kpi-grid__empty{font-size:var(--fs-md);color:var(--muted);margin:0}.health-kpi{background:var(--surface-2);border-left:3px solid var(--muted);border-radius:var(--radius-sm);align-content:start;gap:6px;padding:12px;display:grid}.health-kpi--good{border-left-color:var(--c-load-ok)}.health-kpi--warn{border-left-color:var(--c-load-mid)}.health-kpi--bad{border-left-color:var(--c-load-high)}.health-kpi--unknown{border-left-color:var(--muted)}.health-kpi__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.health-kpi__label{font-size:var(--fs-sm);color:var(--muted);margin:0;font-weight:700}.health-kpi__tone{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:1px 7px;font-weight:700}.health-kpi__tone--good{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.health-kpi__tone--warn{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.health-kpi__tone--bad{color:var(--c-load-high);background:var(--c-load-high-bg)}.health-kpi__tone--unknown{color:var(--muted);background:var(--surface)}.health-kpi__value{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:26px;font-weight:800;line-height:1.2}.health-kpi__explanation{font-size:var(--fs-sm);color:var(--ink);margin:0;line-height:1.7}.health-kpi__copy{font-family:inherit;font-size:var(--fs-xs);color:var(--primary);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);justify-self:start;align-items:center;gap:4px;padding:4px 8px;font-weight:700;display:inline-flex}.health-kpi__copy:focus-visible{box-shadow:var(--focus-ring);outline:none}.health-kpi__copy:hover{background:var(--c-row-active)}@media (width<=720px){.health-kpi__copy{min-height:36px}}.progress-curve{gap:8px;min-width:0;display:grid}.progress-curve__svg{width:100%;height:auto;display:block;overflow:visible}.progress-curve__grid{stroke:var(--c-grid-line);stroke-width:1px}.progress-curve__axis-y,.progress-curve__axis-x{fill:var(--c-grid-head-ink);font-size:10px}.progress-curve__today{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.progress-curve__area{fill:var(--primary);fill-opacity:.1}.progress-curve__line-planned{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:6 4;stroke-linecap:round}.progress-curve__line-earned{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.progress-curve__marker{fill:var(--primary);stroke:var(--surface);stroke-width:1.5px}.progress-curve__hit{fill:#0000}.progress-curve__legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.progress-curve__legend-item{align-items:center;gap:6px;display:inline-flex}.progress-curve__swatch{border-top:3px solid var(--primary);width:22px;height:0}.progress-curve__swatch--planned{border-top:2px dashed var(--muted)}.progress-curve__swatch--today{border-top:1px dashed var(--muted)}.progress-curve__bar{background:var(--surface-2);border-radius:999px;height:14px;overflow:hidden}.progress-curve__bar-fill{background:var(--primary);border-radius:999px;height:100%;display:block}.progress-curve__bar-value{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:800}.progress-curve__bar-planned{font-size:var(--fs-sm);color:var(--muted);margin-left:6px;font-weight:600}.progress-curve__note{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.7}@media (width<=720px){.progress-curve__note{font-size:var(--fs-sm)}}.milestone-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.milestone-list__item{background:var(--surface-2);border-left:3px solid var(--muted);border-radius:var(--radius-sm);gap:4px;padding:10px 12px;display:grid}.milestone-list__item--good{border-left-color:var(--c-load-ok)}.milestone-list__item--warn{border-left-color:var(--c-load-mid)}.milestone-list__item--bad{border-left-color:var(--c-load-high)}.milestone-list__item--unknown{border-left-color:var(--muted)}.milestone-list__head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.milestone-list__state{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:1px 7px;font-weight:700}.milestone-list__state--done{color:var(--c-status-done);background:var(--c-load-ok-bg)}.milestone-list__state--overdue{color:var(--c-load-high);background:var(--c-load-high-bg)}.milestone-list__state--at_risk{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.milestone-list__state--upcoming{color:var(--muted);background:var(--surface)}.milestone-list__date{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.milestone-list__name{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.milestone-list__sentence{font-size:var(--fs-sm);color:var(--ink);margin:0;line-height:1.7}.milestone-list__meta{font-size:var(--fs-xs);color:var(--muted);margin:0}.delayed-task-table{width:100%;font-size:var(--fs-md);text-align:left;border-collapse:separate;border-spacing:0}.delayed-task-table__caption{font-size:var(--fs-sm);color:var(--muted);text-align:left;caption-side:top;padding-bottom:6px}.delayed-task-table__head{font-size:var(--fs-sm);color:var(--c-grid-head-ink);text-align:left;white-space:nowrap;vertical-align:bottom;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:700}.delayed-task-table__cell{vertical-align:top;border-bottom:1px solid var(--c-grid-line);padding:8px 10px}.delayed-task-table__cell--number{font-variant-numeric:tabular-nums;white-space:nowrap}.delayed-task-table__name{min-width:200px;color:var(--ink);text-align:left;vertical-align:top;border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:700}.delayed-task-table__code{font-size:var(--fs-xs);color:var(--muted);font-weight:600;display:block}.delayed-task-table__sentence{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;font-weight:400;line-height:1.7;display:block}@media (width<=720px){.delayed-task-table__sentence{white-space:normal}}.delayed-task-table__reason{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:1px 7px;font-weight:700;display:inline-block}.delayed-task-table__reason--bad{color:var(--c-load-high);background:var(--c-load-high-bg)}.delayed-task-table__reason--warn{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.delayed-task-table__reason--good,.delayed-task-table__reason--unknown{color:var(--muted);background:var(--surface-2)}.delayed-task-table__status{font-size:var(--fs-xs);color:var(--muted);display:block}.critical-path-card{gap:10px;min-width:0;display:grid}.critical-path-card__sentence{font-size:var(--fs-md);color:var(--ink);margin:0;line-height:1.7}.critical-path-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.critical-path-card__stat{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px}.critical-path-card__stat-label{font-size:var(--fs-xs);color:var(--muted)}.critical-path-card__stat-value{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:800}.critical-path-card__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.critical-path-card__item{font-size:var(--fs-sm);border-bottom:1px solid var(--c-grid-line);grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto) minmax(0,auto);align-items:baseline;gap:4px 10px;padding:6px 8px;display:grid}.critical-path-card__item--delayed{background:var(--c-load-high-bg);border-radius:var(--radius-sm)}@media (width<=720px){.critical-path-card__item{grid-template-columns:minmax(0,1fr) minmax(0,auto)}}.critical-path-card__code{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.critical-path-card__name{min-width:0;color:var(--ink);font-weight:700}.critical-path-card__period{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.critical-path-card__progress{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.critical-path-card__flag{font-size:var(--fs-xs);color:var(--c-load-high);background:var(--surface);border-radius:999px;margin-left:6px;padding:1px 6px;font-weight:700}.member-load-table{width:100%;font-size:var(--fs-sm);border-collapse:separate;border-spacing:0}.member-load-table__caption{font-size:var(--fs-sm);color:var(--muted);text-align:left;caption-side:top;padding-bottom:6px}.member-load-table__head{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;white-space:nowrap;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:6px 8px;font-weight:700}.member-load-table__name{min-width:110px;color:var(--ink);text-align:left;white-space:nowrap;border-bottom:1px solid var(--c-grid-line);padding:6px 8px;font-weight:700}.member-load-table__cell{text-align:right;white-space:nowrap;border-bottom:1px solid var(--c-grid-line);padding:6px 8px}.member-load-table__load{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-weight:700;display:inline-flex}.member-load-table__load--low{color:var(--muted);background:var(--surface-2)}.member-load-table__load--ok{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.member-load-table__load--warn{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.member-load-table__load--over{color:var(--c-load-over);background:var(--c-load-over-bg)}.member-load-table__over-icon{font-size:var(--fs-xs)}.member-load-table__hours{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);display:block}.recent-change-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.recent-change-list__item{font-size:var(--fs-sm);border-bottom:1px solid var(--c-grid-line);grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:baseline;gap:2px 10px;padding-bottom:6px;display:grid}@media (width<=720px){.recent-change-list__item{grid-template-columns:minmax(0,1fr)}}.recent-change-list__moment{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.recent-change-list__sentence{min-width:0;color:var(--ink);line-height:1.7}.recent-change-list__user{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.risk-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.risk-list__item{background:var(--surface-2);border-left:3px solid var(--muted);border-radius:var(--radius-sm);grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:start;gap:10px;padding:8px 10px;display:grid}.risk-list__item--high{border-left-color:var(--c-load-high)}.risk-list__item--medium{border-left-color:var(--c-load-mid)}.risk-list__item--low{border-left-color:var(--muted)}.risk-list__score{min-width:32px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 6px;font-weight:800}.risk-list__score--high{color:var(--c-load-high);background:var(--c-load-high-bg)}.risk-list__score--medium{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.risk-list__score--low{color:var(--muted);background:var(--surface)}.risk-list__body{gap:2px;min-width:0;display:grid}.risk-list__sentence{font-size:var(--fs-sm);color:var(--ink);line-height:1.7}.risk-list__task{font-size:var(--fs-xs);color:var(--muted)}.report-source{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:16px;padding:20px;display:grid}.report-source__head{gap:6px;display:grid}.report-source__title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.report-source__note{font-size:var(--fs-sm);color:var(--muted);background:var(--surface-2);border-radius:var(--radius-sm);margin:0;padding:8px 12px;line-height:1.7}.report-source__total{font-size:var(--fs-sm);color:var(--ink);margin:0;font-weight:700}.report-source__section{gap:6px;display:grid}.report-source__section-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-source__section-title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.report-source__section-title--danger{color:var(--danger)}.report-source__count{min-width:20px;height:18px;font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.report-source__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.report-source__row{font-size:var(--fs-sm);background:var(--bg);border-radius:var(--radius-sm);align-items:baseline;gap:8px;padding:6px 8px;display:flex}.report-source__dot{background:var(--chip-color,var(--primary));border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.report-source__project{max-width:30%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.report-source__code{font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.report-source__name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.report-source__extra{font-variant-numeric:tabular-nums;color:var(--c-status-doing);flex:none}.issue-filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex}.issue-filter-bar__search{width:260px;height:32px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 10px}@media (width<=720px){.issue-filter-bar__search{width:100%;height:44px;font-size:16px}}.issue-filter-bar__search::placeholder{color:var(--muted)}.issue-filter-bar__search:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.issue-filter-bar__group{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.issue-filter-bar__chip{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 12px;font-weight:600}.issue-filter-bar__chip:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issue-filter-bar__chip{height:44px;padding:0 16px}}.issue-filter-bar__chip:hover{background:var(--surface-2)}.issue-filter-bar__chip--on{color:var(--primary);background:var(--surface-2);border-color:var(--primary)}.issue-filter-bar__select{height:32px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}@media (width<=720px){.issue-filter-bar__select{width:100%;height:44px;font-size:16px}}.issue-filter-bar__clear{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--danger);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 12px;font-weight:600}.issue-filter-bar__clear:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issue-filter-bar__clear{height:44px}}.issue-filter-bar__clear:hover{background:var(--c-load-high-bg)}.issue-filter-bar--mobile{flex-wrap:nowrap;gap:8px}.issue-filter-bar__open{min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.issue-filter-bar__open:focus-visible{box-shadow:var(--focus-ring);outline:none}.issue-filter-bar__badge{min-width:18px;height:18px;font-size:var(--fs-xs);color:#fff;background:var(--primary);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.issue-table{width:100%;font-size:var(--fs-md);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);border-collapse:separate;border-spacing:0}.issue-table__head{font-size:var(--fs-sm);color:var(--c-grid-head-ink);text-align:left;white-space:nowrap;background:var(--c-grid-head-bg);border-bottom:1px solid var(--line);padding:10px 12px;font-weight:700}.issue-table__row:hover{background:var(--c-row-active)}.issue-table__row--overdue{box-shadow:inset 3px 0 0 var(--danger)}.issue-table__cell{color:var(--ink);vertical-align:top;border-bottom:1px solid var(--c-grid-line);padding:10px 12px}.issue-table__cell--date{font-variant-numeric:tabular-nums;white-space:nowrap}.issue-table__number{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-weight:700}.issue-table__number--risk{color:var(--accent)}.issue-table__number--issue{color:var(--primary)}.issue-table__title{max-width:46ch;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;display:block;overflow:hidden}.issue-table__title:hover{color:var(--primary);text-decoration:underline}.issue-table__kind{font-size:var(--fs-xs);color:var(--muted)}.issue-table__overdue{font-size:var(--fs-xs);color:var(--c-load-high);margin-left:6px;font-weight:700;display:inline-block}.issue-table__links{flex-wrap:wrap;gap:4px;display:inline-flex}.issue-table__link-chip{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px}.issue-table__link-chip--blocks{color:var(--c-load-high);background:var(--c-load-high-bg)}.issue-card-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.issue-card-list__item{display:block}.issue-card{min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:6px;padding:12px;text-decoration:none;display:grid}.issue-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.issue-card--overdue{border-left:3px solid var(--danger)}.issue-card__head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.issue-card__number{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}.issue-card__number--risk{color:var(--accent)}.issue-card__number--issue{color:var(--primary)}.issue-card__kind{font-size:var(--fs-xs);color:var(--muted)}.issue-card__overdue{font-size:var(--fs-xs);color:var(--c-load-high);margin-left:auto;font-weight:700}.issue-card__title{font-size:var(--fs-lg);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.issue-card__meta{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.issue-card__assignee{font-size:var(--fs-sm);color:var(--ink)}.issue-card__due{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.issue-card__risk{font-size:var(--fs-sm);color:var(--muted)}.issue-card__links{flex-wrap:wrap;gap:4px;display:flex}.issue-card__link-chip{font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border-radius:999px;padding:2px 8px}.issue-card__link-chip--blocks{color:var(--c-load-high);background:var(--c-load-high-bg)}.risk-matrix{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:12px;padding:16px;display:grid}.risk-matrix__head{gap:2px;display:grid}.risk-matrix__title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.risk-matrix__lead{font-size:var(--fs-sm);color:var(--muted);margin:0}.risk-matrix__layout{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"ylabel yticks cells"". .xticks"". .xlabel";align-items:center;gap:6px;max-width:520px;display:grid}.risk-matrix__grid{grid-area:cells;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.risk-matrix__y-labels{grid-area:yticks;grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;display:grid}.risk-matrix__x-labels{grid-area:xticks;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.risk-matrix__tick{font-size:var(--fs-xs);color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.risk-matrix__axis{font-size:var(--fs-xs);color:var(--muted);text-align:center;font-weight:700}.risk-matrix__axis--y{writing-mode:vertical-rl;grid-area:ylabel}.risk-matrix__axis--x{grid-area:xlabel}.risk-matrix__cell{min-height:56px;font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;display:flex}.risk-matrix__cell:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.risk-matrix__cell{min-height:64px}}.risk-matrix__cell--sev-1{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.risk-matrix__cell--sev-2{color:#5d7a16;background:#f4f8e9}.risk-matrix__cell--sev-3{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.risk-matrix__cell--sev-4{color:var(--c-load-high);background:var(--c-load-high-bg)}.risk-matrix__cell--sev-5{color:var(--c-load-over);background:var(--c-load-over-bg)}.risk-matrix__cell--empty{opacity:.45}.risk-matrix__cell--selected{border-color:var(--ink)}.risk-matrix__count{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.risk-matrix__cell-label{font-size:var(--fs-xs);opacity:.85;font-weight:600}.risk-matrix__footer{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;display:flex}.risk-matrix__clear{min-height:28px;font:inherit;font-size:var(--fs-sm);color:var(--primary);cursor:pointer;background:var(--surface-2);border:0;border-radius:999px;padding:0 12px;font-weight:600}.risk-matrix__clear:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.risk-matrix__clear{min-height:44px}}.issue-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:16px;padding:20px;display:grid}@media (width<=720px){.issue-detail{padding:14px}}.issue-detail__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.issue-detail__number{font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--muted);font-weight:800}.issue-detail__number--risk{color:var(--accent)}.issue-detail__number--issue{color:var(--primary)}.issue-detail__kind{font-size:var(--fs-xs);color:var(--muted)}.issue-detail__title{font-size:var(--fs-xl);color:var(--ink);word-break:break-word;flex:100%;margin:0;font-weight:800}.issue-detail__overdue{font-size:var(--fs-xs);color:var(--c-load-high);background:var(--c-load-high-bg);border-radius:999px;padding:1px 8px;font-weight:700}.issue-detail__actions{flex-wrap:wrap;gap:8px;display:flex}.issue-detail__fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 20px;margin:0;display:grid}@media (width<=720px){.issue-detail__fields{grid-template-columns:1fr}}.issue-detail__field{gap:2px;display:grid}.issue-detail__label{font-size:var(--fs-xs);color:var(--muted)}.issue-detail__value{font-size:var(--fs-md);color:var(--ink);margin:0}.issue-detail__section{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.issue-detail__section-title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.issue-detail__text{font-size:var(--fs-md);color:var(--ink);white-space:pre-line;word-break:break-word;margin:0;line-height:1.8}.issue-detail__empty{font-size:var(--fs-sm);color:var(--muted);margin:0}.issue-detail__links{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.issue-detail__link-item{align-items:center;gap:2px;display:inline-flex}.issue-detail__link-chip{min-height:28px;font-size:var(--fs-sm);color:var(--ink);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;text-decoration:none;display:inline-flex}.issue-detail__link-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issue-detail__link-chip{min-height:44px}}.issue-detail__link-chip:hover{color:var(--primary)}.issue-detail__link-chip--blocks{color:var(--c-load-high);background:var(--c-load-high-bg)}.issue-detail__link-type{font-size:var(--fs-xs);opacity:.8;font-weight:700}.issue-detail__link-remove{width:28px;height:28px;font:inherit;font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;line-height:1}.issue-detail__link-remove:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issue-detail__link-remove{width:44px;height:44px}}.issue-detail__link-remove:hover{color:var(--danger);background:var(--c-load-high-bg)}.issue-detail__link-search{max-width:420px;position:relative}.issue-detail__input{width:100%;height:32px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 10px}@media (width<=720px){.issue-detail__input{height:44px;font-size:16px}}.issue-detail__suggestions{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;max-height:240px;box-shadow:var(--shadow-md);margin:4px 0 0;padding:4px;list-style:none;display:grid;position:absolute;overflow-y:auto}.issue-detail__suggestion{width:100%;min-height:32px;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px}.issue-detail__suggestion:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.issue-detail__suggestion{min-height:44px}}.issue-detail__suggestion:hover{background:var(--surface-2)}.issue-detail__timeline{gap:12px;margin:0;padding:0;list-style:none;display:grid}.issue-detail__entry{align-items:flex-start;gap:10px;display:flex}.issue-detail__entry--system{opacity:.82}.issue-detail__entry-avatar{width:26px;height:26px;font-size:var(--fs-xs);color:var(--primary);background:var(--surface-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.issue-detail__entry-body{gap:2px;min-width:0;display:grid}.issue-detail__entry-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.issue-detail__entry-user{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.issue-detail__entry-time{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted)}.issue-detail__entry-status{font-size:var(--fs-xs);color:var(--primary);font-weight:700}.issue-detail__entry-text{font-size:var(--fs-md);color:var(--ink);white-space:pre-line;word-break:break-word;margin:0;line-height:1.7}.issue-detail__composer{justify-items:start;gap:8px;display:grid}.issue-detail__textarea{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:8px 10px;line-height:1.7}@media (width<=720px){.issue-detail__textarea{font-size:16px}}.issue-detail__textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.issue-form{gap:12px;min-width:min(520px,76vw);display:grid}@media (width<=720px){.issue-form{min-width:0}}.issue-form__select{width:100%;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 10px}@media (width<=720px){.issue-form__select{height:44px;font-size:16px}}.issue-form__date{width:100%;height:36px;font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 10px}@media (width<=720px){.issue-form__date{height:44px;font-size:16px}}.issue-form__textarea{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:8px 10px;line-height:1.7}@media (width<=720px){.issue-form__textarea{font-size:16px}}.issue-form__textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.issue-form__checks{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}@media (width<=720px){.issue-form__checks{gap:4px 16px}}.task-issue-popover{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:min(420px,100vw - 24px);max-height:60vh;box-shadow:var(--shadow-md);overflow:auto}.task-issue-popover--sheet{z-index:260;width:100%;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);position:fixed;inset:auto 0 0}.task-issue-popover__head{border-bottom:1px solid var(--line);gap:2px;padding:12px 40px 10px 14px;display:grid;position:relative}.task-issue-popover__title{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:700}.task-issue-popover__task{font-size:var(--fs-sm);color:var(--muted);margin:0}.task-issue-popover__close{width:28px;height:28px;font-size:var(--fs-md);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;position:absolute;top:8px;right:8px}.task-issue-popover__close:hover{background:var(--c-cell-selected)}.task-issue-popover__message{font-size:var(--fs-sm);color:var(--muted);margin:0;padding:14px}.task-issue-popover__list{margin:0;padding:0;list-style:none}.task-issue-popover__item{border-bottom:1px solid var(--line);gap:4px;padding:10px 14px;display:grid}.task-issue-popover__link{min-width:0;color:var(--ink);align-items:baseline;gap:8px;text-decoration:none;display:flex}.task-issue-popover__link:hover{text-decoration:underline}.task-issue-popover__number{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.task-issue-popover__name{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-issue-popover__tags{flex-wrap:wrap;gap:4px;display:flex}.task-issue-popover__all{font-size:var(--fs-sm);color:var(--primary);text-align:center;padding:10px 14px;text-decoration:none;display:block}.task-issue-popover__all:hover{text-decoration:underline}@media (width<=720px){.task-issue-popover__item{padding:12px 14px}}.delay-risk-popover{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:min(420px,100vw - 24px);max-height:60vh;box-shadow:var(--shadow-md);overflow:auto}.delay-risk-popover--sheet{z-index:260;width:100%;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);position:fixed;inset:auto 0 0}.delay-risk-popover__head{border-bottom:1px solid var(--line);gap:2px;padding:12px 40px 10px 14px;display:grid;position:relative}.delay-risk-popover__title{align-items:baseline;gap:8px;margin:0;display:flex}.delay-risk-popover__level{font-size:var(--fs-md);color:var(--muted);font-weight:700}.delay-risk-popover__level--high{color:var(--danger)}.delay-risk-popover__level--medium{color:var(--warning)}.delay-risk-popover__score{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.delay-risk-popover__task{font-size:var(--fs-sm);color:var(--muted);margin:0}.delay-risk-popover__close{width:28px;height:28px;font-size:var(--fs-md);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;position:absolute;top:8px;right:8px}.delay-risk-popover__close:hover{background:var(--c-cell-selected)}.delay-risk-popover__message{font-size:var(--fs-sm);color:var(--muted);margin:0;padding:14px}.delay-risk-popover__list{margin:0;padding:0;list-style:none}.delay-risk-popover__item{font-size:var(--fs-sm);color:var(--ink);border-bottom:1px solid var(--line);padding:10px 14px;line-height:1.7}.delay-risk-popover__action{width:100%;font-size:var(--fs-sm);color:var(--primary);text-align:center;cursor:pointer;background:0 0;border:0;padding:12px 14px;display:block}.delay-risk-popover__action:hover{background:var(--c-cell-selected)}.delay-risk-popover__action:disabled{color:var(--muted);cursor:default}@media (width<=720px){.delay-risk-popover__item{padding:12px 14px}}.notification-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.notification-item--unread{background:var(--surface-2);border-color:#2864ff3d}.notification-item__icon{width:32px;height:32px;color:var(--muted);background:var(--bg);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.notification-item__icon--high{color:var(--c-load-high);background:var(--c-load-high-bg)}.notification-item__icon--medium{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.notification-item__icon--low{color:var(--c-status-doing);background:var(--surface-2)}.notification-item__body{gap:2px;min-width:0;display:grid}.notification-item__head{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.notification-item__title{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.notification-item__priority{font-size:var(--fs-xs);color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 8px;font-weight:700}.notification-item__priority--high{color:var(--c-load-high);background:var(--c-load-high-bg)}.notification-item__priority--medium{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.notification-item__unread-dot{background:var(--primary);border-radius:999px;width:8px;height:8px}.notification-item__message{font-size:var(--fs-md);color:var(--ink);overflow-wrap:anywhere;margin:0}.notification-item__aggregated{font-size:var(--fs-sm);color:var(--muted)}.notification-item__meta{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.notification-item__project{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-item__time{white-space:nowrap}.notification-item__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.notification-item__link{font-size:var(--fs-sm);color:var(--primary);font-weight:600;text-decoration:none}.notification-item__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.notification-item__link:hover{text-decoration:underline}@media (width<=720px){.notification-item__link{align-items:center;min-height:44px;display:inline-flex}.notification-item{grid-template-columns:auto minmax(0,1fr)}.notification-item__actions{grid-column:1/-1;justify-content:flex-start}}.history-filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:end;gap:12px;padding:12px;display:flex}@media (width<=720px){.history-filters{grid-template-columns:1fr 1fr;display:grid}}.history-filters__toggle{min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:flex}.history-filters__toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.history-filters__toggle:hover{background:var(--surface-2)}@media (width<=720px){.history-filters__toggle{grid-column:1/-1}}.history-filters__toggle-caret{color:var(--muted)}.history-filters__item{gap:4px;display:grid}.history-filters__label{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.history-filters__select,.history-filters__input{min-width:160px;height:36px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.history-filters__select:focus-visible,.history-filters__input:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.history-filters__select,.history-filters__input{min-width:0;height:44px}}.history-filters__task-search{position:relative}.history-filters__suggestions{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:260px;max-height:280px;box-shadow:var(--shadow-md);margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.history-filters__suggestion{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;display:block;overflow:hidden}.history-filters__suggestion:hover{background:var(--surface-2)}.history-filters__suggestion-empty{font-size:var(--fs-sm);color:var(--muted);padding:6px 10px}.history-filters__task-chip{height:36px;font-size:var(--fs-sm);color:var(--primary);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:0 6px 0 10px;display:inline-flex}@media (width<=720px){.history-filters__task-chip{height:44px}}.history-filters__task-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.history-filters__task-chip-clear{width:20px;height:20px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.history-filters__task-chip-clear:hover{color:var(--danger);background:var(--surface)}.history-timeline{gap:20px;display:grid}.history-timeline__day{gap:8px;display:grid}.history-timeline__day-heading{z-index:10;font-size:var(--fs-md);color:var(--muted);background:var(--bg);margin:0;padding:6px 0;font-weight:700;position:sticky;top:0}.history-timeline__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.history-timeline__empty,.history-timeline__loading{font-size:var(--fs-md);color:var(--muted);text-align:center;background:var(--surface);border-radius:var(--radius-md);border:1px dashed #11182724;margin:0;padding:32px 24px}.history-timeline__error{font-size:var(--fs-md);color:var(--danger);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.history-timeline__retry{font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 12px}.history-timeline__retry:hover{background:var(--surface-2)}.history-timeline__sentinel{height:1px}.history-entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}@media (width<=720px){.history-entry{gap:8px;padding:8px 10px}}.history-entry--nested{background:0 0;border:0;padding:6px 0}.history-entry__avatar{width:28px;height:28px;font-size:var(--fs-xs);color:#fff;background:var(--primary);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}@media (width<=720px){.history-entry__avatar{width:22px;height:22px}}.history-entry__body{gap:2px;min-width:0;display:grid}.history-entry__meta{align-items:baseline;gap:8px;margin:0;display:flex}.history-entry__user{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.history-entry__time{font-size:var(--fs-xs);color:var(--muted)}.history-entry__summary{font-size:var(--fs-sm);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;display:flex}.history-entry__task{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.history-entry__task:hover{text-decoration:underline}.history-entry__task-none,.history-entry__action{color:var(--muted)}.history-entry__change{font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;display:flex}@media (width<=720px){.history-entry__change{flex-direction:column;align-items:flex-start;gap:2px}}.history-entry__value{color:var(--muted)}.history-entry__value--new{color:var(--ink);font-weight:700}.history-entry__arrow{color:var(--muted)}.history-entry__reason{font-size:var(--fs-xs);color:var(--c-status-hold);background:#a864131f;border-radius:999px;justify-self:start;padding:1px 8px}.history-entry__batch-toggle{font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.history-entry__batch-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.history-entry__batch-toggle:hover{color:var(--primary)}.history-entry__batch-caret{color:var(--muted)}.history-entry__batch-list{border-top:1px solid var(--line);gap:2px;margin:0;padding:4px 0 0;list-style:none;display:grid}.workload-page{gap:16px;display:grid}.workload-page__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.workload-page__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.workload-page__toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=720px){.workload-page__toolbar{gap:8px 12px}}.workload-page__axis{align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.workload-page__axis{width:100%}}.workload-page__axis-label{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:600}.workload-page__select{height:30px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.workload-page__select:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.workload-page__select{flex:1;height:44px}}.workload-page__pager{align-items:center;gap:4px;display:inline-flex}@media (width<=720px){.workload-page__pager{flex-wrap:wrap;width:100%}}.workload-page__period{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;margin-left:8px;font-weight:600}@media (width<=720px){.workload-page__period{flex-basis:100%;margin-left:0}}.workload-page__filters{align-items:center;gap:8px;margin-left:auto;display:inline-flex}@media (width<=720px){.workload-page__filters{flex-wrap:wrap;width:100%;margin-left:0}}.workload-page__legend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workload-page__legend-item{font-size:var(--fs-xs);border-radius:999px;padding:2px 10px;font-weight:600}.workload-page__legend-item--low{color:var(--muted);background:var(--surface);border:1px solid var(--line)}.workload-page__legend-item--ok{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.workload-page__legend-item--warn{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.workload-page__legend-item--over{color:var(--c-load-over);background:var(--c-load-over-bg)}.workload-heatmap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:auto}.workload-heatmap--loading{opacity:.6}.workload-heatmap__grid{grid-template-columns:180px repeat(var(--heatmap-cols,1), minmax(76px, 1fr));min-width:max-content;display:grid}@media (width<=720px){.workload-heatmap__grid{grid-template-columns:110px repeat(var(--heatmap-cols,1), minmax(64px, 1fr))}}.workload-heatmap__row,.workload-heatmap__cell-box{display:contents}.workload-heatmap__corner,.workload-heatmap__head{z-index:2;font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:center;white-space:nowrap;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:700;position:sticky;top:0}.workload-heatmap__corner{z-index:3;text-align:left;left:0}.workload-heatmap__name{z-index:1;font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:var(--surface);border-bottom:1px solid var(--c-grid-line);align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:flex;position:sticky;left:0;overflow:hidden}.workload-heatmap__name--unassigned{color:var(--muted);font-style:normal}.workload-heatmap__name--total{font-weight:800}.workload-heatmap__dot{background:var(--row-color,var(--primary));border-radius:50%;flex:none;width:8px;height:8px}.workload-heatmap__cell{min-height:44px;font:inherit;cursor:pointer;background:var(--surface);border:0;border-bottom:1px solid var(--c-grid-line);border-left:1px solid var(--c-grid-line);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 6px;display:flex}.workload-heatmap__cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.workload-heatmap__cell--empty{cursor:default}.workload-heatmap__cell--low{color:var(--muted);background:var(--surface)}.workload-heatmap__cell--ok{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.workload-heatmap__cell--warn{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.workload-heatmap__cell--over{color:var(--c-load-over);background:var(--c-load-over-bg)}.workload-heatmap__percent{font-size:var(--fs-sm);align-items:center;gap:3px;font-weight:700;line-height:1.2;display:inline-flex}.workload-heatmap__over-icon{font-size:var(--fs-xs);line-height:1}.workload-heatmap__hours{font-size:var(--fs-xs);opacity:.85;line-height:1.2}.workload-heatmap__total{min-height:40px;color:var(--ink);background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);border-left:1px solid var(--c-grid-line);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 6px;display:flex}.workload-heatmap__empty{font-size:var(--fs-md);color:var(--muted);text-align:center;margin:0;padding:64px 24px}.workload-heatmap__skeleton{gap:10px;padding:20px;display:grid}.workload-heatmap__skeleton-row{background:linear-gradient(90deg, var(--c-grid-head-bg) 25%, var(--surface-2) 50%, var(--c-grid-head-bg) 75%);border-radius:var(--radius-sm);background-size:200% 100%;height:36px;animation:1.4s ease-in-out infinite workload-heatmap-shimmer}@keyframes workload-heatmap-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.workload-heatmap__skeleton-row{animation:none}}@keyframes heatmap-popover-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.heatmap-popover{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:min(520px,100vw - 24px);max-height:60vh;box-shadow:var(--shadow-md);overflow:auto}.heatmap-popover--sheet{z-index:260;width:100%;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);animation:.25s heatmap-popover-sheet-in;position:fixed;inset:auto 0 0}@media (prefers-reduced-motion:reduce){.heatmap-popover--sheet{animation:none}}.heatmap-popover__head{border-bottom:1px solid var(--c-grid-line);gap:2px;padding:12px 40px 10px 14px;display:grid;position:relative}.heatmap-popover__title{font-size:var(--fs-md);color:var(--ink);font-weight:700}.heatmap-popover__period{font-size:var(--fs-xs);color:var(--muted)}.heatmap-popover__summary{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.heatmap-popover__close{width:26px;height:26px;font-size:var(--fs-lg);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;line-height:1;position:absolute;top:8px;right:8px}.heatmap-popover__close:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.heatmap-popover__close{width:44px;height:44px;top:4px;right:4px}}.heatmap-popover__close:hover{background:var(--surface-2)}.heatmap-popover__message{font-size:var(--fs-sm);color:var(--muted);text-align:center;margin:0;padding:20px 14px}.heatmap-popover__list{margin:0;padding:4px 0;list-style:none}.heatmap-popover__item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"code name hours""project period link";align-items:baseline;gap:2px 8px;padding:8px 14px;display:grid}.heatmap-popover__item:not(:last-child){border-bottom:1px solid var(--c-grid-line)}.heatmap-popover__code{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;grid-area:code;font-weight:700}.heatmap-popover__name{font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-weight:600;overflow:hidden}.heatmap-popover__task-hours{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;grid-area:hours;font-weight:700}.heatmap-popover__project{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:project;overflow:hidden}.heatmap-popover__task-period{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;grid-area:period}.heatmap-popover__link{font-size:var(--fs-xs);color:var(--primary);white-space:nowrap;grid-area:link;font-weight:600;text-decoration:none}.heatmap-popover__link:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.heatmap-popover__link{padding:8px 0}}.heatmap-popover__link:hover{text-decoration:underline}.filter-dropdown{position:relative}.filter-dropdown__trigger{height:30px;font:inherit;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;cursor:pointer;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.filter-dropdown__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.filter-dropdown__trigger{height:44px}}.filter-dropdown__trigger:hover{background:var(--surface-2)}.filter-dropdown__trigger--active{color:var(--primary);background:var(--surface-2);border-color:var(--primary)}.filter-dropdown__caret{font-size:var(--fs-xs)}.filter-dropdown__panel{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:220px;max-height:280px;box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 4px);right:0;overflow:auto}@media (width<=720px){.filter-dropdown__panel{max-width:calc(100vw - 24px);left:0;right:auto}}.filter-dropdown__list{margin:0;padding:6px 0;list-style:none}.filter-dropdown__item{margin:0}.filter-dropdown__option{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 12px;display:flex}@media (width<=720px){.filter-dropdown__option{min-height:44px}}.filter-dropdown__option:hover{background:var(--surface-2)}.filter-dropdown__checkbox{width:15px;height:15px;accent-color:var(--primary);flex:none;margin:0}.filter-dropdown__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filter-dropdown__empty{font-size:var(--fs-sm);color:var(--muted);text-align:center;margin:0;padding:16px 12px}.filter-dropdown__clear{width:100%;font:inherit;font-size:var(--fs-xs);color:var(--danger);text-align:center;cursor:pointer;border:0;border-top:1px solid var(--c-grid-line);background:0 0;padding:8px 12px;font-weight:600;display:block}.filter-dropdown__clear:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.filter-dropdown__clear{min-height:44px}}.filter-dropdown__clear:hover{background:var(--c-load-high-bg)}.my-day{gap:16px;max-width:920px;margin:0 auto;display:grid}.my-day__head{align-items:baseline;gap:12px;display:flex}.my-day__title{font-size:var(--fs-xl);color:var(--ink);margin:0;font-weight:800}.my-day__date{font-size:var(--fs-md);color:var(--muted);margin:0;font-weight:600}.my-day__toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.my-day__sort{align-items:center;gap:8px;display:inline-flex}.my-day__sort-label{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:600}.my-day__select{height:30px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}.my-day__select:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day__section{gap:8px;display:grid}.my-day__section-head{font-size:var(--fs-lg);align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.my-day__section-title{color:var(--ink)}.my-day__section-title--overdue{color:var(--danger)}.my-day__section-title--due_today{color:var(--c-load-mid)}.my-day__section-title--starting_today{color:var(--primary)}.my-day__section-title--ready{color:var(--c-load-ok)}.my-day__section-title--waiting{color:var(--muted)}.my-day__section-title--milestones{color:var(--accent)}.my-day__count{min-width:22px;height:20px;font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.my-day__list{gap:6px;display:grid}.my-day__empty{font-size:var(--fs-md);color:var(--muted);text-align:center;background:var(--surface);border-radius:var(--radius-md);border:1px dashed #11182724;margin:0;padding:64px 24px}.my-day__error{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);justify-items:center;gap:8px;padding:48px 24px;display:grid}.my-day__error-message{font-size:var(--fs-md);color:var(--muted);margin:0}.my-day__skeleton{gap:10px;display:grid}.my-day__skeleton-row{background:linear-gradient(90deg, var(--c-grid-head-bg) 25%, var(--surface-2) 50%, var(--c-grid-head-bg) 75%);border-radius:var(--radius-md);background-size:200% 100%;height:52px;animation:1.4s ease-in-out infinite my-day-shimmer}@keyframes my-day-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.my-day__skeleton-row{animation:none}}@media screen and (width<=720px){.my-day__section-head{z-index:5;background:var(--bg);padding:6px 0;position:sticky;top:0}.my-day__select{height:44px}}@page{size:A4;margin:14mm}@media print{body{background:#fff}.app-header,.my-day__toolbar,.toast{display:none!important}.app-shell__main{max-width:none;padding:0}.my-day{gap:12px;max-width:none}.my-day__section{break-inside:avoid}.my-day__empty,.my-day__error{border:0}}.my-day-item{cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;padding:8px 12px;display:flex}.my-day-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day-item:hover{box-shadow:var(--shadow-sm);border-color:#2864ff59}.my-day-item--saving{opacity:.6;pointer-events:none}.my-day-item__status{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;flex:none;padding:0 6px}.my-day-item__status:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day-item__main{flex-wrap:wrap;flex:1;align-items:center;gap:4px 12px;min-width:0;display:flex}.my-day-item__name{min-width:0;font-size:var(--fs-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:6px;font-weight:600;display:inline-flex;overflow:hidden}.my-day-item__milestone-mark{color:var(--accent)}.my-day-item__code{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.my-day-item__project{max-width:180px;height:20px;font-size:var(--fs-xs);color:var(--chip-color,var(--primary));text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--chip-color,var(--primary)) 12%, #fff);border-radius:999px;align-items:center;padding:0 8px;font-weight:700;display:inline-flex;overflow:hidden}.my-day-item__period{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.my-day-item__editors{flex:none;align-items:center;gap:10px;display:flex}.my-day-item__progress{align-items:center;gap:2px;display:inline-flex}.my-day-item__step{width:24px;height:24px;font:inherit;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:var(--surface-2);border-radius:var(--radius-sm);border:0;line-height:1}.my-day-item__step:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day-item__step:hover:not(:disabled){color:var(--primary)}.my-day-item__step:disabled{cursor:default;opacity:.4}.my-day-item__progress-input{width:48px;height:26px;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:right;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 4px}.my-day-item__progress-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day-item__hours{align-items:center;gap:3px;display:inline-flex}.my-day-item__hours-input{width:56px;height:26px;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:right;background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 4px}.my-day-item__hours-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.my-day-item__unit{font-size:var(--fs-xs);color:var(--muted)}@media (width<=720px){.my-day-item{flex-wrap:wrap}}@media screen and (width<=720px){.my-day-item{row-gap:10px;padding:10px 12px}.my-day-item__main{flex-basis:100%;order:-1}.my-day-item__name{white-space:normal}.my-day-item__status{height:44px;padding:0 8px}.my-day-item__editors{flex-wrap:wrap;gap:8px}.my-day-item__progress{gap:4px}.my-day-item__step{width:44px;height:44px}.my-day-item__progress-input,.my-day-item__hours-input{height:44px}}@media print{.my-day-item{break-inside:avoid;box-shadow:none;border-color:#ccc}.my-day-item__status,.my-day-item__progress-input,.my-day-item__hours-input{appearance:none;background:0 0;border:0}.my-day-item__step{display:none}}.wbs-page{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.wbs-page__body{flex-direction:column;flex:1;min-height:0;display:flex}.wbs-page__skeleton{flex:1;align-content:start;gap:8px;padding:12px 16px;display:grid}.wbs-page__skeleton-row{height:var(--row-h);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite wbs-page-shimmer}.wbs-page__error{flex:1;place-content:center;justify-items:center;gap:12px;display:grid}.wbs-page__error-text{font-size:var(--fs-md);color:var(--muted);margin:0}.wbs-page__session-banner{z-index:300;background:var(--c-load-high-bg);border-bottom:1px solid var(--danger);box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;top:0;left:0;right:0}.wbs-page__session-text{font-size:var(--fs-md);color:var(--danger);font-weight:600}@keyframes wbs-page-shimmer{0%{background-position:0 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.wbs-page__skeleton-row{animation:none}}.wbs-toolbar{background:var(--surface);border-bottom:1px solid var(--c-grid-line);flex:none;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex;overflow:visible}@media (width<=720px){.wbs-toolbar{gap:6px;height:auto;min-height:56px;padding:6px 8px}}.wbs-toolbar__title{max-width:280px;font-size:var(--fs-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:none;margin-right:4px;font-weight:700;overflow:hidden}.wbs-toolbar__group{border:1px solid var(--line);border-radius:var(--radius-sm);flex:none;display:inline-flex;overflow:hidden}.wbs-toolbar__segment{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:var(--surface);border:0;padding:0 10px}.wbs-toolbar__segment:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.wbs-toolbar__segment{height:44px;padding:0 14px}}.wbs-toolbar__segment:hover:not(:disabled){background:var(--surface-2)}.wbs-toolbar__segment:disabled{cursor:not-allowed;opacity:.5}.wbs-toolbar__segment--active{color:var(--primary);background:var(--surface-2);font-weight:700}.wbs-toolbar__button{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex:none;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.wbs-toolbar__button:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.wbs-toolbar__button{height:44px;padding:0 14px}}.wbs-toolbar__button:hover:not(:disabled){background:var(--surface-2)}.wbs-toolbar__button:disabled{cursor:not-allowed;opacity:.5}.wbs-toolbar__button--danger{color:var(--danger)}.wbs-toolbar__button--danger:hover:not(:disabled){background:var(--c-load-high-bg)}.wbs-toolbar__button--active{color:var(--primary);background:var(--surface-2);border-color:var(--primary);font-weight:700}.wbs-toolbar__button--more{justify-content:center;min-width:44px;font-weight:700}.wbs-toolbar__menu-anchor{flex:none;position:relative}.wbs-toolbar__menu{z-index:110;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:180px;box-shadow:var(--shadow-md);padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.wbs-toolbar__menu-item{font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;text-decoration:none;display:block}@media (width<=720px){.wbs-toolbar__menu-item{padding:12px 10px}}.wbs-toolbar__menu-item:hover:not(:disabled){background:var(--surface-2)}.wbs-toolbar__menu-item:disabled{cursor:not-allowed;opacity:.5}.wbs-toolbar__menu-item--danger{color:var(--danger)}.wbs-toolbar__menu-label{font-size:var(--fs-xs);color:var(--muted);padding:6px 10px 2px}.wbs-toolbar__spacer{flex:1}.wbs-toolbar__presence{flex:none;align-items:center;display:inline-flex}.wbs-toolbar__presence-avatar{width:24px;height:24px;font-size:var(--fs-xs);color:#fff;background:var(--presence-color,var(--primary));border:2px solid var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-6px;font-weight:700;display:inline-flex}.wbs-toolbar__presence-avatar:first-child{margin-left:0}.wbs-toolbar__presence-more{font-size:var(--fs-xs);color:var(--muted);margin-left:4px;font-weight:600}.wbs-toolbar__save{font-size:var(--fs-sm);color:var(--muted);flex:none;align-items:center;gap:6px;display:inline-flex}.wbs-toolbar__save--saved{color:var(--c-status-done)}.wbs-toolbar__save--error{color:var(--danger)}.wbs-toolbar__save--offline{color:var(--c-status-hold)}.wbs-toolbar__save-retry{font:inherit;font-size:var(--fs-xs);color:var(--danger);cursor:pointer;border:1px solid var(--danger);background:0 0;border-radius:999px;padding:2px 8px;font-weight:600}.wbs-toolbar__save-retry:hover{background:var(--c-load-high-bg)}.wbs-toolbar__more-row{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.wbs-toolbar__more-row-label{font-size:var(--fs-sm);color:var(--muted);flex:none}.wbs-toolbar__more-close{min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--ink);cursor:pointer;background:var(--surface-2);border-radius:var(--radius-sm);border:0;margin-top:8px;font-weight:600}.wbs-filter-bar{background:var(--surface);border-bottom:1px solid var(--c-grid-line);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 12px;display:flex}.wbs-filter-bar__search{width:240px;height:28px;font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 10px}@media (width<=720px){.wbs-filter-bar__search{width:100%;height:44px;font-size:16px}}.wbs-filter-bar__search::placeholder{color:var(--muted)}.wbs-filter-bar__search:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff29}.wbs-filter-bar__group{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.wbs-filter-bar__chip{height:24px;font:inherit;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 10px;font-weight:600}.wbs-filter-bar__chip:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=720px){.wbs-filter-bar__chip{height:44px;font-size:var(--fs-sm);padding:0 14px}}.wbs-filter-bar__chip:hover{background:var(--surface-2)}.wbs-filter-bar__chip--on{color:var(--primary);background:var(--surface-2);border-color:var(--primary)}.wbs-filter-bar__select{height:28px;font:inherit;font-size:var(--fs-sm);color:var(--muted);background:var(--surface);border-radius:var(--radius-sm);border:1px solid #11182724;padding:0 8px}@media (width<=720px){.wbs-filter-bar__select{height:44px;font-size:16px}}.wbs-filter-bar__clear{height:24px;font:inherit;font-size:var(--fs-xs);color:var(--danger);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px;font-weight:600}@media (width<=720px){.wbs-filter-bar__clear{height:44px;font-size:var(--fs-sm)}}.wbs-filter-bar__clear:hover{background:var(--c-load-high-bg)}.wbs-filter-bar--mobile{flex-wrap:nowrap}.wbs-filter-bar__open{min-height:44px;font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.wbs-filter-bar__open:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-filter-bar__badge{min-width:18px;height:18px;font-size:var(--fs-xs);color:#fff;background:var(--primary);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.split-pane{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.split-pane__left{flex-direction:column;flex:none;min-width:0;display:flex;overflow:hidden}.split-pane__splitter{cursor:col-resize;background:var(--c-grid-line);flex:none;width:6px;transition:background .15s}.split-pane__splitter:focus-visible{box-shadow:var(--focus-ring);outline:none}.split-pane__splitter:hover{background:#2864ff59}.split-pane__right{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.wbs-grid{--row-h-current:var(--row-h);min-width:0;min-height:0;font-size:var(--fs-md);background:var(--c-grid-bg);-webkit-user-select:none;user-select:none;flex:1;line-height:1.4;position:relative;overflow:auto}@media (width<=720px){.wbs-grid{overscroll-behavior:contain}}.wbs-grid--compact{--row-h-current:var(--row-h-compact)}.wbs-grid--roomy{--row-h-current:var(--row-h-roomy)}.wbs-grid--synced{overflow-y:hidden}.wbs-grid--dragging-rows{cursor:grabbing}.wbs-grid:focus{outline:none}.wbs-grid:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.wbs-grid__head{z-index:30;width:max-content;height:var(--grid-head-h);background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);display:flex;position:sticky;top:0}.wbs-grid__head-cell{height:100%;font-size:var(--fs-sm);color:var(--c-grid-head-ink);white-space:nowrap;border-right:1px solid var(--c-grid-line);flex:none;align-items:center;padding:0 8px;font-weight:600;display:flex;position:relative;overflow:hidden}.wbs-grid__head-label{text-overflow:ellipsis;overflow:hidden}.wbs-grid__resize{z-index:1;cursor:col-resize;width:7px;height:100%;position:absolute;top:0;right:0}.wbs-grid__resize:hover{background:#2864ff40}.wbs-grid__gutter-head{width:var(--gutter-w);border-right:1px solid var(--c-grid-line);flex:none;justify-content:center;align-items:center;display:flex}.wbs-grid__head-gear{width:22px;height:22px;font-size:var(--fs-sm);color:var(--c-grid-head-ink);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0}.wbs-grid__head-gear:hover{background:var(--surface-2)}.wbs-grid__frozen{z-index:10;background:var(--c-grid-bg);box-shadow:inset -1px 0 0 var(--c-grid-line);flex:none;display:flex;position:sticky;left:0}.wbs-grid__frozen--head{z-index:31;background:var(--c-grid-head-bg);height:100%}.wbs-grid__frozen--selected{background:var(--c-row-active)}.wbs-grid__scroll{flex:none;display:flex}.wbs-grid__body{position:relative}.wbs-grid__row{width:max-content;min-width:100%;display:flex;position:absolute;left:0}.wbs-grid__row--selected{background:var(--c-row-active)}.wbs-grid__row--remote-updated:after{z-index:11;pointer-events:none;content:"";background:var(--c-cell-selected);animation:1.2s ease-out forwards wbs-grid-remote-flash;position:absolute;inset:0}.wbs-grid__gutter{width:var(--gutter-w);font-size:var(--fs-xs);color:var(--c-grid-head-ink);cursor:pointer;border-right:1px solid var(--c-grid-line);border-bottom:1px solid var(--c-grid-line);flex:none;align-items:center;gap:2px;padding:0 6px 0 4px;display:flex}.wbs-grid__drag-handle{cursor:grab;opacity:.35;font-size:9px}@media (width<=720px){.wbs-grid__drag-handle{display:none}}.wbs-grid__row-no{font-variant-numeric:tabular-nums;text-align:right;flex:1}.wbs-grid__critical-dot{background:var(--danger);border-radius:50%;flex:none;width:6px;height:6px}.wbs-grid__blocker-badge{color:#fff;cursor:pointer;background:var(--muted);border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:relative}.wbs-grid__blocker-badge:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wbs-grid__blocker-badge:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.wbs-grid__blocker-badge--high{background:var(--danger)}.wbs-grid__blocker-badge--medium{background:var(--warning)}.wbs-grid__blocker-badge--low{background:var(--muted)}.wbs-grid__risk-marker{width:14px;height:14px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:flex;position:relative}.wbs-grid__risk-marker:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wbs-grid__risk-marker:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.wbs-grid__risk-marker--high{color:var(--danger)}.wbs-grid__risk-marker--medium{color:var(--warning)}.wbs-grid__cell{white-space:nowrap;border-right:1px solid var(--c-grid-line);border-bottom:1px solid var(--c-grid-line);flex:none;align-items:center;min-width:0;height:100%;padding:0 8px;display:flex;overflow:hidden}.wbs-grid__cell--range{background:var(--c-cell-selected)}.wbs-grid__cell--focus{box-shadow:inset 0 0 0 2px var(--primary)}.wbs-grid__cell--remote{box-shadow:inset 0 0 0 2px var(--remote-color,var(--primary));position:relative}.wbs-grid__cell--wbs_code{font-variant-numeric:tabular-nums;color:var(--muted)}.wbs-grid__cell--progress_percent{padding-right:6px}.wbs-grid__cell--planned_effort_hours,.wbs-grid__cell--actual_effort_hours{font-variant-numeric:tabular-nums;justify-content:flex-end}.wbs-grid__cell--planned_start_date,.wbs-grid__cell--planned_end_date,.wbs-grid__cell--actual_start_date,.wbs-grid__cell--actual_end_date{font-variant-numeric:tabular-nums}.wbs-grid__name{align-items:center;gap:4px;min-width:0;display:flex}.wbs-grid__caret{width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;font-size:10px;display:inline-flex}@media (width<=720px){.wbs-grid__caret{width:28px;height:28px;font-size:12px}}.wbs-grid__caret:hover{background:var(--surface-2)}.wbs-grid__caret--leaf{cursor:default}.wbs-grid__caret--leaf:hover{background:0 0}.wbs-grid__milestone{color:var(--accent);flex:none;font-size:10px}.wbs-grid__name-code{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.wbs-grid__name-text{text-overflow:ellipsis;overflow:hidden}.wbs-grid__name-text--summary{font-weight:700}.wbs-grid__assignee{align-items:center;gap:6px;min-width:0;display:flex}.wbs-grid__avatar{width:18px;height:18px;color:var(--primary);background:var(--surface-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.wbs-grid__assignee-name{text-overflow:ellipsis;overflow:hidden}.wbs-grid__progress{align-items:center;gap:6px;width:100%;display:flex}.wbs-grid__progress-track{background:var(--surface-2);border-radius:999px;flex:1;height:5px;overflow:hidden}.wbs-grid__progress-bar{background:var(--success);border-radius:999px;height:100%;display:block}.wbs-grid__progress-label{min-width:32px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.wbs-grid__pred-list{gap:4px;display:flex;overflow:hidden}.wbs-grid__pred-chip{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;background:var(--surface-2);border-radius:999px;flex:none;padding:0 6px}.wbs-grid__notes{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.wbs-grid__slack{font-variant-numeric:tabular-nums;color:var(--muted)}.wbs-grid__slack--danger{color:var(--danger);font-weight:700}.wbs-grid__delay{font-variant-numeric:tabular-nums;color:var(--muted)}.wbs-grid__delay--danger{color:var(--danger);font-weight:700}.wbs-grid__empty{font-size:var(--fs-md);color:var(--muted);margin:0;padding:24px 16px;position:sticky;left:0}.wbs-grid__selection{z-index:5;pointer-events:none;border:2px solid var(--primary);background:0 0;position:absolute}.wbs-grid__remote-chip{color:#fff;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:var(--remote-color,var(--primary));border-radius:0 0 0 4px;max-width:80%;padding:0 4px;font-size:10px;font-weight:600;line-height:14px;position:absolute;top:0;right:0;overflow:hidden}.wbs-grid__column-menu{z-index:120;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-md);padding:6px;display:grid;position:fixed}.wbs-grid__column-menu-item{font-size:var(--fs-md);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.wbs-grid__column-menu-item:hover{background:var(--surface-2)}@keyframes wbs-grid-remote-flash{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.wbs-grid__row--remote-updated:after{opacity:.5;animation:none}}.wbs-card-list{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.wbs-card-list__status{font-size:var(--fs-sm);color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);flex:none;margin:0;padding:6px 12px}.wbs-card-list__error{font-size:var(--fs-sm);color:var(--c-load-high);background:var(--c-load-high-bg);flex:none;margin:0;padding:6px 12px;font-weight:600}.wbs-card-list__scroll{min-height:0;padding:0 12px calc(16px + env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.wbs-card-list__scroll:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card-list__body{width:100%;position:relative}.wbs-card-list__empty{padding:24px 16px calc(24px + env(safe-area-inset-bottom));flex:1;place-content:center;justify-items:center;gap:12px;display:grid}.wbs-card-list__empty-text{font-size:var(--fs-md);color:var(--muted);text-align:center;margin:0}.wbs-card{padding-bottom:8px;position:absolute;left:0;right:0}.wbs-card--context{opacity:.62}.wbs-card--remote-updated:after{z-index:1;pointer-events:none;content:"";background:var(--c-cell-selected);border-radius:var(--radius-md);animation:1.2s ease-out forwards wbs-card-remote-flash;position:absolute;inset:0 0 8px}.wbs-card__inner{margin-left:calc(var(--card-depth,0) * 12px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.wbs-card__header{align-items:flex-start;gap:2px;padding:4px;display:flex}.wbs-card__caret{width:44px;min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;padding:0;line-height:1;display:inline-flex}.wbs-card__caret:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__caret--leaf{background:0 0;border-color:#0000}.wbs-card__child-count{font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.wbs-card__summary{min-width:0;min-height:44px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex-direction:column;flex:1;gap:4px;padding:6px 4px;display:flex}.wbs-card__summary:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__line{align-items:baseline;gap:6px;min-width:0;display:flex}.wbs-card__line--meta{flex-wrap:wrap;align-items:center;gap:4px 8px}.wbs-card__code{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.wbs-card__milestone{font-size:var(--fs-sm);color:var(--accent);flex:none}.wbs-card__name{min-width:0;font-size:var(--fs-lg);color:var(--ink);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.4;display:-webkit-box;overflow:hidden}.wbs-card__name--summary{font-weight:700}.wbs-card__progress{flex:none;align-items:center;gap:6px;width:92px;display:inline-flex}.wbs-card__progress-track{background:var(--surface-2);border-radius:999px;flex:1;height:5px;overflow:hidden}.wbs-card__progress-bar{background:var(--success);border-radius:999px;height:100%;display:block}.wbs-card__progress-label{min-width:30px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.wbs-card__assignee{max-width:108px;font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wbs-card__period{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.wbs-card__badges{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.wbs-card__badge{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:0 8px;font-weight:700;line-height:1.8;display:inline-flex}.wbs-card__badge--critical{color:var(--c-load-high);background:var(--c-load-high-bg)}.wbs-card__badge--delayed{color:var(--c-load-mid);background:var(--c-load-mid-bg)}.wbs-card__badge--remote{color:var(--remote-color,var(--primary));background:var(--surface-2)}.wbs-card__chevron{width:44px;min-height:44px;font:inherit;font-size:var(--fs-lg);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:none;padding:0;line-height:1}.wbs-card__chevron:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__more{width:44px;min-height:44px;font:inherit;font-size:var(--fs-lg);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:none;padding:0;line-height:1}.wbs-card__more:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__detail{border-top:1px solid var(--line);gap:10px;padding:8px 10px 12px;display:grid}.wbs-card__path{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.wbs-card__fields{gap:2px;display:grid}.wbs-card__field{border-bottom:1px solid var(--line);gap:2px;padding:4px 0;display:grid}.wbs-card__field--editing{padding-bottom:8px}.wbs-card__field-label{font-size:var(--fs-xs);color:var(--muted)}.wbs-card__field-value{min-height:44px;font-size:var(--fs-md);color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wbs-card__field-empty{font-size:var(--fs-md);color:var(--muted)}.wbs-card__field-text{white-space:pre-line;word-break:break-word}.wbs-card__field-error{font-size:var(--fs-xs);color:var(--danger);margin:0;font-weight:600}.wbs-card__value-button{min-width:0;min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:8px}.wbs-card__value-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__select{min-width:0;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:0 8px;font-size:16px}.wbs-card__select:disabled{color:var(--muted);background:var(--surface-2)}.wbs-card__date{min-width:0;min-height:44px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:0 8px;font-size:16px}.wbs-card__date:disabled{color:var(--muted);background:var(--surface-2)}.wbs-card__number{align-items:center;gap:4px;display:inline-flex}.wbs-card__number-input{width:96px;min-height:44px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;font-size:16px}.wbs-card__unit{font-size:var(--fs-sm);color:var(--muted)}.wbs-card__progress-edit{align-items:center;gap:6px;display:inline-flex}.wbs-card__progress-step{width:44px;min-height:44px;font:inherit;font-size:var(--fs-lg);color:var(--ink);cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0;line-height:1}.wbs-card__progress-step:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__progress-step:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.wbs-card__progress-input{width:76px;min-height:44px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;font-size:16px}.wbs-card__pred-list{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wbs-card__pred-chip{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface-2);border-radius:999px;padding:2px 8px}.wbs-card__avatar{width:22px;height:22px;font-size:var(--fs-xs);color:var(--primary);background:var(--surface-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.wbs-card__editor-actions{gap:8px;width:100%;display:flex}.wbs-card__editor-button{min-height:44px;font:inherit;font-size:var(--fs-md);color:var(--ink);cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 16px}.wbs-card__editor-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__editor-button--primary{color:#fff;background:var(--primary);border-color:var(--primary);font-weight:700}.wbs-card__actions{flex-wrap:wrap;gap:6px;display:flex}.wbs-card__action{min-width:44px;min-height:44px;font:inherit;font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.wbs-card__action:focus-visible{box-shadow:var(--focus-ring);outline:none}.wbs-card__action:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.wbs-card__action--more{font-size:var(--fs-lg);margin-left:auto;line-height:1}@keyframes wbs-card-remote-flash{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.wbs-card--remote-updated:after{opacity:.5;animation:none}}.cell-editor{z-index:40;background:var(--surface);box-shadow:inset 0 0 0 2px var(--primary), var(--shadow-sm);align-items:stretch;display:flex;position:absolute}.cell-editor--invalid{box-shadow:inset 0 0 0 2px var(--danger), var(--shadow-sm)}.cell-editor--wide{min-width:280px;min-height:0}.cell-editor--inline{border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:stretch;width:100%;min-width:0;min-height:44px;position:static}.cell-editor--inline .cell-editor__tooltip{max-width:none;margin-top:4px;position:static}.cell-editor__input{width:100%;min-width:0;font:inherit;font-size:var(--fs-md);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0 8px}@media (width<=720px){.cell-editor__input{font-size:16px}}.cell-editor__input--number{font-variant-numeric:tabular-nums;text-align:right}.cell-editor__input--token{flex:1;min-width:80px}.cell-editor__textarea{min-width:0;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:none;background:0 0;border:0;outline:none;flex:1;padding:6px 8px;line-height:1.5}@media (width<=720px){.cell-editor__textarea{font-size:16px}}.cell-editor__progress{flex:1;align-items:center;gap:4px;padding-right:8px;display:flex}.cell-editor__unit{font-size:var(--fs-sm);color:var(--muted)}.cell-editor__select{outline:none;flex:1;align-items:center;min-width:0;display:flex}.cell-editor__select-value{font-size:var(--fs-md);white-space:nowrap;flex:1;padding:0 8px;overflow:hidden}.cell-editor__combo{flex:1;align-items:center;min-width:0;display:flex}.cell-editor__tooltip{z-index:140;max-width:260px;font-size:var(--fs-xs);color:#fff;white-space:normal;background:var(--danger);box-shadow:var(--shadow-sm);border-radius:6px;padding:4px 8px;line-height:1.5;position:absolute;top:calc(100% + 4px);left:0}.cell-editor__panel{z-index:130;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:160px;max-height:280px;box-shadow:var(--shadow-md);padding:4px;display:grid;overflow-y:auto}@media (width<=720px){.cell-editor__panel{max-width:calc(100vw - 16px)}}.cell-editor__panel--calendar{min-width:224px;max-height:none;padding:8px}.cell-editor__panel-error{font-size:var(--fs-xs);color:var(--danger);padding:4px 8px}.cell-editor__option{font-size:var(--fs-md);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}@media (width<=720px){.cell-editor__option{min-height:44px}}.cell-editor__option--active{background:var(--surface-2)}.cell-editor__option--muted{color:var(--muted)}.cell-editor__option-avatar{width:18px;height:18px;color:var(--primary);background:var(--surface-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.cell-editor__option-code{min-width:32px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.cell-editor__empty{font-size:var(--fs-sm);color:var(--muted);padding:6px 8px}.cell-editor__tokens{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;padding:3px 6px;display:flex}.cell-editor__chip{font-size:var(--fs-sm);background:var(--surface-2);border-radius:999px;flex:none;align-items:center;gap:3px;padding:1px 4px 1px 8px;display:inline-flex}.cell-editor__chip-code{font-variant-numeric:tabular-nums;color:var(--ink)}.cell-editor__chip-lag{width:32px;font:inherit;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:4px;outline:none;padding:0 2px}.cell-editor__chip-lag:focus{border-color:var(--primary)}.cell-editor__chip-remove{width:16px;height:16px;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.cell-editor__chip-remove:hover{color:var(--danger);background:var(--c-load-high-bg)}.cell-editor__cal-head{justify-content:space-between;align-items:center;gap:4px;margin-bottom:6px;display:flex}.cell-editor__cal-title{font-size:var(--fs-sm);font-weight:700}.cell-editor__cal-nav{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:10px}@media (width<=720px){.cell-editor__cal-nav{width:40px;height:40px;font-size:12px}}.cell-editor__cal-nav:hover{background:var(--surface-2)}.cell-editor__cal-grid{grid-template-columns:repeat(7,28px);gap:1px;display:grid}@media (width<=720px){.cell-editor__cal-grid{grid-template-columns:repeat(7,40px);gap:2px}}.cell-editor__cal-weekday{font-size:var(--fs-xs);color:var(--muted);text-align:center}.cell-editor__cal-day{width:28px;height:26px;font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}@media (width<=720px){.cell-editor__cal-day{width:40px;height:40px}}.cell-editor__cal-day:hover{background:var(--surface-2)}.cell-editor__cal-day--outside{color:var(--muted);opacity:.55}.cell-editor__cal-day--today{box-shadow:inset 0 0 0 1px var(--primary)}.cell-editor__cal-day--selected{color:#fff;background:var(--primary)}.cell-editor__cal-day--selected:hover{background:var(--primary-2)}.cell-editor__cal-foot{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.cell-editor__cal-today{font-size:var(--fs-xs);color:var(--primary);cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:999px;padding:2px 8px}@media (width<=720px){.cell-editor__cal-today{min-height:36px;font-size:var(--fs-sm);padding:2px 14px}}.cell-editor__cal-today:hover{background:var(--surface-2)}.cell-editor__cal-clear{font-size:var(--fs-xs);color:var(--muted);cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:999px;padding:2px 8px}@media (width<=720px){.cell-editor__cal-clear{min-height:36px;font-size:var(--fs-sm);padding:2px 14px}}.cell-editor__cal-clear:hover{background:var(--surface-2)}.context-menu{z-index:150;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:180px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);box-shadow:var(--shadow-md);padding:6px;display:grid;position:fixed;overflow-y:auto}.context-menu__item{font:inherit;font-size:var(--fs-md);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px}.context-menu__item:hover:not(:disabled){background:var(--surface-2)}.context-menu__item:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.context-menu__item--danger{color:var(--danger)}.context-menu__item--danger:hover:not(:disabled){background:var(--c-load-high-bg)}.context-menu__separator{background:var(--line);height:1px;margin:4px 6px}.row-drag{z-index:20;pointer-events:none;position:absolute;inset:0}.row-drag__line{border-top:2px solid var(--primary);height:0;margin-top:-1px;position:absolute;right:0}.row-drag__line:before{content:"";background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:-4px;left:-3px}.row-drag__rail{height:0;position:absolute}.row-drag__stop{border:1px solid var(--primary);opacity:.55;background:0 0;border-radius:50%;width:4px;height:4px;position:absolute;top:-3px}.row-drag__stop--active{background:var(--primary);opacity:1}.row-insert-dialog{gap:16px;display:grid}.row-insert-dialog__placement{border:0;margin:0;padding:0}.row-insert-dialog__legend{font-size:var(--fs-sm);color:var(--ink);margin-bottom:4px;padding:0;font-weight:700}.row-insert-dialog__option{min-height:44px;font-size:var(--fs-md);color:var(--ink);cursor:pointer;align-items:center;gap:6px;margin-right:16px;display:inline-flex}.conflict-dialog{z-index:200;background:#11182766;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@media (width<=720px){.conflict-dialog{padding:12px}}.conflict-dialog__panel{background:var(--surface);border-radius:var(--radius-md);width:min(560px,100%);max-height:min(80vh,640px);box-shadow:var(--shadow-lg);padding:20px 24px;overflow-y:auto}@media (width<=720px){.conflict-dialog__panel{max-height:92dvh;padding:16px}}.conflict-dialog__title{font-size:var(--fs-lg);color:var(--ink);margin:0 0 8px;font-weight:700}.conflict-dialog__lead{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px}.conflict-dialog__table{width:100%;font-size:var(--fs-md);border-collapse:collapse;margin-bottom:16px}.conflict-dialog__th{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:6px 8px;font-weight:600}.conflict-dialog__td{color:var(--ink);word-break:break-all;border-bottom:1px solid var(--c-grid-line);padding:6px 8px}.conflict-dialog__td--label{white-space:nowrap;font-weight:600}.conflict-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.conflict-dialog__queue{font-size:var(--fs-xs);color:var(--muted);text-align:right;margin:12px 0 0}.impact-dialog{z-index:200;background:#11182766;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@media (width<=720px){.impact-dialog{padding:12px}}.impact-dialog__panel{background:var(--surface);width:min(560px,100%);max-height:min(86vh,720px);box-shadow:var(--shadow-lg);border:1px solid #e4eaf4;border-radius:20px;padding:22px;overflow-y:auto}@media (width<=720px){.impact-dialog__panel{max-height:92dvh;padding:16px}}.impact-dialog__header{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:18px;padding-bottom:12px;display:flex}.impact-dialog__title{color:var(--ink);font-size:16px}.impact-dialog__badge{color:#c84054;background:#fff0f2;border-radius:999px;flex:none;padding:7px 10px;font-size:10px;font-weight:900}.impact-dialog__badge--none{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.impact-dialog__lead{font-size:var(--fs-sm);color:var(--muted);margin:10px 0 0}.impact-dialog__loading{font-size:var(--fs-md);color:var(--muted);text-align:center;margin:24px 0}.impact-dialog__error{justify-items:center;gap:8px;margin:20px 0;display:grid}.impact-dialog__error-text{font-size:var(--fs-md);color:var(--danger);margin:0}.impact-dialog__dates{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}@media (width<=480px){.impact-dialog__dates{grid-template-columns:1fr}}.impact-dialog__date{background:#f7f9fc;border-radius:14px;padding:14px 16px}.impact-dialog__date--danger{background:#fff0f2}.impact-dialog__date-label{font-size:var(--fs-xs);color:#8a94a6}.impact-dialog__date-label--danger{color:#c45263}.impact-dialog__date-value{color:var(--ink);margin-top:4px;font-size:20px;display:block}.impact-dialog__date-value--danger{color:#c84054}.impact-dialog__alert{font-size:var(--fs-sm);color:#2a52b7;background:#eef4ff;border-radius:14px;margin:12px 0 0;padding:13px 15px;font-weight:800}.impact-dialog__warning{font-size:var(--fs-sm);color:var(--c-load-mid);background:var(--c-load-mid-bg);border-radius:12px;align-items:baseline;gap:8px;margin:10px 0 0;padding:10px 14px;font-weight:600;display:flex}.impact-dialog__warning-icon{flex:none;font-weight:900}.impact-dialog__list-box{border:1px solid var(--c-grid-line);border-radius:12px;margin-top:14px}.impact-dialog__list-toggle{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 12px;font-weight:700}.impact-dialog__list-toggle:hover{background:var(--surface-2)}.impact-dialog__list{max-height:200px;margin:0;padding:0 0 6px;list-style:none;overflow-y:auto}.impact-dialog__list-row{font-size:var(--fs-sm);border-top:1px solid var(--c-grid-line);align-items:baseline;gap:10px;padding:4px 12px;display:flex}.impact-dialog__list-code{font-variant-numeric:tabular-nums;min-width:42px;color:var(--muted);flex:none}.impact-dialog__list-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.impact-dialog__list-dates{font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.impact-dialog__list-more{font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--c-grid-line);padding:6px 12px 2px}.impact-dialog__reason{margin-top:14px}.impact-dialog__reason-label{font-size:var(--fs-sm);color:var(--ink);align-items:center;gap:6px;font-weight:700;display:flex}.impact-dialog__required{color:#c84054;background:#fff0f2;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900}.impact-dialog__reason-input{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);resize:vertical;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:6px;padding:8px 10px}.impact-dialog__reason-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff26}.impact-dialog__apply-error{font-size:var(--fs-sm);color:var(--danger);margin:10px 0 0;font-weight:700}.impact-dialog__modes{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}@media (width<=720px){.impact-dialog__modes{grid-template-columns:1fr}}.impact-dialog__mode{font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-weight:800}.impact-dialog__mode:hover:not(:disabled){background:var(--surface-2)}.impact-dialog__mode:disabled{cursor:not-allowed;opacity:.45}.impact-dialog__mode--active{color:#fff;background:var(--primary);border-color:var(--primary)}.impact-dialog__mode--active:hover:not(:disabled){background:var(--primary-2)}.impact-dialog__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.baseline-dialog{z-index:200;background:#11182766;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.baseline-dialog__panel{background:var(--surface);border-radius:var(--radius-md);width:min(420px,100%);box-shadow:var(--shadow-lg);padding:20px 24px}.baseline-dialog__title{font-size:var(--fs-lg);color:var(--ink);margin:0 0 8px;font-weight:700}.baseline-dialog__lead{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px}.baseline-dialog__label{font-size:var(--fs-sm);color:var(--ink);margin-bottom:4px;font-weight:700;display:block}.baseline-dialog__input{width:100%;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.baseline-dialog__input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2864ff26}.baseline-dialog__error{font-size:var(--fs-sm);color:var(--danger);margin:10px 0 0;font-weight:700}.baseline-dialog__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.gantt{min-width:0;min-height:0;font-size:var(--fs-md);background:var(--c-gantt-bg);-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.gantt__pane{flex:1;min-height:0;position:relative;overflow:auto}@media (width<=720px){.gantt__pane{overscroll-behavior:contain}}.gantt__pane:focus{outline:none}.gantt__pane:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.gantt__header{z-index:4;height:var(--grid-head-h);background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);min-width:100%;position:sticky;top:0}.gantt__header-row{height:50%;position:relative;overflow:hidden}.gantt__header-row:first-child{border-bottom:1px solid var(--c-grid-line)}.gantt__header-cell{font-size:var(--fs-xs);color:var(--c-grid-head-ink);white-space:nowrap;border-right:1px solid var(--c-grid-line);align-items:center;padding:0 6px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt__header-cell--minor{justify-content:center;padding:0 2px;font-weight:500}.gantt__body{min-width:100%;min-height:100%;position:relative}.gantt__nonworking{z-index:0;pointer-events:none;background:var(--c-gantt-nonworking);height:100%;position:absolute;top:0}.gantt__today-line{z-index:3;pointer-events:none;background:var(--primary);width:2px;height:100%;position:absolute;top:0}.gantt__today-chip{font-size:var(--fs-xs);color:#fff;white-space:nowrap;background:var(--primary);border-radius:999px;padding:0 6px;font-weight:700;line-height:1.6;position:absolute;top:4px;left:4px}.gantt__row{z-index:1;border-bottom:1px solid var(--c-grid-line);position:absolute;left:0;right:0}.gantt__bar{z-index:2;cursor:default;background:linear-gradient(180deg, var(--c-gantt-bar-from), var(--c-gantt-bar-to));border-radius:7px;position:absolute;box-shadow:0 1px 2px #203d7d40}.gantt__bar:focus{outline:none}.gantt__bar:focus-visible{box-shadow:var(--focus-ring)}.gantt__bar--summary{background:var(--c-gantt-summary);box-shadow:none;border-radius:2px 2px 0 0}.gantt__bar--summary:before,.gantt__bar--summary:after{content:"";background:var(--c-gantt-summary);border-radius:0 0 3px 3px;width:3px;height:11px;position:absolute;top:0}.gantt__bar--summary:before{left:0}.gantt__bar--summary:after{right:0}.gantt__bar--milestone{background:var(--accent);box-shadow:none;border-radius:2px;transform:rotate(45deg)}.gantt__bar--delayed{background:linear-gradient(180deg, var(--c-gantt-bar-delayed-from), var(--c-gantt-bar-delayed-to))}.gantt__bar--critical{background:linear-gradient(180deg, var(--c-gantt-bar-critical-from), var(--c-gantt-bar-critical-to));outline:2px solid var(--danger);outline-offset:1px;box-shadow:0 0 0 1px #ff5d7266}.gantt__bar--blocked{outline:1px solid var(--danger);outline-offset:0}.gantt__bar--previewing{outline:2px dashed var(--primary);outline-offset:1px;opacity:.55}.gantt__bar-blocker-cap{pointer-events:none;background:var(--danger);border-radius:7px 0 0 7px;width:4px;position:absolute;top:0;bottom:0;left:0}.gantt__bar-critical-mark{color:#fff;pointer-events:none;font-size:7px;line-height:1;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.gantt__baseline-bar{z-index:1;pointer-events:none;background:var(--c-gantt-baseline);border-radius:7px;position:absolute}.gantt__bar-progress{background:var(--c-gantt-bar-progress);border-radius:inherit;max-width:100%;position:absolute;top:0;bottom:0;left:0}.gantt__bar-label{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.gantt__actual-bar{z-index:2;pointer-events:none;background:var(--ink);opacity:.65;border-radius:3px;position:absolute}.gantt__dep-layer{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.gantt__dep-line{fill:none;pointer-events:none;stroke:var(--c-gantt-dep);stroke-width:1.5px}.gantt__dep-line--selected{stroke:var(--primary);stroke-width:2.5px}.gantt__dep-line--muted{opacity:.3}.gantt__dep-hit{fill:none;cursor:pointer;pointer-events:stroke;stroke:#0000;stroke-width:10px}.gantt__dep-hit:hover+.gantt__dep-line{stroke:var(--primary);stroke-width:2.5px}.gantt__dep-arrow{fill:var(--c-gantt-dep)}.gantt__dep-arrow--selected{fill:var(--primary)}.gantt__dep-rubber{fill:none;pointer-events:none;stroke:var(--primary);stroke-dasharray:5 4;stroke-width:2px}.gantt__dep-target{fill:#2864ff29;pointer-events:none;stroke:var(--primary);stroke-width:2px}.gantt__dep-target--ng{fill:#ff5d7238;stroke:var(--danger);animation:.7s ease-out gantt-dep-ng-flash}.gantt__dep-handle{z-index:3;background:var(--surface);border:2px solid var(--primary);opacity:0;border-radius:50%;width:9px;height:9px;transition:opacity .12s;position:absolute;top:50%;transform:translateY(-50%)}.gantt__dep-handle--start{pointer-events:none;left:-13px}.gantt__dep-handle--end{cursor:crosshair;right:-13px}.gantt__row:hover .gantt__dep-handle,.gantt__bar:focus-visible .gantt__dep-handle{opacity:1}.gantt__dep-endpoint{fill:var(--surface);cursor:grab;pointer-events:all;stroke:var(--primary);stroke-width:2px}.gantt__dep-endpoint:hover{fill:var(--primary)}.gantt__dep-endpoint--dragging{cursor:grabbing}.gantt__bar-handle{z-index:2;cursor:col-resize;width:6px;position:absolute;top:0;bottom:0}.gantt__bar-handle--start{left:0}.gantt__bar-handle--end{right:0}.gantt__bar--draggable{cursor:grab}.gantt__bar--dragging{cursor:grabbing}.gantt__drag-tooltip{z-index:5;font-size:var(--fs-xs);color:#fff;white-space:nowrap;pointer-events:none;background:var(--ink);box-shadow:var(--shadow-md);border-radius:6px;padding:2px 8px;font-weight:700;line-height:1.6;position:absolute}.gantt__lag-popover{z-index:150;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);align-items:flex-end;gap:8px;padding:10px;display:flex;position:fixed}.gantt__lag-label{font-size:var(--fs-xs);color:var(--muted);gap:4px;font-weight:600;display:grid}.gantt__lag-input{width:72px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px}.gantt__lag-input:focus-visible{box-shadow:var(--focus-ring);outline:none}@keyframes gantt-dep-ng-flash{0%,to{opacity:1}25%,75%{opacity:.25}50%{opacity:1}}.dep-picker{z-index:150;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;gap:6px;padding:10px;display:flex;position:fixed}.dep-picker__header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dep-picker__title{font-size:var(--fs-xs);color:var(--ink);font-weight:700}.dep-picker__anchor{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dep-picker__input{font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.dep-picker__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.dep-picker__list{max-height:200px;overflow-y:auto}.dep-picker__error{font-size:var(--fs-xs);color:var(--danger);padding:6px 8px}.dep-picker__option{font-size:var(--fs-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:5px;align-items:baseline;gap:8px;padding:5px 8px;display:flex;overflow:hidden}.dep-picker__option--active{background:var(--surface-2)}.dep-picker__option-code{font-size:var(--fs-xs);color:var(--muted);flex:none;font-weight:700}.dep-picker__empty{font-size:var(--fs-xs);color:var(--muted);padding:6px 8px}.share-timeline{--share-timeline-name-w:220px;gap:6px;min-width:0;display:grid}@media (width<=720px){.share-timeline{--share-timeline-name-w:108px}}.share-timeline__head{grid-template-columns:var(--share-timeline-name-w) 1fr;align-items:end;gap:8px;display:grid}.share-timeline__head-label{min-width:0}.share-timeline__head-track{border-bottom:1px solid var(--c-grid-line);min-width:0;display:flex}.share-timeline__month{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-left:1px solid var(--c-grid-line);font-weight:700;overflow:hidden}.share-timeline__month:first-child{border-left:0}.share-timeline__rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.share-timeline__row{grid-template-columns:var(--share-timeline-name-w) 1fr;align-items:center;gap:8px;min-height:26px;display:grid}.share-timeline__name{font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-timeline__name--summary{font-weight:700}.share-timeline__name--milestone{color:var(--accent)}.share-timeline__track{background:var(--c-gantt-bg);border-radius:var(--radius-sm);min-width:0;height:18px;position:relative}.share-timeline__today{background:var(--danger);opacity:.55;width:2px;position:absolute;top:0;bottom:0}.share-timeline__bar{background:linear-gradient(180deg, var(--c-gantt-bar-from), var(--c-gantt-bar-to));border-radius:6px;height:12px;position:absolute;top:3px;overflow:hidden}.share-timeline__bar--summary{background:var(--c-gantt-summary)}.share-timeline__bar--done{background:linear-gradient(180deg, #4fc79c, var(--success))}.share-timeline__progress{background:var(--c-gantt-bar-progress);height:100%;display:block}.share-timeline__marker{background:var(--accent);border-radius:2px;width:12px;height:12px;margin-left:-6px;position:absolute;top:3px;transform:rotate(45deg)}.share-timeline__period{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.share-task-list{border-collapse:collapse;width:100%}.share-task-list__th{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;white-space:nowrap;background:var(--c-grid-head-bg);border-bottom:1px solid var(--c-grid-line);padding:8px 10px;font-weight:700}.share-task-list__tr{border-bottom:1px solid var(--c-grid-line)}.share-task-list__td{font-size:var(--fs-sm);color:var(--ink);vertical-align:top;padding:8px 10px}.share-task-list__name{display:inline-block}.share-task-list__name--summary{font-weight:700}.share-task-list__name--milestone{color:var(--accent)}.share-task-list__status{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:700;display:inline-block}.share-task-list__status--not_started{color:var(--c-status-todo);background:var(--surface-2)}.share-task-list__status--in_progress{color:var(--c-status-doing);background:var(--surface-2)}.share-task-list__status--done{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.share-task-list__status--on_hold{color:var(--c-load-mid);background:var(--c-load-mid-bg)}@media (width<=720px){.share-task-list__th,.share-task-list__td{padding:6px 8px}}.share-links{align-content:start;gap:20px;display:grid}.share-links__lead{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.7}.share-links__form{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:18px 20px;display:grid}@media (width<=720px){.share-links__form{padding:14px 12px}}.share-links__form-title{font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:700}.share-links__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}@media (width<=720px){.share-links__row{grid-template-columns:minmax(0,1fr)}}.share-links__hint{font-size:var(--fs-xs);color:var(--muted);margin:4px 0 0;line-height:1.6}.share-links__toggles{gap:10px;margin:0;padding:0;list-style:none;display:grid}.share-links__toggle{gap:2px;display:grid}.share-links__toggle-label{cursor:pointer;align-items:center;gap:8px;min-height:24px;display:flex}.share-links__toggle-input{width:16px;height:16px;accent-color:var(--primary)}.share-links__toggle-text{font-size:var(--fs-md);color:var(--ink)}.share-links__toggle-description{font-size:var(--fs-xs);color:var(--muted);margin:0 0 0 24px;line-height:1.6}.share-links__actions{justify-content:flex-end;display:flex}.share-links__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.share-links__item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:8px;padding:14px 16px;display:grid}.share-links__item--revoked{opacity:.66}.share-links__item-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-links__item-label{font-size:var(--fs-lg);color:var(--ink);font-weight:700}.share-links__badge{font-size:var(--fs-xs);border-radius:999px;padding:1px 10px;font-weight:700}.share-links__badge--active{color:var(--c-load-ok);background:var(--c-load-ok-bg)}.share-links__badge--revoked{color:var(--muted);background:var(--surface-2)}.share-links__badge--password{color:var(--c-status-doing);background:var(--surface-2)}.share-links__url{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);color:var(--muted);margin:0}.share-links__stats{flex-wrap:wrap;gap:4px 20px;margin:0;display:flex}.share-links__stat{align-items:baseline;gap:6px;display:flex}.share-links__stat-key{font-size:var(--fs-xs);color:var(--muted)}.share-links__stat-value{font-size:var(--fs-sm);color:var(--ink);margin:0;font-weight:700}.share-links__item-actions{flex-wrap:wrap;gap:8px;display:flex}.share-links__log{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.share-links__log-table{border-collapse:collapse;width:100%}.share-links__log-th{font-size:var(--fs-xs);color:var(--c-grid-head-ink);text-align:left;white-space:nowrap;border-bottom:1px solid var(--c-grid-line);padding:6px 8px;font-weight:700}.share-links__log-td{overflow-wrap:anywhere;font-size:var(--fs-xs);color:var(--ink);border-bottom:1px solid var(--c-grid-line);padding:6px 8px}:root{--bg:#f6f8fc;--surface:#fff;--surface-2:#eef3ff;--ink:#111827;--muted:#667085;--line:#11182714;--primary:#2864ff;--primary-2:#1848d6;--accent:#6c5ce7;--success:#15b87a;--warning:#ff9f43;--danger:#ff5d72;--shadow-lg:0 30px 80px #203d7d29;--shadow-md:0 18px 50px #203d7d1c;--shadow-sm:0 4px 14px #203d7d14;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--max:1180px;--font-sans:Inter, Noto Sans JP, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--c-grid-bg:#fff;--c-grid-line:#eef1f6;--c-grid-head-bg:#f8faff;--c-grid-head-ink:#7b8497;--c-row-active:#f1f6ff;--c-cell-selected:#2864ff1a;--c-gantt-bg:#fcfdff;--c-gantt-nonworking:#11182709;--c-gantt-bar-from:#5f88ff;--c-gantt-bar-to:#2f65f6;--c-gantt-bar-progress:#11182747;--c-gantt-bar-delayed-from:#ffb26b;--c-gantt-bar-delayed-to:#f27a45;--c-gantt-bar-critical-from:#ff8296;--c-gantt-bar-critical-to:#ff5d72;--c-gantt-baseline:#66708566;--c-gantt-summary:#3f4a63;--c-gantt-dep:#8a94ad;--c-status-todo:#8a93a4;--c-status-doing:#2456ca;--c-status-done:#13855c;--c-status-hold:#a86413;--c-load-ok-bg:#eef8f4;--c-load-ok:#14815a;--c-load-mid-bg:#fff7e9;--c-load-mid:#a9691a;--c-load-high-bg:#fff0f2;--c-load-high:#ca4053;--c-load-over-bg:#ff5d72;--c-load-over:#fff;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:18px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--row-h:32px;--row-h-compact:28px;--row-h-roomy:40px;--grid-head-h:36px;--focus-ring:0 0 0 2px #fff, 0 0 0 4px var(--primary)}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}body.is-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}
