@charset "UTF-8";:root{--font-sans: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Noto Sans SC", "Microsoft YaHei", "微软雅黑", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", "Consolas", "Courier New", monospace;--logo-navy: #254267;--logo-teal: #3ba6b3;--brand-900: #182b44;--brand-800: #1e3553;--brand-700: #254267;--brand-600: #2e517f;--brand-500: #39649d;--brand-100: #cedcec;--brand-50: #ecf1f8;--brand-ring: rgba(37, 66, 103, .28);--bg: #f6f7f9;--surface: #ffffff;--surface-sunken: #f1f3f6;--surface-hover: #f8f9fb;--fg: #101828;--fg-2: #334155;--muted: #64748b;--meta: #94a3b8;--border: #e3e7ed;--border-strong: #cbd5e1;--border-soft: #eef1f5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-metric: 30px;--leading-body: 1.6;--leading-tight: 1.3;--leading-none: 1.1;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 24px -4px rgba(16, 24, 40, .1), 0 4px 8px -4px rgba(16, 24, 40, .04);--glow-risk: 0 0 0 3px rgba(220, 38, 38, .18);--z-base: 0;--z-sticky: 100;--z-sidebar: 200;--z-header: 300;--z-dropdown: 1000;--z-drawer: 1100;--z-modal: 1200;--z-toast: 1300;--motion-instant: 80ms;--motion-fast: .15s;--motion-base: .2s;--motion-slow: .28s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--success: #16a34a;--success-bg: #e4f5ea;--success-fg: #15803d;--warn: #ca8a04;--warn-bg: #fdf6d8;--warn-fg: #8a5a00;--danger: #dc2626;--danger-bg: #fee9e9;--danger-fg: #9f1239;--info: #2563eb;--info-bg: #e5eeff;--info-fg: #1d4ed8;--st-danger: #dc2626;--st-danger-bg: #fee9e9;--st-danger-fg: #9f1239;--st-pending: #ca8a04;--st-pending-bg: #fdf6d8;--st-pending-fg: #8a5a00;--st-active: #2563eb;--st-active-bg: #e5eeff;--st-active-fg: #1d4ed8;--st-done: #16a34a;--st-done-bg: #e4f5ea;--st-done-fg: #15803d;--st-idle: #94a3b8;--st-idle-bg: #f1f3f6;--st-idle-fg: #52627a;--st-warn: #ea580c;--st-warn-bg: #fdebe0;--st-warn-fg: #9a3412;--st-hold: #7c3aed;--st-hold-bg: #efe9fe;--st-hold-fg: #5b21b6;--st-stopped: #4b5563;--st-stopped-bg: #eceef1;--st-stopped-fg: #374151;--st-branch: #0891b2;--st-branch-bg: #ddf3f7;--st-branch-fg: #0e6c82;--st-reject-stroke: #dc2626;--st-reject-bg: #fdf6d8;--st-unassigned-fill: #ffffff;--st-unassigned-stroke: #94a3b8;--prio-p0-bg: #dc2626;--prio-p0-fg: #ffffff;--prio-p1-bg: #fdebe0;--prio-p1-fg: #9a3412;--prio-p2-bg: #f1f3f6;--prio-p2-fg: #52627a;--prio-p3-bg: #ffffff;--prio-p3-fg: #94a3b8;--prio-p3-border: #cbd5e1;--btn-primary-bg: var(--brand-700);--btn-primary-bg-hover: var(--brand-800);--btn-primary-bg-active: var(--brand-900);--btn-primary-fg: #ffffff;--btn-secondary-bg: var(--surface);--btn-secondary-fg: var(--brand-700);--btn-secondary-border: var(--border-strong);--btn-secondary-bg-hover: var(--brand-50);--btn-ghost-bg: transparent;--btn-ghost-fg: var(--fg-2);--btn-ghost-bg-hover: var(--surface-sunken);--btn-danger-bg: var(--st-danger);--btn-danger-bg-hover: #b91c1c;--btn-danger-fg: #ffffff;--btn-height: 32px;--btn-height-lg: 38px;--btn-padding-x: 14px;--btn-radius: var(--radius-md);--btn-font-size: var(--text-md);--input-bg: var(--surface);--input-fg: var(--fg);--input-border: var(--border-strong);--input-border-hover: var(--meta);--input-border-focus: var(--brand-700);--input-ring-focus: var(--brand-ring);--input-border-error: var(--danger);--input-ring-error: rgba(220, 38, 38, .22);--input-bg-disabled: var(--surface-sunken);--input-fg-disabled: var(--meta);--input-height: 32px;--input-radius: var(--radius-md);--table-header-bg: var(--surface-sunken);--table-header-fg: var(--muted);--table-header-size: var(--text-base);--table-row-bg: var(--surface);--table-row-bg-hover: var(--surface-hover);--table-row-bg-selected: var(--brand-50);--table-row-border: var(--border-soft);--table-row-height: var(--density-row-height);--table-cell-padding-x: var(--density-pad-x);--table-font-size: var(--text-md);--card-bg: var(--surface);--card-border: var(--border);--card-border-hover: var(--border-strong);--card-border-selected: var(--brand-700);--card-radius: var(--radius-lg);--card-padding: var(--density-card-pad);--card-shadow: var(--shadow-none);--nav-width: 232px;--nav-width-collapsed: 56px;--nav-bg: var(--surface);--nav-border: var(--border);--nav-item-height: 40px;--nav-item-radius: var(--radius-md);--nav-item-fg: var(--fg-2);--nav-item-bg-hover: var(--surface-sunken);--nav-item-bg-active: var(--brand-50);--nav-item-fg-active: var(--brand-700);--nav-group-fg: var(--meta);--nav-group-size: var(--text-xs);--nav-badge-bg: var(--st-danger);--nav-badge-fg: #ffffff;--header-height: 56px;--header-bg: var(--surface);--header-border: var(--border);--progress-height: 6px;--progress-track: var(--border);--progress-radius: var(--radius-full);--node-dot-size: 20px;--node-dot-size-sm: 16px;--node-gap: 24px;--node-line-width: 2px;--node-fold-threshold: 9;--node-fold-visible: 8;--node-fold-chip-size: 20px;--login-panel-bg: var(--brand-700);--login-panel-fg: #ffffff;--login-panel-fg-dim: rgba(255, 255, 255, .72);--login-logo-width: 240px;--login-logo-width-min: 160px;--login-card-width: 400px;--login-card-padding: var(--space-8);--login-split: 42fr 58fr;--tag-height: 22px;--tag-padding-x: 8px;--tag-radius: var(--radius-sm);--tag-font-size: var(--text-sm);--icon-size-inline: 16px;--icon-size-button: 20px;--icon-size-standalone: 24px;--icon-stroke-inline: 1.5;--icon-stroke-button: 2;--icon-stroke-standalone: 2;--icon-color: currentColor;--layout-gutter: var(--space-6);--layout-gutter-wide: var(--space-8);--section-gap: var(--density-section-gap);--card-gap: var(--space-4);--grid-columns: 12;--grid-gutter: var(--space-4);--timeline-col-width: 200px;--density-row-height: 40px;--density-pad-x: 12px;--density-card-pad: 16px;--density-section-gap: 20px;--density-kpi-gap: 12px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--focus-ring-width: 3px;--focus-ring-color: var(--brand-ring)}[data-density=comfortable]{--density-row-height: 48px;--density-pad-x: 16px;--density-card-pad: 20px;--density-section-gap: 24px;--density-kpi-gap: 16px}*{box-sizing:border-box}html{font-size:var(--text-md);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.num,.metric,td[data-type=number],td[data-type=percent],td[data-type=date],.progress-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.tap-target{position:relative}.tap-target:after{content:"";position:absolute;inset:-6px;min-width:44px;min-height:44px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.is-terminated{color:var(--st-stopped-fg);text-decoration:line-through;text-decoration-thickness:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.bp-hide-phone{display:none!important}.bp-only-phone{display:revert!important}.bp-table-desktop{display:none!important}.bp-cards-phone{display:flex!important}}.bp-only-phone{display:none}@media(min-width:768px){.bp-cards-phone{display:none!important}}.bp-tap-lg{min-height:32px}@media(max-width:767px){.bp-tap-lg{min-height:44px}.reminder,.reminder-summary,.reminder-filter,.reminder-note{padding-left:var(--space-3);padding-right:var(--space-3)}}@media(max-width:1023px){.bp-desktop-only{display:none!important}}@media(max-width:767px){.bp-tablet-only{display:none!important}}@media(min-width:1024px){.bp-tablet-only{display:none!important}}@media(min-width:768px)and (max-width:1023px){.bp-hide-tablet{display:none!important}}@media(min-width:1024px){.bp-hide-laptop,.bp-only-phone,.bp-below-laptop{display:none!important}}@media(min-width:1440px){.bp-wide-padding{padding-left:var(--space-8);padding-right:var(--space-8)}}@media(max-width:639px){.bp-kpi-grid-4,.bp-entry-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(min-width:640px)and (max-width:1023px){.bp-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bp-entry-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(min-width:1024px){.bp-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bp-entry-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}}.pd-timeline--chips{display:none}@media(max-width:767px){.pd-grid{grid-template-columns:minmax(0,1fr)!important}.pd-timeline{position:static!important;max-height:none}.pd-timeline--vertical{display:none!important}.pd-timeline--chips{display:flex!important}.pd-indent,.pd-branch{--pd-indent: 16px}.pd-branch-sub{padding-left:16px}}@media(min-width:768px)and (max-width:1023px){.pd-grid{grid-template-columns:160px 1fr!important}.pd-indent{--pd-indent: 20px}}@media(min-width:1024px){.pd-grid{grid-template-columns:200px 1fr!important}.pd-indent{--pd-indent: 24px}}@media(max-width:767px){:root{--density-row-height: 48px;--density-pad-x: 16px;--density-card-pad: 20px;--density-section-gap: 24px;--density-kpi-gap: 16px}}html,body,#root{height:100%}body{margin:0}.ant-table-tbody>tr>td{height:var(--density-row-height);padding-top:0;padding-bottom:0;font-size:var(--text-md)}.ant-table-thead>tr>th{font-size:var(--text-base);font-weight:var(--weight-medium)}.ant-table-tbody>tr>td.is-terminated-cell .cell-text{color:var(--st-stopped-fg);text-decoration:line-through}.ant-table-cell.num{font-variant-numeric:tabular-nums}.row-actions{opacity:0;transition:opacity var(--motion-fast) var(--ease-standard)}tr:hover .row-actions,.row-actions:focus-within{opacity:1}@media(max-width:767px){.row-actions{opacity:1}}.card-stream{display:flex;flex-direction:column;gap:var(--card-gap)}.data-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:var(--space-3)}.data-card__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-card__code{font-size:var(--text-sm);color:var(--meta);font-variant-numeric:tabular-nums}.data-card__meta{font-size:var(--text-base);color:var(--muted);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.data-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.inline-icon{display:inline-flex;align-items:center;gap:var(--space-1);vertical-align:middle}.cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-urgency-warn{background:var(--st-warn-bg);color:var(--st-warn-fg);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-variant-numeric:tabular-nums}.cell-urgency-overdue{background:var(--st-danger-bg);color:var(--st-danger-fg);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-variant-numeric:tabular-nums}.row-hold>td{background:var(--st-hold-bg)!important}.row-stopped>td{background:var(--st-stopped-bg)!important}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-shell__nav{flex:0 0 var(--nav-width);width:var(--nav-width);background:var(--nav-bg);border-right:1px solid var(--nav-border);position:sticky;top:0;height:100vh;overflow-y:auto;z-index:var(--z-sidebar)}.app-shell__nav--collapsed{flex-basis:var(--nav-width-collapsed);width:var(--nav-width-collapsed)}.app-shell__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.app-shell__header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--header-border);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--layout-gutter);position:sticky;top:0;z-index:var(--z-header)}.app-shell__content{flex:1 1 auto;padding:var(--layout-gutter);padding-bottom:var(--space-12)}@media(max-width:767px){.app-shell__nav{display:none}.app-shell__content{padding:var(--space-3);padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom,0px))}.app-shell__header{padding:0 var(--space-3)}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--section-gap)}.page-head__title{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--fg);margin:0}.page-head__sub{font-size:var(--text-base);color:var(--muted);margin-top:var(--space-1);font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--section-gap);flex-wrap:wrap}.toolbar__spacer{flex:1 1 auto}.identity-switcher__trigger.ant-btn{flex:0 0 auto;min-width:44px;height:44px}.identity-switcher{min-width:0}.identity-switcher__intro{max-width:65ch;margin:0 0 var(--space-4);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-body)}.identity-switcher__return.ant-btn{min-height:44px;height:auto;margin-bottom:var(--space-3);padding-block:var(--space-2);white-space:normal}.identity-switcher__list{max-height:min(52vh,520px);overflow-y:auto}.identity-switcher__list .ant-list-item{padding:var(--space-1) 0}.identity-switcher__choice.ant-btn{min-width:0;min-height:52px;height:auto;padding:var(--space-2) var(--space-3);white-space:normal}.identity-switcher__choice-inner{display:flex;align-items:center;gap:var(--space-2);width:100%;min-width:0;text-align:left}.identity-switcher__identity{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:var(--space-1)}.identity-switcher__name,.identity-switcher__role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-switcher__name{color:var(--fg);font-size:var(--text-md);font-weight:var(--weight-medium)}.identity-switcher__role{color:var(--muted);font-size:var(--text-base)}.identity-switcher__tag.ant-tag,.identity-switcher__pending{flex:0 0 auto}.identity-switcher__tag.ant-tag{margin-inline-end:0}.identity-switcher__pending{color:var(--brand-700)}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--header-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);display:flex;z-index:var(--z-sticky)}.tabbar__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:var(--text-xs);position:relative}.tabbar__item--active{color:var(--brand-700)}.tabbar__badge{position:absolute;top:2px;left:50%;margin-left:6px;pointer-events:none}.sidenav__label{position:relative}.sidenav__badge{position:absolute;top:50%;left:100%;margin-left:var(--space-2);transform:translateY(-50%);pointer-events:none}.reminder-title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.reminder-summary{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-soft);color:var(--brand-700);font-size:var(--text-base);font-weight:var(--weight-medium)}.reminder-summary__total{color:var(--meta);font-weight:var(--weight-regular)}.reminder-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-soft)}.reminder-filter__chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--fg-2);font-family:inherit;font-size:var(--text-base);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.reminder-filter__chip:hover{border-color:var(--brand-500);background:var(--surface-hover)}.reminder-filter__chip--active{border-color:var(--brand-700);background:var(--brand-50);color:var(--brand-700);font-weight:var(--weight-medium)}.reminder-list{display:flex;flex-direction:column}.reminder{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-soft)}.reminder--unread{background:var(--brand-50)}.reminder__icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.reminder__body{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:var(--space-2)}.reminder__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.reminder__type{color:var(--muted);font-size:var(--text-base)}.reminder__time{color:var(--meta);font-size:var(--text-sm)}.reminder__message{margin:0;color:var(--fg);font-size:var(--text-md);line-height:var(--leading-body);word-break:break-word}.reminder__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reminder__actions .ant-btn{height:auto;min-height:40px;padding-block:4px}.reminder-note{padding:var(--space-3) var(--space-4);color:var(--meta);font-size:var(--text-base)}.reminder-entry{align-items:flex-start;cursor:pointer;font-family:inherit;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard)}.reminder-entry:hover{border-color:var(--card-border-hover)}.login-grid{display:grid;grid-template-columns:var(--login-split);min-height:100vh}.login-panel{background:var(--login-panel-bg);color:var(--login-panel-fg);padding:var(--space-8);display:flex;flex-direction:column;position:relative}.login-panel__logo{width:var(--login-logo-width);max-width:100%;height:auto}.login-panel__sub{font-size:var(--text-md);color:var(--login-panel-fg-dim);margin-top:var(--space-6)}.login-panel__version{font-size:var(--text-sm);color:var(--login-panel-fg-dim);position:absolute;left:var(--space-8);bottom:var(--space-8)}.login-form-side{background:var(--bg);display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.login-card{width:var(--login-card-width);max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--login-card-padding);box-shadow:none}.login-card__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--fg);margin:0 0 var(--space-1)}.login-card__hint{font-size:var(--text-base);color:var(--muted);margin:0 0 var(--space-6)}.login-alert{display:flex;align-items:center;gap:var(--space-2);background:var(--danger-bg);color:var(--danger-fg);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-base);margin-bottom:var(--space-4)}.field-label{display:block;font-size:var(--text-md);color:var(--fg-2);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.field-error{color:var(--danger-fg);font-size:var(--text-sm);margin-top:var(--space-1)}.login-forgot{display:block;text-align:right;margin-top:var(--space-3);font-size:var(--text-base)}@media(max-width:1023px){.login-grid{grid-template-columns:1fr}.login-panel{height:96px;flex-direction:row;align-items:center;padding:0 var(--space-4)}.login-panel__logo{width:var(--login-logo-width-min)}.login-panel__sub,.login-panel__version{display:none}.login-form-side{padding:var(--space-4);align-items:flex-start}.login-card{width:calc(100% - var(--space-8));margin:0 auto}}@media(max-width:767px){.login-card{padding:var(--space-6)}}.status-tag{display:inline-flex;align-items:center;height:var(--tag-height);padding:0 var(--tag-padding-x);border-radius:var(--tag-radius);font-size:var(--tag-font-size);line-height:1;white-space:nowrap;border:1px solid transparent}.prio-tag{display:inline-flex;align-items:center;height:var(--tag-height);padding:0 var(--tag-padding-x);border-radius:var(--tag-radius);font-size:var(--tag-font-size);line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1;color:var(--nav-badge-fg);font-variant-numeric:tabular-nums}.chip-bar{display:flex;gap:var(--space-2);flex-wrap:wrap}@media(max-width:767px){.chip-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--space-1)}}.chip{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--btn-height);padding:0 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--fg-2);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.chip:hover{border-color:var(--border-strong)}.chip--active{background:var(--brand-50);border-color:var(--brand-700);color:var(--brand-700)}.chip__count{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.chip--active .chip__count{color:var(--brand-700)}.metric-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:var(--space-2);position:relative;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard)}button.metric-card:hover{border-color:var(--card-border-hover);cursor:pointer}.metric-card__icon{color:var(--muted)}.metric-card__label{font-size:var(--text-base);color:var(--muted)}.metric-card__row{display:flex;align-items:baseline;gap:var(--space-2)}.metric-card__value{font-size:var(--text-metric);font-weight:var(--weight-bold);line-height:var(--leading-none);color:var(--fg);font-variant-numeric:tabular-nums}.metric-card__value--zero{color:var(--meta)}.metric-card__badge{position:absolute;top:var(--space-3);right:var(--space-3)}.progress-cell{display:flex;align-items:center;gap:var(--space-2)}.progress-cell__track{flex:1 1 auto;height:var(--progress-height);background:var(--progress-track);border-radius:var(--progress-radius);overflow:hidden}.progress-cell__fill{height:100%;border-radius:var(--progress-radius);transition:width var(--motion-base) var(--ease-standard)}.progress-cell__value{font-size:var(--text-sm);color:var(--fg-2);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);color:var(--muted);text-align:center}.empty-state__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-2)}.empty-state__desc{font-size:var(--text-base);max-width:42ch}.error-retry{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--st-danger-fg);font-size:var(--text-base)}@keyframes spin-icon{to{transform:rotate(360deg)}}.spin{animation:spin-icon .8s linear infinite}@media(prefers-reduced-motion:reduce){.spin{animation-duration:.01ms;animation-iteration-count:1}}.category-bar{display:inline-flex;align-items:center;gap:var(--space-2)}.category-bar__stripe{width:3px;height:14px;border-radius:var(--radius-xs);flex:0 0 auto}.category-bar__label{font-size:var(--text-sm);color:var(--fg-2)}.node-chain{display:flex;align-items:center;gap:var(--node-gap)}.node-chain__item{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.node-chain__dot{width:var(--node-dot-size);height:var(--node-dot-size);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transition:box-shadow var(--motion-fast) var(--ease-standard)}.node-chain__glyph{display:inline-flex;align-items:center;justify-content:center}.node-chain__marker{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--st-branch);border:1px solid var(--surface)}.node-chain__line{position:absolute;left:100%;top:50%;width:var(--node-gap);height:var(--node-line-width);transform:translateY(-50%);pointer-events:none}.node-chain__more{width:var(--node-dot-size);height:var(--node-dot-size);border-radius:var(--radius-full);background:var(--surface-sunken);border:1px solid var(--border-strong);color:var(--fg-2);font-size:var(--text-xs);display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.node-chain__count{margin-left:var(--space-2);font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.node-chain__item:nth-child(n+9){display:none}@media(min-width:768px)and (max-width:1023px){.node-chain__item:nth-child(n+8){display:none}}@media(max-width:767px){.node-chain{gap:var(--space-3);overflow-x:auto}.node-chain__dot,.node-chain__more{width:var(--node-dot-size-sm);height:var(--node-dot-size-sm)}.node-chain__glyph{display:none}.node-chain__item:nth-child(n+7){display:none}}.pd-grid{display:grid;grid-template-columns:200px 1fr;gap:var(--space-6);align-items:start}.pd-timeline{position:sticky;top:56px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto}.pd-timeline--vertical{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-5)}.pd-timeline--vertical:before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:var(--border-strong)}.pd-tl__item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:transparent;border:1px solid transparent;text-align:left;transition:background-color var(--motion-fast) var(--ease-standard)}.pd-tl__item:hover{background:var(--surface-hover)}.pd-tl__dot{position:absolute;left:-12px;top:8px}.pd-tl__name{font-size:var(--text-md);color:var(--fg-2);line-height:1.4}.pd-tl__date{font-size:var(--text-sm);color:var(--meta);font-variant-numeric:tabular-nums}.pd-tl__item--current{background:var(--brand-50);border-color:var(--brand-700)}.pd-tl__item--current .pd-tl__name{color:var(--brand-700);font-weight:var(--weight-semibold)}.pd-tl__item--done .pd-tl__name{color:var(--muted)}.pd-timeline--chips{display:none;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.pd-cards{display:flex;flex-direction:column;gap:var(--card-gap)}.pd-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:none;scroll-margin-top:72px}.pd-card--flash{animation:pd-flash 1.2s var(--ease-standard) forwards}@keyframes pd-flash{0%,60%{background:var(--brand-50)}to{background:var(--card-bg)}}@media(prefers-reduced-motion:reduce){.pd-card--flash{animation-duration:1ms}}.pd-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pd-card__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg);display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:none;padding:0;text-align:left}.pd-card__fold-hint{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.pd-card__fold-hint:hover{color:var(--fg);border-color:var(--brand-700);background:var(--brand-50)}.pd-card__meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-2);font-size:var(--text-base);color:var(--muted)}.pd-card__goal{font-size:var(--text-md);line-height:1.6;color:var(--fg-2);margin-top:var(--space-3)}.pd-indent{--pd-indent: 24px;margin-top:var(--space-3);padding-left:var(--pd-indent);border-left:1px solid var(--border)}.pd-sub__row{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-1) 0;border-top:1px solid var(--border-soft);font-size:var(--text-md)}.pd-sub__row:first-child{border-top:none}.pd-indent .pd-sub__row{position:relative}.pd-indent .pd-sub__row:before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:var(--border-strong)}.pd-sub__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.pd-sub__who{flex:0 0 auto;color:var(--fg-2);display:inline-flex;align-items:center;gap:var(--space-1)}.pd-sub__date{flex:0 0 auto;color:var(--meta);font-variant-numeric:tabular-nums;white-space:nowrap}.pd-branch{position:relative;margin-top:var(--space-3);padding-left:var(--pd-indent, 24px)}.pd-branch:before{content:"";position:absolute;left:0;top:-8px;width:calc(var(--pd-indent, 24px) - 8px);height:22px;border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);border-bottom-left-radius:var(--radius-sm)}.pd-branch__head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);color:var(--fg)}.pd-branch-sub{padding-left:var(--pd-indent, 24px)}.pd-empty-sub{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-base);color:var(--muted)}.pd-assign{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted)}.cat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--tag-font-size);line-height:1;white-space:nowrap;font-weight:var(--weight-medium)}.cat-badge--a,.cat-badge--b{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100)}.cat-badge--c,.cat-badge--d{background:var(--st-warn-bg);border-color:var(--st-warn-bg)}.cat-badge--c{color:var(--st-warn-fg)}.cat-badge--d{color:var(--st-warn)}.cat-badge--e,.cat-badge--f{background:var(--st-done-bg);border-color:var(--st-done-bg)}.cat-badge--e{color:var(--st-done)}.cat-badge--f{color:var(--st-done-fg)}.cat-badge--g{background:var(--st-stopped-bg);color:var(--st-stopped-fg);border-color:var(--st-stopped-bg)}.cat-badge--none{background:var(--surface);color:var(--meta);border:1px dashed var(--border-strong)}.assign-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-full);border:1px dashed var(--border-strong);background:var(--surface);flex:0 0 auto}.assign-dot--filled{background:var(--brand-700);border:1px solid var(--brand-700);color:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.entry-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap);margin-bottom:var(--section-gap)}@media(max-width:767px){.entry-cards{grid-template-columns:minmax(0,1fr)}}.entry-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--card-padding);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.entry-card:hover{border-color:var(--card-border-hover)}.entry-card--active{border-color:var(--brand-700);background:var(--brand-50)}.entry-card__icon{color:var(--muted)}.entry-card--active .entry-card__icon{color:var(--brand-700)}.entry-card__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg)}.entry-card__desc{font-size:var(--text-sm);color:var(--muted)}.entry-card__badge{position:absolute;top:var(--space-3);right:var(--space-3)}.row-reason{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--st-reject-stroke);background:var(--st-reject-bg);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--st-danger-fg)}.rules-shell{display:grid;grid-template-columns:200px 1fr;gap:var(--space-6);align-items:start}@media(max-width:1023px){.rules-shell{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}.rules-nav{display:flex;flex-direction:column;gap:var(--space-1)}@media(max-width:1023px){.rules-nav{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-1)}}.rules-nav__item{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--fg-2);font-size:var(--text-md);white-space:nowrap;background:transparent;border:1px solid transparent;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.rules-nav__item:hover{background:var(--surface-hover)}.rules-nav__item--active{background:var(--brand-50);border-color:var(--brand-700);color:var(--brand-700)}.rules-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding)}.field-group{display:flex;flex-direction:column;gap:var(--space-5)}.field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.field-row__label{font-size:var(--text-md);color:var(--fg)}.field-row__hint{font-size:var(--text-base);color:var(--muted);margin-top:2px}.field-number{display:inline-flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums}.field-number__unit{font-size:var(--text-base);color:var(--muted)}.save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border);background:var(--card-bg)}.matrix-scroll{overflow-x:auto}.matrix-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.matrix-table th,.matrix-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--table-row-border);text-align:left}.matrix-table thead th{background:var(--surface-sunken);color:var(--muted);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap}.matrix-table thead th small{display:block;font-size:var(--text-xs);color:var(--meta)}.matrix-group-row>td{background:var(--surface-sunken);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--fg-2)}.matrix-cell{text-align:center}.matrix-cell--dirty{background:var(--brand-50)}.matrix-row-actions{display:inline-flex;gap:var(--space-2)}.audit-detail{font-size:var(--text-base);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42ch}.audit-detail--open{white-space:normal;text-overflow:clip}.audit-diff{display:grid;grid-template-columns:56px 1fr;gap:var(--space-2);font-size:var(--text-sm);margin-top:var(--space-2)}.audit-diff__key{color:var(--meta)}.audit-diff__val{color:var(--fg-2);font-variant-numeric:tabular-nums;word-break:break-all}.readonly-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--fg-2);font-size:var(--text-base);margin-bottom:var(--section-gap)}
