.home-dashboard{display:grid;gap:14px}.home-dashboard>.page-header,.home-dashboard>.workspace-surface,.home-dashboard>.home-grid{margin:0}.home-quick-surface .surface-header{min-height:52px;padding-block:8px}.home-quick-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;padding:0;gap:0}.home-quick-actions>button{min-width:0;min-height:62px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 12px;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--text);text-align:left}.home-quick-actions>button:hover{background:var(--surface-subtle);color:var(--text)}.home-quick-actions>button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.home-quick-actions>button>span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:0;background:transparent;color:var(--brand-hover);box-shadow:none}.home-quick-actions>button>span:nth-child(2){min-width:0;display:grid;gap:2px}.home-quick-actions strong,.home-quick-actions small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-quick-actions strong{font-size:13px;font-weight:600}.home-quick-actions small{color:var(--text-secondary);font-size:11px}.home-dashboard .metric-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.home-dashboard .calendar-panel,.home-dashboard .execution-center,.home-dashboard .matrix-panel,.home-dashboard .insight-rail{background:var(--surface);border-radius:var(--radius-lg)}.home-dashboard .metric-item{gap:9px}.home-dashboard .metric-item:hover>span{color:var(--brand-hover)}.home-dashboard .week-calendar>div{position:relative;background:var(--surface)}.home-dashboard .week-calendar .day-add-task{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-top:4px;padding:5px 6px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:11px;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.home-dashboard .week-calendar>div:hover .day-add-task,.home-dashboard .week-calendar .day-add-task:focus-visible{opacity:1}.home-dashboard .week-calendar .day-add-task:hover{border-color:var(--brand);border-style:solid;background:var(--brand-soft);color:var(--brand)}.home-dashboard .week-calendar>div.today .day-add-task{opacity:1;border-color:var(--brand);color:var(--brand-hover)}.home-dashboard .execution-tabs button{border-radius:0;background:transparent;box-shadow:none}.home-dashboard .execution-tabs button.active{background:transparent;color:var(--text);box-shadow:inset 0 -2px var(--brand)}.home-dashboard .execution-item:hover{background:var(--surface-subtle)}.home-dashboard .insight-rail article+article{border-left:1px solid var(--border)}.home-dashboard .matrix-node.current{box-shadow:0 0 0 2px #3b5bdb1f}@media(max-width:1359px){.home-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.home-dashboard .metric-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.home-quick-actions>button:nth-child(3n){border-right:0}.home-quick-actions>button:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media(min-width:1360px)and (max-width:1519px){.home-dashboard .metric-item strong{font-size:32px}}@media(max-width:760px){.home-quick-actions{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:inline proximity}.home-quick-actions>button{flex:0 0 184px;border-right:1px solid var(--border);border-bottom:0;scroll-snap-align:start}.home-dashboard .metric-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.home-dashboard{gap:12px}.home-dashboard>.page-header{gap:10px}.home-dashboard .page-header-actions{width:100%}.home-dashboard .page-header-actions .secondary-button{width:100%;justify-content:center}.home-quick-surface .surface-header{padding:10px 12px}.home-quick-actions{padding:0}.home-quick-actions>button{flex-basis:172px}.home-dashboard .metric-item strong{font-size:32px}}@media(prefers-reduced-motion:reduce){.home-quick-actions{scroll-behavior:auto}}.home-dashboard .execution-item,.home-dashboard .task-actions{position:relative}.home-dashboard .task-menu-trigger{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.home-dashboard .execution-item:hover .task-menu-trigger,.home-dashboard .task-menu-trigger:focus-visible,.home-dashboard .task-menu-trigger[aria-expanded=true]{opacity:1}.home-dashboard .task-menu-trigger:hover,.home-dashboard .task-menu-trigger[aria-expanded=true]{background:var(--surface-muted);color:var(--text)}.home-dashboard .task-menu-backdrop{position:fixed;inset:0;z-index:40;display:block;width:100%;height:100%;border:0;background:transparent;cursor:default}.home-dashboard .task-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:148px;display:grid;gap:1px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);animation:rd-dialog-in var(--duration-fast) var(--ease-out)}.home-dashboard .task-menu button{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;text-align:left;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.home-dashboard .task-menu button:hover{background:var(--surface-subtle);color:var(--text)}.home-dashboard .task-menu button:first-child:hover{color:var(--success-strong)}.home-dashboard .task-menu button svg{color:var(--text-tertiary)}.home-dashboard .execution-groups section>header{display:flex;align-items:center;gap:7px}.home-dashboard .cat-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--text-tertiary)}.home-dashboard .cat-customer .cat-dot{background:var(--success)}.home-dashboard .cat-project .cat-dot{background:var(--brand)}.home-dashboard .cat-internal .cat-dot{background:var(--warning)}.home-dashboard .cat-unclassified .cat-dot{background:var(--text-tertiary)}.home-dashboard .execution-item .task-check{border:1.5px solid var(--border-strong);transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.home-dashboard .execution-item.cat-customer .task-check{border-color:var(--success)}.home-dashboard .execution-item.cat-project .task-check{border-color:var(--brand)}.home-dashboard .execution-item.cat-internal .task-check{border-color:var(--warning)}.home-dashboard .execution-item.cat-customer .task-check:hover{background:var(--success-soft)}.home-dashboard .execution-item.cat-project .task-check:hover{background:var(--brand-soft)}.home-dashboard .execution-item.cat-internal .task-check:hover{background:var(--warning-soft)}.home-dashboard .execution-item.cat-unclassified .task-check:hover{background:var(--surface-muted)}.business-overview-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:var(--space-4)}.today-signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border)}.today-signal-list>button{min-width:0;min-height:58px;display:grid;grid-template-columns:10px minmax(0,1fr);gap:2px 8px;padding:10px 12px;text-align:left;background:var(--surface)}.today-signal-list strong,.today-signal-list small{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-signal-list small{color:var(--text-secondary)}.signal-dot{grid-row:1 / span 2;width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--text-tertiary)}.signal-dot.severity-逾期{background:var(--danger)}.signal-dot.severity-今日{background:var(--warning)}.signal-dot.severity-临近{background:var(--brand)}.overview-empty{padding:20px;color:var(--text-secondary);background:var(--surface)}.funnel-stages{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));overflow-x:auto}.funnel-stages button{position:relative;min-width:92px;padding:12px;text-align:left;border-right:1px solid var(--border)}.funnel-stages span,.funnel-stages small,.funnel-stages em{display:block}.funnel-stages strong{display:block;margin:5px 0;font-size:22px;font-variant-numeric:tabular-nums}.funnel-stages small,.funnel-stages em{color:var(--text-secondary);font-size:11px;font-style:normal;white-space:nowrap}@media(max-width:900px){.business-overview-grid{grid-template-columns:1fr}}@media(max-width:600px){.today-signal-list{grid-template-columns:1fr}}.calendar-header-actions{display:flex;align-items:center;gap:10px}.calendar-warn-wrap{position:relative}.calendar-warn-badge{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid var(--warning-border);border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}.calendar-warn-badge:hover{border-color:var(--warning)}.calendar-warn-badge em{margin-left:2px;padding:1px 6px;border-radius:999px;background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);font-size:11px;font-style:normal;font-weight:650}.calendar-warn-badge.only-overdue{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.calendar-warn-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:340px;max-width:min(340px,calc(100vw - 32px));max-height:min(60vh,460px);overflow-y:auto;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-float)}.calendar-warn-pop .warn-note{margin:0 2px 10px;color:var(--text-secondary);font-size:12px}.warn-group+.warn-group{margin-top:12px}.warn-group-title{display:block;margin:0 2px 6px;color:var(--text-tertiary);font-size:11px;font-weight:650;letter-spacing:.02em}.warn-group-title.overdue{color:var(--danger)}.warn-row{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:8px;padding:8px;border-radius:var(--radius-sm)}.warn-row:hover{background:var(--surface-subtle)}.warn-row>.signal-dot{margin-top:6px}.warn-row-open{width:100%;display:grid;gap:2px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.warn-row-open:hover strong{color:var(--brand-hover)}.warn-row-main{min-width:0;display:grid;gap:4px}.warn-row-main strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.warn-row-main small{color:var(--text-secondary);font-size:11px}.warn-row-main .advice{color:var(--brand-hover);font-size:11px;font-style:normal}.warn-row-main .advice.editable{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;padding:2px 0;border:0;background:transparent;color:var(--brand-hover);font-size:11px;text-align:left;cursor:pointer}.warn-row-main .advice.editable:hover{text-decoration:underline}.warn-row-main .advice.editable.is-hint{color:var(--text-tertiary)}.warn-row-main .advice.editable svg{flex:0 0 auto;opacity:.7}.warn-advice-edit{display:grid;gap:6px;margin-top:2px}.warn-advice-edit textarea{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:12px;line-height:1.5;resize:vertical}.warn-advice-edit textarea:focus{border-color:var(--brand);outline:none;box-shadow:var(--shadow-focus)}.warn-advice-actions{display:flex;gap:6px}.warn-advice-actions button{min-height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:12px;cursor:pointer}.warn-advice-actions .primary-button{border-color:var(--brand)}.warn-advice-error{color:var(--danger);font-size:11px}.home-dashboard .calendar-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.home-dashboard .calendar-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.home-dashboard .calendar-filter-title{margin-right:2px;color:var(--text-tertiary);font-size:11px;letter-spacing:.04em}.home-dashboard .cat-chip,.home-dashboard .owner-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.home-dashboard .cat-chip:hover,.home-dashboard .owner-chip:hover{background:var(--surface-muted)}.home-dashboard .cat-chip i{width:8px;height:8px;border-radius:50%;background:var(--cat-color, var(--cat-personal))}.home-dashboard .cat-chip.active{border-color:var(--cat-color, var(--cat-personal));background:var(--cat-soft, var(--cat-personal-soft));color:var(--text);font-weight:600}.home-dashboard .owner-chip i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--owner-color, var(--owner-0));color:#fff;font-size:9px;font-style:normal;font-weight:600;line-height:1}.home-dashboard .owner-chip.active{border-color:var(--owner-color, var(--owner-0));background:var(--surface);color:var(--text);font-weight:600}.home-dashboard .calendar-filter-reset{margin-left:auto;padding:3px 8px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:11px;cursor:pointer}.home-dashboard .calendar-filter-reset:hover{border-color:var(--brand);color:var(--brand)}.home-dashboard .owner-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:5px;border-radius:50%;background:var(--owner-color, var(--owner-0));color:#fff;font-size:9px;font-style:normal;font-weight:600;line-height:1;vertical-align:middle}.home-dashboard .six-week-calendar .cal-event span{display:inline-flex;align-items:center}.home-dashboard [data-category=customer]{--cat-color: var(--cat-customer);--cat-soft: var(--cat-customer-soft)}.home-dashboard [data-category=project]{--cat-color: var(--cat-project);--cat-soft: var(--cat-project-soft)}.home-dashboard [data-category=internal]{--cat-color: var(--cat-internal);--cat-soft: var(--cat-internal-soft)}.home-dashboard [data-category=delivery]{--cat-color: var(--cat-delivery);--cat-soft: var(--cat-delivery-soft)}.home-dashboard [data-category=travel]{--cat-color: var(--cat-travel);--cat-soft: var(--cat-travel-soft)}.home-dashboard [data-category=personal]{--cat-color: var(--cat-personal);--cat-soft: var(--cat-personal-soft)}.home-dashboard [data-owner-accent="0"]{--owner-color: var(--owner-0)}.home-dashboard [data-owner-accent="1"]{--owner-color: var(--owner-1)}.home-dashboard [data-owner-accent="2"]{--owner-color: var(--owner-2)}.home-dashboard [data-owner-accent="3"]{--owner-color: var(--owner-3)}.home-dashboard [data-owner-accent="4"]{--owner-color: var(--owner-4)}.home-dashboard [data-owner-accent="5"]{--owner-color: var(--owner-5)}@media(max-width:720px){.home-dashboard .calendar-filter-bar{gap:6px 10px;padding:8px 10px}.home-dashboard .calendar-filter-reset{margin-left:0}}:root{color-scheme:light;--blue-950: #1e2a52;--blue-900: #24327a;--blue-800: #2f43b8;--blue-700: #3b5bdb;--blue-600: #4f6ef0;--blue-200: #c3ccf7;--blue-100: #dfe4fb;--blue-50: #eef1fd;--cyan-100: #e6f8ff;--canvas: #fbfbfc;--sidebar: #f7f8fa;--surface: #ffffff;--surface-subtle: #f8f9fb;--surface-muted: #f1f2f5;--surface-raised: #ffffff;--text: #17181d;--text-secondary: #565a63;--text-tertiary: #82868f;--text-muted: #9a9ea8;--border: #ececef;--border-strong: #d9dbe0;--hairline: rgba(20, 22, 30, .07);--brand: #3b5bdb;--brand-hover: #2f4bc4;--brand-active: #273fa6;--brand-soft: #eef1fd;--brand-tint: rgba(59, 91, 219, .08);--focus: #3b5bdb;--success: #0f7355;--success-soft: #e7f6f0;--success-strong: #0a5a43;--success-border: #bfe6d8;--warning: #8a5300;--warning-soft: #fdf1dd;--warning-border: #f0d9a8;--danger: #c4384c;--danger-soft: #fdeef0;--danger-border: #f0c2c9;--scrollbar: rgba(20, 22, 30, .18);--scrollbar-hover: rgba(20, 22, 30, .32);--danger-700: #a52c3f;--danger-600: var(--danger);--danger-100: var(--danger-soft);--amber-700: var(--warning);--amber-100: var(--warning-soft);--cat-customer: #3b5bdb;--cat-customer-soft: #eef1fd;--cat-project: #0f7a72;--cat-project-soft: #e4f4f2;--cat-internal: #6b4ec4;--cat-internal-soft: #f0ecfc;--cat-delivery: #b5651d;--cat-delivery-soft: #fbf0e3;--cat-travel: #1f6f9c;--cat-travel-soft: #e8f2f8;--cat-personal: #6b7280;--cat-personal-soft: #f2f3f5;--owner-0: #3b5bdb;--owner-1: #0f7a72;--owner-2: #b5651d;--owner-3: #6b4ec4;--owner-4: #1f6f9c;--owner-5: #a8385a;--surface-canvas: var(--canvas);--surface-tint: var(--surface-subtle);--surface-strong: var(--blue-950);--shadow-panel: none;--shadow-xs: 0 1px 2px rgba(20, 22, 30, .04);--shadow-sm: 0 1px 2px rgba(20, 22, 30, .05), 0 1px 1px rgba(20, 22, 30, .03);--shadow-md: 0 4px 12px rgba(20, 22, 30, .07), 0 1px 3px rgba(20, 22, 30, .05);--shadow-float: 0 8px 24px rgba(20, 22, 30, .1), 0 2px 6px rgba(20, 22, 30, .05);--shadow-focus: 0 0 0 3px rgba(59, 91, 219, .16);--shadow-dialog: 0 24px 64px rgba(20, 22, 30, .16), 0 8px 20px rgba(20, 22, 30, .08);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--sidebar-width: 236px;--topbar-height: 56px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--duration-press: .11s;--duration-fast: .13s;--duration-ui: .17s;--duration-panel: .23s;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;--font-numeric: "SF Mono", "SF Pro Text", ui-monospace, "PingFang SC", sans-serif;font-family:var(--font-body);color:var(--text);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{color-scheme:dark;--blue-950: #dfe4fb;--blue-900: #c3ccf7;--blue-800: #9aa8f2;--blue-700: #7d92f2;--blue-600: #8ea1f5;--blue-200: #2b3566;--blue-100: #232c54;--blue-50: #1a2142;--cyan-100: #123846;--canvas: #0e0f12;--sidebar: #131418;--surface: #17191e;--surface-subtle: #1b1d23;--surface-muted: #22252c;--surface-raised: #1d2026;--text: #f2f3f6;--text-secondary: #b3b8c2;--text-tertiary: #8b909c;--text-muted: #6e737e;--border: #262930;--border-strong: #363a43;--hairline: rgba(255, 255, 255, .06);--brand: #7d92f2;--brand-hover: #97a8f6;--brand-active: #b0bcf9;--brand-soft: #1b2142;--brand-tint: rgba(125, 146, 242, .14);--focus: #8ea1f5;--success: #4fc79f;--success-strong: #74dab9;--success-soft: #123329;--success-border: #26564699;--warning: #eab35f;--warning-soft: #362915;--warning-border: #5a4620;--danger: #ff8494;--danger-soft: #3d2127;--danger-border: #5c3138;--danger-700: #ff9aa7;--cat-customer: #8ea1f5;--cat-customer-soft: #1b2142;--cat-project: #4fc7b6;--cat-project-soft: #10332f;--cat-internal: #a894f0;--cat-internal-soft: #241f42;--cat-delivery: #e0a45f;--cat-delivery-soft: #362b17;--cat-travel: #6fb4dd;--cat-travel-soft: #142c3a;--cat-personal: #9aa0ab;--cat-personal-soft: #22252c;--owner-0: #8ea1f5;--owner-1: #4fc7b6;--owner-2: #e0a45f;--owner-3: #a894f0;--owner-4: #6fb4dd;--owner-5: #ef8ba7;--surface-strong: #08090b;--scrollbar: rgba(255, 255, 255, .16);--scrollbar-hover: rgba(255, 255, 255, .28);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .35);--shadow-float: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 3px rgba(142, 161, 245, .22);--shadow-dialog: 0 28px 72px rgba(0, 0, 0, .6), 0 8px 24px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{min-width:320px;min-height:100vh;margin:0;background:var(--canvas);font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button{color:inherit}button,a,input,textarea,select{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--brand-tint);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface-subtle)}::-webkit-scrollbar-thumb{border:2px solid var(--surface-subtle);border-radius:8px;background:var(--scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}*{scrollbar-color:var(--scrollbar) var(--surface-subtle);scrollbar-width:thin}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:.12s!important;transition-property:color,background-color,border-color,opacity!important}}@media(prefers-reduced-transparency:reduce){:root{--shadow-float: 0 8px 24px rgba(20, 22, 30, .12)}}button{border:0;background:none;cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-family:var(--font-display)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-width);display:flex;flex-direction:column;padding:20px 12px 14px;background:var(--surface-strong);color:#fff}.brand-lockup{display:flex;align-items:center;gap:11px;min-height:52px;padding:0 10px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{position:relative;width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:var(--surface);color:var(--brand);font-family:var(--font-display);font-weight:800}.brand-mark i{position:absolute;right:-6px;bottom:-6px;width:17px;height:17px;border-radius:50%;background:var(--success)}.brand-lockup>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.brand-lockup strong{font-size:14px;letter-spacing:-.01em}.brand-lockup small{color:var(--text-muted);font-size:10px;letter-spacing:.04em}.sidebar nav{display:flex;flex:1;flex-direction:column;gap:3px;padding-top:18px}.nav-button{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;color:var(--text-muted);border-radius:9px;text-align:left;transition:color .16s ease-out,background .16s ease-out}.nav-button:hover{color:#fff;background:#ffffff0f}.nav-button.active{color:#fff;background:#ffffff1a}.nav-button.active:before{position:absolute;left:0;width:3px;height:20px;border-radius:0 2px 2px 0;background:var(--success);content:""}.nav-button span{flex:1;font-size:13px;font-weight:650}.nav-button em{min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:var(--success);color:var(--surface-strong);font-size:10px;font-style:normal;font-weight:800}.sidebar-context{margin:12px 8px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a}.sidebar-context>span,.sidebar-context small{color:var(--text-muted);font-size:10px}.sidebar-context strong{float:right;color:var(--success-border);font-size:14px}.sidebar-context>div{height:4px;margin:10px 0 7px;overflow:hidden;border-radius:2px;background:#ffffff1a}.sidebar-context>div i{display:block;height:100%;background:var(--success)}.sidebar-user{display:flex;align-items:center;gap:9px;padding:12px 10px 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user>div:nth-child(2){display:flex;flex:1;flex-direction:column;gap:2px}.sidebar-user strong{font-size:12px}.sidebar-user small{color:var(--text-muted);font-size:10px}.avatar{width:32px;height:32px;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success-strong);font-size:12px;font-weight:800}.app-frame{min-height:100vh;margin-left:var(--sidebar-width)}.topbar{position:sticky;top:0;z-index:24;height:var(--topbar-height);display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--border);background:#fffffff5}.global-search{position:relative;max-width:620px;height:40px;display:flex;flex:1;align-items:center;gap:10px;margin:0 auto;padding:0 12px;border:1px solid transparent;border-radius:9px;background:var(--canvas);color:var(--text-tertiary)}.global-search:focus-within{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px #654a821a}.global-search input{min-width:0;flex:1;border:0;background:transparent;color:var(--text);font-size:13px}.global-search input::placeholder{color:var(--text-tertiary)}.global-search kbd{min-width:36px;padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-tertiary);font-size:10px;text-align:center}.demo-chip{padding:5px 9px;border:1px solid var(--success-border);border-radius:12px;background:var(--success-soft);color:var(--success-strong);font-size:10px;font-weight:700;white-space:nowrap}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;color:var(--text-secondary)}.notification-button{position:relative;border:1px solid var(--border);background:var(--surface)}.notification-button i{position:absolute;top:6px;right:6px;width:7px;height:7px;border:1px solid white;border-radius:50%;background:var(--danger-600)}.primary-button,.secondary-button,.danger-button,.text-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:8px;font-size:12px;font-weight:750;white-space:nowrap}.primary-button{background:var(--brand);color:#fff;box-shadow:0 3px 8px #281b3c2e}.primary-button:hover{background:var(--brand-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.secondary-button:hover{border-color:var(--brand);color:var(--brand)}.danger-button{border:1px solid var(--danger-border);background:var(--surface);color:var(--danger-700)}.text-button{padding-inline:4px;color:var(--brand)}.create-wrap,.popover-wrap{position:relative}.create-menu,.toolbar-popover{position:absolute;z-index:50;top:calc(100% + 8px);right:0;min-width:190px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-float)}.create-menu span,.toolbar-popover>strong{display:block;padding:5px 8px;color:var(--text-secondary);font-size:10px}.create-menu button,.mini-popover button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-radius:6px;font-size:12px;text-align:left}.create-menu button:hover,.mini-popover button:hover,.mini-popover button.selected{background:var(--brand-soft);color:var(--brand)}.create-menu hr,.mini-popover hr{height:1px;margin:6px 0;border:0;background:var(--border)}.mobile-only,.menu-button{display:none}.home-page,.module-page,.settings-page{padding:20px 24px 32px}.cockpit-heading,.page-heading{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.cockpit-heading h1,.page-heading h1{font-size:23px;line-height:1.15;letter-spacing:-.025em}.cockpit-heading p,.page-heading p{margin-top:5px;color:var(--text-secondary);font-size:12px}.heading-line{display:flex;align-items:center;gap:18px}.domain-switch{display:flex;padding:3px;border-radius:8px;background:var(--surface-muted)}.domain-switch button{min-height:28px;padding:0 14px;border-radius:6px;color:var(--text-secondary);font-size:11px;font-weight:700}.domain-switch button.active{background:var(--surface);color:var(--brand-hover);box-shadow:0 1px 3px #26193714}.metric-rail{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.metric-item{min-height:91px;display:flex;align-items:flex-start;gap:10px;padding:15px 14px;border-right:1px solid var(--border);text-align:left}.metric-item:last-child{border-right:0}.metric-item:hover{background:var(--brand-soft)}.metric-item>span{width:30px;height:30px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--brand-soft);color:var(--brand)}.metric-item>div{min-width:0;display:flex;flex-direction:column}.metric-item small{color:var(--text-secondary);font-size:10px;font-weight:700}.metric-item strong{margin-top:3px;font-size:19px;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric-item em{margin-top:4px;overflow:hidden;color:var(--text-tertiary);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.metric-item.tone-mint>span{background:var(--success-soft);color:var(--success-strong)}.metric-item.tone-danger>span{background:var(--danger-100);color:var(--danger-700)}.metric-item.tone-amber>span{background:var(--amber-100);color:var(--amber-700)}.metric-item.tone-blue>span{background:var(--blue-100);color:var(--blue-700)}.execution-strip{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(580px,1.3fr);margin:12px 0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.next-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px 12px;padding:13px 16px;background:var(--surface-strong);color:#fff}.next-action>span{color:var(--text-muted);font-size:10px}.next-action strong{color:var(--success-border);font-size:13px}.next-action p{grid-column:1 / 3;font-size:12px}.next-action button{grid-column:3;grid-row:1 / 3;display:flex;align-items:center;gap:4px;color:#fff;font-size:11px}.business-line{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:4px 16px;padding:12px 16px}.business-line>span{color:var(--text-secondary);font-size:10px;font-weight:800}.business-line>div{display:flex;align-items:center}.business-line i{width:21px;height:21px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-tertiary);font-size:9px;font-style:normal}.business-line i.complete{border-color:var(--success);background:var(--success);color:#fff}.business-line i.current{border-color:var(--brand-hover);background:var(--brand-hover);color:#fff}.business-line b{margin:0 8px 0 5px;font-size:10px;white-space:nowrap}.business-line em{min-width:16px;height:1px;flex:1;background:var(--border)}.business-line small{grid-column:2;color:var(--amber-700);font-size:9px}.home-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:12px;margin-bottom:12px}.calendar-panel,.queue-panel,.task-panel,.insight-panel,.matrix-panel{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel)}.calendar-panel>header,.queue-panel>header,.task-panel>header,.insight-panel>header,.matrix-panel>header{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border)}.calendar-panel h2,.queue-panel h2,.task-panel h2,.insight-panel h2,.matrix-panel h2{font-size:14px}.calendar-panel header p,.queue-panel header p,.task-panel header p,.insight-panel header p,.matrix-panel header p{margin-top:3px;color:var(--text-secondary);font-size:10px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto}.week-calendar>div{min-height:230px;padding:10px 8px;border-right:1px solid var(--border);background:var(--surface)}.week-calendar>div:last-child{border-right:0}.week-calendar>div.today{background:var(--success-soft)}.week-calendar>div>strong{display:block;margin-bottom:10px;color:var(--text-secondary);font-size:10px;text-align:center}.week-calendar>div.today>strong{color:var(--success-strong)}.event{width:100%;display:flex;flex-direction:column;gap:3px;margin-bottom:7px;padding:7px;border-radius:6px;background:var(--blue-100);text-align:left}.event:hover{filter:brightness(.97)}.event small{color:var(--blue-700);font-size:9px;font-weight:800}.event span{font-size:10px;line-height:1.35}.event em{align-self:flex-start;color:var(--text-secondary);font-size:8px;font-style:normal}.event-客户{background:var(--success-soft)}.event-客户 small{color:var(--success-strong)}.event-交付{background:var(--brand-soft)}.event-交付 small{color:var(--brand)}.event-收款{background:var(--amber-100)}.event-收款 small{color:var(--amber-700)}.calendar-panel>footer{display:flex;gap:18px;padding:8px 16px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:9px}.calendar-panel footer span{display:flex;align-items:center;gap:5px}.calendar-panel footer i{width:7px;height:7px;border-radius:2px;background:var(--blue-100)}.calendar-panel footer i.customer{background:var(--success-border)}.calendar-panel footer i.delivery{background:var(--brand-soft)}.calendar-panel footer i.payment{background:var(--amber-100)}.queue-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border)}.queue-tabs button{padding:6px 8px;border-radius:5px;color:var(--text-secondary);font-size:9px}.queue-tabs button.active{background:var(--brand-soft);color:var(--brand);font-weight:800}.queue-list>button{width:100%;min-height:61px;display:grid;grid-template-columns:7px 1fr auto auto;align-items:center;gap:9px;padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.queue-list>button:hover{background:var(--brand-soft)}.queue-dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}.queue-逾期任务{background:var(--danger-600)}.queue-风险提醒{background:var(--amber-700)}.queue-list div{min-width:0;display:grid;grid-template-columns:1fr auto}.queue-list div span{color:var(--text-secondary);font-size:8px}.queue-list div strong{grid-column:1 / 3;overflow:hidden;margin:3px 0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.queue-list div small{color:var(--text-tertiary);font-size:9px}.queue-list>button>em{color:var(--danger-700);font-size:9px;font-style:normal;white-space:nowrap}.queue-all{width:100%;height:37px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--brand);font-size:10px;font-weight:700}.lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr)}.task-panel>header>div:last-child{display:flex;gap:4px}.task-panel header button{padding:5px 8px;border-radius:5px;color:var(--text-secondary);font-size:9px}.task-panel header button.active{background:var(--brand-soft);color:var(--brand);font-weight:800}.home-task-list>div{min-height:42px;display:grid;grid-template-columns:24px minmax(220px,1fr) 90px 70px 50px;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid var(--border)}.home-task-list>div:last-child{border-bottom:0}.home-task-list>div:hover{background:var(--brand-soft)}.task-check{width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:#fff}.is-done .task-check{border-color:var(--success);background:var(--success)}.task-content{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.task-content strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.task-content span{color:var(--text-secondary);font-size:9px}.is-done .task-content{opacity:.55;text-decoration:line-through}.home-task-list em,.home-task-list time{color:var(--text-secondary);font-size:9px;font-style:normal;font-variant-numeric:tabular-nums}.home-task-list time{color:var(--danger-700)}.status-label{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:3px 7px;border:1px solid var(--brand-soft);border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:750;white-space:nowrap}.status-label:before{width:5px;height:5px;border-radius:50%;background:currentColor;content:""}.insight-list article{display:flex;gap:10px;padding:15px 16px;border-bottom:1px solid var(--border);color:var(--amber-700)}.insight-list article:last-child{border-bottom:0;color:var(--success-strong)}.insight-list article>div{flex:1}.insight-list strong{color:var(--text);font-size:11px}.insight-list p{margin-top:5px;color:var(--text-secondary);font-size:9px;line-height:1.6}.insight-list button{margin-top:7px;color:var(--brand);font-size:9px;font-weight:800}.matrix-scroll{overflow-x:auto}.matrix-scroll table{min-width:1460px;width:100%;border-collapse:collapse;table-layout:fixed}.matrix-scroll th,.matrix-scroll td{height:48px;padding:6px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:9px;text-align:center}.matrix-scroll th{height:38px;background:var(--canvas);color:var(--text-secondary);font-weight:750}.matrix-scroll th:first-child,.matrix-scroll td:first-child{position:sticky;left:0;z-index:2;width:230px;background:var(--surface);text-align:left}.matrix-scroll th:nth-child(2),.matrix-scroll td:nth-child(2){width:70px}.matrix-scroll th:nth-last-child(-n+3){width:100px}.matrix-scroll td:first-child button{display:flex;flex-direction:column;text-align:left}.matrix-scroll td:first-child strong{font-size:10px}.matrix-scroll td:first-child small{margin-top:3px;color:var(--text-secondary);font-size:8px}.matrix-node{width:17px;height:17px;display:inline-grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:#fff}.matrix-node.current{border-color:var(--brand);background:var(--brand)}.matrix-scroll td>small{display:block;margin-top:2px;color:var(--brand);font-size:7px}.money{color:var(--success-strong);font-weight:800;font-variant-numeric:tabular-nums}.risk-label{display:inline-flex;align-items:center;gap:4px}.risk-label:before{width:6px;height:6px;border-radius:50%;background:var(--success);content:""}.risk-高:before{background:var(--danger-600)}.risk-中:before{background:var(--amber-700)}.matrix-scroll td:last-child button{display:inline-flex;align-items:center;gap:2px;color:var(--brand);font-size:8px}.workspace-toolbar{position:relative;min-height:50px;display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel)}.view-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px}.view-switch button,.toolbar-actions>button,.toolbar-actions>.popover-wrap>button{min-height:31px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:6px;color:var(--text-secondary);font-size:10px;font-weight:700}.view-switch button.active{background:var(--brand-soft);color:var(--brand)}.toolbar-actions{display:flex;gap:4px}.toolbar-actions>button,.toolbar-actions>.popover-wrap>button{border:1px solid var(--border);background:var(--surface)}.toolbar-actions button:hover{color:var(--brand);border-color:var(--border)}.active-filter{color:var(--brand);background:var(--brand-soft)}.active-filter em{min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;background:var(--brand);color:#fff;font-size:8px;font-style:normal}.record-count{margin-left:auto;color:var(--text-tertiary);font-size:10px;white-space:nowrap}.toolbar-popover{left:0;right:auto;min-width:240px}.filter-popover{width:320px;padding:0}.popover-head{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border)}.popover-head>div{display:flex;flex-direction:column;gap:2px}.popover-head strong{font-size:12px}.popover-head small{color:var(--text-secondary);font-size:9px}.quick-filter-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px}.quick-filter-list button{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:1px solid var(--border);border-radius:7px;font-size:10px;text-align:left}.quick-filter-list button span{color:var(--text-tertiary);font-size:8px}.quick-filter-list button.selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.filter-popover>.text-button{margin:0 10px 10px}.mini-popover{min-width:180px}.mini-popover button span{color:var(--text-tertiary);font-size:8px}.mini-popover button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:6px;font-size:9px;text-align:left}.mini-popover button:hover,.mini-popover button.selected{background:var(--brand-soft);color:var(--brand)}.popover-empty{padding:10px 8px;color:var(--text-tertiary);font-size:9px}.column-popover{width:230px;max-height:330px;overflow:auto}.column-popover>strong{display:block;padding:6px 8px}.column-popover label{min-height:32px;display:flex;align-items:center;gap:8px;padding:0 8px;border-radius:6px;font-size:9px;cursor:pointer}.column-popover label:hover{background:var(--brand-soft)}.column-popover input{accent-color:var(--brand)}.toolbar-message{max-width:270px;overflow:hidden;color:var(--success-strong);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.preset-create{display:grid;gap:5px}.preset-create input,.batch-bar select{min-height:32px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font-size:9px}.batch-bar select{min-height:28px;border-color:#ffffff3d;background:var(--surface-muted);color:#fff}.module-surface{min-height:calc(100vh - 192px)}.data-table-wrap,.project-flow,.kanban-board{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel)}.table-scroll{max-height:calc(100vh - 204px);overflow:auto;border-radius:var(--radius-md)}.table-scroll table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.table-scroll th,.table-scroll td{height:46px;padding:0 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);font-size:10px;text-align:left}.density-comfortable .table-scroll td{height:58px}.table-scroll th{position:sticky;top:0;z-index:4;height:39px;background:var(--canvas);color:var(--text-secondary);font-size:9px;font-weight:750}.table-scroll th:first-child,.table-scroll td:first-child{position:sticky;left:0;z-index:5;background:inherit}.table-scroll td:nth-child(2),.table-scroll th:nth-child(2){position:sticky;left:42px;z-index:3;background:var(--surface);box-shadow:1px 0 var(--border)}.table-scroll th:nth-child(2){z-index:6;background:var(--canvas)}.table-scroll tr:hover td{background:var(--brand-soft)}.table-scroll .selected-row td{background:var(--success-soft)}.select-col{width:42px;text-align:center}.action-col{width:55px;text-align:center}.table-scroll input[type=checkbox],.contact-choice input,.switch-row input{accent-color:var(--brand)}.record-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden;font-weight:800;text-align:left}.record-link:hover{color:var(--brand)}.editable-cell{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left}.editable-cell svg{flex:0 0 auto;opacity:0;color:var(--brand)}.editable-cell:hover svg{opacity:1}.relation-value{display:inline-flex;align-items:center;gap:5px;color:var(--brand)}.numeric-cell{font-variant-numeric:tabular-nums}.inline-editor{min-width:150px;display:flex;align-items:center;gap:3px}.inline-editor input{min-width:80px;height:30px;flex:1;padding:0 7px;border:1px solid var(--brand);border-radius:5px;background:var(--surface)}.inline-editor button{width:27px;height:27px;display:grid;place-items:center;border-radius:5px;background:var(--success-soft);color:var(--success-strong)}.inline-editor button:last-child{background:var(--surface-muted);color:var(--text-secondary)}.batch-bar{position:absolute;z-index:10;left:50%;top:66px;display:flex;align-items:center;gap:6px;padding:7px 9px 7px 13px;border-radius:8px;background:var(--surface-strong);color:#fff;box-shadow:var(--shadow-float);transform:translate(-50%)}.batch-bar strong{margin-right:8px;font-size:10px}.batch-bar button:not(.icon-button){min-height:28px;padding:0 8px;border-radius:5px;background:#ffffff1a;color:#fff;font-size:9px}.danger-text{color:var(--danger-700)}.empty-state,.loading-state,.error-state{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.empty-state>div{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--canvas);color:var(--text-muted)}.empty-state h3,.error-state h2{margin-top:14px;font-size:14px}.empty-state p,.error-state p{max-width:420px;margin-top:5px;color:var(--text-secondary);font-size:10px;line-height:1.6}.error-state>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--danger-100);color:var(--danger-700)}.error-state button{margin-top:15px}.loading-state{align-items:stretch;justify-content:flex-start;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.skeleton-line{width:28%;height:11px;border-radius:5px;background:var(--surface-muted);animation:pulse 1.4s ease-in-out infinite}.skeleton-line.wide{width:44%;height:16px;margin-bottom:10px}.skeleton-table{display:grid;gap:8px;margin-top:28px}.skeleton-table i{height:42px;border-radius:5px;background:var(--canvas);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.kanban-board{max-height:calc(100vh - 204px);display:flex;gap:0;overflow:auto;background:var(--canvas)}.board-column{width:310px;min-width:310px;min-height:600px;border-right:1px solid var(--border)}.board-column.is-over{background:var(--success-soft)}.board-column>header{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--border)}.board-column>header>div{display:flex;align-items:center;gap:7px}.board-column h2{font-size:11px}.board-column header span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:var(--surface);color:var(--text-secondary);font-size:9px}.board-column-body{display:grid;gap:8px;padding:9px}.board-card{position:relative;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 1px 3px #2619370f}.board-card.dragging{z-index:20;opacity:.65;box-shadow:var(--shadow-float)}.drag-handle{position:absolute;top:8px;right:7px;z-index:2;width:25px;height:25px;display:grid;place-items:center;color:var(--text-muted);cursor:grab}.board-card-body{width:100%;display:block;padding:12px;text-align:left}.board-card-body>div:first-child{display:flex;align-items:center;justify-content:space-between;padding-right:24px}.board-card-body em{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success-strong);font-size:9px;font-style:normal;font-weight:800}.board-card h3{margin-top:12px;font-size:13px;letter-spacing:-.01em}.board-card p{min-height:32px;margin-top:7px;color:var(--text-secondary);font-size:9px;line-height:1.55}.board-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:8px;border-top:1px solid var(--border)}.board-card footer span{display:flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:8px}.board-empty{height:64px;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-tertiary);font-size:9px}.project-flow{overflow:hidden}.flow-guide{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 15px;border-bottom:1px solid var(--border)}.flow-guide h2{font-size:14px}.flow-guide p{margin-top:3px;color:var(--text-secondary);font-size:9px}.flow-legend{display:flex;gap:12px}.flow-legend span{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:8px}.flow-legend span:before{width:7px;height:7px;border:1px solid var(--border-strong);border-radius:50%;content:""}.flow-legend span.done:before{border-color:var(--success);background:var(--success)}.flow-legend span.current:before{border-color:var(--brand);background:var(--brand)}.flow-legend span.risk:before{border-color:var(--danger-600);background:var(--danger-600)}.flow-scroll{max-height:calc(100vh - 270px);overflow:auto}.flow-head,.flow-row{min-width:1500px;display:grid;grid-template-columns:238px repeat(8,minmax(120px,1fr)) 150px}.flow-head{position:sticky;top:0;z-index:5;min-height:47px;background:var(--canvas)}.flow-head>div{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border-right:1px solid var(--border);color:var(--text-secondary);font-size:8px;font-weight:750;text-align:center}.flow-head>div>span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:8px}.flow-head .project-head-cell{position:sticky;left:0;z-index:6;justify-content:flex-start;background:var(--canvas)}.flow-row{min-height:105px;border-top:1px solid var(--border)}.flow-project-cell{position:sticky;left:0;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border-right:1px solid var(--border);background:var(--surface);text-align:left}.flow-project-cell:hover{background:var(--brand-soft)}.flow-project-cell strong{font-size:11px}.flow-project-cell>span{margin-top:4px;color:var(--text-secondary);font-size:9px}.flow-project-cell small{display:flex;align-items:center;gap:4px;margin-top:10px;color:var(--text-tertiary);font-size:8px}.risk-dot{width:6px;height:6px;margin-left:5px;border-radius:50%;background:var(--success)}.risk-dot.risk-高{background:var(--danger-600)}.risk-dot.risk-中{background:var(--amber-700)}.flow-stage-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid var(--border)}.flow-stage-cell:hover{background:var(--brand-soft)}.flow-stage-cell:before,.flow-stage-cell:after{position:absolute;top:33px;width:50%;height:1px;background:var(--border);content:""}.flow-stage-cell:before{left:0}.flow-stage-cell:after{right:0}.stage-node{position:relative;z-index:2;width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text-muted)}.stage-已完成 .stage-node{border-color:var(--success);background:var(--success);color:#fff}.stage-已完成:before,.stage-已完成:after{background:var(--success)}.stage-当前阶段 .stage-node{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.stage-risk .stage-node{border-color:var(--danger-600);background:var(--danger-600);box-shadow:0 0 0 4px var(--danger-100)}.flow-stage-cell strong{margin-top:2px;font-size:8px}.flow-stage-cell>small{color:var(--text-tertiary);font-size:7px}.stage-micro{display:flex;gap:5px}.stage-micro span{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:4px;background:var(--canvas);color:var(--text-secondary);font-size:7px}.flow-next-cell{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px}.flow-next-cell strong{display:flex;align-items:center;gap:4px;color:var(--brand);font-size:9px}.flow-next-cell span{color:var(--text-secondary);font-size:8px}.flow-next-cell button{display:flex;align-items:center;gap:3px;color:var(--brand);font-size:8px}.entity-dialog{width:min(720px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));padding:0;overflow:hidden;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float)}.entity-dialog::backdrop{background:#172b526b}.entity-dialog>form{max-height:inherit;display:flex;flex-direction:column}.dialog-project{width:min(820px,calc(100vw - 32px))}.dialog-header{min-height:80px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-symbol{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--brand)}.dialog-header>div:nth-child(2){flex:1}.dialog-header h2{font-size:17px;letter-spacing:-.02em}.dialog-header p{margin-top:4px;color:var(--text-secondary);font-size:9px}.dialog-body{flex:1;padding:16px 18px;overflow:auto}.dialog-footer{min-height:64px;display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--canvas)}.dialog-footer>span{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.form-field{min-width:0;display:flex;flex-direction:column;gap:6px}.form-field.full{grid-column:1 / -1}.form-field>span:first-child{color:var(--text);font-size:9px;font-weight:750}.form-field>span:first-child em{margin-left:3px;color:var(--danger-600);font-style:normal}.form-field>small{color:var(--text-tertiary);font-size:8px}.form-field input,.form-field textarea,.form-field select,.settings-form input,.settings-form textarea,.settings-form select,.comment-box textarea{min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:10px}.form-field textarea,.settings-form textarea,.comment-box textarea{line-height:1.55;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-tertiary)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.settings-form input:focus,.settings-form textarea:focus,.settings-form select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #654a821a}.select-shell{position:relative;display:flex;align-items:center}.select-shell select{width:100%;appearance:none}.select-shell svg{position:absolute;right:10px;pointer-events:none}.relation-picker{position:relative;min-height:40px;display:flex;align-items:center;gap:7px;padding:0 8px;border:1px solid var(--border-strong);border-radius:7px}.relation-picker:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #654a821a}.relation-picker>input{min-height:38px;flex:1;padding:0;border:0;box-shadow:none}.relation-picker>button{min-height:28px;display:flex;align-items:center;gap:3px;padding:0 7px;border-radius:5px;background:var(--brand-soft);color:var(--brand);font-size:8px;font-weight:750}.relation-results{position:absolute;z-index:5;top:calc(100% + 5px);left:0;right:0;display:none;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-float)}.relation-picker:focus-within .relation-results{display:block}.relation-results>button{width:100%;min-height:45px;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;text-align:left}.relation-results>button:hover{background:var(--brand-soft)}.relation-results>button>div{display:flex;flex:1;flex-direction:column;gap:3px}.relation-results strong{font-size:9px}.relation-results small{color:var(--text-secondary);font-size:7px}.relation-chips{min-height:40px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px;border:1px solid var(--border-strong);border-radius:7px}.relation-chips>span{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:5px;background:var(--success-soft);color:var(--success-strong);font-size:8px;font-weight:700}.relation-chips>span button{display:grid;place-items:center}.relation-chips>button{display:flex;align-items:center;gap:3px;color:var(--brand);font-size:8px}.date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}.date-range b{color:var(--text-secondary);font-size:8px}.form-step{display:flex;align-items:center;gap:10px;margin:18px 0 10px}.form-step:first-child{margin-top:0}.form-step>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:9px;font-weight:800}.form-step>div{display:flex;flex-direction:column;gap:2px}.form-step strong{font-size:11px}.form-step small{color:var(--text-secondary);font-size:8px}.contact-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px}.contact-choice>label,.contact-choice>button{min-height:53px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:7px}.contact-choice>label>div{display:flex;flex-direction:column;gap:3px}.contact-choice strong{font-size:9px}.contact-choice small{color:var(--text-secondary);font-size:7px}.contact-choice>button{justify-content:center;border-style:dashed;color:var(--brand);font-size:8px}.segmented-form{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:7px;background:var(--surface-muted)}.segmented-form button{min-height:32px;border-radius:5px;color:var(--text-secondary);font-size:9px}.segmented-form button.active{background:var(--surface);color:var(--brand);font-weight:800;box-shadow:0 1px 3px #26193714}.stage-dialog-status{display:grid;grid-template-columns:1fr auto;gap:4px;margin-bottom:14px;padding:12px 14px;border-radius:8px;background:var(--surface-strong);color:#fff}.stage-dialog-status span{color:var(--success-border);font-size:9px}.stage-dialog-status strong{font-size:11px}.stage-dialog-status p{grid-column:1 / 3;color:var(--text-muted);font-size:8px}.stage-checks{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:14px;padding:11px;border-radius:7px;background:var(--success-soft)}.stage-checks strong{width:100%;font-size:9px}.stage-checks span{display:flex;align-items:center;gap:4px;color:var(--success-strong);font-size:8px}.stage-checks span.pending{color:var(--amber-700)}.stage-dialog-actions{display:flex;gap:7px;margin-top:10px}.stage-file-field{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--brand);font-weight:650}.stage-monthly-panel{margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-subtle)}.stage-monthly-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.stage-monthly-panel header span,.stage-monthly-panel p{color:var(--text-secondary);font-size:12px}.stage-monthly-panel p{margin:8px 0 0}.stage-dialog-actions button{min-height:30px;display:flex;align-items:center;gap:4px;padding:0 8px;border:1px solid var(--border);border-radius:6px;font-size:8px}.upload-zone{min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--border-strong);border-radius:9px;background:var(--canvas);color:var(--brand);text-align:center;cursor:pointer}.upload-zone.dragging{border-color:var(--success);background:var(--success-soft)}.upload-zone strong{font-size:10px}.upload-zone>span{color:var(--text-secondary);font-size:8px}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.switch-row{min-height:40px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:7px}.switch-row>span{color:var(--text-secondary);font-size:8px;font-weight:500}.form-message{display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 10px;border-radius:7px;font-size:9px}.form-message.error{background:var(--danger-100);color:var(--danger-700)}.form-message.success{background:var(--success-soft);color:var(--success-strong)}.form-message button{margin-left:auto;color:inherit;font-size:8px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.settings-layout>nav{align-self:start;display:grid;padding:7px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.settings-layout>nav button{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-radius:7px;color:var(--text-secondary);font-size:10px;text-align:left}.settings-layout>nav button.active{background:var(--brand-soft);color:var(--brand);font-weight:800}.settings-surface{min-height:620px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel)}.settings-head{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid var(--border)}.settings-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--brand)}.settings-head h2{font-size:15px}.settings-head p{margin-top:3px;color:var(--text-secondary);font-size:9px}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin-top:20px}.settings-form label{display:flex;flex-direction:column;gap:6px}.settings-form label>span{font-size:9px;font-weight:750}.settings-form .full{grid-column:1 / 3}.settings-actions{grid-column:1 / 3;display:flex;justify-content:flex-end}.account-list{display:grid;gap:7px;margin:18px 0 12px}.account-list article{min-height:59px;display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--border);border-radius:8px}.account-list article>div:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px}.account-list strong{font-size:10px}.account-list span{color:var(--text-secondary);font-size:8px}.permission-table{margin:18px 0 12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.permission-row{min-height:48px;display:grid;grid-template-columns:1fr repeat(4,100px);align-items:center;border-bottom:1px solid var(--border)}.permission-row:last-child{border-bottom:0}.permission-row>*{padding:0 12px}.permission-row.head{min-height:36px;background:var(--canvas);color:var(--text-secondary);font-size:8px;font-weight:750}.permission-row strong{font-size:9px}.permission-row label{display:grid;place-items:center}.permission-note,.danger-zone{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px;border-radius:8px;background:var(--success-soft);color:var(--success-strong)}.permission-note p,.danger-zone p{color:var(--text-secondary);font-size:8px}.backup-status{display:flex;align-items:center;gap:11px;margin-top:18px;padding:14px;border:1px solid var(--success-border);border-radius:8px;background:var(--success-soft);color:var(--success-strong)}.backup-status>div{display:flex;flex:1;flex-direction:column;gap:3px}.backup-status strong{color:var(--text);font-size:10px}.backup-status span{font-size:8px}.settings-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.settings-card-grid button{min-height:112px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px;border:1px solid var(--border);border-radius:8px;color:var(--brand);text-align:left}.settings-card-grid button:hover{border-color:var(--brand);background:var(--brand-soft)}.settings-card-grid strong{color:var(--text);font-size:10px}.settings-card-grid span{color:var(--text-secondary);font-size:8px}.danger-zone{margin-top:12px;background:var(--danger-100);color:var(--danger-700)}.danger-zone>div{flex:1}.danger-zone strong{font-size:9px}.quality-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0 12px;border:1px solid var(--border);border-radius:8px}.quality-summary>div{min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px;border-right:1px solid var(--border)}.quality-summary>div:last-child{border-right:0}.quality-summary strong{font-size:19px}.quality-summary span{color:var(--text-secondary);font-size:8px}.quality-list{display:grid;gap:7px}.quality-list button{min-height:63px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;color:var(--amber-700);text-align:left}.quality-list button>div{flex:1}.quality-list strong{color:var(--text);font-size:10px}.quality-list p{margin-top:4px;color:var(--text-secondary);font-size:8px}@media(max-width:1280px){:root{--sidebar-width: 196px}.sidebar{padding-inline:9px}.metric-rail{grid-template-columns:repeat(4,1fr)}.metric-item:nth-child(4){border-right:0}.metric-item:nth-child(-n+4){border-bottom:1px solid var(--border)}.home-grid{grid-template-columns:1fr}.queue-panel{min-height:auto}.lower-grid{grid-template-columns:1fr}.demo-chip{display:none}.toolbar-actions>button:nth-last-child(-n+2),.toolbar-actions>.popover-wrap:nth-last-child(-n+2){display:none}}@media(max-width:900px){:root{--sidebar-width: 224px}.sidebar{transform:translate(-100%);transition:transform .2s ease-out}.sidebar.is-open{transform:translate(0)}.nav-scrim{position:fixed;inset:0;z-index:29;background:#172b525c}.app-frame{margin-left:0}.menu-button,.mobile-only{display:inline-grid}.topbar{padding-inline:12px}.global-search{margin:0}.topbar .primary-button{padding-inline:10px}.home-page,.module-page,.settings-page{padding:16px 14px 24px}.metric-rail{grid-template-columns:repeat(2,1fr)}.metric-item:nth-child(n){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.metric-item:nth-child(2n){border-right:0}.metric-item:last-child{grid-column:1 / 3;border-bottom:0}.execution-strip{grid-template-columns:1fr}.business-line{display:none}.workspace-toolbar{align-items:flex-start;overflow-x:auto}.toolbar-actions{min-width:max-content}.record-count{align-self:center}.settings-layout{grid-template-columns:1fr}.settings-layout>nav{display:flex;overflow-x:auto}.settings-layout>nav button{min-width:max-content;gap:8px}.permission-row{grid-template-columns:140px repeat(4,82px)}.permission-table{overflow-x:auto}.contact-grid{grid-template-columns:1fr}}@media(max-width:600px){.topbar{gap:6px}.global-search kbd,.notification-button{display:none}.topbar .primary-button{width:40px;padding:0;font-size:0}.topbar .primary-button svg:last-child{display:none}.cockpit-heading,.page-heading{align-items:flex-start}.cockpit-heading .secondary-button,.page-heading>.primary-button{min-width:40px;width:40px;padding:0;overflow:hidden;font-size:0}.metric-rail{grid-template-columns:1fr 1fr}.metric-item{min-height:82px;padding:12px 10px}.metric-item strong{font-size:16px}.metric-item>span{display:none}.next-action{grid-template-columns:auto 1fr}.next-action button{display:none}.week-calendar{grid-template-columns:repeat(7,132px)}.home-task-list>div{grid-template-columns:24px 1fr 54px}.home-task-list .status-label,.home-task-list em{display:none}.home-task-list time{text-align:right}.calendar-panel>header,.queue-panel>header,.task-panel>header,.insight-panel>header,.matrix-panel>header{padding-inline:12px}.task-panel>header>div:last-child{display:none}.view-switch button{font-size:0}.view-switch button svg{margin:0}.toolbar-actions>.popover-wrap:nth-child(n+3),.toolbar-actions>button{display:none}.record-count{display:none}.filter-popover{position:fixed;left:12px;right:12px;top:120px;width:auto}.page-heading{gap:8px}.heading-line{align-items:flex-start;flex-direction:column;gap:7px}.form-grid,.settings-form{grid-template-columns:1fr}.form-field.full,.settings-form .full,.settings-actions{grid-column:1}.entity-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.dialog-header{padding:12px}.dialog-body{padding:14px 12px}.dialog-footer{padding:10px 12px}.dialog-footer .danger-button{display:none}.contact-choice{grid-template-columns:1fr}.detail-summary,.detail-summary.project-summary{grid-template-columns:1fr 1fr}.detail-summary>div:nth-child(2){border-right:0}.detail-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.field-grid,.health-grid{grid-template-columns:1fr 1fr}.health-grid>div:nth-child(2){border-right:0}.settings-surface{padding:14px}.settings-card-grid,.quality-summary{grid-template-columns:1fr}.quality-summary>div{min-height:56px;border-right:0;border-bottom:1px solid var(--border)}.quality-summary>div:last-child{border-bottom:0}}@media(max-width:360px){.home-page,.module-page,.settings-page{padding-inline:10px}.metric-item em{display:none}.domain-switch button{padding-inline:9px}.global-search input::placeholder{font-size:0}.global-search input:before{content:"搜索"}.quick-filter-list{grid-template-columns:1fr}}.workspace-loading{min-height:55vh;display:grid;place-items:center;color:var(--text-secondary);font-size:11px}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--surface-strong);color:#fff;font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(420px,.8fr);background:var(--surface)}.login-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:36px 48px;overflow:hidden;background:var(--surface-strong);color:#fff}.login-story .brand-lockup{width:fit-content;padding:0;border:0}.login-message{max-width:680px;margin:auto 0}.login-message h1{max-width:15ch;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.035em}.login-message p{max-width:52ch;margin-top:18px;color:var(--text-muted);font-size:13px;line-height:1.7}.login-proof{display:flex;gap:18px;margin-top:24px}.login-proof span{display:flex;align-items:center;gap:6px;color:var(--success-border);font-size:10px}.login-lattice{display:grid;grid-template-columns:repeat(8,1fr);padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.login-lattice>div{position:relative;display:flex;flex-direction:column;gap:7px;color:var(--blue-200);font-size:8px}.login-lattice>div:after{position:absolute;left:20px;right:0;top:9px;height:1px;background:#ffffff29;content:""}.login-lattice i{position:relative;z-index:2;width:19px;height:19px;display:grid;place-items:center;border:1px solid rgba(191,219,254,.45);border-radius:50%;background:var(--surface-strong);font-size:7px;font-style:normal}.login-lattice .done{color:var(--success-border)}.login-lattice .done i{border-color:var(--success);background:var(--success);color:var(--surface-strong)}.login-lattice .done:after{background:var(--success)}.login-lattice .current{color:#fff}.login-lattice .current i{border-color:#fff;color:#fff;box-shadow:0 0 0 4px #ffffff1a}.login-form-wrap{display:grid;place-items:center;padding:36px;background:var(--canvas)}.login-form-wrap form{width:min(380px,100%);padding:28px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-panel)}.login-form-wrap h2{font-size:21px;letter-spacing:-.025em}.login-form-wrap header p{margin-top:7px;color:var(--text-secondary);font-size:10px}.login-field{display:flex;flex-direction:column;gap:7px;margin-top:18px}.login-field>label{font-size:13px;font-weight:750}.login-field>div{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-tertiary)}.login-field>div:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #654a821a}.login-form-wrap input{min-width:0;height:40px;flex:1;border:0;background:transparent;color:var(--text);font-size:14px}.login-submit{width:100%;margin-top:20px}.login-form-wrap footer{margin-top:17px;color:var(--text-tertiary);font-size:8px;line-height:1.5;text-align:center}.login-error{margin-top:12px;padding:9px;border-radius:6px;background:var(--danger-100);color:var(--danger-700);font-size:9px}@media(max-width:820px){.login-page{grid-template-columns:1fr}.login-story{min-height:330px;padding:24px}.login-message h1{font-size:32px}.login-lattice{display:none}.login-form-wrap{padding:24px 16px}}.relation-results>p,.relation-guidance{grid-column:1/-1;padding:10px;color:var(--text-tertiary);font-size:9px;text-align:center}.settings-notice,.quality-detail{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--success-soft);color:var(--success-strong);font-size:9px}.settings-success{color:var(--success-strong);font-size:9px}.quality-detail{margin-top:12px;color:var(--text)}.quality-detail p{margin:5px 0 10px;color:var(--text-secondary)}.inline-account-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto auto;align-items:center;gap:7px;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--canvas)}.inline-account-form strong{grid-column:1/-1;font-size:10px}.inline-account-form input{min-height:36px;padding:0 9px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);font-size:9px}.metric-rail{grid-template-columns:repeat(7,minmax(0,1fr))}.metric-item{min-width:0}.metric-item>div{min-width:0}.metric-item strong{max-width:100%;overflow:hidden;font-size:clamp(15px,1.35vw,22px);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.metric-item:last-child strong{font-size:clamp(12px,1vw,17px);letter-spacing:-.02em}.primary-home-grid{grid-template-columns:minmax(620px,1.42fr) minmax(390px,.78fr);align-items:stretch}.execution-center{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-panel)}.execution-center>header{min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid var(--border)}.execution-center h2{font-size:14px}.execution-center header p{margin-top:4px;color:var(--text-secondary);font-size:9px}.execution-tabs{display:flex;gap:5px;padding:9px 12px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--canvas)}.execution-tabs button{min-width:max-content;min-height:30px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);font-size:10px}.execution-tabs button span{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:var(--surface-muted);font-size:8px;font-variant-numeric:tabular-nums}.execution-tabs button.active{border-color:var(--border);background:var(--surface);color:var(--brand);font-weight:800;box-shadow:0 2px 7px #1d14290f}.execution-groups{max-height:390px;overflow-y:auto}.execution-groups>section{border-bottom:1px solid var(--border)}.execution-groups>section>header{min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:var(--surface-subtle)}.execution-groups>section>header strong{font-size:10px}.execution-groups>section>header span{color:var(--text-tertiary);font-size:9px}.execution-item{min-height:54px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 13px;border-top:1px solid var(--border)}.execution-item:hover{background:var(--surface-subtle)}.execution-content{min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left}.execution-content strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.execution-content span{overflow:hidden;color:var(--text-secondary);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.execution-item time{padding:3px 6px;border-radius:5px;color:var(--text-secondary);font-size:8px;font-style:normal;font-variant-numeric:tabular-nums}.execution-item .urgency-overdue{background:var(--danger-100);color:var(--danger-700)}.execution-item .urgency-today{background:var(--amber-100);color:var(--amber-700)}.execution-item .urgency-risk{background:var(--danger-100);color:var(--danger-700)}.risk-action{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--danger-100);color:var(--danger-700)}.execution-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;color:var(--success-strong);text-align:center}.execution-empty strong{color:var(--text);font-size:11px}.execution-empty span{color:var(--text-secondary);font-size:9px}.insight-rail{min-height:72px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-panel)}.insight-rail article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 15px;border-right:1px solid var(--border)}.insight-rail article:last-child{border-right:0}.insight-rail svg{color:var(--amber-700)}.insight-rail article:last-child svg{color:var(--success-strong)}.insight-rail strong,.insight-rail span{display:block}.insight-rail strong{font-size:10px}.insight-rail span{margin-top:3px;color:var(--text-secondary);font-size:8px}.insight-rail button{color:var(--brand);font-size:9px;font-weight:750}.matrix-stage-button{width:100%;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:6px}.matrix-stage-button small{max-width:66px;overflow:hidden;color:var(--text-tertiary);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.record-dialog{width:min(1080px,calc(100vw - 32px));max-height:min(92dvh,940px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:var(--surface);box-shadow:0 32px 90px #160e1e4d;color:var(--text);animation:rd-dialog-in var(--duration-panel) var(--ease-out)}.record-dialog::backdrop,.calendar-dialog::backdrop{background:#160e1e80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.record-dialog>.record-dialog-shell{min-height:min(760px,88dvh);display:flex;flex-direction:column}.record-editor-fieldset{min-width:0;margin:0;padding:0;border:0}.record-dialog-header{min-height:94px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.record-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--brand-soft);color:var(--brand)}.record-dialog-header>div:nth-child(2){min-width:0}.record-dialog-header span{color:var(--text-tertiary);font-size:8px;font-weight:750}.record-dialog-header h2{margin-top:3px;overflow:hidden;font-size:19px;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.record-dialog-header p{margin-top:4px;color:var(--text-secondary);font-size:9px}.record-tabs{min-height:46px;display:flex;gap:3px;padding:6px 14px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--canvas)}.record-tabs button{min-width:max-content;min-height:32px;padding:0 10px;border-radius:7px;color:var(--text-secondary);font-size:9px}.record-tabs button.active{background:var(--surface);color:var(--brand);font-weight:800;box-shadow:0 2px 7px #1d142912}.record-dialog-body{min-height:0;flex:1;overflow-y:auto;padding:18px 20px;background:var(--canvas)}.record-edit-section,.record-list-section{overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-panel)}.record-edit-section>header,.record-list-section>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid var(--border)}.record-edit-section h3,.record-list-section h3{font-size:13px}.record-edit-section header p,.record-list-section header p{margin-top:3px;color:var(--text-secondary);font-size:8px}.record-list-section header button{min-height:31px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--border);border-radius:7px;color:var(--brand);font-size:9px;font-weight:750}.record-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.record-form-grid label{min-width:0;display:flex;flex-direction:column;gap:6px}.record-form-grid label.full{grid-column:1 / -1}.record-form-grid label>span{color:var(--text-secondary);font-size:9px;font-weight:750}.record-form-grid input,.record-form-grid select,.record-form-grid textarea{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:11px}.record-form-grid textarea{padding-block:10px;resize:vertical;line-height:1.55}.record-form-grid input:focus,.record-form-grid select:focus,.record-form-grid textarea:focus{border-color:var(--brand);box-shadow:var(--shadow-focus)}.record-list-section>article,.record-list-section>button{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);text-align:left}.record-list-section>article>div,.record-list-section>button>div{min-width:0}.record-list-section strong,.record-list-section span{display:block}.record-list-section strong{font-size:10px}.record-list-section span{margin-top:3px;color:var(--text-secondary);font-size:8px}.record-empty{min-height:150px;display:grid;place-items:center;padding:24px;color:var(--text-secondary);font-size:9px;text-align:center}.project-permission-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px}.member-identity{display:flex;align-items:center;gap:10px;min-width:0;text-align:left}.member-identity span{display:grid;gap:2px}.permission-switches{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.permission-switches label{display:inline-flex;align-items:center;gap:5px;min-height:36px;color:var(--text-secondary);cursor:pointer}.permission-switches input{width:16px;height:16px;accent-color:var(--primary)}.permission-error{grid-column:1 / -1;color:var(--danger)}@media(max-width:720px){.project-permission-row{grid-template-columns:1fr}}.stage-mini{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--surface-muted)}.stage-mini.stage-已完成{background:var(--success-soft);color:var(--success-strong)}.stage-mini.stage-当前阶段{background:var(--brand-soft);color:var(--brand)}.record-message{min-height:40px;display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 11px;border-radius:8px;font-size:9px}.record-message.success{background:var(--success-soft);color:var(--success-strong)}.record-message.error{background:var(--danger-100);color:var(--danger-700)}.record-dialog-footer{min-height:66px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 20px;border-top:1px solid var(--border);background:var(--surface)}.record-dialog-footer>span{margin-right:auto;color:var(--text-tertiary);font-size:8px}.task-scope-rail{min-height:52px;display:flex;gap:5px;margin-bottom:12px;padding:7px;overflow-x:auto;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-panel)}.task-scope-rail button{min-width:max-content;min-height:36px;display:flex;align-items:center;gap:6px;padding:0 11px;border-radius:7px;color:var(--text-secondary);font-size:10px}.task-scope-rail button.active{background:var(--brand);color:#fff;font-weight:750}.task-scope-rail button strong{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#ffffff29;font-size:8px}.task-surface{background:transparent}.task-business-groups{display:grid;gap:12px}.task-business-group{overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-panel)}.task-business-group>header{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.task-business-group>header>div{display:flex;align-items:center;gap:8px}.task-business-group h2{font-size:12px}.task-business-group>header span{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:8px}.task-business-group>header p{color:var(--text-secondary);font-size:8px}.task-group-head,.task-group-table>button{display:grid;grid-template-columns:100px minmax(260px,1fr) 100px 150px 72px;align-items:center;gap:10px;padding:0 14px}.task-group-head{min-height:35px;background:var(--canvas);color:var(--text-tertiary);font-size:8px;font-weight:750}.task-group-table>button{width:100%;min-height:54px;border-top:1px solid var(--border);text-align:left}.task-group-table>button:hover{background:var(--surface-subtle)}.task-group-table>button>span:first-child{display:flex;align-items:center;gap:6px;font-size:8px}.task-status-mark{width:8px;height:8px;border:2px solid var(--brand);border-radius:50%}.task-status-mark.status-已完成{border-color:var(--success);background:var(--success)}.task-group-table strong,.task-group-table small{display:block}.task-group-table strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.task-group-table small{margin-top:3px;color:var(--text-secondary);font-size:8px}.task-group-table time{color:var(--text-secondary);font-size:8px;font-variant-numeric:tabular-nums}.task-urgency{width:fit-content;padding:3px 6px;border-radius:5px;color:var(--text-secondary);font-size:8px;font-style:normal}.urgency-已逾期{background:var(--danger-100);color:var(--danger-700)}.urgency-今日{background:var(--amber-100);color:var(--amber-700)}.task-group-empty{min-height:64px;display:grid;place-items:center;color:var(--text-tertiary);font-size:8px}.report-domain-note{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--success-border);border-radius:9px;background:var(--success-soft);color:var(--success-strong)}.report-domain-note strong,.report-domain-note span{display:block}.report-domain-note strong{font-size:10px}.report-domain-note span{margin-top:3px;font-size:8px}.calendar-dialog{position:fixed;inset:50% auto auto 50%;width:min(1180px,calc(100vw - 32px));max-height:90dvh;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:15px;background:var(--surface);box-shadow:0 30px 90px #160e1e4d;color:var(--text);transform:translate(-50%,-50%);z-index:100}.calendar-dialog>header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--border)}.calendar-dialog h2{font-size:16px}.calendar-dialog header p{margin-top:4px;color:var(--text-secondary);font-size:9px}.six-week-calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));max-height:calc(90dvh - 72px);overflow:auto}.six-week-calendar section{min-height:118px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.six-week-calendar section.today{background:var(--success-soft)}.six-week-calendar section>strong{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:10px}.six-week-calendar section>strong small{color:var(--text-tertiary);font-size:8px}.six-week-calendar section>button{width:100%;display:flex;gap:5px;margin-top:6px;padding:5px 6px;overflow:hidden;border-radius:5px;background:var(--brand-soft);color:var(--brand);font-size:8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.six-week-calendar section>button span{color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(max-width:1320px){.primary-home-grid{grid-template-columns:1fr}.execution-groups{max-height:520px}}@media(max-width:900px){.metric-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-item:nth-child(4){border-right:0}.insight-rail{grid-template-columns:1fr}.insight-rail article{border-right:0;border-bottom:1px solid var(--border)}.task-group-head,.task-group-table>button{grid-template-columns:84px minmax(220px,1fr) 90px 130px 64px}}@media(max-width:680px){.metric-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item:nth-child(2n){border-right:0}.metric-item:last-child{grid-column:1 / -1}.execution-center>header{align-items:flex-start}.record-dialog{width:100vw;max-height:100dvh;border-radius:0}.record-dialog>.record-dialog-shell{min-height:100dvh}.record-dialog-header{padding:13px}.record-dialog-body{padding:12px}.record-form-grid{grid-template-columns:1fr;padding:13px}.record-form-grid label.full{grid-column:1}.record-dialog-footer{padding:9px 12px}.record-dialog-footer>span{display:none}.task-business-group>header{align-items:flex-start;flex-direction:column}.task-group-table{overflow-x:auto}.task-group-head,.task-group-table>button{min-width:730px}.calendar-dialog{width:100vw;max-height:100dvh;border-radius:0}.six-week-calendar{max-height:calc(100dvh - 72px)}}.sidebar{width:var(--sidebar-width);padding:14px 10px 12px;border-right:1px solid var(--border);background:var(--sidebar);color:var(--text)}.brand-lockup{min-height:58px;padding:0 10px 14px;border-color:var(--border)}.brand-mark{width:36px;height:36px;border:1px solid var(--border-strong);border-radius:10px;background:linear-gradient(145deg,var(--surface) 0%,var(--brand-soft) 100%);color:var(--brand);box-shadow:0 4px 14px #3b5bdb1a}.brand-mark i{width:16px;height:16px;right:-5px;bottom:-6px;background:var(--brand)}.brand-lockup small{color:var(--text-secondary);font-size:11px;letter-spacing:.02em}.sidebar nav{gap:4px;padding-top:14px}.nav-button{min-height:44px;padding:0 11px;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);transition:color var(--duration-ui) var(--ease-out),background-color var(--duration-ui) var(--ease-out),border-color var(--duration-ui) var(--ease-out)}.nav-button:hover{color:var(--blue-800);border-color:var(--border);background:color-mix(in srgb,var(--surface) 64%,transparent)}.nav-button.active{color:var(--blue-800);border-color:var(--border);background:var(--brand-soft);box-shadow:none}.nav-button.active:before{left:0;width:3px;height:20px;background:var(--brand);box-shadow:none}.nav-button span{font-size:13px;font-weight:680}.nav-button em{min-width:21px;height:21px;border:0;background:var(--brand);color:#fff;font-size:11px}.sidebar-context{margin:12px 3px;padding:14px;border-color:var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 58%,transparent)}.sidebar-context>span,.sidebar-context small{color:var(--text-secondary);font-size:11px}.sidebar-context strong{color:var(--blue-800);font-size:15px}.sidebar-context>div{height:5px;background:var(--brand-soft)}.sidebar-context>div i{background:var(--brand);box-shadow:none}.sidebar-user{min-height:56px;padding:11px 8px 0;border-color:var(--border)}.sidebar-user strong{color:var(--text);font-size:13px}.sidebar-user small{color:var(--text-secondary);font-size:11px}.sidebar-user .avatar,.avatar{background:var(--brand-soft);color:var(--blue-800)}.topbar{height:var(--topbar-height);padding:0 22px;border-color:var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 1px #17203305;-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1)}.global-search{max-width:680px;height:40px;border-color:var(--border);border-radius:8px;background:var(--surface-subtle)}.global-search:focus-within{border-color:var(--brand);background:var(--surface);box-shadow:var(--shadow-focus)}.global-search input{font-size:14px}.global-search kbd{color:var(--text-secondary);background:var(--surface)}.demo-chip{min-height:27px;border-color:var(--border-strong);border-radius:999px;background:var(--brand-soft);color:var(--blue-800);font-size:11px}.icon-button{width:38px;height:38px;border-radius:8px;color:var(--text-secondary)}.icon-button:hover{background:var(--brand-soft);color:var(--blue-800)}.notification-button{border-color:var(--border);background:var(--surface)}.primary-button,.secondary-button,.danger-button,.text-button{min-height:38px;border-radius:6px;font-size:13px}.primary-button{background:var(--brand);box-shadow:none}.primary-button:hover{background:var(--brand-hover);box-shadow:none}.secondary-button{border-color:var(--border-strong);background:var(--surface);color:var(--text-secondary)}.secondary-button:hover{border-color:var(--border);background:var(--brand-soft);color:var(--blue-800)}.text-button{color:var(--blue-800)}.danger-button{border-color:var(--danger-border);color:var(--danger)}.create-menu,.toolbar-popover,.relation-results{border-color:var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 98%,transparent);box-shadow:var(--shadow-float);animation:rd-blue-popover-in .16s var(--ease-out);transform-origin:top right}@keyframes rd-blue-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.create-menu span,.toolbar-popover>strong{color:var(--text-secondary);font-size:11px}.create-menu button,.mini-popover button{min-height:38px;font-size:13px}.create-menu button:hover,.mini-popover button:hover,.mini-popover button.selected{background:var(--brand-soft);color:var(--blue-800)}main{min-height:calc(100dvh - var(--topbar-height))}.home-page,.module-page,.settings-page{max-width:1920px;margin:0 auto;padding:22px 24px 36px}.cockpit-heading,.page-heading{min-height:56px;margin-bottom:16px}.cockpit-heading h1,.page-heading h1{color:var(--text);font-size:24px;font-weight:760;letter-spacing:-.03em}.cockpit-heading p,.page-heading p{margin-top:5px;color:var(--text-secondary);font-size:13px}.domain-switch,.view-switch{border:1px solid var(--border);border-radius:8px;background:var(--surface-muted)}.domain-switch button,.view-switch button{min-height:38px;border-radius:6px;color:var(--text-secondary);font-size:13px}.domain-switch button.active,.view-switch button.active{background:var(--surface);color:var(--blue-800);box-shadow:0 1px 4px #172b5214}.calendar-panel,.queue-panel,.task-panel,.insight-panel,.matrix-panel,.module-surface,.settings-surface,.execution-center,.task-business-group,.task-scope-rail,.insight-rail{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel)}.calendar-panel>header,.queue-panel>header,.task-panel>header,.insight-panel>header,.matrix-panel>header,.execution-center>header,.task-business-group>header{min-height:64px;padding:13px 16px;border-color:var(--border);background:var(--surface)}.calendar-panel h2,.queue-panel h2,.task-panel h2,.insight-panel h2,.matrix-panel h2,.execution-center h2{font-size:15px}.calendar-panel header p,.queue-panel header p,.task-panel header p,.insight-panel header p,.matrix-panel header p,.execution-center header p{margin-top:3px;color:var(--text-secondary);font-size:12px}.metric-rail{grid-template-columns:repeat(7,minmax(0,1fr));border-color:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.metric-item{min-width:0;min-height:96px;gap:10px;padding:16px 13px;border-color:var(--border)}.metric-item:hover{background:var(--brand-soft);box-shadow:inset 0 -2px var(--brand)}.metric-item>span{width:32px;height:32px;border-radius:8px;background:var(--brand-soft);color:var(--blue-800)}.metric-item small{color:var(--text-secondary);font-size:12px}.metric-item strong{max-width:100%;margin-top:3px;overflow:hidden;color:var(--text);font-size:clamp(17px,1.28vw,21px);line-height:1.2;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.metric-item:last-child strong{font-size:clamp(15px,1.12vw,19px)}.metric-item em{margin-top:4px;color:var(--text-tertiary);font-size:11px}.metric-item.tone-mint>span{background:var(--success-soft);color:var(--success)}.metric-item.tone-danger>span{background:var(--danger-soft);color:var(--danger)}.metric-item.tone-amber>span{background:var(--warning-soft);color:var(--warning)}.metric-item.tone-blue>span{background:var(--brand-soft);color:var(--blue-800)}.home-grid{gap:14px;margin:14px 0}.primary-home-grid{grid-template-columns:minmax(620px,1.42fr) minmax(390px,.78fr)}.week-calendar>div{min-height:244px;border-color:var(--border);background:var(--surface)}.week-calendar>div>strong{color:var(--text-secondary);font-size:12px}.week-calendar>div.today>strong{color:var(--blue-800)}.event{padding:8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--brand-soft)}.event small{color:var(--blue-800);font-size:11px}.event span{color:var(--text);font-size:12px}.event em{color:var(--text-secondary);font-size:11px}.event-客户{border-color:var(--success-border);background:var(--success-soft)}.event-客户 small{color:var(--success)}.event-交付{border-color:var(--border-strong);background:var(--brand-soft)}.event-交付 small{color:var(--blue-800)}.event-收款{border-color:var(--warning-border);background:var(--warning-soft)}.event-收款 small{color:var(--warning)}.calendar-panel>footer{padding:9px 16px;color:var(--text-secondary);font-size:11px}.execution-tabs{padding:8px 11px;border-color:var(--border);background:var(--surface-subtle)}.execution-tabs button{min-height:34px;padding:0 10px;border-radius:6px;font-size:12px}.execution-tabs button span{font-size:10px}.execution-tabs button.active{border-color:var(--border-strong);color:var(--blue-800);box-shadow:0 1px 5px #3b5bdb14}.execution-groups>section,.execution-item{border-color:var(--border)}.execution-groups>section>header{min-height:38px;background:var(--brand-soft)}.execution-groups>section>header strong{font-size:12px}.execution-groups>section>header span{font-size:11px}.execution-item{min-height:58px;padding:8px 13px}.execution-item:hover{background:var(--brand-soft)}.execution-content strong{font-size:12px}.execution-content span,.execution-item time{font-size:12px}.task-check{width:19px;height:19px;border-color:var(--border)}.insight-rail article{padding:13px 16px;border-color:var(--border)}.insight-rail strong{font-size:12px}.insight-rail span,.insight-rail button{font-size:11px}.matrix-scroll{background:var(--surface)}.matrix-scroll table{min-width:1500px}.matrix-scroll th{height:42px;background:var(--surface-subtle);color:var(--text-secondary);font-size:11px}.matrix-scroll td{height:58px;color:var(--text-secondary);font-size:11px}.matrix-scroll th,.matrix-scroll td{border-color:var(--border)}.matrix-scroll th:first-child{background:var(--surface-subtle)}.matrix-scroll td:first-child{background:var(--surface);box-shadow:6px 0 12px #172b5209}.matrix-scroll td:first-child strong{font-size:12px}.matrix-scroll td:first-child small,.matrix-stage-button small{color:var(--text-secondary);font-size:11px}.matrix-stage-button{min-height:54px;border-radius:6px}.matrix-stage-button:hover{background:var(--brand-soft)}.matrix-node{width:20px;height:20px;border:2px solid var(--border);background:var(--surface)}.matrix-node.done{border-color:var(--success);background:var(--success)}.matrix-node.current{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 4px #3b5bdb1c}.workspace-toolbar{position:sticky;min-height:56px;top:calc(var(--topbar-height) + 8px);z-index:20;gap:10px;margin-bottom:12px;padding:8px 10px;border-color:var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 3px 14px #172b5209}.toolbar-actions>.popover-wrap>button,.toolbar-actions>button{min-height:36px;border-color:var(--border);border-radius:7px;font-size:12px}.toolbar-actions>.popover-wrap>button:hover,.toolbar-actions>button:hover{border-color:var(--border-strong);background:var(--brand-soft);color:var(--blue-800)}.record-count{color:var(--text-secondary);font-size:12px}.toolbar-message{font-size:12px}.popover-head strong{font-size:14px}.popover-head small,.quick-filter-list button,.column-popover label{font-size:12px}.module-surface{min-height:540px;background:var(--surface)}.table-scroll{min-height:520px;background:var(--surface)}.table-scroll th{height:44px;padding:0 14px;border-color:var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;letter-spacing:0}.table-scroll td,.density-compact .table-scroll td{height:44px;padding:0 14px;border-color:var(--border);color:var(--text-secondary);font-size:13px}.table-scroll tbody tr:hover,.table-scroll tbody tr.selected-row{background:var(--brand-soft);box-shadow:inset 3px 0 var(--brand)}.record-link{min-height:38px;color:var(--text);font-size:13px}.status-label{min-height:22px;padding:3px 8px;border-color:var(--border-strong);background:var(--brand-soft);color:var(--blue-800);font-size:11px}.record-link svg{color:var(--text-tertiary)}.editable-cell{min-height:38px}.editable-cell:hover{background:var(--brand-soft)}.relation-value{color:var(--blue-800)}.inline-editor{min-height:38px;border-color:var(--brand);box-shadow:var(--shadow-focus)}.batch-bar{border-color:var(--border-strong);background:var(--brand-soft)}.batch-bar strong{font-size:12px}.kanban-board{gap:12px;padding:14px;background:var(--surface-muted)}.board-column{min-width:300px;border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.board-column.is-over{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 2px #3b5bdb1a}.board-column>header h2{font-size:13px}.board-card{border-color:var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 2px #172b520a}.board-card:hover{border-color:var(--border);box-shadow:0 2px 7px #172b5214}.board-card.dragging{border-color:var(--brand);box-shadow:0 16px 32px #172b5229}.board-card h3{font-size:14px}.board-card p{font-size:12px}.board-card footer{font-size:11px}.drag-handle{top:4px;right:4px;width:36px;height:36px;border-radius:7px}.drag-handle:hover{background:var(--brand-soft);color:var(--blue-800)}.project-flow{background:var(--surface-muted)}.flow-guide{border-bottom:1px solid var(--border);background:var(--surface)}.flow-guide h2{font-size:15px}.flow-guide p,.flow-legend span{font-size:12px}.flow-head{background:var(--surface-subtle)}.flow-head>div{color:var(--text-secondary);font-size:12px}.flow-row{min-height:116px}.flow-row:hover{background:var(--brand-soft)}.flow-project-cell strong{font-size:13px}.flow-project-cell span,.flow-project-cell small{font-size:12px}.flow-stage-cell:hover{background:var(--brand-soft);box-shadow:inset 0 -2px var(--brand)}.flow-stage-cell strong,.flow-stage-cell small{font-size:12px}.stage-node{width:27px;height:27px}.stage-当前阶段{background:linear-gradient(180deg,var(--brand-soft),var(--brand-soft))}.stage-risk{background:var(--danger-soft)}.flow-next-cell strong{font-size:12px}.task-scope-rail{min-height:54px;padding:7px}.task-scope-rail button{min-height:38px;padding:0 12px;border-radius:7px;font-size:12px}.task-scope-rail button.active{background:var(--brand)}.task-scope-rail button strong{font-size:10px}.task-business-group h2{font-size:14px}.task-business-group>header span,.task-business-group>header p{font-size:11px}.task-business-group>header span{background:var(--brand-soft);color:var(--blue-800)}.task-group-head{min-height:38px;background:var(--surface-subtle);color:var(--text-secondary);font-size:11px}.task-group-table>button{min-height:56px;border-color:var(--border)}.task-group-table>button:hover{background:var(--brand-soft)}.task-group-table>button>span:first-child,.task-group-table small,.task-group-table time,.task-urgency{font-size:11px}.task-group-table strong{font-size:13px}.task-status-mark{border-color:var(--brand)}.task-group-empty{font-size:12px}.entity-dialog,.record-dialog,.calendar-dialog{border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);animation:rd-blue-dialog-in .22s var(--ease-out)}.record-dialog>.record-dialog-shell{width:100%;height:min(820px,88dvh);min-height:0;overflow:hidden}@keyframes rd-blue-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.record-dialog::backdrop,.entity-dialog::backdrop,.calendar-dialog::backdrop{background:#172b5270;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.record-dialog-header,.dialog-header,.calendar-dialog>header{border-color:var(--border);background:var(--surface)}.record-symbol,.dialog-symbol{border-radius:9px;background:var(--brand-soft);color:var(--blue-800)}.record-dialog-header span,.record-dialog-header p,.dialog-header p,.calendar-dialog header p{color:var(--text-secondary);font-size:12px}.record-dialog-header h2{font-size:20px}.dialog-header h2,.calendar-dialog h2{font-size:17px}.record-tabs{border-color:var(--border);background:var(--surface-subtle)}.record-tabs button{min-height:34px;color:var(--text-secondary);font-size:12px}.record-tabs button.active{color:var(--blue-800);box-shadow:0 1px 5px #172b5214}.record-dialog-body,.dialog-body{background:var(--canvas)}.record-edit-section,.record-list-section{border-color:var(--border);border-radius:var(--radius-md)}.record-edit-section>header,.record-list-section>header{border-color:var(--border)}.record-edit-section h3,.record-list-section h3{font-size:14px}.record-edit-section header p,.record-list-section header p{font-size:12px}.record-list-section header button{color:var(--blue-800);font-size:12px}.record-form-grid label>span,.form-field>span,.settings-form label>span{color:var(--text-secondary);font-size:12px}.record-form-grid input,.record-form-grid select,.record-form-grid textarea,.form-field input:not([type=checkbox]),.form-field select,.form-field textarea,.settings-form input,.settings-form select,.settings-form textarea{min-height:42px;border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px}.record-form-grid input:focus,.record-form-grid select:focus,.record-form-grid textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{border-color:var(--brand);box-shadow:var(--shadow-focus)}.record-list-section>article,.record-list-section>button{border-color:var(--border)}.record-list-section>button:hover{background:var(--brand-soft)}.record-list-section strong{font-size:12px}.record-list-section span,.record-empty,.record-message,.record-dialog-footer>span{font-size:11px}.stage-mini.stage-当前阶段{background:var(--brand-soft);color:var(--blue-800)}.record-dialog-footer,.dialog-footer{border-color:var(--border);background:var(--surface)}.relation-picker{border-color:var(--border-strong);background:var(--surface)}.relation-picker:focus-within{border-color:var(--brand);box-shadow:var(--shadow-focus)}.relation-results p,.relation-results button{font-size:12px}.service-type-picker{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.service-type-picker label{position:relative;min-height:34px;display:inline-flex;align-items:center;cursor:pointer}.service-type-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.service-type-picker label>span{min-height:34px;display:inline-flex;align-items:center;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;font-weight:650}.service-type-picker input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-hover);box-shadow:inset 3px 0 var(--brand)}.service-type-picker input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.relation-guidance-action{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-subtle)}.relation-guidance-action p{margin:0;color:var(--text-secondary);font-size:12px}.relation-guidance-action button{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--brand);border-radius:var(--radius-sm);color:var(--brand-hover);font-size:12px;font-weight:700;white-space:nowrap}.relation-guidance-action button:hover{background:var(--brand-soft)}.settings-layout>nav{border-color:var(--border);border-radius:10px;background:var(--sidebar)}.settings-layout>nav button{min-height:44px;border-radius:7px;color:var(--text-secondary);font-size:13px}.settings-layout>nav button:hover,.settings-layout>nav button.active{background:var(--surface);color:var(--blue-800)}.settings-head>span{background:var(--brand-soft);color:var(--blue-800)}.settings-head h2{font-size:17px}.settings-head p{color:var(--text-secondary);font-size:12px}.settings-card-grid>button,.backup-status,.danger-zone,.quality-summary,.account-list article{border-color:var(--border)}.settings-card-grid>button:hover{border-color:var(--border-strong);background:var(--brand-soft)}.settings-notice{border-color:var(--border-strong);background:var(--brand-soft);color:var(--blue-800)}.quality-summary span,.account-list span,.permission-row.head,.permission-note p,.danger-zone p,.backup-status span,.settings-card-grid span,.quality-list p{font-size:12px}.quality-list strong,.account-list strong,.backup-status strong,.settings-card-grid strong,.danger-zone strong{font-size:13px}.quality-list button{min-height:70px;border-color:var(--border)}.quality-list button:hover{background:var(--brand-soft)}.login-page{background:var(--canvas)}.login-story{background:var(--brand-soft);color:var(--text)}.login-story:after{opacity:.26;background-image:linear-gradient(rgba(59,91,219,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(59,91,219,.12) 1px,transparent 1px)}.login-story .brand-lockup{border-color:#3b5bdb29}.login-message h1{color:var(--blue-950)}.login-message p{color:var(--text-secondary)}.login-proof span{border-color:#3b5bdb2e;background:color-mix(in srgb,var(--surface) 54%,transparent);color:var(--blue-900)}.login-lattice>div{border-color:var(--border-strong);background:color-mix(in srgb,var(--surface) 45%,transparent);color:var(--text-secondary)}.login-lattice>div.done,.login-lattice>div.current{border-color:var(--brand);background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--blue-800)}.login-form-wrap{background:var(--surface)}.login-form-wrap form{border-color:var(--border);box-shadow:0 22px 60px #172b521a}.login-form-wrap form header p,.login-field>label,.login-form-wrap footer{color:var(--text-secondary)}.login-field>div{border-color:var(--border-strong);border-radius:8px}.login-field>div:focus-within{border-color:var(--brand);box-shadow:var(--shadow-focus)}@media(hover:hover)and (pointer:fine){.event:hover{transform:translateY(-1px)}}@media(max-width:1239px){.primary-home-grid{grid-template-columns:1fr}}.monthly-report-plan{display:grid;gap:16px}.monthly-report-plan>header,.monthly-cycle-list>header,.monthly-plan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-report-plan>header p,.monthly-plan-actions span,.monthly-cycle-list article span{color:var(--text-secondary);font-size:12px}.monthly-report-plan>form,.monthly-cycle-list{display:grid;gap:14px;padding:16px;border:1px solid var(--border);background:var(--surface)}.monthly-plan-actions button{display:inline-flex;align-items:center;gap:7px}.monthly-cycle-list article{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--border)}.monthly-cycle-list article>div{display:grid;gap:3px}.reminder-alert{position:fixed;z-index:400;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a5c}.reminder-alert>div{width:min(440px,100%);display:grid;gap:12px;padding:24px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-overlay)}.reminder-alert>div>span{color:var(--interactive);font-size:12px;font-weight:600}.reminder-alert h2,.reminder-alert p{margin:0}.reminder-alert>div>div{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:1100px){.metric-rail{grid-template-columns:repeat(7,minmax(128px,1fr));overflow-x:auto}}@media(max-width:960px){.sidebar{width:min(300px,86vw);transform:translate(-102%);box-shadow:var(--shadow-float)}.sidebar.is-open{transform:translate(0)}.app-frame{margin-left:0}.menu-button,.mobile-only{display:inline-grid}.nav-scrim{position:fixed;inset:0;z-index:29;background:#172b5257}.home-page,.module-page,.settings-page{padding-inline:18px}}@media(max-width:760px){.topbar{padding-inline:12px}.demo-chip{display:none}.metric-rail{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}.metric-item:nth-child(2n){border-right:0}.metric-item:last-child{grid-column:1 / -1}.home-page,.module-page,.settings-page{padding:16px 12px 28px}.workspace-toolbar{position:static;align-items:flex-start;flex-wrap:wrap}.toolbar-actions{width:100%;overflow-x:auto}.toolbar-actions>button,.toolbar-actions>.popover-wrap{display:inline-flex;flex:0 0 auto}.settings-layout{grid-template-columns:1fr}.settings-layout>nav{display:flex;overflow-x:auto}.settings-layout>nav button{min-width:max-content}.record-dialog,.entity-dialog,.calendar-dialog{width:100vw;max-width:none;max-height:100dvh;border:0;border-radius:0}.record-dialog>.record-dialog-shell{height:100dvh;min-height:0}}.asset-scope-navigator{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.asset-scope-navigator>header{padding:14px 16px 8px}.asset-scope-navigator h2{font-size:14px}.asset-scope-navigator p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.asset-scope-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px 12px 12px}.asset-scope-tabs button{min-width:0;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-secondary);text-align:left}.asset-scope-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.asset-scope-tabs button strong{min-width:25px;padding:2px 6px;border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:11px;text-align:center}.asset-scope-tabs button.active{border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand)}.asset-scope-tabs button.active strong{background:var(--brand);color:#fff}.asset-project-views{display:flex;align-items:center;gap:7px;padding:10px 12px;overflow-x:auto;border-top:1px solid var(--border);background:var(--surface-subtle)}.asset-project-views>span{flex:0 0 auto;margin-right:3px;color:var(--text-secondary);font-size:12px;font-weight:700}.asset-project-views button{flex:0 0 auto;min-height:36px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12px}.asset-project-views button strong{margin-left:5px;color:inherit;font-size:11px}.asset-project-views button.active{border-color:var(--brand);background:var(--brand);color:#fff}.upload-zone:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.selected-upload-file{width:min(100%,640px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--surface);text-align:left}.selected-upload-files{width:min(100%,680px);display:flex;flex-direction:column;gap:10px}.upload-queue-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;color:var(--text);text-align:left}.upload-queue-summary>strong{font-size:14px}.upload-queue-summary>span{color:var(--text-secondary);font-size:12px}.upload-queue-summary>button{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--brand-border);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);font-weight:700}.upload-file-queue{max-height:268px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:3px}.selected-upload-file.status-uploading{border-color:var(--brand);background:var(--brand-soft)}.selected-upload-file.status-error{border-color:var(--danger);background:var(--danger-soft)}.selected-upload-file.status-error .selected-upload-icon{background:var(--danger-soft);color:var(--danger)}.selected-upload-file.status-success{border-color:var(--success)}.selected-upload-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success)}.selected-upload-file>div{min-width:0}.selected-upload-file strong,.selected-upload-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-upload-file strong{display:block;color:var(--text);font-size:13px}.selected-upload-file>div>span{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px}.selected-upload-file button,.asset-file-actions button,.asset-file-actions a,.asset-selection-bar button,.asset-preview-shell header>a{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:650;text-decoration:none}.upload-file-error{margin:8px 0 0;color:var(--danger);font-size:12px}.asset-file-list{display:flex;flex-direction:column}.asset-file-row{min-height:68px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.asset-file-main{min-width:0;padding:0;text-align:left}.asset-file-main strong,.asset-file-main span,.asset-file-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-file-main strong{color:var(--text);font-size:13px}.asset-file-main span,.asset-file-main small{margin-top:3px;color:var(--text-secondary);font-size:11px}.asset-file-actions{display:flex;align-items:center;gap:8px}.asset-file-actions button,.asset-file-actions a{min-height:42px;padding-inline:14px;font-size:13px}.asset-file-actions button svg,.asset-file-actions a svg{width:18px;height:18px;stroke-width:2}.asset-selection-bar{min-height:48px;display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid var(--brand-border);background:var(--brand-soft)}.asset-selection-bar strong{margin-right:auto;font-size:12px}.asset-file-list.compact .asset-file-row{min-height:58px;padding-inline:10px}.asset-file-list.compact .asset-file-main small{display:none}.stage-asset-panel{margin-top:14px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.stage-asset-panel>header{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.stage-asset-panel>header span{color:var(--text-secondary);font-size:12px}.asset-preview-dialog{width:min(1120px,calc(100vw - 40px));height:min(820px,calc(100vh - 40px));max-width:none;max-height:none;padding:0;overflow:hidden;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-dialog)}.asset-preview-dialog::backdrop{background:#172b5280;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.asset-preview-shell{height:100%;display:flex;flex-direction:column}.asset-preview-shell>header{min-height:68px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.asset-preview-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand)}.asset-preview-shell h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.asset-preview-shell p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.asset-preview-body{min-height:0;flex:1;display:grid;place-items:center;background:var(--canvas)}.asset-preview-body iframe{width:100%;height:100%;border:0;background:#fff}.asset-preview-body img,.asset-preview-body video{max-width:100%;max-height:100%;object-fit:contain}.asset-preview-body audio{width:min(640px,calc(100% - 32px))}.asset-table-actions{min-width:164px;display:flex;align-items:center;gap:8px}.asset-table-actions button,.asset-table-actions a{min-width:72px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--brand);font-size:13px;font-weight:700;text-decoration:none}.asset-table-actions button:hover,.asset-table-actions a:hover{border-color:var(--brand-border);background:var(--brand-soft)}.asset-table-actions svg{width:18px;height:18px;stroke-width:2}@media(max-width:700px){.asset-scope-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-preview-dialog{width:100vw;height:100dvh;border-radius:0}.asset-preview-shell>header{grid-template-columns:auto minmax(0,1fr) auto}.asset-preview-shell>header>a{display:none}.asset-file-row{grid-template-columns:auto auto minmax(0,1fr)}.asset-file-actions{grid-column:2 / -1}.selected-upload-file{grid-template-columns:auto minmax(0,1fr)}.selected-upload-file button{grid-column:1 / -1}}@media(max-width:420px){.global-search{min-width:0}.global-search kbd,.notification-button{display:none}.cockpit-heading,.page-heading{align-items:flex-start}.cockpit-heading h1,.page-heading h1{font-size:21px}.metric-item{min-height:96px;padding:14px 11px}.metric-item>span{width:29px;height:29px}.metric-item strong,.metric-item:last-child strong{font-size:16px}}@media(min-width:1240px){.primary-home-grid{height:672px}.calendar-panel{display:flex;flex-direction:column;overflow:hidden}.week-calendar{min-height:0;flex:1;grid-template-rows:repeat(2,minmax(0,1fr))}.week-calendar>div{min-height:0;overflow-y:auto}.execution-groups{min-height:0;max-height:none}}.global-search:focus-within,.relation-picker:focus-within,.login-field>div:focus-within{border-color:var(--border);box-shadow:inset 0 -2px 0 var(--brand)}.record-form-grid input:focus,.record-form-grid select:focus,.record-form-grid textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{border-color:var(--border);box-shadow:inset 0 -2px 0 var(--brand);outline:0}:where(input,textarea,select):focus-visible{outline:0}.stage-checks{gap:8px 16px;padding:14px;border:1px solid var(--success-border);border-radius:9px}.stage-checks strong{font-size:13px}.stage-checks span{font-size:12px}.stage-asset-list{margin-top:12px;padding:13px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle)}.stage-asset-list>strong{display:block;margin-bottom:8px;font-size:13px}.stage-asset-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;padding:0;list-style:none}.stage-asset-list li{min-width:0;display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px}.stage-asset-list li svg{flex:none;color:var(--brand)}.stage-asset-list li span,.stage-latest-asset{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.stage-dialog-actions button{min-height:44px;justify-content:center;gap:7px;padding:0 13px;border-radius:8px;font-size:12px;font-weight:700}.stage-dialog-actions .stage-primary-action{border-color:var(--border);background:var(--brand-soft);color:var(--blue-800)}.stage-dialog-actions .stage-primary-action:hover{border-color:var(--brand);background:var(--brand-soft)}.stage-micro{min-width:0}.stage-latest-asset{max-width:100%;display:block;color:var(--blue-800)}.upload-zone strong{font-size:13px}.upload-zone>span{font-size:12px}@media(max-width:1239px){.primary-home-grid,.calendar-panel,.execution-center{height:auto}.execution-groups{max-height:620px}}@media(max-width:600px){.stage-asset-list ul,.stage-dialog-actions{grid-template-columns:1fr}}@media(prefers-reduced-transparency:reduce){.topbar,.workspace-toolbar,.create-menu,.toolbar-popover,.quick-search-results,.notification-menu{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.record-dialog::backdrop,.entity-dialog::backdrop,.calendar-dialog::backdrop,.confirm-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.create-menu,.toolbar-popover,.relation-results,.quick-search-results,.notification-menu,.entity-dialog,.record-dialog,.calendar-dialog,.confirm-dialog{transform:none}button:active:not(:disabled),.event:hover{transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:8px;left:12px;min-height:40px;display:flex;align-items:center;padding:0 14px;border:2px solid var(--brand);border-radius:8px;background:var(--surface);color:var(--blue-800);font-size:13px;font-weight:750;text-decoration:none;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:translateY(0);box-shadow:var(--shadow-float)}.global-search-wrap{position:relative;min-width:0;max-width:680px;flex:1;margin:0 auto}.global-search-wrap .global-search{width:100%;max-width:none;margin:0}.global-search input{min-height:38px}.quick-search-results{position:absolute;z-index:70;top:calc(100% + 8px);left:0;width:min(620px,calc(100vw - 32px));max-height:min(520px,70dvh);overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-float);animation:rd-blue-popover-in .16s var(--ease-out)}.quick-search-results>header,.notification-menu>header{min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:var(--text-secondary);font-size:12px}.quick-search-results>p{padding:22px 12px;color:var(--text-secondary);font-size:12px;text-align:center}.quick-search-results>button{width:100%;min-height:52px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;border-radius:7px;text-align:left}.quick-search-results>button:hover{background:var(--brand-soft)}.quick-search-results>button>span{width:fit-content;padding:3px 7px;border-radius:5px;background:var(--surface-muted);color:var(--blue-800);font-size:11px}.quick-search-results>button strong,.quick-search-results>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-search-results>button strong{font-size:13px}.quick-search-results>button small{margin-top:3px;color:var(--text-secondary);font-size:11px}.notification-menu{position:absolute;z-index:70;top:calc(100% + 8px);right:0;width:320px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-float);animation:rd-blue-popover-in .16s var(--ease-out)}.notification-menu>button{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border-radius:7px;text-align:left}.notification-menu>button:hover{background:var(--brand-soft)}.notification-menu>button>svg{color:var(--blue-800)}.notification-menu>button strong,.notification-menu>button span{display:block}.notification-menu>button strong{font-size:13px}.notification-menu>button span{margin-top:2px;color:var(--text-secondary);font-size:11px}.sidebar-user-wrap{position:relative;border-top:1px solid var(--border)}.sidebar-user{width:100%;padding:10px 8px 0;border:0;text-align:left}.user-menu{position:absolute;z-index:70;right:0;bottom:calc(100% + 8px);left:0;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-raised);box-shadow:var(--shadow-float)}.user-menu>strong,.user-menu>span{display:block}.user-menu>strong{font-size:13px}.user-menu>span{margin:3px 0 8px;color:var(--text-secondary);font-size:11px}.user-menu>button{width:100%;min-height:38px;display:flex;align-items:center;gap:7px;padding:0 8px;border-radius:6px;color:var(--blue-800);font-size:12px;text-align:left}.user-menu>button:hover{background:var(--brand-soft)}.theme-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:7px 0;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.theme-choice>button{min-width:0;min-height:34px;display:grid;place-items:center;gap:1px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:10px}.theme-choice>button:hover{color:var(--text);background:var(--surface-muted)}.theme-choice>button.active{color:var(--brand-hover);background:var(--surface);box-shadow:0 1px 2px #1f232914}.primary-home-grid{align-items:stretch}.calendar-panel,.execution-center{min-height:0;height:100%}.execution-center{display:flex;flex-direction:column}.week-calendar{grid-template-columns:repeat(7,minmax(100px,1fr))}.week-calendar>div{min-height:150px;border-bottom:1px solid var(--border)}.execution-groups{min-height:300px;max-height:none;flex:1;overflow-y:auto}.execution-tabs button{min-height:38px}.task-check{position:relative;width:36px;height:36px;border:0}.task-check:before{width:18px;height:18px;display:block;border:1.5px solid var(--border-strong);border-radius:50%;content:""}.task-check:hover:before{border-color:var(--brand);background:var(--brand-soft)}.execution-item{grid-template-columns:36px minmax(0,1fr) auto}.action-feedback,.table-feedback,.board-feedback{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border:1px solid var(--success-border);background:var(--success-soft);color:var(--success);font-size:12px;text-align:left}.action-feedback.error,.table-feedback.error,.board-feedback.error{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.table-feedback,.board-feedback{border-radius:8px 8px 0 0}.checkbox-hit{width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer}.checkbox-hit input,.table-scroll input[type=checkbox]{width:18px;height:18px}.inline-editor button{width:34px;height:34px}.flow-next-cell button,.insight-rail button,.record-list-section header button{min-height:36px;padding-inline:8px}.calendar-dialog{inset:0;margin:auto;transform:none}.six-week-calendar section.outside-month{background:var(--surface-subtle);opacity:.68}.confirm-dialog{width:min(440px,calc(100vw - 32px));padding:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);animation:rd-blue-dialog-in .18s var(--ease-out)}.confirm-dialog::backdrop{background:#172b527a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog>header{display:grid;grid-template-columns:40px minmax(0,1fr) 38px;align-items:start;gap:10px;padding:18px}.confirm-dialog>header>span{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--blue-800)}.confirm-dialog.tone-danger>header>span{background:var(--danger-soft);color:var(--danger)}.confirm-dialog h2{font-size:17px}.confirm-dialog p{margin-top:5px;color:var(--text-secondary);font-size:13px;line-height:1.65}.confirm-dialog>footer{min-height:64px;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-subtle)}@media(max-width:680px){.week-calendar{grid-template-columns:repeat(14,minmax(110px,1fr))}.week-calendar>div{min-height:190px}.execution-groups{min-height:0;max-height:460px}.quick-search-results,.notification-menu{position:fixed;top:var(--topbar-height);right:8px;left:8px;width:auto}.task-group-head{display:none}.task-group-table{padding:8px;overflow:visible;background:var(--surface-subtle)}.task-group-table>button{min-width:0;min-height:118px;display:grid;grid-template-columns:1fr auto;gap:7px 10px;margin-bottom:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.task-group-table>button>span:first-child{grid-column:1}.task-group-table>button>span:nth-child(2){grid-column:1 / -1;grid-row:1;padding-right:28px}.task-group-table>button>span:nth-child(3){grid-column:1;color:var(--text-secondary);font-size:11px}.task-group-table>button>time{grid-column:1}.task-group-table>button>.task-urgency{grid-column:2;grid-row:1;justify-self:end}.module-surface,.table-scroll{min-height:360px}.confirm-dialog{width:calc(100vw - 24px)}}@media(max-width:420px){.notification-button{display:inline-grid}.topbar{gap:8px}.topbar .primary-button{width:40px;padding:0}.topbar .primary-button>span,.topbar .primary-button>svg:last-child{display:none}.global-search input{font-size:13px}.cockpit-heading .secondary-button,.page-heading .primary-button{width:40px;min-width:40px;padding:0;overflow:hidden;font-size:0}.cockpit-heading .secondary-button svg,.page-heading .primary-button svg{width:18px;height:18px}.execution-tabs button{min-height:40px}.domain-switch button,.view-switch button,.toolbar-actions>.popover-wrap>button{min-height:40px}}@media(max-width:1239px){.primary-home-grid{height:auto;grid-template-columns:1fr}.calendar-panel,.execution-center{height:auto}.execution-groups{max-height:620px}}.task-center-page .task-group-head{grid-template-columns:36px minmax(220px,1fr) 96px 140px 72px 36px;font-size:10px}.task-center-page .task-row{display:grid;grid-template-columns:36px minmax(220px,1fr) 96px 140px 72px 36px;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-top:1px solid var(--border);position:relative;transition:background-color var(--duration-fast) var(--ease-standard)}.task-center-page .task-row:hover{background:var(--surface-subtle)}.task-center-page .task-row.is-done{opacity:.62}.task-center-page .task-row.is-done .task-row-content strong{text-decoration:line-through;text-decoration-color:var(--text-muted)}.task-center-page .task-complete-check{width:20px;height:20px;display:grid;place-items:center;border:1.75px solid var(--border-strong);border-radius:50%;background:var(--surface);color:#fff;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.task-center-page .task-row.cat-customer .task-complete-check{border-color:var(--success)}.task-center-page .task-row.cat-project .task-complete-check{border-color:var(--brand)}.task-center-page .task-row.cat-internal .task-complete-check{border-color:var(--warning)}.task-center-page .task-row.cat-customer .task-complete-check:hover{background:var(--success-soft)}.task-center-page .task-row.cat-project .task-complete-check:hover{background:var(--brand-soft)}.task-center-page .task-row.cat-internal .task-complete-check:hover{background:var(--warning-soft)}.task-center-page .task-row.is-done .task-complete-check{border-color:var(--success);background:var(--success)}.task-center-page .task-row-content{min-width:0;display:grid;gap:2px;text-align:left;border-radius:var(--radius-sm)}.task-center-page .task-row-content strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.task-center-page .task-row-content:hover strong{color:var(--brand)}.task-center-page .task-row-content small{overflow:hidden;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.task-center-page .task-row-owner{color:var(--text-secondary);font-size:12px}.task-center-page .task-row time{color:var(--text-tertiary);font-size:12px;font-variant-numeric:tabular-nums}.task-center-page .task-urgency{font-size:11px}.task-center-page .task-business-group>header h2:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;vertical-align:middle;background:var(--text-tertiary)}.task-center-page .group-客户跟进>header h2:before{background:var(--success)}.task-center-page .group-项目执行>header h2:before{background:var(--brand)}.task-center-page .group-内部事务>header h2:before{background:var(--warning)}.task-center-page .task-business-group h2{font-size:13px}.task-center-page .task-business-group>header p{font-size:11px}.task-center-page .task-business-group>header span{min-width:22px;height:22px;font-size:11px;font-variant-numeric:tabular-nums}.task-center-page .task-actions{position:relative}.task-center-page .task-menu-trigger{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);color:var(--text-tertiary);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.task-center-page .task-row:hover .task-menu-trigger,.task-center-page .task-menu-trigger:focus-visible,.task-center-page .task-menu-trigger[aria-expanded=true]{opacity:1}.task-center-page .task-menu-trigger:hover,.task-center-page .task-menu-trigger[aria-expanded=true]{background:var(--surface-muted);color:var(--text)}.task-center-page .task-menu-backdrop{position:fixed;inset:0;z-index:40;width:100%;height:100%;border:0;background:transparent}.task-center-page .task-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:150px;display:grid;gap:1px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.task-center-page .task-menu button{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;text-align:left;transition:background-color var(--duration-fast) var(--ease-standard)}.task-center-page .task-menu button:hover{background:var(--surface-subtle);color:var(--text)}.task-center-page .task-menu button svg{color:var(--text-tertiary)}.board-card{position:relative}.board-card.cat-customer,.board-card.cat-project,.board-card.cat-internal,.board-card.cat-unclassified{border-left-width:3px}.board-card.cat-customer{border-left-color:var(--success)}.board-card.cat-project{border-left-color:var(--brand)}.board-card.cat-internal{border-left-color:var(--warning)}.board-card.cat-unclassified{border-left-color:var(--border-strong)}.board-card.is-done{opacity:.62}.board-card.is-done .board-card-body h3{text-decoration:line-through;text-decoration-color:var(--text-muted)}.board-card .card-complete-check{position:absolute;top:10px;right:10px;z-index:2;width:20px;height:20px;display:grid;place-items:center;border:1.75px solid var(--border-strong);border-radius:50%;background:var(--surface);color:#fff;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.board-card:hover .card-complete-check,.board-card .card-complete-check:focus-visible,.board-card.is-done .card-complete-check{opacity:1}.board-card.cat-customer .card-complete-check{border-color:var(--success)}.board-card.cat-project .card-complete-check{border-color:var(--brand)}.board-card.cat-internal .card-complete-check{border-color:var(--warning)}.board-card.is-done .card-complete-check{border-color:var(--success);background:var(--success)}.calendar-dialog .six-week-calendar section{position:relative}.calendar-dialog .cal-day-add{position:absolute;top:4px;right:4px;width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-tertiary);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.calendar-dialog .six-week-calendar section:hover .cal-day-add,.calendar-dialog .cal-day-add:focus-visible{opacity:1}.calendar-dialog .cal-day-add:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.calendar-dialog .six-week-calendar section.today .cal-day-add{opacity:1;border-color:var(--brand);color:var(--brand-hover)}.calendar-dialog .cal-event{border-left:2px solid var(--brand)}.calendar-dialog .cal-event.event-客户{border-left-color:var(--success)}.calendar-dialog .cal-event.event-收款{border-left-color:var(--warning)}.calendar-dialog .cal-event.event-会议{border-left-color:var(--text-tertiary)}.calendar-dialog .cal-event.event-交付{border-left-color:var(--brand)}.kpi-settings-section{padding:20px 0 24px;border-top:1px solid var(--border)}.kpi-settings-section:first-of-type{border-top:0;padding-top:0}.kpi-settings-title{margin-bottom:14px}.kpi-settings-title h3{margin:0 0 4px;font-size:15px}.kpi-settings-title p{margin:0;color:var(--text-muted);font-size:13px}.kpi-weight-grid,.kpi-target-grid{display:grid;gap:8px;margin-bottom:14px}.kpi-weight-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 160px;gap:10px;align-items:center;min-height:48px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.kpi-weight-row strong{display:flex;align-items:center;gap:8px}.kpi-weight-row strong i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-style:normal;font-size:11px}.kpi-weight-row label{display:flex;align-items:center;position:relative}.kpi-weight-row label input{width:100%;padding-right:36px}.kpi-weight-row label span{position:absolute;right:12px;color:var(--text-muted)}.kpi-target-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.kpi-target-grid label{display:grid;grid-template-columns:minmax(100px,1fr) 120px 24px;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:8px}.kpi-target-grid label span{display:flex;flex-direction:column}.kpi-target-grid label small,.kpi-target-grid label em{color:var(--text-muted)}.kpi-target-grid label em{font-style:normal}.kpi-award-editor{display:grid;grid-template-columns:110px minmax(180px,1fr) 150px auto;gap:8px;align-items:start}.kpi-target-search{position:relative}.kpi-target-search>div{position:absolute;z-index:5;top:calc(100% + 4px);inset-inline:0;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-float)}.kpi-target-search>div button{display:block;width:100%;min-height:36px;padding:6px 8px;border:0;border-radius:5px;background:transparent;text-align:left}.kpi-target-search>div button:hover{background:var(--brand-soft)}.kpi-award-list{display:grid;gap:6px;margin-top:12px}.kpi-award-list article{display:grid;grid-template-columns:70px minmax(160px,1fr) 110px 36px;gap:8px;align-items:center;min-height:44px;padding:6px 8px;border-bottom:1px solid var(--border)}.kpi-award-list article em{font-style:normal;font-variant-numeric:tabular-nums}.empty-inline{color:var(--text-muted);font-size:13px}@media(max-width:760px){.kpi-weight-row,.kpi-award-editor,.kpi-target-grid{grid-template-columns:1fr}.kpi-award-list article{grid-template-columns:64px 1fr auto}.kpi-award-list article .icon-button{grid-column:3;grid-row:1 / span 2}}body{color:var(--text);background:var(--canvas)}:where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}.primary-button,.secondary-button,.danger-button,.text-button{min-height:34px;border-radius:var(--radius-md);box-shadow:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.primary-button{border:1px solid var(--brand);background:var(--brand)}.primary-button:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand-hover)}.secondary-button{border-color:var(--border-strong);color:var(--text)}.secondary-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.text-button{color:var(--brand-hover)}:where(.primary-button,.secondary-button,.danger-button,.text-button):active:not(:disabled){transform:scale(.98)}.page-header,.page-heading,.cockpit-heading{min-height:48px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 16px}.page-header h1,.page-heading h1,.cockpit-heading h1{color:var(--text);font-size:25px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.page-header p,.page-heading p,.cockpit-heading p{margin-top:4px;color:var(--text-secondary);font-size:13px}.page-eyebrow{display:block;margin-bottom:4px;color:var(--brand-hover);font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.page-header-actions,.surface-header-actions{display:flex;align-items:center;gap:8px}.workspace-surface,.module-surface{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.surface-header{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border)}.surface-header h2{font-size:16px;line-height:1.3}.surface-header p{margin-top:3px;color:var(--text-secondary);font-size:12px}.status-surface{min-height:240px;display:grid;place-content:center;justify-items:center;gap:12px;padding:32px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center}.status-surface-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-secondary)}.status-surface h2{font-size:16px}.status-surface p{max-width:460px;margin-top:4px;color:var(--text-secondary);font-size:13px}.status-danger .status-surface-icon{background:var(--danger-soft);color:var(--danger)}.status-success .status-surface-icon{background:var(--success-soft);color:var(--success)}:where(input,textarea,select):focus{border-color:var(--brand);box-shadow:var(--shadow-focus)}@media(max-width:600px){.page-header,.page-heading,.cockpit-heading{align-items:stretch;flex-direction:column;gap:12px}.page-header-actions,.page-heading>.primary-button,.cockpit-heading>.secondary-button{width:100%}.page-heading>.primary-button,.cockpit-heading>.secondary-button{min-width:0;padding:0 13px;overflow:visible;font-size:12px}}.app-shell{background:var(--canvas)}.sidebar{width:var(--sidebar-width);padding:12px 10px;border-right:1px solid var(--border);background:var(--sidebar);color:var(--text)}.brand-lockup{min-height:52px;gap:10px;padding:0 8px 10px;border-bottom:0}.brand-mark{width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}.brand-mark i{width:12px;height:12px;right:-3px;bottom:-3px;border:2px solid var(--sidebar);background:var(--success)}.brand-lockup strong{color:var(--text);font-size:15px}.brand-lockup small{color:var(--text-tertiary);font-size:10px}.sidebar .primary-navigation{min-height:0;display:block;flex:1;overflow-y:auto;padding:8px 0 4px}.nav-group{display:grid;gap:2px;padding:3px 0 7px}.nav-group+.nav-group{border-top:0}.nav-group-label{padding:8px 9px 4px;color:var(--text-tertiary);font-size:10px;font-weight:650;letter-spacing:.04em}.nav-button{min-height:36px;gap:9px;padding:0 9px;border:0;border-radius:var(--radius-sm);color:var(--text)}.nav-button:hover{border:0;background:var(--surface-muted);color:var(--text)}.nav-button.active{border:0;background:var(--brand-soft);color:var(--brand-hover)}.nav-button.active:before{left:0;width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--brand)}.nav-button span{font-size:13px;font-weight:550}.nav-button em{min-width:20px;height:18px;border-radius:var(--radius-xs);background:transparent;color:var(--brand-hover)}.sidebar-context{margin:6px 2px 8px;padding:12px 8px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}.sidebar-context>span,.sidebar-context small{color:var(--text-secondary)}.sidebar-context strong{color:var(--brand-hover)}.sidebar-context>div{background:var(--border)}.sidebar-context>div i{background:var(--brand)}.sidebar-user{min-height:48px;padding:8px;border-top:1px solid var(--border);color:var(--text)}.sidebar-user:hover{background:var(--surface-muted)}.sidebar-user small{color:var(--text-tertiary)}.app-frame{margin-left:var(--sidebar-width)}@media(min-width:961px){.app-shell.knowledge-mode .sidebar{width:72px;padding:12px 8px}.app-shell.knowledge-mode .brand-lockup{justify-content:center;padding-inline:0}.app-shell.knowledge-mode .brand-lockup>div:not(.brand-mark),.app-shell.knowledge-mode .nav-group-label,.app-shell.knowledge-mode .nav-button span,.app-shell.knowledge-mode .nav-button em,.app-shell.knowledge-mode .sidebar-context,.app-shell.knowledge-mode .sidebar-user>div:not(.avatar),.app-shell.knowledge-mode .sidebar-user>svg{display:none}.app-shell.knowledge-mode .nav-group{padding-block:3px}.app-shell.knowledge-mode .nav-button{width:48px;min-height:44px;justify-content:center;margin-inline:auto;padding:0}.app-shell.knowledge-mode .nav-button svg{width:19px;height:19px}.app-shell.knowledge-mode .sidebar-user{justify-content:center;padding-inline:0}.app-shell.knowledge-mode .sidebar-user .avatar{margin:0}.app-shell.knowledge-mode .app-frame{margin-left:72px}.app-shell.knowledge-mode .global-search{max-width:680px;margin-inline:auto}}.topbar{height:var(--topbar-height);gap:10px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.global-search-wrap{min-width:0;flex:1}.global-search{max-width:560px;height:36px;margin:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.global-search:focus-within{border-color:var(--brand);box-shadow:var(--shadow-focus)}.icon-button,.notification-button{width:34px;height:34px;border-color:transparent;border-radius:var(--radius-md);background:transparent}.icon-button:hover,.notification-button:hover{background:var(--surface-muted)}.create-menu,.toolbar-popover,.quick-search-results,.notification-menu,.user-menu{border-color:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}main{min-height:calc(100vh - var(--topbar-height))}@media(max-width:960px){.sidebar{width:min(288px,calc(100vw - 44px))}.app-frame{margin-left:0}.topbar{padding:0 14px}}@media(max-width:600px){.topbar{gap:6px;padding:0 10px}.global-search kbd,.demo-chip,.create-wrap .primary-button>span,.create-wrap .primary-button>svg:last-child{display:none}.create-wrap .primary-button{width:36px;padding:0}}.home-page,.module-page,.settings-page,.task-center-page{padding:18px 22px 30px}.metric-rail{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.metric-item{min-height:102px;padding:14px 15px;border-right-color:var(--border);background:var(--surface)}.metric-item:hover{background:var(--surface-subtle)}.metric-item>span{width:24px;height:24px;border-radius:0;background:transparent}.metric-item strong{color:var(--text);font-size:clamp(26px,2.1vw,34px);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.metric-item small,.metric-item em{color:var(--text-secondary)}.calendar-panel,.execution-center,.matrix-panel,.insight-rail{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.calendar-panel>header,.execution-center>header,.matrix-panel>header{min-height:56px;padding:12px 16px;border-bottom:1px solid var(--border)}.calendar-panel h2,.execution-center h2,.matrix-panel h2{font-size:16px}.workspace-toolbar{min-height:48px;margin-bottom:-1px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:none}.workspace-toolbar+.module-surface,.workspace-toolbar~.module-surface,.workspace-toolbar+.project-flow{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.toolbar-button,.view-switch button,.domain-switch button,.execution-tabs button{border-radius:var(--radius-sm)}.view-switch,.domain-switch,.execution-tabs{background:var(--surface-subtle)}.view-switch button.active,.domain-switch button.active,.execution-tabs button.active{background:var(--surface);color:var(--brand-hover);box-shadow:inset 0 -2px var(--brand)}.data-table-wrap,.kanban-board,.project-flow{border:0;border-radius:0;box-shadow:none}.data-table thead,.data-table th{background:var(--surface-subtle);color:var(--text-secondary)}.data-table th,.data-table td{border-color:var(--border)}.data-table tbody tr:hover td{background:var(--surface-subtle)}.record-link,.text-link{color:var(--brand-hover)}.loading-state,.error-state,.empty-state{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface)}.entity-dialog,.record-dialog,.calendar-dialog,.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-dialog)}.modal-workspace{width:min(var(--modal-width, 800px),calc(100vw - 32px));max-height:min(88dvh,920px)}.modal-size-compact{--modal-width: 640px}.modal-size-standard{--modal-width: 800px}.modal-size-wide{--modal-width: 1080px}.modal-workspace-shell{min-height:0;max-height:inherit;display:flex;flex-direction:column}.modal-workspace-header,.modal-workspace-actions,.modal-workspace-footer{flex:none;border-color:var(--border);background:var(--surface)}.modal-workspace-body{min-height:0;overflow-y:auto}.entity-dialog::backdrop,.record-dialog::backdrop,.calendar-dialog::backdrop,.confirm-dialog::backdrop{background:#1f23296b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.entity-dialog-header,.record-dialog-header,.record-dialog-footer,.entity-dialog-actions{border-color:var(--border);background:var(--surface)}.record-tabs{background:var(--surface-muted)}.record-tabs button.active{background:var(--surface);color:var(--brand-hover)}.workspace-surface,.module-surface,.calendar-panel,.execution-center,.matrix-panel,.insight-rail,.task-panel,.task-scope-rail,.task-business-group,.settings-surface,.settings-layout>nav,.board-column,.record-edit-section,.record-list-section{box-shadow:none}.workspace-toolbar{top:calc(var(--topbar-height) + 6px);margin-bottom:-1px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.toolbar-actions>.popover-wrap>button,.toolbar-actions>button,.toolbar-button,.view-switch button,.domain-switch button,.execution-tabs button{min-height:32px;border-radius:var(--radius-sm)}.toolbar-actions>.popover-wrap>button:hover,.toolbar-actions>button:hover,.toolbar-button:hover{border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.module-surface{min-height:520px}.table-scroll{min-height:500px;background:var(--surface)}.table-scroll table{font-size:13px}.table-scroll th{height:40px;padding:0 12px;border-color:var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.01em}.table-scroll td,.density-compact .table-scroll td{height:42px;padding:0 12px;border-color:var(--border);color:var(--text);font-size:12px}.table-scroll tbody tr{box-shadow:none}.table-scroll tbody tr:hover,.table-scroll tbody tr.selected-row{background:var(--surface-subtle);box-shadow:inset 2px 0 var(--brand)}.record-link,.editable-cell{min-height:34px;font-size:12px}.editable-cell:hover{background:var(--surface-muted)}.status-label{position:relative;min-height:20px;padding:0 0 0 10px;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.status-label:before{position:absolute;top:50%;left:0;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translateY(-50%);content:""}.status-label[class*=高风险],.status-label[class*=逾期],.status-label[class*=停用]{color:var(--danger)}.status-label[class*=完成],.status-label[class*=正常],.status-label[class*=在职]{color:var(--success)}.status-label[class*=当前],.status-label[class*=推进],.status-label[class*=持续]{color:var(--brand-hover)}.relation-value,.relation-link{color:var(--brand)}.kanban-board{gap:10px;padding:12px;background:var(--surface-subtle)}.board-column{border-radius:var(--radius-md);background:var(--surface-muted)}.board-card,.board-card:hover{border-color:var(--border);border-radius:var(--radius-sm);box-shadow:none}.task-scope-rail{min-height:48px;padding:5px}.task-scope-rail button{min-height:34px;border-radius:var(--radius-sm)}.task-scope-rail button.active{background:var(--text);color:var(--surface)}.task-business-group>header,.task-group-head,.settings-layout>nav,.record-tabs{background:var(--surface-subtle)}.task-business-group>header span,.task-group-table .task-urgency,.settings-head>span,.stage-mini,.service-type-picker label>span{border-radius:var(--radius-xs)}.task-group-table>button:hover,.settings-card-grid>button:hover,.quality-list button:hover,.record-list-section>button:hover{background:var(--surface-subtle)}.settings-layout>nav{border-radius:var(--radius-lg)}.settings-layout>nav button{border-radius:var(--radius-sm)}.settings-layout>nav button:hover,.settings-layout>nav button.active{background:var(--surface-muted);color:var(--text)}.record-dialog-body,.dialog-body{background:var(--surface-subtle)}.record-tabs button.active{box-shadow:inset 0 -2px var(--brand)}.record-symbol,.dialog-symbol{border-radius:var(--radius-md);background:var(--surface-muted)}.record-edit-section,.record-list-section{border-radius:var(--radius-md)}.entity-dialog::backdrop,.record-dialog::backdrop,.calendar-dialog::backdrop,.confirm-dialog::backdrop{background:#191c2175;-webkit-backdrop-filter:none;backdrop-filter:none}@media(hover:hover)and (pointer:fine){.metric-item,.home-quick-actions>button,.flow-stage-cell,.task-group-table>button{transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}}.home-quick-actions{padding:0;gap:0}.home-quick-actions>button{min-height:62px;padding:9px 12px;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface)}.home-quick-actions>button:last-child{border-right:0}.home-quick-actions>button>span:first-child{width:24px;height:24px;border-radius:0;background:transparent;box-shadow:none}.home-quick-actions>button:hover{border-color:var(--border);background:var(--surface-subtle);color:var(--text)}.home-dashboard .metric-item strong{font-size:clamp(28px,2.25vw,36px)}.home-dashboard .metric-item:last-child strong{font-size:clamp(24px,1.9vw,30px);white-space:nowrap}.home-dashboard .metric-item:last-child>span{display:none}.home-dashboard .metric-item>span{align-self:flex-start;color:var(--text-tertiary)}.home-dashboard .week-calendar .event{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);box-shadow:none}.home-dashboard .week-calendar .event:hover{border-color:var(--border-strong);background:var(--surface-muted);transform:none}.home-dashboard .execution-tabs{border-bottom:1px solid var(--border);background:var(--surface)}.home-dashboard .execution-tabs button,.home-dashboard .execution-tabs button.active{border-radius:0;background:transparent;box-shadow:none}.home-dashboard .execution-tabs button.active{color:var(--text);box-shadow:inset 0 -2px var(--brand)}.home-dashboard .insight-rail article{border-radius:0;background:var(--surface);box-shadow:none}.home-dashboard .matrix-scroll th{background:var(--surface-subtle)}.home-dashboard .matrix-scroll th:first-child,.home-dashboard .matrix-scroll td:first-child{background:var(--surface);box-shadow:1px 0 var(--border)}.home-dashboard .matrix-stage-button{min-height:48px;border-radius:var(--radius-sm)}.home-dashboard .matrix-stage-button:hover{background:var(--surface-muted)}.project-flow{background:var(--surface)}.project-flow>.surface-header{min-height:60px;padding:10px 14px}.flow-navigation{min-height:44px;padding-block:4px;background:var(--surface-subtle)}.flow-navigation button{width:32px;height:32px;border-radius:var(--radius-sm);box-shadow:none}.flow-head{min-height:40px;background:var(--surface-subtle)}.flow-head>div{color:var(--text-secondary);font-size:11px;font-weight:600}.flow-row{min-height:92px;background:var(--surface)}.flow-row:hover{background:var(--surface-subtle)}.flow-project-cell,.flow-next-cell{background:var(--surface)}.flow-project-cell strong{font-size:12px;font-weight:650}.flow-project-cell span,.flow-project-cell small,.flow-stage-cell strong,.flow-stage-cell small{font-size:11px}.flow-stage-cell{min-height:92px;background:transparent}.flow-stage-cell:hover{background:var(--surface-muted);box-shadow:inset 0 -2px var(--border-strong)}.stage-node{width:18px;height:18px;border-width:1px;box-shadow:none}.stage-当前阶段{background:var(--brand-soft);box-shadow:inset 0 2px var(--brand)}.stage-当前阶段 .stage-node{box-shadow:0 0 0 2px #3b5bdb1a}.stage-risk{background:var(--danger-soft);box-shadow:inset 0 2px var(--danger)}.stage-micro,.stage-micro span{border-radius:var(--radius-xs);background:transparent;box-shadow:none}.flow-next-cell strong{font-size:11px;font-weight:650}.flow-next-cell>button{border-radius:var(--radius-xs)}.flow-mobile{background:var(--surface-subtle)}.flow-mobile-project{border-radius:var(--radius-md);box-shadow:none}@media(max-width:1359px)and (min-width:761px){.home-quick-actions>button:nth-child(3n){border-right:0}.home-quick-actions>button:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media(max-width:960px){.home-page,.module-page,.settings-page,.task-center-page{padding:16px}}@media(max-width:600px){.home-page,.module-page,.settings-page,.task-center-page{padding:12px 10px 24px}.metric-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item{min-height:104px;padding:12px}.workspace-toolbar{border-radius:var(--radius-lg)}.workspace-toolbar+.module-surface,.workspace-toolbar~.module-surface,.workspace-toolbar+.project-flow{margin-top:10px;border-radius:var(--radius-lg)}.entity-dialog,.record-dialog,.calendar-dialog,.modal-workspace{width:100vw;max-width:none;max-height:100dvh;border-radius:0}.modal-workspace-shell{min-height:100dvh}}.customer-360-summary{margin-bottom:14px;border:1px solid var(--border);background:var(--surface-subtle)}.customer-360-summary>header{padding:12px 14px;border-bottom:1px solid var(--border)}.customer-360-summary h3,.customer-360-summary p{margin:0}.customer-360-summary p{margin-top:3px;color:var(--text-secondary);font-size:12px}.customer-360-summary>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.customer-360-summary article{min-width:0;padding:12px 14px;border-right:1px solid var(--border)}.customer-360-summary article:last-child{border-right:0}.customer-360-summary span,.customer-360-summary small{display:block;color:var(--text-secondary)}.customer-360-summary strong{display:block;margin:5px 0;font-size:19px;font-variant-numeric:tabular-nums}.customer-360-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.customer-360-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-360-summary article{border-bottom:1px solid var(--border)}}svg.lucide{stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}svg.lucide[width="10"],svg.lucide[width="11"],svg.lucide[width="12"],svg.lucide[width="13"]{stroke-width:2}svg.lucide[width="28"],svg.lucide[width="32"],svg.lucide[width="34"],svg.lucide[width="40"],svg.lucide[width="44"],svg.lucide[width="48"]{stroke-width:1.6}.home-dashboard .metric-item strong,.metric-item strong,.stat-value,.amount,.flow-stage-cell .stage-micro,th.numeric,td.numeric,.data-table td:where([data-numeric]){font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.home-dashboard .metric-item strong,.metric-item strong{font-weight:600;letter-spacing:-.02em}.workspace-surface,.module-surface,.status-surface,.home-dashboard .calendar-panel,.home-dashboard .execution-center,.home-dashboard .matrix-panel,.home-dashboard .insight-rail{border-color:var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-ui) var(--ease-standard),border-color var(--duration-ui) var(--ease-standard)}.workspace-surface .workspace-surface,.module-surface .status-surface{box-shadow:none}.home-quick-actions>button{position:relative;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.home-quick-actions>button>span:first-child{width:26px;height:26px;border-radius:0;background:none;color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.home-quick-actions>button>span:first-child svg{width:20px;height:20px}.home-quick-actions>button:hover{background:var(--surface-subtle)}.home-quick-actions>button:hover>span:first-child{color:var(--brand);transform:translateY(-1px)}.home-quick-actions>button>span:last-child,.home-quick-actions>button>svg:last-child{color:var(--text-muted);transition:transform var(--duration-ui) var(--ease-out),color var(--duration-fast) var(--ease-standard)}.home-quick-actions>button:hover>span:last-child,.home-quick-actions>button:hover>svg:last-child{color:var(--brand);transform:translate(2px)}.home-dashboard .metric-item{position:relative;transition:background-color var(--duration-fast) var(--ease-standard)}.home-dashboard .metric-item:hover{background:var(--surface-subtle)}.home-dashboard .metric-item>span{transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.primary-button{color:#fff;box-shadow:var(--shadow-xs)}.primary-button:hover:not(:disabled){box-shadow:var(--shadow-sm)}.primary-button:active:not(:disabled){background:var(--brand-active);border-color:var(--brand-active)}.secondary-button{background:var(--surface);box-shadow:var(--shadow-xs)}.icon-button{transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.data-table thead th,table thead th{color:var(--text-tertiary);font-weight:550;letter-spacing:.01em}.data-table tbody tr,table tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.data-table tbody tr:hover,table tbody tr:hover{background:var(--surface-subtle)}.nav-group-label,.sidebar-group-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.entity-dialog,dialog.entity-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog)}.entity-dialog::backdrop,dialog::backdrop{background:#1012185c;-webkit-backdrop-filter:blur(3px) saturate(1.05);backdrop-filter:blur(3px) saturate(1.05)}.home-dashboard .week-calendar>div,.week-calendar>div{transition:background-color var(--duration-fast) var(--ease-standard)}.week-calendar>div.today{background:var(--brand-soft)}.week-calendar>div.today>strong{display:inline-flex;align-items:center;gap:5px;color:var(--brand-hover);font-weight:650}.week-calendar>div.today>strong:before{width:5px;height:5px;border-radius:50%;background:var(--brand);content:""}.week-calendar>div>strong{letter-spacing:.02em}.home-dashboard .week-calendar .event,.week-calendar .event{--event-accent: var(--brand);position:relative;padding-left:9px;border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.week-calendar .event:before{position:absolute;top:6px;bottom:6px;left:3px;width:3px;border-radius:3px;background:var(--event-accent, var(--text-tertiary));content:""}.week-calendar .event-open em{color:var(--event-accent, var(--text-tertiary));font-weight:600}.week-calendar .event-客户:before{background:var(--success)}.week-calendar .event-收款:before{background:var(--warning)}.week-calendar .event-交付:before{background:var(--brand)}.week-calendar .event-会议:before{background:var(--text-tertiary)}.home-dashboard .week-calendar .event-cat-customer,.week-calendar .event-cat-customer{--event-accent: var(--cat-customer);--event-tint: var(--cat-customer-soft)}.home-dashboard .week-calendar .event-cat-project,.week-calendar .event-cat-project{--event-accent: var(--cat-project);--event-tint: var(--cat-project-soft)}.home-dashboard .week-calendar .event-cat-internal,.week-calendar .event-cat-internal{--event-accent: var(--cat-internal);--event-tint: var(--cat-internal-soft)}.home-dashboard .week-calendar .event-cat-delivery,.week-calendar .event-cat-delivery{--event-accent: var(--cat-delivery);--event-tint: var(--cat-delivery-soft)}.home-dashboard .week-calendar .event-cat-travel,.week-calendar .event-cat-travel{--event-accent: var(--cat-travel);--event-tint: var(--cat-travel-soft)}.home-dashboard .week-calendar .event-cat-personal,.week-calendar .event-cat-personal,.home-dashboard .week-calendar .event-cat-unclassified,.week-calendar .event-cat-unclassified{--event-accent: var(--cat-personal);--event-tint: var(--cat-personal-soft)}.home-dashboard .week-calendar .event{background:var(--event-tint, var(--surface-subtle))}.home-dashboard .week-calendar .event:hover{border-color:color-mix(in srgb,var(--event-accent) 40%,var(--border));background:var(--event-tint, var(--surface-muted))}.calendar-dialog .cal-event.event-cat-customer{border-left-color:var(--cat-customer)}.calendar-dialog .cal-event.event-cat-project{border-left-color:var(--cat-project)}.calendar-dialog .cal-event.event-cat-internal{border-left-color:var(--cat-internal)}.calendar-dialog .cal-event.event-cat-delivery{border-left-color:var(--cat-delivery)}.calendar-dialog .cal-event.event-cat-travel{border-left-color:var(--cat-travel)}.calendar-dialog .cal-event.event-cat-personal{border-left-color:var(--cat-personal)}.week-calendar .event-open{width:100%;min-width:0;display:flex;flex-direction:column;gap:3px;padding:0 27px 0 0;color:inherit;text-align:left}.week-calendar .event-complete{position:absolute;top:5px;right:5px;width:24px;height:24px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--event-accent) 55%,var(--border));border-radius:50%;background:var(--surface);color:var(--event-accent);opacity:.45;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.week-calendar .event:hover .event-complete,.week-calendar .event:focus-within .event-complete{opacity:1}.week-calendar .event-complete:hover,.week-calendar .event-complete:focus-visible{background:var(--event-accent);color:var(--surface);transform:scale(1.04)}.home-dashboard .week-calendar .event:hover,.week-calendar .event:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px);filter:none}.week-calendar .event small,.week-calendar .event time{font-variant-numeric:tabular-nums;letter-spacing:.01em}@media(hover:none),(pointer:coarse){.week-calendar .event-complete{width:32px;height:32px;top:3px;right:3px;opacity:1}.week-calendar .event-open{min-height:34px;padding-right:36px}}@media(max-width:768px){.week-calendar .event-complete{width:36px;height:36px;top:2px;right:2px;opacity:1}.week-calendar .event-open{min-height:38px;padding-right:40px}}.sidebar-context{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:8px;row-gap:6px}.sidebar-context>span{font-size:12px;font-weight:550}.sidebar-context strong{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.sidebar-context>div{grid-column:1 / -1;height:6px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.sidebar-context>div i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-hover));transition:width var(--duration-panel) var(--ease-out)}.sidebar-context small{grid-column:1 / -1;font-size:11px}.data-table-wrap .table-scroll table{border-collapse:separate;border-spacing:0;width:100%}.data-table-wrap .table-scroll thead th{position:sticky;top:0;z-index:3;height:38px;border-top:0;border-right:0;border-bottom:1px solid var(--border);border-left:0;background:var(--surface-subtle);color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.data-table-wrap .table-scroll td{height:46px;border-top:0;border-right:0;border-bottom:1px solid var(--border);border-left:0;color:var(--text-secondary);vertical-align:middle}.data-table-wrap .table-scroll tbody tr:last-child td{border-bottom:0}.data-table-wrap .table-scroll tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.data-table-wrap .table-scroll tbody tr:hover td{background:var(--surface-subtle)}.data-table-wrap .table-scroll tbody tr.selected-row td{background:var(--brand-tint);box-shadow:none}.data-table-wrap .primary-cell .record-link{gap:4px;color:var(--text);font-weight:600;font-size:13px}.data-table-wrap .primary-cell .record-link:hover{color:var(--brand)}.data-table-wrap .primary-cell .record-link svg{opacity:0;transform:translate(-2px);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-out)}.data-table-wrap tbody tr:hover .primary-cell .record-link svg{opacity:1;transform:translate(0)}.data-table-wrap .numeric-cell{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em;color:var(--text)}.data-table-wrap .relation-link{gap:4px;color:var(--text-secondary);font-size:12px}.data-table-wrap .relation-link:hover{color:var(--brand)}.data-table-wrap .relation-link svg{opacity:.6}.data-table-wrap .editable-cell{gap:6px;border-radius:var(--radius-sm);color:var(--text-secondary)}.data-table-wrap .editable-cell svg{opacity:0;color:var(--text-muted);transition:opacity var(--duration-fast) var(--ease-standard)}.data-table-wrap tbody tr:hover .editable-cell svg{opacity:1}.data-table-wrap .action-col .icon-button{opacity:0;border-radius:var(--radius-sm);transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.data-table-wrap tbody tr:hover .action-col .icon-button,.data-table-wrap .action-col .icon-button:focus-visible{opacity:1}.data-table-wrap input[type=checkbox],.batch-bar input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.data-table-wrap .select-col input[type=checkbox]{opacity:.55;transition:opacity var(--duration-fast) var(--ease-standard)}.data-table-wrap tbody tr:hover .select-col input,.data-table-wrap .select-col input:checked,.data-table-wrap thead .select-col input{opacity:1}.status-label{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:2px 9px 2px 8px;border-radius:999px;background:var(--surface-muted);color:var(--text-secondary);font-size:11px;font-weight:600;line-height:1.4}.status-label:before{position:static;width:6px;height:6px;transform:none}.status-label[class*=高风险],.status-label[class*=逾期],.status-label[class*=停用],.status-label[class*=已失效]{background:var(--danger-soft);color:var(--danger)}.status-label[class*=完成],.status-label[class*=正常],.status-label[class*=在职],.status-label[class*=转化成功]{background:var(--success-soft);color:var(--success-strong)}.status-label[class*=当前],.status-label[class*=推进],.status-label[class*=持续],.status-label[class*=进行]{background:var(--brand-soft);color:var(--brand-hover)}.primary-button,.secondary-button,.danger-button{min-height:36px;padding:0 15px;border-radius:var(--radius-md);font-size:13px;font-weight:550}.primary-button{gap:6px}.secondary-button{border:1px solid var(--border-strong)}.icon-button{border-radius:var(--radius-sm);color:var(--text-tertiary)}.icon-button:hover{background:var(--surface-muted);color:var(--text)}.danger-button{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger)}.danger-button:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}@keyframes rd-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.entity-dialog[open],.record-dialog[open],.calendar-dialog[open],.confirm-dialog[open]{animation:rd-dialog-in var(--duration-panel) var(--ease-out)}.modal-workspace-header{padding:16px 20px;border-bottom:1px solid var(--border)}.modal-workspace-header h2{font-size:16px;font-weight:650;letter-spacing:-.01em}.dialog-symbol,.record-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand)}.record-dialog-header,.record-dialog-footer{padding:16px 20px}.record-dialog-footer span{color:var(--text-secondary);font-size:12px}.record-tabs button{font-size:13px}.modal-workspace-footer{gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface)}.modal-workspace-body{padding:18px 20px}@media(prefers-reduced-motion:reduce){.entity-dialog[open],.record-dialog[open],.calendar-dialog[open],.confirm-dialog[open]{animation:none}}.project-flow .flow-head>div{border-right:0;color:var(--text-tertiary);font-size:10px;font-weight:600;letter-spacing:.02em}.project-flow .flow-head>div>span{width:19px;height:19px;font-size:10px;font-weight:650}.project-flow .flow-project-cell{gap:3px}.project-flow .flow-project-cell strong{font-size:13px;font-weight:600;letter-spacing:-.01em}.project-flow .flow-project-cell>span{margin-top:2px;font-size:11px}.project-flow .flow-project-cell small{margin-top:7px;font-size:11px}.project-flow .flow-project-cell:hover{background:var(--surface-subtle)}.project-flow .flow-stage-cell{border-right:0;gap:5px}.project-flow .flow-stage-cell:hover{background:var(--surface-subtle)}.project-flow .flow-stage-cell strong{margin-top:3px;font-size:11px;font-weight:550;color:var(--text-secondary)}.project-flow .flow-stage-cell>small{font-size:10px}.project-flow .flow-stage-cell:before,.project-flow .flow-stage-cell:after{top:32px;height:2px;border-radius:2px;background:var(--border)}.project-flow .stage-已完成:before,.project-flow .stage-已完成:after{background:var(--success)}.project-flow .stage-当前阶段:before{background:var(--success)}.project-flow .stage-node{width:22px;height:22px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-muted);box-shadow:var(--shadow-xs);transition:transform var(--duration-press) var(--ease-out),box-shadow var(--duration-fast) var(--ease-standard)}.project-flow .flow-stage-cell:hover .stage-node{transform:scale(1.08)}.project-flow .stage-已完成 .stage-node{border-color:var(--success);background:var(--success);color:#fff}.project-flow .stage-当前阶段 .stage-node{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.project-flow .flow-stage-cell.stage-当前阶段{background:var(--brand-soft)}.project-flow .flow-stage-cell.stage-risk.stage-当前阶段{background:var(--danger-soft)}.project-flow .stage-risk .stage-node{border-color:var(--danger);background:var(--danger);color:#fff;box-shadow:0 0 0 4px var(--danger-soft)}.project-flow .stage-micro span{padding:2px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-variant-numeric:tabular-nums}.project-flow .flow-next-cell strong{font-size:12px;font-weight:600}.project-flow .flow-next-cell span{font-size:11px}.project-flow .flow-next-cell>button{align-self:flex-start;margin-top:2px;padding:3px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:550;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.project-flow .flow-next-cell>button:hover{background:var(--brand);color:#fff}.project-flow .flow-row:hover .flow-project-cell{background:var(--surface-subtle)}.project-flow .flow-legend li:before{width:7px;height:7px}.app-error-boundary{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.app-error-card{width:min(460px,100%);display:grid;justify-items:center;gap:12px;padding:32px 28px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md);text-align:center}.app-error-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger)}.app-error-card h1{font-size:18px;font-weight:650}.app-error-card p{color:var(--text-secondary);font-size:13px;line-height:1.55}.app-error-detail{width:100%;max-height:120px;overflow:auto;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-tertiary);font-size:11px;text-align:left;white-space:pre-wrap}.app-error-actions{display:flex;gap:8px;margin-top:4px}@keyframes rd-page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-dashboard,.module-page,.settings-page,.task-center-page{animation:rd-page-enter var(--duration-panel) var(--ease-out)}@media(prefers-reduced-motion:reduce){.home-dashboard,.module-page,.settings-page,.task-center-page{animation:none}}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}@media(max-width:1024px),(pointer:coarse){button.icon-button,button.primary-button,button.secondary-button,button.danger-button,button.text-button,button.nav-button,button.day-add-task,.execution-tabs button,.domain-switch button,.view-switch button,.toolbar-actions>.popover-wrap>button{min-height:44px}button.icon-button,.topbar button.primary-button{min-width:44px}}.record-relation-readout{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.record-relation-readout>div{display:grid;gap:3px;min-width:0}.record-relation-readout span{color:var(--text-secondary);font-size:12px}.record-relation-readout strong{min-width:0;color:var(--text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.calendar-panel footer i.cat-customer{background:var(--success)}.calendar-panel footer i.cat-project{background:var(--brand)}.calendar-panel footer i.cat-internal{background:var(--warning)}.calendar-panel footer i.cat-unclassified{background:var(--text-tertiary)}.mobile-tabbar{display:none}@media(max-width:768px){html,body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}.app-shell,.app-frame,main,#main-content{min-width:0;max-width:100%}.icon-button,.notification-button,.toolbar-button,.view-switch button,.domain-switch button,.execution-tabs button{min-height:40px}input,select,textarea{font-size:16px}.topbar{position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top);height:calc(var(--topbar-height) + env(safe-area-inset-top))}.global-search{max-width:none}.create-menu,.notification-menu,.user-menu,.quick-search-results{position:fixed;left:10px;right:10px;width:auto;max-width:none;max-height:70dvh;overflow-y:auto}.create-menu,.notification-menu,.user-menu,.quick-search-results{top:calc(var(--topbar-height) + env(safe-area-inset-top) + 6px)}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -1px 0 var(--border)}.mobile-tabbar button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:550}.mobile-tabbar button.active{color:var(--brand-hover)}.mobile-tabbar button svg{width:20px;height:20px}main,#main-content{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.reminder-alert{align-items:flex-end;padding:0}.reminder-alert>div{width:100%;max-width:none;border-radius:16px 16px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.reminder-alert>div>div:last-child{display:grid;gap:8px}.reminder-alert>div>div:last-child button{width:100%;min-height:44px}.home-quick-surface,.home-dashboard>.home-grid,.home-dashboard{min-width:0;max-width:100%}.home-quick-actions{max-width:100%}.week-calendar{grid-auto-columns:158px;grid-template-columns:none;grid-auto-flow:column}.week-calendar>div{min-width:158px;min-height:200px}.week-calendar .event,.week-calendar .event strong,.week-calendar .event span,.week-calendar .event small{white-space:normal;word-break:normal;overflow-wrap:anywhere}.business-overview-grid{grid-template-columns:1fr}.home-dashboard .matrix-panel .status-surface,.home-dashboard .execution-center{min-width:0}.module-surface,.data-table-wrap,.data-table-wrap .table-scroll{max-height:none;min-height:0;overflow:visible}.table-scroll table,.table-scroll tbody,.table-scroll tr,.table-scroll td{display:block;width:auto;min-width:0}.table-scroll thead{display:none}.table-scroll tr{position:relative;margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.table-scroll tr.selected-row{border-color:var(--brand)}.table-scroll td:nth-child(n+7):not(.action-col){display:none}.table-scroll td{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:5px 0;border:0;text-align:right}.table-scroll td:before{content:attr(data-label);flex:0 0 auto;color:var(--text-secondary);font-size:12px;font-weight:550;text-align:left;white-space:nowrap}.table-scroll td.primary-cell{position:static;padding-right:34px;justify-content:flex-start;padding-top:0;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--border);text-align:left}.table-scroll td.primary-cell:before{display:none}.table-scroll td.primary-cell .record-link,.table-scroll td.primary-cell .editable-cell{font-size:15px;font-weight:650;color:var(--text)}.table-scroll td.select-col{position:absolute;top:8px;left:auto;right:10px;min-height:0;padding:0}.table-scroll td.select-col:before{display:none}.table-scroll td.action-col{justify-content:center;margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}.table-scroll td.action-col:before{display:none}.table-scroll td.action-col .icon-button{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm)}.table-scroll td.action-col .icon-button:after{content:"查看详情";margin-left:6px;color:var(--text-secondary);font-size:13px;font-weight:550}.table-scroll td .editable-cell{justify-content:flex-end}.table-scroll td.primary-cell .editable-cell{justify-content:flex-start;width:100%}.workspace-toolbar{flex-wrap:wrap;gap:6px;row-gap:8px}.workspace-toolbar .toolbar-search,.workspace-toolbar .toolbar-search input{min-width:0;flex:1 1 100%}.batch-bar{flex-wrap:wrap;gap:8px}.batch-bar select,.batch-bar button{min-height:40px}.entity-dialog,.record-dialog,.calendar-dialog,.modal-workspace{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.modal-workspace-shell,.record-dialog-shell{min-height:100dvh}.entity-dialog-header,.record-dialog-header,.modal-workspace-header,.dialog-header{position:sticky;top:0;z-index:2;background:var(--surface);padding-top:max(12px,env(safe-area-inset-top))}.entity-dialog-actions,.record-dialog-footer,.modal-workspace-footer,.modal-workspace-actions,.dialog-footer{position:sticky;bottom:0;z-index:2;background:var(--surface);padding-bottom:max(12px,env(safe-area-inset-bottom))}.record-dialog-body,.modal-workspace-body,.dialog-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.form-grid,.field-grid,.record-form-grid{grid-template-columns:1fr}.settings-layout,.settings-card-grid{grid-template-columns:1fr;display:grid}.settings-form{grid-template-columns:1fr}.settings-head{flex-wrap:wrap;gap:8px}.segmented-form{overflow-x:auto;flex-wrap:nowrap}.permission-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-actions{position:sticky;bottom:0;background:var(--surface);padding-bottom:max(10px,env(safe-area-inset-bottom))}.task-center-page .execution-tabs{overflow-x:auto;flex-wrap:nowrap}}@media(max-width:480px){.home-page,.module-page,.settings-page,.task-center-page{padding:10px 10px 24px}.week-calendar{grid-auto-columns:calc(100vw - 40px)}.week-calendar>div{min-width:calc(100vw - 40px)}.mobile-tabbar button{font-size:10px}.create-menu,.notification-menu,.user-menu,.quick-search-results{left:6px;right:6px}}@media(max-width:768px){.record-relation-readout{grid-template-columns:1fr}}@media(max-width:768px){.calendar-warn-pop{position:fixed;left:10px;right:10px;top:auto;bottom:calc(66px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:60dvh}.calendar-warn-badge{height:32px}}
