:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef4ff;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}#root{min-height:100vh}.dashboard{background:radial-gradient(circle at 0 0,#38bdf838,#0000 30%),linear-gradient(135deg,#f7fbff 0%,#eef4ff 45%,#eaf0ff 100%);min-height:100vh;padding:32px}.authScreen{place-items:center;display:grid}.authPanel{background:#ffffffe6;border:1px solid #94a3b842;border-radius:24px;width:min(760px,100%);padding:34px;box-shadow:0 24px 70px #25436e29}.appShellHeader{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.appShellHeader h1{color:#10233f;margin-bottom:0;font-size:34px}.userBox{background:#ffffffc7;border:1px solid #94a3b857;border-radius:18px;align-items:center;gap:10px;padding:10px;display:flex}.userBox span{color:#64748b;font-size:13px}.moduleNav{background:#ffffffad;border:1px solid #94a3b847;border-radius:20px;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding:8px;display:flex}.moduleNav button{color:#1e293b;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:12px 18px;font-weight:800}.moduleNav .activeTab{color:#fff;background:#183c6f;box-shadow:0 10px 28px #183c6f3d}.moduleStack{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.moduleStack>*{min-width:0}.hero{color:#fff;background:linear-gradient(135deg,#12315d,#245ca8 55%,#20a4f3);border-radius:32px;justify-content:space-between;align-items:stretch;gap:24px;margin-bottom:24px;padding:32px;display:flex;box-shadow:0 24px 70px #163a6947}.eyebrow{color:#5b7da9;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.hero .eyebrow{color:#bde7ff}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(32px,5vw,56px);line-height:1.05}h2{margin-bottom:0;font-size:24px}h3{margin-bottom:6px;font-size:17px}.subtitle{color:#dceeff;max-width:720px;margin-bottom:0;font-size:18px}.heroCard{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff24;border:1px solid #ffffff47;border-radius:24px;flex-direction:column;justify-content:center;min-width:260px;padding:24px;display:flex}.heroActions,.rowActions{flex-wrap:nowrap;flex-shrink:0;gap:8px;display:flex}.heroActions{margin-top:12px}.heroCard span,.heroCard small{color:#d9eeff}.heroCard strong{margin:8px 0;font-size:34px}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.statCard,.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #94a3b842;border-radius:20px;box-shadow:0 18px 50px #25436e1f}.statCard{z-index:0;padding:14px 16px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;animation:.5s cubic-bezier(.22,1,.36,1) backwards statCardIn;position:relative;overflow:hidden}.statCard>span,.statCard>strong,.statCard>small{z-index:1;position:relative}.statCard:hover{transform:translateY(-3px);box-shadow:0 20px 42px #25436e2e}.statCard:first-child{animation-delay:20ms}.statCard:nth-child(2){animation-delay:60ms}.statCard:nth-child(3){animation-delay:.1s}.statCard:nth-child(4){animation-delay:.14s}.statCard:nth-child(5){animation-delay:.18s}.statCard:nth-child(6){animation-delay:.22s}.statCard:nth-child(7){animation-delay:.26s}.statCard:nth-child(8){animation-delay:.3s}.statCard:nth-child(9){animation-delay:.34s}.statCard:nth-child(10){animation-delay:.38s}.statCard:nth-child(n+11){animation-delay:.4s}@keyframes statCardIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.statCard{animation:none}.statCard:hover{transform:none}}.statCard:after{content:"";z-index:-1;opacity:.16;background:currentColor;border-radius:999px;width:46px;height:46px;transition:transform .3s,opacity .3s;position:absolute;top:-14px;right:-14px}.statCard:hover:after{opacity:.24;transform:scale(1.18)}.statCard span,.statCard small{color:#64748b;font-size:13px}.statCard strong{margin:7px 0 3px;font-size:27px;transition:color .2s;display:block}.statCard.blue{color:#2563eb}.statCard.green{color:#059669}.statCard.orange{color:#ea580c}.statCard.red{color:#dc2626}.workSummaryPanel{margin-top:0}.workSummaryCards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.workSummaryCard{--summary-accent:#2563eb;border:1px solid #dbe6f5;border-top:3px solid var(--summary-accent);background:#fff;border-radius:8px;align-content:space-between;gap:6px;min-width:0;min-height:104px;padding:14px 16px;display:grid}.workSummaryCard span,.workSummaryCard small,.workSummaryActivityHeader span,.workSummaryEmpty{color:#64748b;font-size:13px}.workSummaryCard strong{color:var(--summary-accent);font-size:25px;line-height:1.1}.workSummaryCard small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workSummaryCard.blue{--summary-accent:#2563eb}.workSummaryCard.green{--summary-accent:#059669}.workSummaryCard.orange{--summary-accent:#d97706}.workSummaryCard.cyan{--summary-accent:#0891b2}.workSummaryActivityHeader{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.workSummaryActivityHeader h3{color:#1e293b;margin:0;font-size:15px}.workSummaryActivityStats{align-items:center;min-width:0;display:flex}.workSummaryActivityStats span{white-space:nowrap;border-right:1px solid #dbe4ef;padding:0 10px}.workSummaryActivityStats span:first-child{padding-left:0}.workSummaryActivityStats span:last-child{border-right:0;padding-right:0}.workSummaryActivityStats strong{color:#0f766e;margin-left:3px;font-size:13px}.workSummaryEntryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.workSummaryEntryCard{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.workSummaryEntryCard.live{background:#f0f9ff;border-color:#7dd3fc}.workSummaryEntryCard.expanded{background:#fff;border-color:#86efac;grid-column:1/-1;box-shadow:0 8px 24px #0f766e14}.workSummaryEntryStatic,.workSummaryEntryToggle{gap:10px;min-width:0;display:grid}.workSummaryEntryToggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.workSummaryEntryToggle:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #0d9488}.workSummaryEntryMeta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.workSummaryProject{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.workSummaryLiveState{border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:800}.workSummaryLiveState.running{color:#047857;background:#d1fae5}.workSummaryLiveState.paused{color:#92400e;background:#fef3c7}.workSummaryCompletedState{color:#15803d;align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:800;display:inline-flex}.workSummaryEntryTitleRow{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.workSummaryEntryTitleRow strong{color:#0f172a;overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:800;line-height:1.45}.workSummaryEntryChevron{color:#64748b;flex:none;margin-top:2px;transition:transform .16s,color .16s}.workSummaryEntryCard.expanded .workSummaryEntryChevron{color:#0f766e;transform:rotate(180deg)}.workSummaryTodoTitle{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.workSummaryEntryFooter{color:#64748b;justify-content:space-between;gap:10px;font-size:12px;display:flex}.workSummaryCompletedDetails{border-top:1px solid #dbe4ef;gap:10px;margin-top:2px;padding-top:12px;display:grid}.workSummaryCompletionMeta,.workSummaryRecordBadges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.workSummaryCompletionMeta span,.workSummaryRecordBadges span{color:#047857;background:#ecfdf5;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:750}.workSummaryDetailRow{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:12px;display:grid}.workSummaryDetailRow>span{color:#64748b;font-size:12px;font-weight:700}.workSummaryDetailRow p,.workSummaryNoDetails{color:#334155;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.workSummaryNoDetails{color:#94a3b8}.workSummaryEmpty{margin:10px 0 0;padding:14px 0 0}@media (width<=1100px){.workSummaryCards,.workSummaryEntryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contentGrid{grid-template-columns:minmax(0,2fr) minmax(320px,.9fr);align-items:start;gap:24px;display:grid}.contentGrid.bottom{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin-top:24px}.panel{padding:24px}.panelHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.tabs{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.tabs button,.primaryButton,.ghostButton,.smallButton,.lightButton{color:#1e293b;cursor:pointer;background:#fffc;border:0;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 8px 24px #25436e1a}.tabs .activeTab,.primaryButton{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9)}.ghostButton,.smallButton,.lightButton{box-shadow:none;border:1px solid #d6e0ef}.lightButton{color:#0f2544;background:#ffffffe6}.smallButton{padding:7px 12px;font-size:12px}.smallButton.danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}select,input,textarea{color:#1e293b;background:#fff;border:1px solid #d6e0ef;border-radius:14px;width:100%;padding:10px 14px}textarea{resize:vertical;min-height:88px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.workLogTimeRow{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}@media (width<=640px){.workLogTimeRow{grid-template-columns:1fr}.panelHeader{flex-direction:column;align-items:stretch}.panelHeader .filterToolbar{flex-shrink:1;width:100%;max-width:100%}}.feishuPage{gap:18px}.feishuPage .notice{border-radius:6px;margin-bottom:0}.feishuPanel{background:#fff;border:1px solid #dce4e1;border-radius:8px}.feishuPanel input,.feishuPanel button{border-radius:6px}.feishuPanel .primaryButton{background:#176b55}.feishuState{color:#475569;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:800}.feishuState.connected{color:#0f5a45;background:#edf9f5;border-color:#9fd5c5}.feishuBindingGrid{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:20px;padding:18px 0;display:grid}.feishuBindingGrid>div{gap:6px;min-width:0;display:grid}.feishuBindingGrid span,.feishuCodeBand span{color:#64748b;font-size:12px;font-weight:700}.feishuBindingGrid strong{overflow-wrap:anywhere;color:#172033;font-size:14px}.feishuBindingAction{justify-items:end}.feishuBindFlow{border-top:1px solid #e2e8f0;gap:16px;padding:18px 0;display:grid}.feishuBindFlow .heroActions,.feishuActions{flex-wrap:wrap;gap:10px;display:flex}.feishuCodeBand{background:#f2f8f6;border-left:4px solid #176b55;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.feishuCodeBand>div{gap:4px;display:grid}.feishuCodeBand strong{color:#123c31;letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:25px}.feishuCodeBand small{color:#52645f}.feishuCommandRow{border-top:1px solid #e2e8f0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.feishuCommandRow>span{gap:4px;padding:16px 18px 0 0;display:grid}.feishuCommandRow strong{color:#172033;font-size:14px}.feishuCommandRow small{color:#64748b;font-size:12px}.feishuSwitch{color:#334155;cursor:pointer;align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex}.feishuSwitch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.feishuSwitch>span{background:#94a3b8;border-radius:12px;width:42px;height:24px;transition:background .16s;position:relative}.feishuSwitch>span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px}.feishuSwitch input:checked+span{background:#176b55}.feishuSwitch input:checked+span:after{transform:translate(18px)}.feishuSwitch input:focus-visible+span{outline-offset:2px;outline:3px solid #2563eb4d}.feishuCallbackField>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.feishuClearOption{grid-column:1/-1;align-items:center;gap:8px;color:#7f1d1d!important;display:flex!important}.feishuClearOption input{width:16px;height:16px}.feishuActions{margin-top:18px}@media (width<=760px){.feishuBindingGrid{grid-template-columns:1fr;align-items:stretch}.feishuBindingAction{justify-items:start}.feishuCodeBand{flex-direction:column;align-items:stretch}.feishuCommandRow{grid-template-columns:1fr}.feishuCommandRow>span{padding-top:12px}.feishuCallbackField>div{grid-template-columns:1fr}}.formGrid label,.workLogTimeRow label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.formGrid .wide{grid-column:1/-1}.formGrid.one{grid-template-columns:1fr}.notice{color:#173763;background:#f3f8ff;border:1px solid #c7d9f4;border-radius:14px;margin:0 0 14px;padding:12px 14px;font-weight:700}.tableWrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:920px}.todoPanel table th,.todoPanel table td{white-space:nowrap}.todoPanel table th.taskCell,.todoPanel table td.taskCell{white-space:normal;max-width:360px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:12px 10px}th{color:#475569;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:12px}td{color:#0f172a;font-size:14px}progress{border:0;border-radius:999px;width:92px;height:8px;overflow:hidden}progress::-webkit-progress-bar{background:#e2e8f0}progress::-webkit-progress-value{background:#2563eb}.pill{color:#173763;white-space:nowrap;background:#eaf3ff;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.filterToolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.filterToolbar select,.filterToolbar input{border-radius:10px;width:auto;min-width:120px;max-width:180px;height:38px;padding:6px 12px;font-size:13px}.filterToolbar .ghostButton{border-radius:10px;height:38px;padding:6px 14px;font-size:13px}.filterToolbar .primaryButton{border-radius:10px;height:38px;padding:6px 16px;font-size:13px}.filterToolbar .sep{background:#e2e8f0;flex-shrink:0;width:1px;height:24px;margin:0 4px}.compactInput{width:min(260px,100%)}.spareFilterBar{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:8px;min-width:0;display:flex}.spareFilterBar input,.spareFilterBar select{border-radius:10px;min-width:120px;max-width:180px;height:38px;font-size:13px}.spareFilterBar .compactInput{flex:200px;min-width:180px;max-width:280px}.spareFilterBar button,.spareFilterBa .filterToolbar .compactInput{border-radius:10px;flex:200px;min-width:180px;max-width:280px;height:38px;font-size:13px}.filterToolbar .uploadButton{border-radius:10px;height:38px;font-size:13px}r .uploadButton{white-space:nowrap;height:38px;font-size:13px}.uploadButton{color:#1e293b;cursor:pointer;background:#ffffffe6;border:1px solid #d6e0ef;border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;font-weight:800;display:inline-flex;position:relative}.uploadButton input{opacity:0;cursor:pointer;position:absolute;inset:0}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chips span{color:#475569;background:#f1f5f9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.modalBackdrop{z-index:40;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modalPanel{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto}.attachmentBox{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:16px}.attachmentList{gap:10px;display:grid}.attachmentItem{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) 80px auto;align-items:center;gap:10px;padding:10px;display:grid}.attachmentItem.pending{background:#fffdf5;border-style:dashed}.linkButton{color:#1d4ed8;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:800}@media (width<=980px){.dashboard{padding:18px}.appShellHeader,.hero{flex-direction:column;align-items:flex-start}.contentGrid,.contentGrid.bottom,.formGrid{grid-template-columns:1fr}.userBox{margin-top:12px}.loginPage{place-items:center;display:grid}.loginPanel{background:#ffffffe0;border:1px solid #94a3b842;border-radius:26px;width:min(520px,100%);padding:34px;box-shadow:0 24px 70px #163a6933}.loginPanel h1{color:#12315d;font-size:42px}.subtitle.dark{color:#475569}.loginForm{gap:14px;margin:24px 0 16px;display:grid}.loginForm label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.projectList{gap:16px;display:grid}.projectCard{background:linear-gradient(#fff,#f8fbff);border:1px solid #e2e8f0;border-radius:22px;padding:20px}.projectTop{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.projectTop p,.muted,.projectNotes p,.timelineItem p{color:#64748b}.pill,.priority{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.pill.active{color:#1d4ed8;background:#dbeafe}.pill.done{color:#047857;background:#d1fae5}.pill.risk{color:#b91c1c;background:#fee2e2}.pill.paused{color:#92400e;background:#fef3c7}.progressRow{grid-template-columns:1fr auto;align-items:center;gap:12px;margin:16px 0;display:grid}.progressTrack{background:#e2e8f0;border-radius:999px;height:11px;overflow:hidden}.progressTrack span{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);height:100%;display:block}.metaGrid{color:#475569;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;font-size:13px;display:grid}.metaGrid div{flex-direction:column;gap:2px;display:flex}.metaGrid div span{color:inherit}.metaGrid div strong{color:#1e293b;word-break:break-word;font-size:15px;font-weight:700}.deadline.urgent,.urgentText{color:#dc2626;font-weight:800}.priority.high{color:#b91c1c;background:#fee2e2}.priority.medium{color:#9a3412;background:#ffedd5}.priority.low{color:#166534;background:#dcfce7}.projectNotes{background:#f1f5f9;border-radius:16px;gap:8px;padding:14px;display:grid}.projectNotes p{margin-bottom:0}.alertList,.timeline{gap:14px;display:grid}.alertItem{background:#fff7ed;border-left:5px solid #f97316;border-radius:18px;padding:16px}.alertItem p{margin-bottom:0}.alertType{color:#ea580c;font-size:12px;font-weight:900}.tableWrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:14px 12px}th{color:#475569;background:#f8fafc;font-size:13px}.timelineItem{background:#fff;border:1px solid #e2e8f0;border-radius:20px;grid-template-columns:112px 1fr;gap:16px;padding:16px;display:grid}.dateBadge{color:#1d4ed8;text-align:center;background:#dbeafe;border-radius:14px;align-self:start;padding:8px 10px;font-weight:800}.gantt,.calendarList,.riskGrid{gap:14px;margin-top:18px;display:grid}.ganttRow{background:#fff;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:260px 1fr 110px;align-items:center;gap:16px;padding:16px;display:grid}.ganttRow div:first-child{gap:6px;display:grid}.ganttRow span,.ganttRow small{color:#64748b}.ganttTrack{background:#e2e8f0;border-radius:999px;height:18px;position:relative;overflow:hidden}.ganttTrack .timeBar,.ganttTrack .doneBar{border-radius:inherit;height:100%;position:absolute;top:0;left:0}.ganttTrack .timeBar{background:#bfdbfe}.ganttTrack .doneBar{background:linear-gradient(90deg,#2563eb,#22c55e)}.calendarItem{background:#fff;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:120px 1fr 130px;align-items:center;gap:16px;padding:16px;display:grid}.calendarItem>span{color:#1d4ed8;font-weight:900}.calendarItem p{color:#64748b;margin-bottom:0}.riskGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.riskCard{background:#fff7f7;border:1px solid #fecaca;border-radius:18px;padding:18px}.riskCard p{color:#7f1d1d}.burndown{gap:10px;margin-top:22px;display:grid}.burnRow{color:#475569;grid-template-columns:52px 1fr 32px;align-items:center;gap:10px;font-size:13px;font-weight:800;display:grid}.burnRow div{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.burnRow i{border-radius:inherit;background:linear-gradient(90deg,#f97316,#2563eb);height:100%;display:block}}@media (width<=1080px){.contentGrid,.contentGrid.bottom{grid-template-columns:1fr 1fr}.contentGrid .large{grid-column:1/-1}}@media (width<=760px){.dashboard{padding:16px}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.hero,.contentGrid,.contentGrid.bottom{grid-template-columns:1fr;display:grid}.hero{padding:24px}.workSummaryCards,.workSummaryEntryGrid{grid-template-columns:1fr}.workSummaryActivityHeader{flex-direction:column;align-items:flex-start}.workSummaryActivityStats{justify-content:space-between;width:100%}.workSummaryDetailRow{grid-template-columns:1fr;gap:3px}.workSummaryCard{min-height:92px}.heroCard{min-width:0}.objectiveField{grid-template-columns:1fr}.metaGrid{grid-template-columns:1fr 1fr}.timelineItem,.ganttRow,.calendarItem,.riskGrid,.formGrid{grid-template-columns:1fr}}.modalOverlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.modalCard{box-sizing:border-box;background:#fff;border:1px solid #dbe3ee;border-radius:8px;max-height:calc(100vh - 64px);padding:20px;overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.modalCard>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.modalCard>footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.modalPanel{width:min(860px,100%);max-height:calc(100vh - 64px);overflow-y:auto}.imageLightbox{z-index:400;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#0f172ae0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.imageLightboxFigure{cursor:default;place-items:center;gap:10px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);margin:0;display:grid}.imageLightboxImage{object-fit:contain;border-radius:8px;max-width:100%;max-height:calc(100vh - 96px);display:block;box-shadow:0 24px 60px #00000073}.imageLightboxCaption{color:#f8fafc;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,100vw - 96px);font-size:13px;overflow:hidden}.imageLightboxClose{z-index:1;color:#fff;cursor:pointer;background:#0f172ab8;border:1px solid #ffffff61;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:28px;line-height:1;display:grid;position:absolute;top:18px;right:18px}.imageLightboxClose:hover{background:#1e293bf2}.linkButton{color:#2563eb;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.phaseStrip{gap:6px;margin:16px 0;display:flex}.phaseDot{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.phaseDot .dot{background:#fff;border:2px solid #cbd5e1;border-radius:999px;width:14px;height:14px}.phaseDot span{color:#64748b;text-align:center;font-size:11px}.phaseDot.passed .dot{background:#2563eb;border-color:#2563eb}.phaseDot.active .dot{background:#0ea5e9;border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e933}.phaseDot.delayedPhase .dot{background:#dc2626;border-color:#dc2626}.kanbanSection{margin-bottom:28px}.kanbanColumns{gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.kanbanColumn{flex:0 0 190px}.kanbanColumnHeader{color:#475569;background:#e2e8f0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:800;display:flex}.kanbanCount{color:#334155;background:#cbd5e1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:11px;font-weight:900;display:inline-flex}.kanbanCards{background:#f8fafc;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 12px 12px;flex-direction:column;gap:8px;min-height:60px;padding:8px;display:flex}.kanbanCard{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}.kanbanCard.delayed{background:#fff7f7;border-color:#fca5a5}.kanbanCardBadges{gap:4px;margin-bottom:5px;display:flex}.delayBadge{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.overdueBadge{color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.doneBadge{color:#166534;background:#dcfce7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.kanbanCard.done{opacity:.85;background:#f0fdf4;border-color:#86efac}.ganttProject.ganttDone{opacity:.7}.kanbanCardTitle{color:#1d4ed8;cursor:pointer;text-align:left;word-break:break-word;background:0 0;border:0;width:100%;margin-bottom:4px;padding:0;font-size:13px;font-weight:800;display:block}.kanbanCardMeta{color:#64748b;margin-bottom:5px;font-size:12px}.kanbanCardProgress{color:#475569;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.kanbanCardProgress progress{flex:1}.kanbanCardDue{font-size:11px}.kanbanEmpty{color:#cbd5e1;text-align:center;padding:16px;font-size:12px}.phasePlanSection{background:#f8fafc;border:1px solid #d6e0ef;border-radius:14px;margin-top:18px;padding:14px}.phasePlanRow{grid-template-columns:120px 1fr 16px 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}.phasePlanLabel{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.phasePlanRow input{padding:6px 10px;font-size:12px}.projFormSection{border-bottom:1px solid #f1f5f9;padding:16px 0}.projFormSection:last-of-type{border-bottom:0}.objectiveField{display:block;position:relative}.objectiveField>label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.smartObjectiveGuide{z-index:30;justify-items:end;gap:8px;width:58px;display:grid;position:absolute;top:26px;right:10px}.objectiveField textarea{padding-right:78px}.smartIconButton{color:#64748b;cursor:pointer;letter-spacing:0;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;width:52px;height:30px;font-size:10px;font-weight:900;box-shadow:0 6px 18px #0f172a14}.smartObjectiveGuide.warn .smartIconButton{color:#a16207;background:#fefce8;border-color:#facc15}.smartObjectiveGuide.good .smartIconButton{color:#166534;background:#f0fdf4;border-color:#86efac}.smartObjectiveGuide>:not(.smartIconButton){display:none}.smartObjectiveGuide:hover,.smartObjectiveGuide:focus-within{background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #d6e0ef;border-radius:12px;justify-items:stretch;width:min(360px,100vw - 72px);padding:10px 12px;box-shadow:0 18px 45px #0f172a29}.smartObjectiveGuide:hover .smartIconButton,.smartObjectiveGuide:focus-within .smartIconButton{justify-self:end}.smartObjectiveGuide:hover .smartGuideTop,.smartObjectiveGuide:focus-within .smartGuideTop{display:flex}.smartObjectiveGuide:hover>p,.smartObjectiveGuide:focus-within>p,.smartObjectiveGuide:hover .smartExample,.smartObjectiveGuide:focus-within .smartExample{display:block}.smartObjectiveGuide:hover .smartCheckGrid,.smartObjectiveGuide:focus-within .smartCheckGrid{display:flex}.smartGuideTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.smartGuideTop div{gap:2px;display:grid}.smartGuideTop strong{color:#0f172a;font-size:13px}.smartGuideTop span{color:#64748b;font-size:12px;font-weight:700}.smartObjectiveGuide p{color:#475569;margin:0;font-size:12px;line-height:1.45}.smartCheckGrid{flex-wrap:wrap;gap:6px;display:flex}.smartCheckGrid span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.smartCheckGrid span.ok{color:#166534;background:#dcfce7}.smartExample{color:#64748b;border-top:1px dashed #d6e0ef;padding-top:8px;font-size:12px;line-height:1.45}.phasePlanRowV2{background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.phasePlanInfo{flex:1;min-width:0}.phasePlanNameRow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px;display:flex}.phasePlanPhaseLabel{color:#fff;background:#2563eb;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.phasePlanWeight{color:#7c3aed;background:#ede9fe;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800}.phasePlanDays{color:#64748b;font-size:11px;font-weight:700}.phasePlanDesc{color:#64748b;margin:0;font-size:12px;line-height:1.5}.phasePlanDates{flex-shrink:0;align-items:center;gap:6px;display:flex}.phasePlanDates input{border-radius:8px;width:130px;padding:5px 8px;font-size:12px}.phasePlanArrow{color:#94a3b8;font-size:14px}.deliverableBulkActions{gap:6px;margin-bottom:12px;display:flex}.deliverablePhases{flex-direction:column;gap:14px;display:flex}.deliverablePhaseCard{background:linear-gradient(#fafbff 0%,#fff 100%);border:1.5px solid #e2e8f0;border-radius:14px;padding:14px 16px;transition:all .2s}.deliverablePhaseCard:hover{border-color:#c7d9f4}.deliverablePhaseCard.allSelected{background:linear-gradient(#f0fdf4 0%,#fff 100%);border-color:#86efac}.deliverablePhaseCardHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.deliverablePhaseCardLeft{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.deliverablePhaseCardBadge{color:#fff;letter-spacing:.04em;white-space:nowrap;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:800}.deliverablePhaseCard.allSelected .deliverablePhaseCardBadge{background:linear-gradient(135deg,#16a34a,#22c55e)}.deliverablePhaseCardName{color:#0f172a;margin-bottom:2px;font-size:15px;font-weight:800;display:block}.deliverablePhaseCardDesc{color:#64748b;font-size:12px;font-weight:500;line-height:1.4;display:block}.deliverablePhaseCardRight{flex-shrink:0;align-items:center;gap:10px;display:flex}.deliverablePhaseCardCount{color:#64748b;font-size:13px;font-weight:700}.deliverablePhaseCardCount strong{color:#2563eb;font-size:20px;font-weight:900}.deliverablePhaseCard.allSelected .deliverablePhaseCardCount strong{color:#16a34a}.deliverablePhaseCardToggle{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c7d9f4;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:800;transition:all .15s}.deliverablePhaseCardToggle:hover{background:#eff6ff}.deliverablePhaseCard.allSelected .deliverablePhaseCardToggle{color:#16a34a;background:#dcfce7;border-color:#86efac}.deliverablePhaseCardProgress{background:#e2e8f0;border-radius:999px;width:100%;height:4px;margin-bottom:12px;overflow:hidden}.deliverablePhaseCardProgressFill{background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:999px;height:100%;transition:width .3s}.deliverableCardGrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.deliverableCard{cursor:pointer;color:#475569;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.deliverableCard:hover{background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}.deliverableCard.checked{color:#166534;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.deliverableCardCheck{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:900;transition:all .15s;display:inline-flex}.deliverableCard:hover .deliverableCardCheck{border-color:#93c5fd}.deliverableCardCheck.checked{background:linear-gradient(135deg,#16a34a,#22c55e);border-color:#16a34a}.deliverableCardName{flex:1;min-width:0}.riskRow{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.riskRow select{border-radius:8px;flex-shrink:0;width:90px;padding:6px 8px;font-size:12px}.riskRow input{border-radius:8px;padding:6px 10px;font-size:12px}.subNav{gap:4px;margin:-16px 0 20px;padding:4px 8px;display:flex}.subNav button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .15s}.subNav button:hover{color:#1e293b;background:#fff9}.subNav .activeSubTab{color:#2563eb;background:#2563eb14;box-shadow:inset 0 -2px #2563eb}.calendarGrid{background:#e2e8f0;border-radius:12px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendarHeader{color:#475569;text-align:center;background:#f1f5f9;padding:10px;font-size:13px;font-weight:800}.calendarCell{cursor:default;background:#fff;min-height:80px;padding:6px 8px}.calendarCell.hasDay{cursor:pointer;transition:background .15s}.calendarCell.hasDay:hover{background:#f8fafc}.calendarCell.today{outline-offset:-2px;background:#eff6ff;outline:2px solid #3b82f6}.calendarCell.today .calendarDay{color:#2563eb;font-weight:900}.calendarCell.selected{outline-offset:-2px;background:#dbeafe;outline:2px solid #3b82f6}.calendarDay{color:#1e293b;font-size:14px;font-weight:600}.calendarDots{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.calendarDot{background:#3b82f6;border-radius:50%;width:8px;height:8px}.calendarMore{color:#64748b;font-size:10px;font-weight:700}.calendarDot.timer{background:#7c3aed}.calendarDot.timerActive{width:10px;height:10px}.calendarDot.timerActive.running{background:#16a34a;animation:1.2s ease-in-out infinite timerPulse}.calendarDot.timerActive.paused{background:#d97706}.calendarTimerBadge{font-size:10px;line-height:1;position:absolute;top:3px;right:4px}.calendarCell{position:relative}.calendarCrossDayBadge{font-size:11px;line-height:1;position:absolute;top:3px;right:4px}.calCrossDaySummary{background:#fff9;border-radius:8px;flex-direction:column;gap:5px;margin-top:10px;padding:8px 10px;display:flex}.calCrossDayNote{color:#374151;border-left:3px solid #c4b5fd;align-items:flex-start;gap:8px;padding-left:8px;font-size:12px;display:flex}.calTimerRunningChip{color:#166534;vertical-align:middle;background:#dcfce7;border-radius:999px;align-items:center;gap:5px;margin-left:10px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.calTimerCard{border:2px solid;border-radius:14px;flex-direction:column;gap:6px;margin-bottom:12px;padding:14px 16px;display:flex}.calTimerCard.running{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.calTimerCard.paused{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d}.calTimerCard.pastDay{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.calTimerCardHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.calTimerElapsed{font-variant-numeric:tabular-nums;color:#166534;letter-spacing:-.5px;font-size:22px;font-weight:900}.calTimerContent{color:#1e293b;margin:0;font-size:14px;font-weight:600}.workLogCard{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:10px;padding:14px}.workLogCard.timerCreated{background:#faf5ff;border-color:#c4b5fd}.calLogTimerBadge{color:#6d28d9;background:#ede9fe;border-radius:6px;padding:1px 6px;font-size:12px}.workLogHeader{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workLogForm{background:#eff6ff;border:1px dashed #93c5fd;border-radius:14px;margin-top:12px;padding:16px}.aiEntryModal{width:min(680px,100%)}.aiEntryField{color:#475569;gap:7px;font-size:13px;font-weight:800;display:grid}.aiEntryField textarea{min-height:150px}.aiWarningList{color:#92400e;background:#fffbeb;border-left:3px solid #d97706;gap:5px;margin:12px 0;padding:10px 12px;font-size:13px;display:grid}.aiWarningList p{margin:0}.weeklyReportPage{color:#172033;background:#fff;border:1px solid #d9e1ea;border-radius:8px;overflow:hidden}.weeklyReportHeader,.weeklyReportMeta,.weeklyDetailHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.weeklyReportHeader{border-bottom:1px solid #e5e9ef;padding:22px 24px 16px}.weeklyReportActions{gap:8px;display:flex}.weeklyControlBand{background:#f7f9fb;border-bottom:1px solid #e5e9ef;grid-template-columns:minmax(150px,190px) auto minmax(180px,260px) minmax(210px,1fr) auto;align-items:end;gap:14px;padding:16px 24px;display:grid}.weeklyGenerateButton{grid-column:-2/-1;justify-self:end;width:auto;min-width:112px}.weeklyControlBand label,.weeklyTypeControl,.weeklyPeriodText{color:#526070;gap:6px;font-size:12px;font-weight:800;display:grid}.weeklyControlBand input,.weeklyControlBand select{border-radius:6px;min-height:40px}.weeklyTypeControl>div,.weeklyDetailTabs{background:#fff;border:1px solid #cfd8e3;border-radius:6px;width:max-content;padding:3px;display:inline-flex}.weeklyTypeControl button,.weeklyDetailTabs button{color:#516070;cursor:pointer;background:0 0;border:0;border-radius:4px;min-width:68px;min-height:32px;font-weight:800}.weeklyTypeControl button.active,.weeklyDetailTabs button.active{color:#fff;background:#1f2937}.weeklyPeriodText{min-width:210px}.weeklyPeriodText strong{color:#253043;align-items:center;min-height:40px;font-size:13px;display:flex}.weeklyNotice{border-radius:6px;margin:14px 24px 0}.weeklyEmptyState{text-align:center;color:#6b7787;place-content:center;gap:8px;min-height:300px;padding:36px;display:grid}.weeklyEmptyState strong{color:#263244;font-size:18px}.weeklyReportMeta{padding:20px 24px 10px}.weeklyReportMeta>div:first-child{gap:3px;display:grid}.weeklyReportMeta span{color:#6b7787;font-size:12px}.weeklyReportMeta strong{font-size:19px}.weeklyReportMetaActions{align-items:center;gap:10px;display:flex}.weeklySnapshotInfo{text-align:right;gap:2px;display:grid}.weeklySnapshotInfo strong{color:#263244;font-size:13px}.weeklySnapshotInfo span{font-size:11px}.weeklyTemporaryEditNotice{color:#92400e;background:#fff8e7;border:1px solid #f3d28b;border-radius:6px;margin:0 24px 10px;padding:8px 10px;font-size:12px;font-weight:700}.weeklySourceTag{border-radius:4px;padding:5px 9px;font-size:12px;font-weight:900}.weeklySourceTag.ai{color:#0f766e;background:#ccfbf1}.weeklySourceTag.rule{color:#92400e;background:#fef3c7}.weeklyReportPage>.aiWarningList{margin:0 24px 12px}.weeklyMetrics{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;padding:10px 24px 20px;display:grid}.weeklyMetrics>div{background:#fbfcfd;border:1px solid #dfe5ec;border-radius:6px;align-content:center;gap:4px;min-height:92px;padding:13px 14px;display:grid}.weeklyMetrics>div:nth-child(2){border-top:3px solid #0f766e}.weeklyMetrics>div:nth-child(3){border-top:3px solid #d97706}.weeklyMetrics>div:nth-child(5){border-top:3px solid #b91c1c}.weeklyMetrics span,.weeklyMetrics small,.weeklyProjectSnapshot span{color:#6b7787;font-size:12px}.weeklyMetrics strong{color:#172033;font-size:24px;line-height:1.1}.weeklyOverview{border-top:1px solid #e5e9ef;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 24px;display:grid}.weeklyDistribution h3,.weeklyDetails h3{margin:0 0 14px;font-size:15px}.weeklyBarRow{gap:5px;margin-top:10px;display:grid}.weeklyBarLabel{color:#4b596a;justify-content:space-between;gap:12px;font-size:13px;display:flex}.weeklyBarTrack,.weeklyProgressTrack{background:#e7ebf0;border-radius:3px;height:7px;overflow:hidden}.weeklyBarTrack span,.weeklyProgressTrack span{background:#0f766e;max-width:100%;height:100%;display:block}.weeklyDistribution:nth-child(2) .weeklyBarTrack span{background:#d97706}.weeklyEmptyText{color:#8490a0;font-size:13px}.weeklyProjectSnapshot{border-top:1px solid #e5e9ef;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;padding-top:18px;display:grid}.weeklyProjectSnapshot>div:not(.weeklyProgressTrack){gap:4px;display:grid}.weeklyProjectSnapshot .wide{grid-column:1/-1}.weeklyNarrativeGrid{background:#fbfcfd;border-top:1px solid #e5e9ef;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px 24px;display:grid}.weeklyNarrative{color:#344154;border-top:3px solid #0f766e;gap:7px;padding-top:10px;font-size:13px;font-weight:900;display:grid}.weeklyNarrative.risk{border-top-color:#b91c1c}.weeklyNarrative.plan{border-top-color:#d97706}.weeklyNarrative textarea{border-radius:6px;min-height:170px;font-weight:500;line-height:1.6}.weeklyDetails{border-top:1px solid #e5e9ef;padding:22px 24px 26px}.weeklyDetailHeader h3{margin:0}.weeklyTableWrap{border:1px solid #e0e5eb;border-radius:6px;margin-top:14px}.weeklyTableWrap table{min-width:920px;margin:0}.weeklyTableWrap td,.weeklyTableWrap th{vertical-align:top}@media (width<=1050px){.weeklyControlBand{grid-template-columns:repeat(2,minmax(0,1fr))}.weeklyMetrics{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media (width<=720px){.weeklyReportHeader,.weeklyReportMeta,.weeklyDetailHeader{flex-direction:column;align-items:flex-start}.weeklyReportActions{width:100%}.weeklyReportActions button{flex:1}.weeklyControlBand,.weeklyMetrics,.weeklyOverview,.weeklyNarrativeGrid{grid-template-columns:1fr}.weeklyControlBand,.weeklyReportHeader,.weeklyReportMeta,.weeklyMetrics,.weeklyOverview,.weeklyNarrativeGrid,.weeklyDetails{padding-left:14px;padding-right:14px}.weeklyProjectSnapshot,.weeklyProjectSnapshot .wide{grid-column:auto}.weeklyProjectSnapshot{grid-template-columns:1fr}.weeklyDetailTabs{width:100%}.weeklyDetailTabs button{flex:1;min-width:0}}.ganttControls{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.ganttControlLabel{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:11px;font-weight:800}.ganttProjectPicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ganttProjectChips{flex-wrap:wrap;gap:5px;display:flex}.ganttChip{color:#475569;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #d6e0ef;border-radius:999px;max-width:160px;padding:3px 10px;font-size:12px;font-weight:700;transition:all .15s;overflow:hidden}.ganttChip.active{color:#fff;background:#2563eb;border-color:#2563eb}.ganttChip:hover:not(.active){background:#f1f5f9}.ganttRangePicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ganttPresets{flex-wrap:wrap;gap:4px;display:flex}.ganttPresetActive{color:#1d4ed8!important;background:#dbeafe!important;border-color:#93c5fd!important}.ganttDateInputs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ganttDateInput{color:#1e293b;border:1px solid #d6e0ef;border-radius:8px;width:140px;padding:5px 10px;font-size:13px}.ganttRangeInfo{color:#94a3b8;font-size:11px;font-weight:600}.ganttScroller{cursor:grab;-webkit-user-select:none;user-select:none;scroll-behavior:auto;border:1px solid #e2e8f0;border-radius:12px;overflow:auto visible}.ganttScroller.ganttDragging{cursor:grabbing;scroll-behavior:auto}.ganttScroller.ganttDragging *{pointer-events:none}.ganttZoomControls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ganttZoomBtn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #d6e0ef;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;font-weight:800;line-height:1;transition:all .15s;display:inline-flex}.ganttZoomBtn:hover{color:#2563eb;background:#eff6ff;border-color:#93c5fd}.ganttZoomBtn:active{transform:scale(.95)}.ganttZoomHint{color:#94a3b8;white-space:nowrap;margin-left:6px;font-size:11px;font-weight:600}.ganttLabelCell{z-index:5;background:#fff;border-right:1px solid #e2e8f0;flex-shrink:0}.ganttSticky{position:sticky;left:0}.ganttStickyHeader{z-index:10;background:#f8fafc;position:sticky;left:0}.ganttHeaderRow{z-index:8;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;position:sticky;top:0}.ganttMonthCell{color:#475569;white-space:nowrap;border-right:1px solid #e2e8f0;flex-shrink:0;align-items:center;padding:4px 6px;font-size:11px;font-weight:800;display:flex;overflow:hidden}.ganttDayCell{color:#94a3b8;text-align:center;border-right:1px solid #f1f5f9;flex-shrink:0;font-size:10px;font-weight:600;line-height:22px;overflow:hidden}.ganttDayCell.ganttDayCellToday{color:#ef4444;background:#fef2f2;font-weight:900}.ganttDayCell.ganttDayCellWeekend{background:#94a3b80f}.ganttProjectRow{border-bottom:1px solid #f1f5f9;min-height:56px;display:flex}.ganttProjectRow:hover{background:#2563eb04}.ganttProjectRow.ganttDone{opacity:.65}.ganttProjectName{color:#1e293b;white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.ganttProjectName span{text-overflow:ellipsis;max-width:120px;overflow:hidden}.ganttProjectMeta{color:#94a3b8;gap:8px;margin-top:2px;font-size:10px;display:flex}.ganttLabelCell.ganttSticky{flex-direction:column;justify-content:center;padding:8px 10px;display:flex}.ganttBarArea{flex:1;position:relative;overflow:visible}.ganttRowTrack{height:18px;position:absolute;left:0;right:0}.ganttGridLine{pointer-events:none;border-right:1px solid #f1f5f9;position:absolute;top:0;bottom:0}.ganttGridLine.month{border-right-color:#e2e8f0}.ganttTodayLineNew{z-index:6;pointer-events:none;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.ganttTodayLineNew:before{content:"今";color:#ef4444;white-space:nowrap;font-size:9px;font-weight:900;position:absolute;top:2px;left:3px}.ganttBar{border-radius:4px;min-width:2px;height:100%;position:absolute;top:0;overflow:hidden}.ganttBar.projectBar{background:#bfdbfe;height:18px}.ganttBarProgress{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9);height:100%}.ganttBarInlineLabel{color:#1d4ed8;align-items:center;font-size:10px;font-weight:800;display:flex;position:absolute;top:0;bottom:0;right:4px}.ganttBar.milestoneBar{border-radius:4px;align-items:center;height:18px;padding:0 5px;display:flex}.ganttBarLabel{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:800;overflow:hidden}.ganttWorkLogDot{cursor:pointer;z-index:4;background:#0ea5e9;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 1px 4px #0ea5e966}@media (width<=760px){.calendarGrid{grid-template-columns:repeat(7,1fr)}.calendarCell{min-height:50px;padding:4px}.calendarDay{font-size:12px}}.timerPanel{position:relative;overflow:hidden}.timerLiveBadge{color:#166534;background:#dcfce7;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:13px;font-weight:800;display:flex}.timerDot{background:#16a34a;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.timerBody{grid-template-columns:1fr 280px;align-items:start;gap:32px;display:grid}.timerInputs{min-width:0}.timerClock{background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:28px 24px;display:flex;position:sticky;top:24px}.timerDisplay{letter-spacing:-2px;color:#1e293b;font-variant-numeric:tabular-nums;font-size:56px;font-weight:900;transition:color .3s}.timerDisplay.active{color:#2563eb}.timerDisplay.paused{color:#d97706}.timerMeta{color:#64748b;margin:0;font-size:13px}.timerActions{width:100%;margin-top:4px}.timerStartBtn,.timerStopBtn{cursor:pointer;border:0;border-radius:14px;width:100%;padding:16px;font-size:18px;font-weight:900;transition:all .2s}.timerStartBtn{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);box-shadow:0 8px 24px #2563eb4d}.timerStartBtn:hover{transform:translateY(-1px);box-shadow:0 12px 28px #2563eb61}.timerStartBtn:active{transform:translateY(0)}.timerStartBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.timerStopBtn{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 8px 24px #16a34a4d}.timerStopBtn:hover{transform:translateY(-1px);box-shadow:0 12px 28px #16a34a61}.timerStopBtn:active{transform:translateY(0)}.timerStopBtn:disabled{opacity:.6;cursor:not-allowed;transform:none}.timerPauseBtn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#d97706,#b45309);border:0;border-radius:14px;width:100%;margin-bottom:6px;padding:14px;font-size:16px;font-weight:900;box-shadow:0 6px 18px #d9770647}.timerPauseBtn:hover{filter:brightness(1.08)}.timerResumeBtn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);border:0;border-radius:14px;width:100%;margin-bottom:6px;padding:14px;font-size:16px;font-weight:900;box-shadow:0 6px 18px #7c3aed47}.timerResumeBtn:hover{filter:brightness(1.08)}.timerSessionInfo{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.timerSessionInfoRow{align-items:center;gap:10px;font-size:14px;display:flex}.timerInfoLabel{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;min-width:72px;font-size:12px;font-weight:800}.timerPauseLog{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.timerPauseEvent{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:4px 0;font-size:12px;display:flex}.timerPauseEvent:last-child{border-bottom:0}.timerPauseType{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.timerPauseType.pause{color:#92400e;background:#fef3c7}.timerPauseType.resume{color:#5b21b6;background:#ede9fe}.timerPauseTime{color:#475569}.timerPauseElapsed{color:#94a3b8;font-variant-numeric:tabular-nums;margin-left:auto}.ganttWorkLogRow{align-items:center;gap:8px;margin-top:4px;padding-left:4px;display:flex}.ganttWorkLogLabel{color:#94a3b8;flex-shrink:0;width:56px;font-size:10px;font-weight:700}.ganttWorkLogTrack{flex:1;height:18px;position:relative}.ganttWorkLogDot{cursor:pointer;z-index:4;background:#0ea5e9;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:transform .15s;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0ea5e966}.ganttWorkLogDot:hover{transform:translate(-50%,-50%)scale(1.35)}.ganttWorkLogCount{color:#fff;font-size:9px;font-weight:900}.timerCard{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;transition:all .2s;position:relative;box-shadow:0 1px 3px #0f172a0a}.timerCard.running{background:linear-gradient(#f7fdf9 0%,#fff 40%);border-color:#bbf7d0}.timerCard.paused{background:linear-gradient(#fffcf3 0%,#fff 40%);border-color:#fde68a}.timerCard.timerCardFocus{border-color:#10b981;scroll-margin-block:20vh;animation:.9s ease-in-out 2 timerCardFocusPulse;box-shadow:0 0 0 3px #10b98133,0 12px 30px #0596691f}.timerCard:focus-visible{outline-offset:3px;outline:3px solid #10b98159}@keyframes timerCardFocusPulse{0%,to{box-shadow:0 0 0 3px #10b98133,0 12px 30px #0596691f}50%{box-shadow:0 0 0 7px #10b9811a,0 16px 34px #0596692e}}.timerCard:before{content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:14px;bottom:14px;left:0}.timerCard.running:before{background:linear-gradient(#16a34a,#22c55e)}.timerCard.paused:before{background:linear-gradient(#d97706,#f59e0b)}.timerCardHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.timerCardMeta{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.timerCardCategory{color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.timerCardStart{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:11px}.timerCardElapsed{letter-spacing:0;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:28px;font-weight:800;line-height:1}.timerCardElapsed.running{color:#16a34a}.timerCardElapsed.paused{color:#d97706}.timerCardElapsedGroup{flex-shrink:0;justify-items:end;gap:5px;display:grid}.timerSegmentMeta,.timerHistorySegment,.timerHistoryChainTotal{color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:700}.timerHistoryChainTotal{color:#0369a1}.timerCardContent{color:#1e293b;margin:0 0 12px;font-size:14.5px;font-weight:600;line-height:1.5}.timerPrimaryBar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:4px 0 12px;display:flex}.timerPrimaryBar .timerCardContent{text-align:center;overflow-wrap:anywhere;flex:0 auto;max-width:min(520px,100%);margin:0}.timerPrimaryBar .timerContentActions{flex:none;justify-content:center;margin:0}.timerPrimaryBar .timerCardActions{flex-wrap:nowrap;flex:none;justify-content:center;margin:0;display:inline-flex}.timerQuickNoteButton{color:#0f766e;cursor:pointer;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;width:auto;min-height:38px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.timerQuickNoteButton:hover{background:#ccfbf1;border-color:#5eead4}.timerQuickNoteButton span{color:#fff;background:#0f766e;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px;line-height:18px}.timerPrimaryBar>.timerAttachmentList,.timerPrimaryBar>.timerUploadPending,.timerPrimaryBar>.timerReviewPanel,.timerPrimaryBar>.timerOvertimeChoices{flex:0 0 100%;order:6}.timerPrimaryBar>.timerCardContent{order:1}.timerPrimaryBar>.timerContentActions{order:2}.timerPrimaryBar>.timerCardActions{order:3}.timerCardActions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.timerSegmentedActions{background:#fff;border:1px solid #d8e3ec;border-radius:10px;flex-wrap:nowrap;gap:0;width:auto;max-width:100%;margin:0;display:inline-flex;overflow:hidden;box-shadow:0 5px 16px #0f172a0f}.timerSegmentedActions>button{cursor:pointer;width:auto;box-shadow:none;white-space:nowrap;background:#fff;border:0;border-radius:0;flex:none;margin-bottom:0;padding:9px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.timerSegmentedActions>button+button{border-left:1px solid #d8e3ec}.timerSegmentedActions>button:first-child{border-radius:9px 0 0 9px}.timerSegmentedActions>button:last-child{border-radius:0 9px 9px 0}.timerSegmentedActions>button:only-child{border-radius:9px}.timerSegmentedActions>button:hover{box-shadow:none;transform:none}.timerCardActions button:disabled{opacity:.55;cursor:not-allowed}.timerCardActions .timerPauseBtn{color:#b45309;background:#fffbeb;border-color:#fcd34d}.timerCardActions .timerPauseBtn:hover{background:#fef3c7;border-color:#f59e0b}.timerCardActions .timerResumeBtn{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}.timerCardActions .timerResumeBtn:hover{background:#ede9fe;border-color:#a78bfa}.timerCardActions .timerStopBtn{color:#15803d;background:#f0fdf4;border-color:#86efac;font-weight:800}.timerCardActions .timerStopBtn:hover{background:#dcfce7;border-color:#4ade80}.timerCardActions .timerCancelBtn{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.timerCardActions .timerCancelBtn:hover{background:#fee2e2;border-color:#fca5a5}.timerQuickNoteSummary{color:#64748b;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:auto;margin:10px auto 0;padding:6px 10px;font-size:12px;font-weight:750;display:inline-flex}.timerQuickNoteSummary:hover{color:#0f766e;background:#f0fdfa}.timerQuickNoteOverlay{z-index:1400;background:#0f172a4d;justify-content:flex-end;display:flex;position:fixed;inset:0}.timerQuickNoteDrawer{background:#fff;border-left:1px solid #dbe3ee;grid-template-rows:auto minmax(0,1fr);width:min(580px,100vw - 48px);min-width:0;height:100%;animation:.18s ease-out timerQuickNoteIn;display:grid;box-shadow:-18px 0 48px #0f172a2e}@keyframes timerQuickNoteIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.timerQuickNoteHeader{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.timerQuickNoteHeader>div{min-width:0}.timerQuickNoteHeader h2{margin:0 0 6px;font-size:22px}.timerQuickNoteHeader strong{color:#0f172a;overflow-wrap:anywhere;font-size:14px;line-height:1.45;display:block}.timerQuickNoteContext{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.timerQuickNoteContext span,.timerQuickNoteContext time{background:#f1f5f9;border-radius:6px;padding:3px 7px}.timerQuickNoteContext time{color:#047857;font-variant-numeric:tabular-nums;font-weight:800}.timerQuickNoteBody{overscroll-behavior:contain;min-height:0;overflow-y:auto}.timerQuickNoteComposer{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:18px 22px}.timerQuickNoteComposer .timerComposer{margin:0}.timerQuickNoteTimeline{gap:10px;padding:18px 22px 28px;display:grid}.timerQuickNoteTimelineHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.timerQuickNoteTimelineHeader h3{margin:0;font-size:15px}.timerQuickNoteTimelineHeader span{color:#64748b;font-size:12px}.timerQuickNoteTimelineItem{min-width:0}.timerQuickNoteTimelineItem .richItem,.timerQuickNoteLegacyRecord{box-shadow:none;border-radius:8px;margin:0}@media (width<=760px){.timerQuickNoteDrawer{width:100%}.timerQuickNoteHeader,.timerQuickNoteComposer,.timerQuickNoteTimeline{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){.timerQuickNoteDrawer{animation:none}}.timerHeaderActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timerPolicyButton,.timerOpenStartButton{flex-shrink:0}.timerNotification{background:#fff9e8;border:1px solid #f5c35b;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px;padding:12px 14px;display:flex}.timerNotification.paused{background:#fff5f5;border-color:#f3a7a7}.timerNotificationText{gap:3px;min-width:0;display:grid}.timerNotificationText strong{color:#7c4a03;font-size:14px}.timerNotification.paused .timerNotificationText strong{color:#9f2d2d}.timerNotificationText span{overflow-wrap:anywhere;color:#64748b;font-size:12px}.timerNotificationActions,.timerOvertimeChoices,.timerSegmentedControl{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.timerNotificationActions button,.timerOvertimeChoices button,.timerSegmentedControl button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-height:34px;padding:6px 10px;font-size:12px;font-weight:700}.timerNotificationActions button:hover,.timerOvertimeChoices button:hover,.timerSegmentedControl button:hover,.timerSegmentedControl button.active{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.timerNotificationActions button:disabled,.timerOvertimeChoices button:disabled{cursor:not-allowed;opacity:.55}.timerNotificationActions .timerNotificationDismiss{background:0 0;border-color:#0000;width:34px;padding:0;font-size:20px}.timerReviewBadge{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.timerReviewPanel{background:#fff7f7;border-left:3px solid #dc2626;border-radius:0 8px 8px 0;gap:12px;margin:0 0 14px;padding:12px 14px;display:grid}.timerReviewHeading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.timerReviewHeading>div{gap:2px;display:grid}.timerReviewHeading strong{color:#991b1b;font-size:14px}.timerReviewHeading span,.timerReviewHeading time{color:#64748b;font-size:12px}.timerReviewControls{grid-template-columns:auto minmax(220px,1fr) auto;align-items:end;gap:8px;display:grid}.timerReviewControls label{color:#64748b;gap:4px;font-size:11px;font-weight:700;display:grid}.timerReviewControls input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-height:36px;padding:6px 9px}.timerReviewControls button{min-height:36px}.timerReviewPrimary{color:#fff;cursor:pointer;background:#15803d;border:1px solid #15803d;border-radius:6px;padding:7px 12px;font-weight:800}.timerOvertimeChoices{padding-top:2px}.timerOvertimeChoices>span{color:#475569;margin-right:2px;font-size:12px;font-weight:800}.timerOvertimeChoices .timerOvertimeCancel{color:#64748b;background:0 0;border-color:#0000}.timerStartOvertime{color:#475569;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.timerTodoConflict{color:#b45309;margin-top:6px;font-size:12px;font-weight:600;display:block}.timerParallelHint{color:#16835b;margin:6px 0 0;font-size:12px;font-weight:600}.timerSegmentedControl button.active{box-shadow:inset 0 0 0 1px #3b82f6}.timerPolicyBackdrop{z-index:80}.timerPolicyModal{border-radius:8px;width:min(620px,100%)}.timerPolicyHeader{margin-bottom:16px}.iconButton{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:36px;height:36px;padding:0;font-size:22px;display:inline-grid}.timerPolicyForm{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timerPolicyForm>label{color:#475569;gap:6px;font-size:12px;font-weight:700;display:grid}.timerPolicyForm input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:0;min-height:40px;padding:8px 10px}.timerPolicyForm .timerPolicyToggle{grid-column:1/-1;align-items:center;gap:8px;padding:8px 0;display:flex}.timerPolicyToggle input{width:18px;min-height:18px}.timerPolicyActions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.timerCardResultRow{grid-template-columns:1fr;gap:8px;margin-bottom:14px;display:grid}.timerCardResultRow input{background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px;transition:all .15s}.timerCardResultRow input:focus{background:#fff;border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #93c5fd33}.timerCardTabs{background:#f1f5f9;border-radius:10px;gap:0;margin-bottom:14px;padding:3px;display:inline-flex}.timerCardTabs button{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:4px;padding:6px 14px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.timerCardTabs button:hover{color:#1e293b}.timerCardTabs .timerTabActive{color:#1e293b;background:#fff;box-shadow:0 1px 3px #0f172a14}.timerTabBadge{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.timerTabBadge.danger{color:#dc2626;background:#fee2e2}.timerTabBadge.blue{color:#1d4ed8;background:#dbeafe}.timerCardTabs .timerTabActive .timerTabBadge{background:#f1f5f9}.timerTabContent{min-height:60px}.timerEmptyHint{color:#94a3b8;text-align:center;background:#fafbfc;border:1px dashed #e2e8f0;border-radius:10px;margin:4px 0 12px;padding:16px 12px;font-size:13px}.timerAddRow{background:#fafbfc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:8px;transition:all .15s;display:flex}.timerAddRow:focus-within{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd26}.timerAddInput{background:0 0;border:0;border-radius:7px;outline:none;flex:1;min-width:120px;padding:6px 10px;font-size:13px}.timerAddRow .timerTagSelect{color:#475569;background:#fff;border:0;border-radius:7px;flex-shrink:0;width:76px;padding:5px 8px;font-size:12px;font-weight:700}.timerAddRow .primaryButton{box-shadow:none!important;background:#2563eb!important;border-radius:8px!important;padding:6px 14px!important;font-size:12.5px!important}.timerAddRow .primaryButton:hover{background:#1d4ed8!important;transform:none!important}.timerTagSelect{border:1px solid #d6e0ef;border-radius:8px;flex-shrink:0;width:80px;padding:6px 8px;font-size:13px}.timerComposer{border-top:1px solid #eef2f7;flex-direction:column;gap:8px;width:100%;margin-top:12px;padding-top:12px;display:flex}.timerStartComposer{border-top:0;margin-top:0;padding-top:0}.timerStartBackdrop{z-index:120}.timerStartModal{box-sizing:border-box;width:min(780px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.timerStartModal *{box-sizing:border-box}.timerStartModalHeader{margin-bottom:16px}.timerStartFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.timerStartFormGrid>*,.timerStartModal .richAttachmentInput{min-width:0;max-width:100%}.timerStartDialogActions{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:14px}.timerStartDialogActions .ghostButton{min-width:88px}.timerAttachmentTrigger{justify-content:center;align-items:center;gap:5px;width:auto;display:inline-flex}.timerAttachmentUploadBackdrop{z-index:1500}.timerAttachmentUploadModal{box-sizing:border-box;width:min(620px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.timerAttachmentUploadModal *{box-sizing:border-box}.timerAttachmentUploadHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.timerAttachmentUploadHeader h2{margin:2px 0 0;font-size:22px}.timerAttachmentUploadError{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:6px;margin:12px 0 0;padding:9px 11px;font-size:12px;line-height:1.5}.timerAttachmentUploadActions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.timerAttachmentUploadActions button{justify-content:center;align-items:center;gap:6px;width:auto;display:inline-flex}.timerComposerLabel{color:#334155;margin:0 0 5px;font-size:13px;font-weight:700}.timerComposerMeta{grid-template-columns:repeat(2,minmax(0,220px));gap:8px;display:grid}.timerComposerMeta label{color:#64748b;flex-direction:column;gap:4px;min-width:0;font-size:12px;font-weight:700;display:flex}.timerComposerMeta input,.timerComposerMeta select{color:#1e293b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d6e0ef;border-radius:8px;padding:8px 10px}.timerComposerActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.timerComposerActions .primaryButton,.timerComposerActions .timerStartBtn{border-radius:8px;width:auto;min-width:112px;padding:9px 18px;font-size:13px}.timerUploadPending{color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;margin:0;padding:8px 10px;font-size:12px;line-height:1.45}.timerContentActions,.timerCommActions{justify-content:flex-end;margin:6px 0 10px;display:flex}.timerAttachmentList{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;width:100%;margin:8px 0;display:grid}.timerAttachmentCard{background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:44px;padding:7px 8px;display:flex}.timerAttachmentCard.image{align-items:flex-start}.timerAttachmentCard .imgThumb,.timerAttachmentCard .imgThumbPlaceholder{object-fit:cover;border-radius:6px;flex:0 0 44px;width:44px;height:44px}.timerAttachmentPreview{cursor:zoom-in;background:0 0;border:0;border-radius:6px;flex:0 0 44px;width:44px;height:44px;padding:0}.timerAttachmentPreview .imgThumb{width:100%;height:100%;display:block}.timerAttachmentPreview:focus-visible{outline-offset:2px;outline:3px solid #2563eb52}.timerAttachmentDownload{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:none;width:30px;height:30px;padding:0;font-size:17px}.timerAttachmentDownload:hover{background:#eff6ff;border-color:#93c5fd}.timerAttachmentLoadError{color:#b91c1c;flex:0 0 72px;align-items:center;min-height:40px;font-size:11px;display:flex}@media (width<=760px){.timerStartComposer .formGrid,.timerComposerMeta,.timerCardResultRow{grid-template-columns:1fr!important}.timerComposerActions{justify-content:stretch}.timerComposerActions .primaryButton,.timerComposerActions .timerStartBtn,.timerHeaderActions{width:100%}.timerHeaderActions>button{flex:1}.timerStartBackdrop{padding:12px}.timerStartModal{max-height:calc(100vh - 24px)}.timerStartDialogActions .ghostButton{width:100%}.timerAttachmentList{grid-template-columns:minmax(0,1fr)}.timerSegmentedActions{flex-wrap:nowrap}.timerSegmentedActions>button{padding:8px 10px;font-size:12px}.timerCardHeader{flex-direction:column;align-items:stretch}.timerCardElapsedGroup{justify-items:start}.timerNotification,.timerReviewHeading,.timerStartOvertime{flex-direction:column;align-items:stretch}.timerNotificationActions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.timerNotificationActions button{width:100%}.timerNotificationActions .timerNotificationDismiss{width:34px;position:absolute;top:8px;right:8px}.timerNotification{padding-right:44px;position:relative}.timerReviewControls,.timerPolicyForm{grid-template-columns:minmax(0,1fr)}.timerReviewControls button,.timerPolicyActions button{width:100%}.timerPolicyForm .timerPolicyToggle,.timerPolicyActions{grid-column:1}.timerPolicyActions{grid-template-columns:1fr 1fr;display:grid}.timerSegmentedControl{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.timerCommTime{width:100%;margin-left:0}}.timerNoteItem{background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:6px;padding:8px 10px}.timerNoteHeader{align-items:center;gap:7px;margin-bottom:4px;display:flex}.timerNoteTag{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.timerNoteTag.tag-备注{color:#475569;background:#f1f5f9}.timerNoteTag.tag-问题{color:#dc2626;background:#fee2e2}.timerNoteTag.tag-决策{color:#1d4ed8;background:#dbeafe}.timerNoteTag.tag-风险{color:#92400e;background:#fef3c7}.timerNoteTag.tag-进展{color:#166534;background:#dcfce7}.timerNoteTag.tag-待办{color:#6d28d9;background:#ede9fe}.timerNoteTime{color:#94a3b8;margin-left:auto;font-size:11px}.timerNoteContent{color:#1e293b;margin:0;font-size:13px;line-height:1.5}.deliverableStack{flex-direction:column;gap:10px;display:flex}.deliverablePhase{background:#fff;border:1px solid #e2e8f0;border-radius:14px;transition:all .2s;overflow:hidden}.deliverablePhase.active{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb14}.deliverablePhase.passed{opacity:.85}.deliverablePhaseHeader{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;transition:background .15s;display:flex}.deliverablePhaseHeader:hover{background:#f1f5f980}.deliverablePhase.active .deliverablePhaseHeader{background:linear-gradient(135deg,#eff6ff 0%,#fff 80%)}.deliverablePhaseLeft{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.deliverablePhaseBadge{color:#fff;letter-spacing:.04em;background:#2563eb;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:800}.deliverablePhase.passed .deliverablePhaseBadge{background:#94a3b8}.deliverablePhaseName{color:#0f172a;font-size:15px;display:block}.deliverablePhaseDesc{color:#64748b;margin:2px 0 0;font-size:12px;line-height:1.4}.deliverablePhaseRight{flex-shrink:0;align-items:center;gap:14px;display:flex}.deliverablePhaseStats{color:#1e293b;font-size:13px;font-weight:800}.deliverablePhaseStats strong{color:#2563eb;margin-right:1px;font-size:22px}.deliverablePhaseStats span{color:#94a3b8;font-weight:700}.deliverablePhaseProgress{background:#e2e8f0;border-radius:999px;width:100px;height:6px;overflow:hidden}.deliverablePhaseProgressFill{background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:999px;height:100%;transition:width .3s}.deliverablePhaseChevron{color:#94a3b8;text-align:center;width:16px;font-size:14px;font-weight:800}.deliverablePhaseBody{background:#fcfcfd;border-top:1px solid #f1f5f9;flex-direction:column;gap:8px;padding:8px 18px 18px;display:flex}.deliverableItem{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;transition:all .15s}.deliverableItem.uploaded{background:linear-gradient(#f0fdf4,#fff);border-color:#bbf7d0}.deliverableItem:hover{border-color:#c7d9f4}.deliverableItemHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.deliverableItemTitle{color:#1e293b;align-items:center;gap:8px;font-size:14px;display:flex}.deliverableItemStatus{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:inline-flex}.deliverableItemStatus.done{color:#16a34a;background:#dcfce7}.deliverableItemStatus.pending{color:#94a3b8;background:#f1f5f9;border:1px dashed #cbd5e1}.deliverableFileCount{color:#16a34a;background:#dcfce7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.deliverableItemActions{flex-shrink:0;gap:6px;display:flex}.deliverableFiles{border-top:1px dashed #e2e8f0;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.deliverableFileRow{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 10px;display:flex}.deliverableFileIcon{flex-shrink:0;font-size:18px}.deliverableFileName{text-align:left;flex:1;min-width:120px;font-size:13px;font-weight:700;text-decoration:none}.deliverableFileName:hover{text-decoration:underline}.deliverableFileMeta{color:#64748b;white-space:nowrap;font-size:11px;font-weight:600}.deliverableFileRemark{color:#475569;white-space:nowrap;text-overflow:ellipsis;background:#fef3c7;border-radius:6px;max-width:200px;padding:2px 8px;font-size:11px;overflow:hidden}.phaseCurrentBanner{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #c7d9f4;border-radius:14px;padding:16px 18px}.phaseCurrentBanner.delayed{background:linear-gradient(135deg,#fff7f7,#fff);border-color:#fca5a5}.phaseCurrentInfo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.phaseCurrentLabel{align-items:center;gap:12px;display:flex}.phaseCurrentIcon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:900;display:flex}.phaseCurrentEyebrow{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:800}.phaseCurrentLabel strong{color:#0f172a;font-size:18px}.phaseCurrentDates{color:#64748b;font-size:12px;font-weight:700}.phaseCurrentHint{color:#475569;background:#fff9;border-left:3px solid #c7d9f4;border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:13px;line-height:1.6}.phaseCompleteAction{background:#f0fdf4b8;border:1px solid #bbf7d0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:8px 12px;display:flex}.phaseCompleteAction .phaseCurrentHint{background:0 0;border-left:0;flex:1;min-width:240px;padding:0}.phaseCompleteAction .primaryButton{flex-shrink:0}.phaseGateForm{background:#ffffffd9;border:1px dashed #93c5fd;border-radius:10px;margin-top:14px;padding:14px}.primaryButton.urgent{color:#fff;background:linear-gradient(135deg,#dc2626,#ea580c);animation:2s infinite pulseUrgent}@keyframes pulseUrgent{0%,to{box-shadow:0 4px 12px #dc26264d}50%{box-shadow:0 6px 20px #dc26268c}}.userAdminStats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.userAdminStatCard{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:14px;padding:16px 18px;transition:all .2s;display:flex;box-shadow:0 4px 12px #0f172a0a}.userAdminStatCard:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.userAdminStatIcon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:flex}.userAdminStatNum{color:#0f172a;font-variant-numeric:tabular-nums;font-size:28px;font-weight:900;line-height:1}.userAdminStatLabel{color:#64748b;margin-top:4px;font-size:12px;font-weight:700}.userGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.userCard{background:linear-gradient(#fff,#fafbff);border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:18px;transition:all .2s;display:flex;position:relative}.userCard:hover{border-color:#c7d9f4;transform:translateY(-2px);box-shadow:0 12px 28px #2563eb1f}.userCard.isSelf{background:linear-gradient(#eff6ff,#fff);border-color:#93c5fd}.userCardTop{align-items:center;gap:12px;display:flex}.userAvatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:900;display:flex}.userCardInfo{flex:1;min-width:0}.userCardName{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex;overflow:hidden}.userCardUserName{color:#64748b;margin-top:2px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.userSelfBadge{color:#fff;background:#2563eb;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 7px;font-size:10px;font-weight:800;display:inline-flex}.userCardBadges{flex-wrap:wrap;gap:6px;display:flex}.userCardBadge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.userCardMeta{background:#f1f5f999;border:1px solid #f1f5f9;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;display:grid}.userCardMeta div{flex-direction:column;gap:2px;display:flex}.userCardMeta span{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.userCardMeta strong{color:#475569;font-size:12px;font-weight:700}.userCardActions{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.userCardQuickBtn{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;flex:1;min-width:70px;padding:7px 10px;font-size:12px;font-weight:800;transition:all .15s}.userCardQuickBtn:hover{transform:translateY(-1px)}.userCardQuickBtn.approve{color:#16a34a;background:#f0fdf4;border-color:#86efac}.userCardQuickBtn.approve:hover{background:#dcfce7}.userCardQuickBtn.disable{color:#d97706;background:#fffbeb;border-color:#fcd34d}.userCardQuickBtn.disable:hover{background:#fef3c7}.userCardQuickBtn.edit{color:#1d4ed8;background:#eff6ff;border-color:#c7d9f4}.userCardQuickBtn.edit:hover{background:#dbeafe}.userCardQuickBtn.danger{color:#dc2626;background:#fff7f7;border-color:#fecaca}.userCardQuickBtn.danger:hover{background:#fee2e2}.userModalOverlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c}.userFormModal{background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;width:min(640px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000040}.userFormHero{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 50%,#0ea5e9 100%);flex-shrink:0;align-items:center;gap:14px;padding:22px 24px;display:flex}.userFormHeroAvatar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:2px solid #ffffff4d;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:900;display:flex}.userFormHeroEyebrow{letter-spacing:.1em;color:#fffc;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:800}.userFormBody{flex:1;padding:22px 24px;overflow-y:auto}.userFormSection{margin-bottom:22px}.userFormSection:last-child{margin-bottom:0}.userFormSectionTitle{color:#1e293b;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:800;display:flex}.userFormSectionTitle:before{content:"";background:linear-gradient(#2563eb,#0ea5e9);border-radius:999px;width:3px;height:14px;display:inline-block}.userFormFooter{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.rolePickerGrid{gap:8px;display:grid}.rolePickerCard{cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.rolePickerCard:hover:not(:disabled){background:#f8fafc;border-color:#c7d9f4}.rolePickerCard.selected{box-shadow:0 4px 14px #2563eb26}.rolePickerIcon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.rolePickerCheck{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:flex}.statusPickerGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.statusPickerCard{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;font-size:13px;font-weight:800;transition:all .15s;display:flex}.statusPickerCard:hover:not(:disabled){background:#f8fafc;border-color:#c7d9f4}.statusPickerCard.selected{box-shadow:0 4px 14px #2563eb1f}.statusPickerIcon{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:flex}@media (width<=760px){.userAdminStats{grid-template-columns:repeat(2,1fr)}.userGrid,.statusPickerGrid{grid-template-columns:1fr}}.confirmOverlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirmDialog{background:#fff;border-radius:18px;width:min(420px,100%);padding:28px 32px;box-shadow:0 24px 60px #00000038}.confirmTitle{color:#dc2626;margin:0 0 10px;font-size:18px;font-weight:900}.confirmDesc{color:#374151;margin:0 0 6px;font-size:14px}.confirmHint{color:#6b7280;margin:0 0 14px;font-size:13px;line-height:1.6}.confirmHint code{color:#1e293b;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-weight:800}.confirmInput{border:2px solid #e5e7eb;border-radius:10px;outline:none;width:100%;margin-bottom:14px;padding:10px 14px;font-size:15px;transition:border-color .2s}.confirmInput:focus{border-color:#3b82f6}.confirmActions{gap:10px;display:flex}.todoDeleteConfirm{text-align:center;width:min(440px,100vw - 32px);padding:26px}.todoDeleteConfirmIcon{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 14px;font-size:22px;font-weight:900;display:grid}.todoDeleteConfirmIcon.permanent{color:#dc2626;background:#fef2f2;border-color:#fecaca}.todoReopenConfirmIcon{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.todoReopenConfirm .eyebrow{color:#047857}.todoDeleteConfirm h2{margin:4px 0 12px;font-size:20px}.todoDeleteConfirmTask{color:#0f172a;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:10px 12px;font-size:14px;font-weight:750}.todoDeleteConfirmHint{color:#64748b;margin:12px 0 0;font-size:13px;line-height:1.6}.todoDeleteConfirmActions{justify-content:center;margin-top:18px}.todoDeleteConfirmActions button{width:auto}.richItem.deleted{opacity:.75;background:#f8fafc;border-color:#e2e8f0}.deletedBin{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin-top:10px;overflow:hidden}.deletedBin summary{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:12px;font-weight:700}.deletedBin summary:hover{background:#f1f5f9}.deletedBinItem{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.deletedBinLabel{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.deletedBinTime{color:#94a3b8;flex-shrink:0;font-size:11px}.richItem{border:1px solid;border-radius:12px;margin-bottom:8px;padding:10px 12px}.richItem.note{background:#fafafa;border-color:#e2e8f0}.richItem.open{background:#fff7f7;border-color:#fca5a5}.richItem.resolved{background:#f0fdf4;border-color:#86efac}.richItemHeader{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.richItemTime{color:#94a3b8;margin-left:auto;font-size:11px}.richItemActions{flex-shrink:0;gap:4px;display:flex}.richItemContent{color:#1e293b;white-space:pre-wrap;word-break:break-word;margin:0 0 8px;font-size:14px;line-height:1.55}.richItemContent.resolved{color:#94a3b8;text-decoration:line-through}.richEditArea{margin-bottom:8px}.richEditTextarea{resize:vertical;border:1px solid #93c5fd;border-radius:8px;outline:none;width:100%;min-height:72px;padding:8px 10px;font-size:14px}.richItemBar{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:7px;display:flex}.richBarBtn{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.richBarBtn:hover{color:#1e293b;background:#f1f5f9}.richBadge{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:3px;padding:0 3px;font-size:10px;font-weight:900;display:inline-flex}.richBadge.blue{color:#1d4ed8;background:#dbeafe}.richSubSection{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:8px;padding:8px 10px}.richComment{border-bottom:1px solid #f1f5f9;padding:6px 0}.richComment:last-of-type{border-bottom:0}.richCommentHeader{color:#64748b;align-items:center;gap:8px;margin-bottom:3px;font-size:12px;display:flex}.richCommentHeader strong{color:#1e293b}.richCommentContent{color:#374151;margin:0;font-size:13px}.richSig{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:5px 0;font-size:13px;display:flex}.richSig:last-child{border-bottom:0}.richSigAuthor{color:#1e293b;font-weight:700}.richSigRemark{color:#475569}.richSigTime{color:#94a3b8;margin-left:auto;font-size:11px}.imgGallery{flex-wrap:wrap;gap:6px;margin:6px 0 8px;display:flex}.imgThumb{object-fit:cover;border:1px solid #e2e8f0;border-radius:8px;width:80px;height:80px}.imgThumbPlaceholder{color:#94a3b8;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:80px;height:80px;font-size:20px;display:flex}.todoCheckbox{cursor:pointer;background:0 0;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:all .18s;position:relative}.todoCheckbox:hover{background:#16a34a14;border-color:#16a34a}.todoCheckbox.done{background:#16a34a;border-color:#16a34a}.todoCheckbox.done:after{content:"✓";color:#fff;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:flex;position:absolute;inset:0}.todoCompletedGroup{background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;margin-top:8px;overflow:hidden}.todoCompletedGroup summary{color:#16a34a;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:12px;font-weight:800}.todoCompletedGroup summary:hover{background:#f0fdf4}.todoCompletedGroup .richItem{border-bottom:0;border-left:0;border-right:0;border-radius:0}.issueStatusPill{border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex}.issueStatusPill.open{color:#dc2626;background:#fee2e2}.issueStatusPill.resolved{color:#16a34a;background:#dcfce7}.issueToggleBtn{cursor:pointer;background:0 0;border:2px dashed;border-radius:10px;align-items:center;gap:7px;width:100%;margin:8px 0 6px;padding:8px 14px;font-size:13px;font-weight:800;transition:all .15s;display:flex}.issueToggleBtn.open{color:#16a34a;border-color:#86efac}.issueToggleBtn.open:hover{background:#dcfce7;border-style:solid}.issueToggleBtn.resolved{color:#64748b;border-color:#cbd5e1}.issueToggleBtn.resolved:hover{background:#f1f5f9;border-style:solid}.issueToggleIcon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:900;display:inline-flex}.issueToggleBtn.open .issueToggleIcon{color:#15803d;background:#bbf7d0}.issueToggleBtn.resolved .issueToggleIcon{color:#475569;background:#e2e8f0}.timerIssueList{gap:8px;margin-bottom:12px;display:grid}.timerIssueCard{background:#fff7f7;border:1px solid #fecaca;border-radius:12px;padding:10px 14px}.timerIssueCard.resolved{background:#f0fdf4;border-color:#86efac}.timerIssueHeader{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.timerIssueStatusBtn{cursor:pointer;border:0;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;transition:filter .15s}.timerIssueStatusBtn:hover{filter:brightness(.92)}.timerIssueTime{color:#94a3b8;font-size:11px}.timerIssueContent{color:#1e293b;margin:0;font-size:14px}.timerIssueContent.resolved{color:#94a3b8;text-decoration:line-through}.timerAddForm{border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding-top:10px;display:flex}.timerAddInput{border:1px solid #d6e0ef;border-radius:10px;flex:1;min-width:0;padding:8px 12px;font-size:14px}.timerCommList{gap:8px;margin-bottom:12px;display:grid}.timerCommCard{background:#f5f7ff;border:1px solid #e0e7ff;border-radius:12px;padding:10px 14px}.timerCommHeader{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;display:flex}.timerCommType{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.timerCommType.type-沟通{color:#4338ca;background:#e0e7ff}.timerCommType.type-部署{color:"#92400e";background:#fef3c7}.timerCommType.type-汇报{color:#166534;background:#dcfce7}.timerCommType.type-协调{color:#c2410c;background:#fff7ed}.timerCommType.type-确认{color:"#15803d";background:#f0fdf4}.timerCommPerson{color:#334155;font-size:12px;font-weight:700}.timerCommTime{color:#94a3b8;margin-left:auto;font-size:11px}.timerCommContent{color:#1e293b;margin:0;font-size:14px}.timerCommInputs{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.timerCommInputs input,.timerCommInputs select{border:1px solid #d6e0ef;border-radius:10px;padding:8px 12px;font-size:14px}.projectActiveTimer{border-width:2px}.projectActiveTimer.running{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.projectActiveTimer.paused{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d}.timerSessionList{gap:10px;display:grid}.timerSessionCard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px}.timerSessionMeta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.timerSessionTime{color:#475569;font-size:13px;font-weight:700}.timerSessionDuration{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.timerSessionContent{color:#1e293b;margin:0;font-size:14px}.timerLogSummary{flex-wrap:wrap;gap:8px;margin:4px 0 8px;display:flex}.timerLogSummary span{color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.timerLogTimeline{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:10px;padding:10px 12px}.timerLogEvents{flex-wrap:wrap;gap:8px 12px;display:flex}.timerLogEvent{color:#475569;align-items:center;gap:6px;font-size:12px;display:inline-flex}.timerLogEvent strong{color:#1e293b}.timerLogEvent small{color:#64748b}.timerLogEventDot{background:#2563eb;border-radius:999px;width:8px;height:8px}.timerLogEvent.pause .timerLogEventDot{background:#f97316}.timerLogEvent.resume .timerLogEventDot{background:#16a34a}.timerLogEvent.complete .timerLogEventDot{background:#0f172a}.timerLogSegments{border-top:1px dashed #d6e0ef;gap:4px;margin-top:8px;padding-top:8px;display:grid}.timerLogSegments span{color:#64748b;font-size:12px}@media (width<=760px){.timerBody{grid-template-columns:1fr}.timerClock{position:static}.timerDisplay{font-size:40px}}.appDashboard{background:linear-gradient(#eaf1f8d1,#f7fafcf0),linear-gradient(135deg,#e7f0f2 0%,#f6f8fb 48%,#eef4ec 100%)}.authScreen{background:linear-gradient(135deg,#0e4b5be6,#182a3feb),linear-gradient(45deg,#0f2d35,#233044);min-height:100vh;padding:28px}.authShell{background:#fffffff0;border:1px solid #e2e8f02e;border-radius:28px;grid-template-columns:minmax(320px,.9fr) minmax(360px,520px);width:min(1080px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 28px 90px #02081747}.authIntro{color:#f8fafc;background:linear-gradient(155deg,#0f2834f5,#143948e6),linear-gradient(45deg,#12333d,#1f433d);flex-direction:column;justify-content:space-between;gap:28px;padding:42px;display:flex}.authIntro .eyebrow{color:#9fd5cf}.authIntro h1{max-width:420px;margin-bottom:18px;font-size:44px;line-height:1.08}.authLead{color:#cbd9df;max-width:420px;font-size:18px;line-height:1.7}.authSignalGrid{gap:12px;margin-top:auto;display:grid}.authSignalGrid div{background:#ffffff14;border:1px solid #cbd5e138;border-radius:16px;padding:14px 16px}.authSignalGrid span,.authAsideNote{color:#a8c2c9;font-size:13px}.authSignalGrid strong{color:#fff;margin-top:5px;font-size:15px;display:block}.authAsideNote{margin:0;line-height:1.7}.authCard{background:linear-gradient(#fffffff5,#f8fafcfa);flex-direction:column;justify-content:center;padding:46px;display:flex}.authCard h2{color:#102033;margin-bottom:10px;font-size:32px}.authHint{color:#64748b;margin-bottom:22px;line-height:1.7}.authForm{margin-top:0}.authModeTabs{background:#eef4f7;border:1px solid #dbe4ee;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;padding:6px;display:grid}.authModeTabs button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 16px;font-weight:900}.authModeTabs .activeTab{color:#0f2f3a;background:#fff;box-shadow:0 8px 22px #0f172a1a}.authActions{justify-content:flex-start}.appShellHeader{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #94a3b847;border-radius:22px;flex-wrap:wrap;align-items:stretch;padding:18px;box-shadow:0 18px 48px #25436e1a}.brandCluster{align-items:center;gap:16px;min-width:0;display:flex}.brandMark{object-fit:cover;border-radius:16px;flex:0 0 58px;width:58px;height:58px;display:block;box-shadow:0 8px 18px #0f3b532e}.brandCluster h1{color:#102033;margin-bottom:4px;font-size:28px}.shellSubtitle{color:#64748b;margin:0;font-size:14px}.shellRight{align-items:center;gap:12px;margin-left:auto;display:flex}.shellContextGroup{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;align-items:stretch;min-height:58px;display:flex;overflow:hidden}.shellStatus,.userBox{background:#f8fafc;border-radius:16px;min-height:58px}.shellStatus{gap:4px;min-width:140px;padding:10px 14px;display:grid}.shellContextGroup .shellStatus{background:0 0;border:0;border-radius:0;min-height:100%}.shellStatus span,.userBox span{color:#64748b;font-size:12px;font-weight:800}.shellStatus strong,.userBox strong{color:#0f172a}.userBox{padding:8px 10px 8px 14px}.userBox div{gap:3px;display:grid}.moduleNav{background:#ffffffbd;border-radius:16px;gap:6px;margin:14px 0 10px;padding:6px}.moduleNav button{border-radius:11px;padding:10px 15px}.moduleNav .activeTab{background:#12384e;box-shadow:0 10px 24px #12384e38}.subNav{flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0 2px;display:flex}.subNav button{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-weight:800}.subNav .activeSubTab{color:#0f3d4a;background:#edf8f6;border-color:#b8d4d4}@media (width<=860px){.authShell{grid-template-columns:1fr;min-height:auto}.authIntro,.authCard{padding:28px}.authIntro h1{font-size:34px}.authSignalGrid{grid-template-columns:1fr}.appShellHeader,.brandCluster,.shellRight{flex-direction:column;align-items:flex-start}.shellRight,.shellContextGroup,.userBox{width:100%}.shellContextGroup .shellStatus{flex:1;min-width:0}}@media (width<=520px){.shellContextGroup{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.shellContextGroup .shellStatus{grid-column:1/-1;min-height:58px}.shellContextGroup>.pomodoroBadge,.shellContextGroup>.workTimerBadge{border-top:1px solid #e2e8f0;border-left-color:#e2e8f0;min-width:0}.shellContextGroup>.pomodoroBadge:nth-child(2),.shellContextGroup>.workTimerBadge:nth-child(2){border-left:0}.shellContextGroup>.pomodoroBadge:nth-child(2):last-child,.shellContextGroup>.workTimerBadge:nth-child(2):last-child{grid-column:1/-1}}.detailTopBar{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.detailTopBar>div{align-items:center;gap:10px;display:flex}.detailTopBar h2{display:none}.projectSummaryPanel{background:linear-gradient(135deg,#fffffff0,#f7fafce0),linear-gradient(135deg,#e8f1f0,#f8fafc);border:1px solid #94a3b847;border-radius:22px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 48px #25436e1c}.projectSummaryPanel>.metaGrid{display:none}.projectSummaryMain{grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:22px;display:grid}.projectSummaryPills{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.projectSummaryPills span{color:#0f3d4a;background:#e7f5f3;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.projectSummaryPills .danger,.projectMetricGrid .danger strong{color:#b91c1c}.projectSummaryPills .danger{background:#fee2e2}.projectSummaryCopy h2{color:#0f2033;margin:0 0 12px;font-size:34px;line-height:1.16}.projectOwnerLine{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.projectOwnerLine strong{color:#1e293b}.projectOwnerLine i{background:#cbd5e1;width:1px;height:14px}.projectSummaryNotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.projectSummaryNotes div{background:#ffffffc2;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.projectSummaryNotes span,.projectMetricGrid span,.projectProgressCard span,.projectTimelineBand span{color:#64748b;font-size:12px;font-weight:900}.projectSummaryNotes p{color:#1e293b;margin:5px 0 0;font-size:14px;line-height:1.6}.projectProgressCard{color:#fff;background:linear-gradient(#12384e,#0f2d35);border:1px solid #d7e4ea;border-radius:18px;flex-direction:column;justify-content:center;min-height:180px;padding:22px;display:flex}.projectProgressCard span,.projectProgressCard p{color:#b9d5dc}.projectProgressCard strong{margin:8px 0;font-size:46px;line-height:1}.projectProgressCard p{margin:10px 0 0;font-size:13px;font-weight:800}.projectProgressTrack,.projectTimelineTrack{background:#cbd5e18c;border-radius:999px;height:10px;overflow:hidden}.projectProgressTrack i,.projectTimelineTrack i{border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#facc15);height:100%;display:block}.projectMetricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.projectMetricGrid div{background:#fffc;border:1px solid #e2e8f0;border-radius:16px;min-height:108px;padding:16px}.projectMetricGrid strong{color:#0f172a;word-break:break-word;margin-top:10px;font-size:25px;line-height:1.1;display:block}.projectMetricGrid small{color:#94a3b8;margin-top:5px;font-weight:800;display:block}.projectTimelineBand{background:#f6fbfa;border:1px solid #dbe7e7;border-radius:14px;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;display:grid}.projectTimelineBand div:first-child{gap:2px;display:grid}.projectTimelineBand strong{color:#0f3d4a}.projectTimelineBand p{color:#64748b;margin:0;font-size:13px;font-weight:900}@media (width<=900px){.projectSummaryMain,.projectMetricGrid,.projectSummaryNotes,.projectTimelineBand{grid-template-columns:1fr}.detailTopBar{flex-direction:column}}.todoQueryBar{background:#f8fafc;border:1px solid #dbe5f2;border-radius:8px;grid-template-columns:minmax(220px,1.8fr) repeat(6,minmax(112px,1fr));gap:8px;margin:0 0 14px;padding:10px;display:grid}.todoQueryBar label{color:#64748b;gap:4px;min-width:0;font-size:11px;font-weight:800;display:grid}.todoQueryBar input,.todoQueryBar select{border-radius:6px;min-width:0;height:36px;padding:7px 9px;font-size:12px}.todoStatusBadge{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #dbe5f2;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.todoStatusBadge small{color:inherit;opacity:.78;border-left:1px solid;padding-left:5px;font-size:10px}.todoStatusIcon{flex:none;width:10px;height:10px;display:inline-block;position:relative}.todoStatusBadge.incomplete .todoStatusIcon{border:2px solid #94a3b8;border-radius:50%}.todoStatusBadge.in-progress{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.todoStatusBadge.in-progress .todoStatusIcon{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid;width:0;height:0}.todoStatusBadge.completed{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.todoStatusBadge.completed .todoStatusIcon{background:currentColor;border-radius:50%}.todoStatusBadge.completed .todoStatusIcon:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:3px;height:5px;position:absolute;top:1px;left:3px;transform:rotate(45deg)}.todoStatusBadge.running{color:#047857;background:#ecfdf5;border-color:#86efac;padding-right:0;overflow:hidden;box-shadow:0 2px 8px #0596691f}.todoStatusBadge.running .todoStatusIcon{transform-origin:50% 100%;border:0;width:13px;height:14px;animation:2.4s ease-in-out infinite todoSproutGrow}.todoStatusBadge.running .todoStatusIcon:before{content:"";background:#059669;border-radius:2px;width:2px;height:9px;position:absolute;bottom:1px;left:5px}.todoStatusBadge.running .todoStatusIcon:after{content:"";background:#10b981;border-radius:6px 1px;width:6px;height:4px;position:absolute;top:3px;left:1px;transform:rotate(22deg);box-shadow:5px -2px #34d399}.todoStatusBadge.paused{color:#92400e;background:#fffbeb;border-color:#fcd34d;padding-right:0;overflow:hidden}.todoStatsRow{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.todoStatsRow select{border:1px solid #e2e8f0;border-radius:8px;padding:4px 8px;font-size:12px}.todoCardList{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:10px;display:grid}@media (width<=720px){.todoCardList{grid-template-columns:1fr}}.todoCard{isolation:isolate;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;position:relative;overflow:hidden}.todoCard>*{z-index:1;position:relative}@keyframes todoGrowthRise{0%{opacity:0;transform:translateY(0)}18%{opacity:1}72%{opacity:.68}to{opacity:0;transform:translateY(-72px)}}@keyframes todoSproutGrow{0%,to{transform:translateY(0)scale(.95)rotate(-1deg)}50%{transform:translateY(-1px)scale(1.04)rotate(1deg)}}@keyframes todoGrowthBar{0%,to{opacity:.58;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1)}}.todoTableRow.todo-active-running>td,.todoCard.todo-active-running{background:#f3fbf6;position:relative}.todoTableRow.todo-active-running>td>*{z-index:1;position:relative}.todoTableRow.todo-active-running>td:first-child,.todoCard.todo-active-running{overflow:hidden;box-shadow:inset 4px 0 #10b981}.todoTableRow.todo-active-running>td:first-child:before,.todoCard.todo-active-running:before{content:"";z-index:2;pointer-events:none;background:#6ee7b7;border-radius:0 3px 3px 0;width:4px;height:18px;animation:2.4s cubic-bezier(.45,0,.25,1) infinite todoGrowthRise;position:absolute;bottom:-18px;left:0;box-shadow:0 0 8px #10b9818c}.todoTimerActivity{min-height:22px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0 999px 999px 0;align-self:stretch;align-items:center;gap:4px;margin:-3px 0 -3px 2px;padding:4px 8px 4px 7px;font-size:10px;font-weight:800;display:inline-flex}.todoStatusBadge.running .todoTimerActivity{color:#fff;opacity:1;background:#059669}.todoStatusBadge.paused .todoTimerActivity{color:#fff;background:#d97706}.todoTimerActivity:hover{filter:brightness(1.06)}.todoTimerActivity:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #ffffffd9}.todoGrowthMeter{flex:none;align-items:flex-end;gap:1px;width:10px;height:8px;display:inline-flex}.todoGrowthMeter i{transform-origin:50% 100%;background:currentColor;border-radius:2px 2px 0 0;width:2px;animation:1.2s ease-in-out infinite todoGrowthBar;display:block}.todoGrowthMeter i:first-child{height:4px;animation-delay:-.4s}.todoGrowthMeter i:nth-child(2){height:6px;animation-delay:-.2s}.todoGrowthMeter i:nth-child(3){height:7px}.todoTableRow.todo-active-paused>td,.todoCard.todo-active-paused{background:#fffbeb}.todoTableRow.todo-active-paused>td:first-child,.todoCard.todo-active-paused{box-shadow:inset 4px 0 #d97706}.todoTableRow.todo-in-progress>td,.todoCard.todo-in-progress{background:#f8fbff}.todoTableRow.todo-in-progress>td:first-child,.todoCard.todo-in-progress{box-shadow:inset 4px 0 #3b82f6}.todoPagination{color:#64748b;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.todoPaginationActions{align-items:center;gap:6px;display:flex}.todoPaginationActions .smallButton{border-radius:6px;place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.todoPaginationActions .smallButton.active{color:#fff;background:#2563eb;border-color:#2563eb}.todoPaginationActions select{border-radius:6px;width:auto;height:32px;padding:4px 28px 4px 8px;font-size:12px}@media (width<=1280px){.todoQueryBar{grid-template-columns:repeat(4,minmax(130px,1fr))}.todoQuerySearch{grid-column:span 2}}@media (width<=720px){.todoQueryBar{grid-template-columns:repeat(2,minmax(0,1fr))}.todoQuerySearch{grid-column:1/-1}.todoPagination{flex-direction:column;align-items:flex-start}.todoCompletedBulkActions .smallButton span{display:none}.todoCompletedBulkActions .smallButton{justify-content:center;width:34px;height:34px;padding:0}.todoCompletedCardSummary{flex-wrap:wrap}.todoCompletedSummaryMeta{flex-basis:calc(100% - 40px);order:5;margin-left:40px}}@media (prefers-reduced-motion:reduce){.timerCard.timerCardFocus,.todoTableRow.todo-active-running>td:first-child:before,.todoCard.todo-active-running:before,.todoStatusBadge.running .todoStatusIcon,.todoGrowthMeter i,.todoCompletionDetails{animation:none}}.todoCompletionTimerError{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #d97706;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.todoCompletionTimerError .ghostButton{color:#92400e;background:#fff;border-radius:6px;flex:none;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.todoCard.done{opacity:1}.todoCardHead{align-items:flex-start;gap:8px;display:flex}.todoCardTask{word-break:break-word;white-space:pre-wrap;flex:1;font-size:14px;font-weight:700;line-height:1.4}.todoCard.done .todoCardTask{color:#4f6fae;text-decoration:none}.todoCardMeta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.todoThumbRow{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.todoDoneBlock{color:#166534;background:#f0fdf4;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:13px}.todoCompletedBulkActions{align-items:center;gap:6px;display:flex}.todoCompletedBulkActions .smallButton{border-radius:6px;align-items:center;gap:5px;min-height:34px;display:inline-flex}.todoCompletedBulkActions .smallButton:disabled{opacity:.45;cursor:not-allowed}.todoCompletedDisclosure{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;padding:0;transition:border-color .16s,color .16s,background .16s;display:inline-grid}.todoCompletedDisclosure:hover{color:#047857;background:#f0fdf4;border-color:#86efac}.todoCompletedDisclosure:focus-visible{outline-offset:2px;outline:2px solid #34d399}.todoCompletedTaskLine{align-items:center;gap:8px;min-width:0;display:flex}.todoCompletedTaskLine .todoTitleButton{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:120px;overflow:hidden}.todoCompletedDate,.todoCompletedAttachmentCount{color:#64748b;white-space:nowrap;flex:none;font-size:12px;font-weight:700}.todoTableRow.todo-completed-row>td{background:#fbfdfc}.todoCompletionTimeCell{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.todo-completed-row .todoCompletionTimeCell{color:#047857;font-weight:700}.todoCompletionTableRow>td{background:#fbfdfc;border-top:0;padding:0 12px 12px}.todoCompletionDetails{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;min-width:0;padding:12px 14px;animation:.16s ease-out todoCompletionReveal}.todoCompletionDetailsHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.todoCompletionDetailsHeader strong{color:#047857;font-size:13px}.todoCompletionDetailsHeader span{color:#4b7a63;font-size:12px;font-weight:700}.todoCompletionDetails p{color:#166534;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}.todoCompletionDetails .todoCompletionEmpty{color:#7a9b88}.todoCard.todoCompletedCard{background:#fbfdfc;border-color:#d9e8df;grid-column:1/-1;min-height:54px;padding:10px 12px}.todoCompletedCardSummary{align-items:center;min-height:32px}.todoCompletedCardSummary .todoCardTask{text-overflow:ellipsis;white-space:nowrap;min-width:180px;overflow:hidden}.todoCompletedSummaryMeta{color:#64748b;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.todoCompletedCard.expanded .todoCompletionDetails{margin-top:10px}@keyframes todoCompletionReveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.todoCompletionDetails{animation:none}}.todoAddForm{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:14px;margin-bottom:16px;padding:18px 20px;display:flex}.todoAddForm label{color:#475569;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.todoAddForm input,.todoAddForm select,.todoAddForm textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}.todoFieldRow{grid-template-columns:1fr 1fr;gap:14px;display:grid}.todoAddForm.wideForm{grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr);align-items:start;gap:24px;display:grid}.todoFormMain,.todoFormMeta{flex-direction:column;gap:14px;min-width:0;display:flex}.todoFormActions{grid-column:1/-1;margin-top:4px}@media (width<=860px){.todoAddForm.wideForm{grid-template-columns:1fr}}.todoSectionLabel{color:#475569;margin:0 0 4px;font-size:12px;font-weight:700}.richInputBox{background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .15s,box-shadow .15s}.richInputBox.disabled{background:#f8fafc}.richInputBox:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.todoAddForm .richInputBox textarea.richInputTextarea,.richInputBox .richInputTextarea{resize:vertical;background:0 0;border:0;border-radius:8px 8px 0 0;outline:none;width:100%;min-height:76px;padding:10px 12px;font-family:inherit;font-size:14px;display:block}.richAttachmentPasteTarget{color:#64748b;text-align:center;cursor:text;border-bottom:1px dashed #dbe3ee;outline:none;align-content:center;place-items:center;gap:5px;min-height:112px;padding:20px;transition:background-color .15s,box-shadow .15s;display:grid}.richAttachmentPasteTarget strong{color:#166534;font-size:14px}.richAttachmentPasteTarget span{font-size:12px}.richAttachmentPasteTarget:focus{background:#f0fdf4;box-shadow:inset 0 0 0 2px #16a34a2e}.richInputBox.disabled .richAttachmentPasteTarget{cursor:default}.attachmentPendingList{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 12px 0;display:flex}.attachmentFileChip{background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:7px 8px;display:flex}.attachmentFileIcon{flex:none;font-size:16px}.attachmentFileMeta{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.attachmentFileMeta strong{overflow-wrap:anywhere;color:#1e293b;font-size:12px}.attachmentFileMeta small{color:#64748b;font-size:11px}.attachmentRemoveButton{color:#dc2626;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;width:24px;height:24px;padding:0;font-size:18px;line-height:1}.attachmentRemoveButton:hover{background:#fee2e2}.attachmentRemoveButton:disabled,.todoThumbRemove:disabled{cursor:not-allowed;opacity:.5}.attachmentValidationErrors{color:#b91c1c;flex-direction:column;gap:2px;padding:8px 12px 0;font-size:12px;display:flex}.richInputFooter{color:#94a3b8;border-top:1px dashed #eef2f7;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding:8px 12px;font-size:12px;font-weight:400;display:flex}.richInputAttachButton{align-items:center;gap:5px;display:inline-flex}.todoThumbWrap{position:relative}.todoThumbRemove{color:#fff;cursor:pointer;background:#ef4444;border:0;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:1;position:absolute;top:-10px;right:-10px}@media (width<=760px){.attachmentFileChip{width:100%}.richInputFooter{align-items:flex-start}.timerAttachmentUploadModal{max-height:calc(100vh - 24px)}.timerAttachmentUploadActions{flex-wrap:wrap}.timerAttachmentUploadActions button{flex:auto}}.pomodoroBody{flex-direction:column;align-items:center;padding:14px 0 6px;display:flex}.pomodoroPhaseBadge{border-radius:999px;margin-bottom:16px;padding:6px 18px;font-size:14px;font-weight:800}.pomodoroPhaseBadge.phase-work{color:#b91c1c;background:#fee2e2}.pomodoroPhaseBadge.phase-short{color:#16a34a;background:#dcfce7}.pomodoroPhaseBadge.phase-long{color:#0369a1;background:#e0f2fe}.pomodoroClockWrap{justify-content:center;align-items:center;width:220px;height:220px;margin-bottom:16px;display:flex;position:relative}.pomodoroRing{width:100%;height:100%;transform:rotate(-90deg)}.pomodoroRingTrack{fill:none;stroke:#e2e8f0;stroke-width:8px}.pomodoroRingProgress{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.pomodoroRingProgress.phase-work{stroke:#ef4444}.pomodoroRingProgress.phase-short{stroke:#22c55e}.pomodoroRingProgress.phase-long{stroke:#0ea5e9}.pomodoroClock{font-variant-numeric:tabular-nums;color:#1e293b;font-size:42px;font-weight:800;position:absolute}.pomodoroCycleDots{gap:6px;margin-bottom:16px;font-size:20px;display:flex}.pomodoroCycleDots .pomodoroDot{opacity:.25;filter:grayscale()}.pomodoroCycleDots .pomodoroDot.filled{opacity:1;filter:none}.pomodoroSettings{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:14px}.pomodoroSettings summary{cursor:pointer;color:#475569;font-size:13px;font-weight:700}.pomodoroBadge{min-width:116px;min-height:58px;color:inherit;text-align:left;cursor:pointer;background:#fff7f7;border:0;border-left:1px solid #fecaca;border-radius:0;flex-shrink:0;align-content:center;gap:3px;padding:8px 14px;display:grid}.pomodoroBadge:hover{background:#ffecec}.pomodoroBadge:focus-visible{z-index:1;outline-offset:-3px;outline:2px solid #ef4444;position:relative}.pomodoroBadgeLabel{color:#9f1239;font-size:11px;font-weight:800}.pomodoroBadgeTime{color:#b91c1c;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:17px;line-height:1.2;display:flex}.workTimerBadge{min-width:126px;min-height:58px;color:inherit;text-align:left;cursor:pointer;background:#f0f9ff;border:0;border-left:1px solid #bae6fd;border-radius:0;flex-shrink:0;align-content:center;gap:3px;padding:8px 14px;display:grid}.workTimerBadge:hover{background:#e0f2fe}.workTimerBadge:focus-visible{z-index:1;outline-offset:-3px;outline:2px solid #0284c7;position:relative}.workTimerBadge.paused{background:#f8fafc;border-left-color:#cbd5e1}.workTimerBadgeLabel{color:#0369a1;font-size:11px;font-weight:800}.workTimerBadge.paused .workTimerBadgeLabel{color:#64748b}.workTimerBadgeTime{color:#075985;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:17px;line-height:1.2;display:flex}.workTimerBadge.paused .workTimerBadgeTime{color:#475569}.timerTodoBadge{color:#047857;text-overflow:ellipsis;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;align-items:center;max-width:min(320px,48vw);min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex;overflow:hidden}.todoTitleButton{color:#1d4ed8;max-width:100%;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.todoTitleButton:hover{color:#1e40af;text-decoration:underline}.todoTitleButton:focus-visible{outline-offset:3px;outline:2px solid #60a5fa}.todoLegacyDuration{color:#64748b;background:#f8fafc;border-left:3px solid #94a3b8;padding:9px 10px;font-size:12px}.todoDetailBackdrop{z-index:250;background:#0f172a75;justify-content:flex-end;display:flex;position:fixed;inset:0}.todoDetailDrawer{color:#172033;background:#fff;width:min(760px,94vw);height:100%;overflow:auto;box-shadow:-18px 0 50px #0f172a33}.todoDetailHeader{z-index:4;background:#fffffffa;border-bottom:1px solid #dbe4ef;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 24px 16px;display:flex;position:sticky;top:0}.todoDetailHeader h2{overflow-wrap:anywhere;max-width:620px;margin:0;font-size:22px;line-height:1.35}.todoDetailBody{padding:0 24px 32px}.todoDetailState,.todoDetailEmpty{color:#64748b;text-align:center;margin:0;padding:28px 24px}.todoDetailError{color:#991b1b;background:#fef2f2;border-left:4px solid #dc2626;justify-content:space-between;align-items:center;gap:12px;margin:16px 24px 0;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.todoDetailMeta{color:#475569;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:8px 16px;padding:14px 0;font-size:12px;font-weight:700;display:flex}.todoDetailActions{flex-wrap:wrap;gap:8px;padding:14px 0;display:flex}.todoDetailActions .primaryButton,.todoDetailActions .ghostButton,.todoInlineActions .primaryButton,.todoInlineActions .ghostButton,.todoAiApplyBar .primaryButton{border-radius:6px;padding:8px 12px;font-size:12px}.todoTimeStrip{background:#f8fafc;border-top:1px solid #dbe4ef;border-bottom:1px solid #dbe4ef;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.todoTimeStrip>div{border-right:1px solid #dbe4ef;gap:5px;min-width:0;padding:12px;display:grid}.todoTimeStrip>div:last-child{border-right:0}.todoTimeStrip span{color:#64748b;font-size:11px;font-weight:700}.todoTimeStrip strong{color:#1e293b;overflow-wrap:anywhere;font-size:14px}.todoTimeStrip .total{background:#ecfdf5}.todoTimeStrip .total strong{color:#047857}.todoDetailSection{border-top:1px solid #e2e8f0;padding:18px 0}.todoDetailSection>h3,.todoDetailSectionHeader h3,.todoInlineDialog h3{margin:0;font-size:15px;line-height:1.35}.todoDetailSectionHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.todoDetailSectionHeader>span{color:#64748b;font-size:12px}.todoActiveTimer{background:#f0fdf4;border-top:0;border-left:4px solid #10b981;padding:14px 16px}.todoActiveTimer .running,.todoActiveTimer .paused{border-radius:4px;padding:3px 7px;font-size:11px;font-weight:800}.todoActiveTimer .running{color:#047857;background:#d1fae5}.todoActiveTimer .paused{color:#92400e;background:#fef3c7}.todoActiveTimer>strong{overflow-wrap:anywhere;font-size:14px;display:block}.todoActiveTimer>p{color:#475569;margin:6px 0 0;font-size:12px}.todoInlineDialog{background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;gap:12px;margin:12px 0 18px;padding:16px;display:grid}.todoInlineDialog label,.todoAiApplyBar label{color:#475569;gap:5px;font-size:12px;font-weight:800;display:grid}.todoInlineDialog input,.todoInlineDialog textarea,.todoAiApplyBar select,.todoAiDraftItem textarea{border-radius:6px;font-size:13px}.todoInlineActions{justify-content:flex-end;gap:8px;display:flex}.todoAdjustmentDuration{grid-template-columns:1fr 1fr;gap:12px;display:grid}.todoAdjustmentList{gap:0;display:grid}.todoAdjustmentList article{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.todoAdjustmentList article:last-child{border-bottom:0}.todoAdjustmentList article.voided{opacity:.6}.todoAdjustmentList article>div:first-child{gap:3px;min-width:0;display:grid}.todoAdjustmentList strong,.todoAdjustmentList span,.todoAdjustmentList small{overflow-wrap:anywhere}.todoAdjustmentList span{color:#334155;font-size:13px}.todoAdjustmentList small{color:#64748b;font-size:11px}.todoActivityTimeline{gap:8px;display:grid}.todoActivityTimeline details{background:#fff;border:1px solid #dbe4ef;border-radius:8px;scroll-margin-top:90px;transition:border-color .2s,box-shadow .2s}.todoActivityTimeline details.highlighted{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.todoActivityTimeline summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;list-style:none;display:grid}.todoActivityTimeline summary::-webkit-details-marker{display:none}.todoActivityType{color:#0369a1;text-align:center;background:#e0f2fe;border-radius:4px;min-width:62px;padding:3px 6px;font-size:10px;font-weight:900}.todoActivityType.adjustment{color:#92400e;background:#fef3c7}.todoActivityType.aisummary{color:#6d28d9;background:#ede9fe}.todoActivityType.completion{color:#047857;background:#d1fae5}.todoActivitySummary{gap:2px;min-width:0;display:grid}.todoActivitySummary strong{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.todoActivitySummary small,.todoActivityTimeline summary>b{color:#64748b;font-size:11px}.todoActivityBody{color:#334155;padding:0 12px 12px 84px;font-size:13px}.todoActivityBody>p{overflow-wrap:anywhere;margin:0 0 8px}.todoActivityFacts{gap:7px;display:grid}.todoActivityFacts p{overflow-wrap:anywhere;grid-template-columns:92px minmax(0,1fr);gap:8px;margin:0;display:grid}.todoActivityFacts strong{color:#64748b;font-size:11px}.todoDetailMuted{color:#94a3b8;margin:0;font-size:12px}.todoAiSection{padding-bottom:0}.todoAiRevisionBar{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:9px 0;display:flex}.todoAiRevisionPicker{color:#475569;align-items:center;gap:9px;min-width:0;font-size:11px;font-weight:800;display:flex}.todoAiRevisionPicker>span{flex:none}.todoAiRevisionPicker select{border-radius:6px;width:min(360px,48vw);min-width:220px;padding:7px 30px 7px 10px;font-size:12px}.todoAiRevisionStatus{color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.todoAiRevisionStatus.applied{color:#047857;background:#d1fae5}.todoAiRevisionStatus.archived{color:#475569;background:#e2e8f0}.todoAiWarning{color:#92400e;background:#fffbeb;border-left:3px solid #d97706;margin:0 0 8px;padding:8px 10px;font-size:12px}.todoAiDraft{gap:0;display:grid}.todoAiAccordion{border-top:1px solid #dbe4ef}.todoAiFold{border-bottom:1px solid #dbe4ef}.todoAiFoldButton{color:#334155;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 6px;transition:background .16s,color .16s;display:flex}.todoAiFoldButton:hover:not(:disabled),.todoAiFoldButton:focus-visible{color:#1d4ed8;background:#f8fafc}.todoAiFoldButton:focus-visible{outline-offset:-2px;outline:2px solid #93c5fd}.todoAiFoldButton:disabled{color:#64748b;cursor:default}.todoAiFoldButton>span:first-child{align-items:baseline;gap:8px;min-width:0;display:flex}.todoAiFoldButton strong{font-size:13px}.todoAiFoldButton small{color:#64748b;font-size:10px;font-weight:700}.todoAiFoldChevron{color:#2563eb;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.todoAiFoldBody{background:#f8fafc;border-left:2px solid #93c5fd;padding:0 6px 2px 16px}.todoAiDraftItem{border-bottom:1px solid #e2e8f0;gap:6px;padding:10px 8px 10px 0;display:grid}.todoAiDraftItem:last-child{border-bottom:0}.todoAiDraftItem textarea{field-sizing:content;resize:vertical;background:#fff;border-radius:6px;min-height:38px;max-height:180px;padding:8px 10px;line-height:1.5}.todoAiDraftItem textarea:disabled{color:#64748b;background:#f1f5f9}.todoAiReadOnlyText{color:#1e293b;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.todoAiSources{flex-wrap:wrap;align-items:center;gap:6px;min-height:20px;display:flex}.todoAiSourceButton,.todoAiSourceGroup summary{color:#2563eb;cursor:pointer;background:0 0;border:0;border-radius:0;width:fit-content;padding:2px 0;font-size:10px;font-weight:800;line-height:1.4}.todoAiSourceButton:hover,.todoAiSourceGroup summary:hover{color:#1d4ed8;text-decoration:underline}.todoAiSourceUnavailable{color:#94a3b8;font-size:10px}.todoAiSourceGroup{width:100%}.todoAiSourceGroup summary{list-style:none}.todoAiSourceGroup summary::-webkit-details-marker{display:none}.todoAiSourceMenu{border-top:1px solid #dbe4ef;margin-top:5px;display:grid}.todoAiSourceMenu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;gap:2px;padding:8px 6px;display:grid}.todoAiSourceMenu button:last-child{border-bottom:0}.todoAiSourceMenu button:hover,.todoAiSourceMenu button:focus-visible{background:#eff6ff}.todoAiSourceMenu strong{color:#1d4ed8;font-size:10px}.todoAiSourceMenu span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.todoAiApplyBar{z-index:3;background:#fff;border-top:1px solid #dbe4ef;grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:12px;margin-top:12px;padding:12px 0 14px;display:grid;position:sticky;bottom:0;box-shadow:0 -8px 16px #ffffffeb}.todoAiCompleteOption{white-space:nowrap;align-items:center;min-height:38px;gap:7px!important;display:flex!important}.todoAiCompleteOption input{width:16px;height:16px}.timerCompleteBackdrop{z-index:270}.timerCompleteModal{border-radius:8px;width:min(560px,100%)}.timerCompleteForm{gap:12px;display:grid}.timerCompleteForm>label{color:#475569;gap:5px;font-size:12px;font-weight:800;display:grid}.timerCompleteForm textarea{border-radius:6px;font-size:13px}.timerCompleteContent{color:#0f172a;overflow-wrap:anywhere;background:#f0f9ff;border-left:4px solid #0ea5e9;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.timerCompleteTodoOption{cursor:pointer;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;padding:11px 12px;color:#065f46!important;gap:9px!important;display:flex!important}.timerCompleteTodoOption input{width:17px;height:17px;margin-top:2px}.timerCompleteTodoOption span{gap:2px;display:grid}.timerCompleteTodoOption small{color:#047857;font-weight:500}.timerCompleteActions{border-top:1px solid #dbe4ef;justify-content:flex-end;gap:10px;padding-top:14px;display:flex}.timerCompleteCancelButton,.timerCompleteSubmitButton{white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:auto;height:42px;padding:0 16px;font-size:13px;font-weight:800;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.timerCompleteCancelButton{color:#475569;background:#fff;border:1px solid #cbd5e1;min-width:88px}.timerCompleteSubmitButton{color:#fff;background:#15803d;border:1px solid #15803d;min-width:180px;box-shadow:0 6px 16px #15803d33}.timerCompleteCancelButton:hover:not(:disabled){color:#1e293b;background:#f8fafc;border-color:#94a3b8}.timerCompleteSubmitButton:hover:not(:disabled){background:#166534;border-color:#166534;transform:translateY(-1px);box-shadow:0 8px 20px #15803d42}.timerCompleteCancelButton:active:not(:disabled),.timerCompleteSubmitButton:active:not(:disabled){transform:translateY(0)}.timerCompleteCancelButton:focus-visible,.timerCompleteSubmitButton:focus-visible{outline-offset:2px;outline:3px solid #0ea5e940}.timerCompleteCancelButton:disabled,.timerCompleteSubmitButton:disabled{opacity:.58;cursor:not-allowed;transform:none}.timerCompleteActionSpinner{animation:.8s linear infinite timerCompleteSpin}@keyframes timerCompleteSpin{to{transform:rotate(360deg)}}@media (width<=760px){.timerCompleteActions{grid-template-columns:minmax(0,.72fr) minmax(0,1.45fr);display:grid}.timerCompleteCancelButton,.timerCompleteSubmitButton{width:100%;min-width:0;padding-inline:10px}.todoDetailDrawer{width:100%}.todoDetailHeader{padding:16px}.todoDetailHeader h2{font-size:19px}.todoDetailBody{padding:0 16px 24px}.todoTimeStrip{grid-template-columns:1fr 1fr}.todoTimeStrip>div:nth-child(2){border-right:0}.todoTimeStrip>div:nth-child(-n+2){border-bottom:1px solid #dbe4ef}.todoDetailActions .primaryButton,.todoDetailActions .ghostButton{flex:120px}.todoActivityTimeline summary{grid-template-columns:auto minmax(0,1fr)}.todoActivityTimeline summary>b{grid-column:2}.todoActivityBody{padding-left:12px}.todoActivityFacts p{grid-template-columns:1fr;gap:2px}.todoAdjustmentList article{display:grid}.todoAiRevisionBar{flex-direction:column;align-items:stretch}.todoAiRevisionPicker,.todoAiRevisionPicker select{width:100%}.todoAiRevisionPicker{flex-direction:column;align-items:stretch;gap:5px}.todoAiApplyBar{grid-template-columns:1fr;align-items:stretch}}.sopWorkspace,.sopEditorShell{border-top:3px solid #ef4423}.sopWorkspace{min-height:560px}.sopListHeader{align-items:flex-start}.sopListHeader h2,.sopEditorHeader h2,.sopSectionHeader h3,.sopWorkflowDialog h3{letter-spacing:0;margin:0}.sopListSummary{color:#64748b;margin:5px 0 0;font-size:12px}.sopListHeaderActions,.sopEditorActions,.sopTableActions,.sopRowIconActions,.sopWorkflowDialog footer{align-items:center;gap:8px;display:flex}.sopListHeaderActions .primaryButton,.sopEditorActions .primaryButton,.sopEditorActions .ghostButton,.sopSectionHeader .ghostButton,.sopSubmitButton,.sopApproveButton,.sopRejectButton,.sopWorkflowDialog .ghostButton{width:auto;min-height:38px;box-shadow:none;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:800;display:inline-flex}.sopListHeaderActions .primaryButton,.sopEditorActions .primaryButton{background:#2563eb;border:1px solid #1d4ed8}.sopEditorActions .ghostButton,.sopSectionHeader .ghostButton,.sopWorkflowDialog .ghostButton{color:#334155;background:#fff;border:1px solid #cbd5e1}.sopSubmitButton,.sopApproveButton,.sopRejectButton{cursor:pointer;border:1px solid #0000}.sopSubmitButton{color:#fff;background:#ef4423;border-color:#dc321b}.sopApproveButton{color:#fff;background:#15803d;border-color:#15803d}.sopRejectButton{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.sopSubmitButton:disabled,.sopApproveButton:disabled,.sopRejectButton:disabled,.sopEditorActions button:disabled,.sopSectionHeader button:disabled{opacity:.55;cursor:not-allowed}.iconButton.danger,.sopRowIconActions button.danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.sopListToolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:minmax(260px,1fr) 180px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.sopListFilters{grid-template-columns:minmax(260px,1fr) 180px;gap:10px;margin-bottom:14px;display:grid}.sopListFilters input,.sopListFilters select{border-radius:6px;font-size:13px}.sopMobileList{display:none}.sopListToolbar input,.sopListToolbar select,.sopInfoBand input,.sopInfoBand select,.sopStepFields input,.sopStepFields textarea,.sopHistoryTable input,.sopWorkflowDialog textarea{border-radius:6px;font-size:13px}.sopListTableWrap{border:1px solid #e2e8f0;border-radius:6px}.sopListTable{min-width:1120px}.sopListTable th{color:#475569;text-transform:none;background:#f8fafc;font-size:11px}.sopListTable td{vertical-align:middle;font-size:13px}.sopTitleButton{color:#1d4ed8;max-width:380px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;font-weight:800;display:grid}.sopTitleButton small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.sopStatusBadge{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.sopStatusBadge.PendingReview{color:#a16207;background:#fffbeb;border-color:#fde68a}.sopStatusBadge.PendingApproval{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.sopStatusBadge.Approved{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.sopEmptyState{color:#94a3b8;text-align:center;height:160px}.sopEditorShell{padding:0;overflow:hidden}.sopEditorHeader{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex;position:sticky;top:0}.sopEditorIdentity{align-items:center;gap:12px;min-width:0;display:flex}.sopEditorIdentity>div{grid-template-columns:auto auto;align-items:center;gap:3px 10px;min-width:0;display:grid}.sopEditorIdentity .eyebrow{grid-column:1/-1}.sopEditorIdentity h2{text-overflow:ellipsis;white-space:nowrap;max-width:min(520px,40vw);font-size:20px;overflow:hidden}.sopEditorLogo{object-fit:contain;background:#fff;border-radius:4px;flex:none;width:62px;height:48px}.sopEditorActions{flex-wrap:wrap;justify-content:flex-end}.sopInfoBand{background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px;display:grid}.sopInfoBand label,.sopStepFields label,.sopWorkflowDialog label{color:#475569;gap:6px;min-width:0;font-size:11px;font-weight:800;display:grid}.sopInfoBand input,.sopInfoBand select{min-height:38px;padding:8px 10px}.sopPpeField{grid-column:span 2}.sopTotalTime{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;justify-content:space-between;align-self:end;align-items:center;gap:8px;min-height:38px;padding:8px 11px;display:flex}.sopTotalTime span{font-size:11px;font-weight:700}.sopTotalTime strong{font-size:14px}.sopFormSection,.sopApprovalTrail{border-bottom:1px solid #e2e8f0;padding:20px}.sopSectionHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sopSectionHeader h3{color:#172033;font-size:17px}.sopStepsList{gap:10px;display:grid}.sopStepEditor{background:#fff;border:1px solid #dbe3ee;border-left:3px solid #ef4423;border-radius:6px;overflow:hidden}.sopStepHeader{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;min-height:40px;padding:6px 10px;display:flex}.sopStepHeader>strong{color:#b82f1b;font-size:13px}.sopStepHeader>span{color:#64748b;font-size:11px}.sopRowIconActions{margin-left:auto}.sopRowIconActions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;place-items:center;width:29px;height:29px;padding:0;display:inline-grid}.sopRowIconActions button:disabled{opacity:.35;cursor:not-allowed}.sopStepFields{grid-template-columns:minmax(220px,1.25fr) 120px minmax(200px,1fr) minmax(170px,.82fr) minmax(220px,1fr);align-items:start;gap:10px;padding:12px;display:grid}.sopStepFields input,.sopStepFields textarea{min-height:38px;padding:8px 10px}.sopStepFields textarea{min-height:88px}.sopStepImages{min-width:0}.sopFieldLabel{color:#475569;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.sopStepImages .richAttachmentPasteTarget{min-height:88px;padding:10px}.sopStepImages .richInputFooter{padding:7px 8px}.sopImageThumb{background:#f8fafc;border:1px solid #dbe3ee;border-radius:5px;width:92px;height:72px;position:relative;overflow:hidden}.sopImagePreviewButton{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.sopImagePreviewButton img{object-fit:cover;width:100%;height:100%;display:block}.sopImagePlaceholder{color:#94a3b8;place-items:center;width:100%;height:100%;display:grid}.sopImageRemoveButton{color:#b91c1c;cursor:pointer;background:#fffffff2;border:1px solid #fecaca;border-radius:4px;place-items:center;width:23px;height:23px;padding:0;display:grid;position:absolute;top:3px;right:3px}.sopHistoryTableWrap{border:1px solid #e2e8f0;border-radius:6px}.sopHistoryTable{min-width:1050px}.sopHistoryTable th{color:#475569;background:#f8fafc;font-size:11px}.sopHistoryTable td{padding:6px}.sopHistoryTable input{min-height:34px;padding:6px 8px}.sopApprovalTrail ol{gap:10px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.sopApprovalTrail li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:auto minmax(0,1fr);gap:8px;min-width:220px;padding:10px;display:grid}.sopApprovalDot{background:#ef4423;border-radius:50%;width:9px;height:9px;margin-top:4px;box-shadow:0 0 0 4px #fee2e2}.sopApprovalTrail li div{gap:3px;display:grid}.sopApprovalTrail li strong{color:#172033;font-size:12px}.sopApprovalTrail li span,.sopApprovalTrail li p{color:#64748b;margin:0;font-size:11px}.sopToast{z-index:90;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;max-width:min(560px,100vw - 32px);padding:9px 13px;font-size:12px;font-weight:700;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0f172a29}.sopWorkflowOverlay{z-index:250}.sopWorkflowDialog{background:#fff;border:1px solid #dbe3ee;border-radius:8px;width:min(520px,100%);padding:20px;box-shadow:0 24px 70px #0f172a3d}.sopWorkflowDialog header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sopWorkflowDialog label{font-size:12px}.sopWorkflowDialog footer{border-top:1px solid #e2e8f0;justify-content:flex-end;margin-top:16px;padding-top:14px}@media (width<=1320px){.sopStepFields{grid-template-columns:minmax(240px,1.25fr) 120px minmax(220px,1fr)}.sopStepFields>label:nth-child(4),.sopStepImages{grid-column:span 2}}@media (width<=980px){.sopEditorHeader{flex-direction:column;align-items:flex-start;position:static}.sopEditorActions{justify-content:flex-start;width:100%}.sopInfoBand{grid-template-columns:repeat(2,minmax(0,1fr))}.sopStepFields{grid-template-columns:minmax(0,1fr) 120px}.sopStepFields>label:nth-child(3),.sopStepFields>label:nth-child(4),.sopStepImages{grid-column:1/-1}}@media (width<=680px){.sopWorkspace,.sopFormSection,.sopApprovalTrail{padding:14px}.sopListHeader,.sopSectionHeader{flex-direction:column;align-items:stretch}.sopListHeaderActions,.sopEditorActions{align-items:stretch}.sopListToolbar,.sopInfoBand,.sopStepFields{grid-template-columns:1fr}.sopPpeField,.sopStepFields>label:nth-child(3),.sopStepFields>label:nth-child(4),.sopStepImages{grid-column:auto}.sopEditorIdentity{flex-wrap:wrap;align-items:flex-start}.sopEditorIdentity>div{grid-template-columns:1fr}.sopEditorIdentity h2{white-space:normal;max-width:calc(100vw - 120px)}.sopEditorActions>button:not(.iconButton){flex:140px}}.sopPrintPortal{z-index:500;position:fixed;inset:0}.sopPrintBackdrop{background:#0f172ad1;width:100%;height:100%;padding:18px;overflow:auto}.sopPrintWorkspace{gap:12px;width:fit-content;min-width:min(210mm,100vw - 36px);margin:0 auto;display:grid}.sopPrintToolbar{z-index:2;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;width:210mm;max-width:calc(100vw - 36px);padding:10px 12px;display:flex;position:sticky;top:0;box-shadow:0 12px 30px #0f172a2e}.sopPrintToolbar>div{align-items:center;gap:9px;display:flex}.sopPrintToolbar strong{color:#172033;font-size:13px}.sopPrintOverflowWarning{color:#b45309;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.sopPrintMediaStatus,.sopPrintMediaError{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.sopPrintMediaStatus{color:#0f766e}.sopPrintMediaStatus svg,.sopPrintSpinner{animation:.8s linear infinite sopPrintSpin}.sopPrintMediaError{color:#b42318}@keyframes sopPrintSpin{to{transform:rotate(360deg)}}.sopPrintToolbar .ghostButton,.sopPrintRetryButton,.sopPrintButton{width:auto;min-height:36px;box-shadow:none;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.sopPrintToolbar .ghostButton{color:#475569;background:#fff;border:1px solid #cbd5e1}.sopPrintRetryButton{color:#b42318;background:#fff6f4;border:1px solid #f0b5ad}.sopPrintButton{color:#fff;background:#ef4423;border:1px solid #dc321b}.sopPrintButton:disabled{color:#64748b;cursor:wait;background:#e2e8f0;border-color:#cbd5e1}.sopPrintSheet{box-sizing:border-box;color:#111827;background:#fff;width:210mm;height:297mm;padding:7mm 7mm 12mm;font-family:Microsoft YaHei,Arial,sans-serif;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000059}.sopPrintSheet.overflowing{outline-offset:-3px;outline:3px solid #f59e0b}.sopPrintHeader{border:.35mm solid #111827;grid-template-columns:34mm minmax(0,1fr) 49mm;min-height:25mm;display:grid}.sopPrintBrand,.sopPrintTitle,.sopPrintDocumentMeta{min-width:0}.sopPrintBrand{border-right:.25mm solid #111827;place-items:center;padding:2mm;display:grid}.sopPrintBrand img{object-fit:contain;width:27mm;height:20mm;display:block}.sopPrintTitle{text-align:center;place-content:center;padding:2mm 3mm;display:grid}.sopPrintTitle h1{color:#111827;letter-spacing:0;margin:0;font-size:5mm;line-height:1.25}.sopPrintTitle p{color:#4b5563;letter-spacing:0;margin:1.2mm 0 0;font-size:2.7mm}.sopPrintDocumentMeta{border-left:.25mm solid #111827;margin:0;display:grid}.sopPrintDocumentMeta div{border-bottom:.2mm solid #6b7280;grid-template-columns:1fr;align-content:center;padding:1mm 2mm;display:grid}.sopPrintDocumentMeta div:last-child{border-bottom:0}.sopPrintDocumentMeta dt{color:#6b7280;font-size:2.2mm}.sopPrintDocumentMeta dd{margin:.4mm 0 0;font-size:2.8mm;font-weight:800}.sopPrintBasicInfo{border:.35mm solid #111827;border-top:0;grid-template-columns:1.1fr 1.2fr .7fr 1.2fr .9fr;min-height:13mm;display:grid}.sopPrintBasicInfo div{border-right:.2mm solid #6b7280;align-content:center;gap:.6mm;padding:1.3mm 2mm;display:grid}.sopPrintBasicInfo div:last-child{border-right:0}.sopPrintBasicInfo span{color:#6b7280;font-size:2.1mm}.sopPrintBasicInfo strong{overflow-wrap:anywhere;font-size:2.6mm}.sopPrintOperations,.sopPrintHistory{margin-top:2.2mm}.sopPrintOperations h2,.sopPrintHistory h2{color:#111827;letter-spacing:0;background:#f3f4f6;border-left:1.2mm solid #ef4423;margin:0;padding:1mm 2mm;font-size:2.8mm}.sopPrintSheet table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;max-width:100%}.sopPrintSheet th,.sopPrintSheet td{overflow-wrap:anywhere;vertical-align:middle;border:.22mm solid #4b5563;padding:1mm;font-size:2.2mm;line-height:1.35}.sopPrintSheet th{text-align:center;background:#e5e7eb;height:8mm;font-weight:800}.sopPrintOperations tbody tr{height:24mm}.sopPrintOperations td:first-child,.sopPrintOperations td:nth-child(4){text-align:center}.sopPrintOperations col.order{width:6%}.sopPrintOperations col.description{width:23%}.sopPrintOperations col.pictures{width:22%}.sopPrintOperations col.time{width:7%}.sopPrintOperations col.points{width:25%}.sopPrintOperations col.reasons{width:17%}.sopPrintImages{grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm;display:grid}.sopPrintImages img{object-fit:contain;width:100%;height:20mm;display:block}.sopPrintImages span{color:#6b7280;font-size:1.9mm}.sopPrintHistory th,.sopPrintHistory td{height:6mm;padding:.8mm 1mm}.sopPrintHistory th:first-child,.sopPrintHistory th:nth-child(2),.sopPrintHistory th:nth-child(n+4){width:12%}.sopPrintApproval{border:.35mm solid #111827;grid-template-columns:repeat(3,minmax(0,1fr));min-height:13mm;margin-top:2.2mm;display:grid}.sopPrintApproval div{border-right:.2mm solid #6b7280;align-content:center;gap:.5mm;padding:1.2mm 2mm;display:grid}.sopPrintApproval div:last-child{border-right:0}.sopPrintApproval span,.sopPrintApproval small{color:#6b7280;font-size:2mm}.sopPrintApproval strong{font-size:2.7mm}.sopPrintFooter{color:#6b7280;border-top:.2mm solid #9ca3af;justify-content:space-between;padding-top:1mm;font-size:1.9mm;display:flex;position:absolute;bottom:4mm;left:7mm;right:7mm}@media (width<=850px){.sopPrintToolbar{flex-direction:column;align-items:stretch}.sopPrintToolbar>div{flex-wrap:wrap}}@media print{@page{size:A4 portrait;margin:0}body.sopPrintPreviewOpen>:not(.sopPrintPortal){display:none!important}body>.sopPrintPortal{display:block!important;position:static!important}.sopPrintBackdrop,.sopPrintWorkspace{background:#fff;width:210mm;min-width:0;height:297mm;margin:0;padding:0;display:block;position:static;overflow:hidden}.sopPrintToolbar{display:none!important}.sopPrintSheet,.sopPrintSheet.overflowing{width:210mm;height:297mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;outline:0;margin:0}}.sopControlledInfo input[readonly]{color:#385066;cursor:default;background:#f3f6f8}.sopNumberingMatch{color:#145c52;background:#effaf6;border-left:3px solid #0f766e;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.sopNumberingMatch>div{gap:2px;min-width:0;display:grid}.sopNumberingMatch span,.sopNumberingMatch small{font-size:11px}.sopNumberingMatch span{color:#537269;font-weight:700}.sopNumberingMatch strong{color:#174b42;font-size:14px}.sopNumberingMatch small{color:#637b75;line-height:1.45}.sopNumberingMatch code{color:#12664f;background:#fff;border:1px solid #b9dfd1;border-radius:5px;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700}.sopNumberingMatch.fallback{color:#9a6700;background:#fffaf0;border-left-color:#d69e2e}.sopNumberingMatch.error{color:#b42318;background:#fff5f5;border-left-color:#dc2626}.sopNumberingMatch.assigned{color:#1d4ed8;background:#f2f7ff;border-left-color:#2563eb}.sopSignatureWorkflow,.sopRevisionSummary{border-top:1px solid #dce5eb;padding:20px 24px}.sopSignatureStages{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sopSignatureStage{background:#f8fafb;border:1px solid #d8e2e8;border-left:4px solid #9aa9b5;border-radius:6px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:84px;padding:14px 16px;display:grid}.sopSignatureStage.active{background:#f0fbf7;border-left-color:#16856f}.sopSignatureStage.signed{background:#eefaf2;border-left-color:#1b9a55}.sopSignatureStage.rejected{background:#fff5f5;border-left-color:#d04c4c}.sopSignatureStage.expired,.sopSignatureStage.revoked{background:#fff9ec;border-left-color:#b37b20}.sopSignatureStageIcon{color:#36566b;background:#e7eff3;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.sopSignatureStageBody{gap:3px;min-width:0;display:grid}.sopSignatureStageBody span,.sopSignatureStageBody small{color:#6d7e8c;font-size:12px}.sopSignatureStageBody strong{color:#172b3a;font-size:15px}.sopSignatureStageBody p{color:#42596a;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;overflow:hidden}.sopSignatureCopyButton{color:#0f725f;white-space:nowrap;background:#fff;border-color:#9bcfc3}.sopSignatureCopyButton:hover:not(:disabled){color:#075e4d;background:#eaf8f3;border-color:#4fae98}.sopSignatureThumb{background:#fff;border:1px solid #cdd9df;border-radius:4px;width:72px;height:46px;padding:0;overflow:hidden}.sopSignatureThumb img{object-fit:contain;width:100%;height:100%}.sopWorkflowCycle{color:#3c6176;font-size:12px;font-weight:700}.sopRevisionSummary{background:#fbfcfd}.sopRevisionSummary.stale{background:#fffaf0}.sopRevisionSummary textarea{resize:vertical;width:100%;min-height:82px}.sopRevisionSummary>small{color:#71818e;margin-top:7px;display:block}.sopSummaryWarning{color:#9a6518;align-items:center;gap:7px;margin:0 0 10px;font-size:13px;display:flex}.sopRevisionHistoryReadOnly td{vertical-align:top}.sopLinkDialog{width:min(620px,100%)}.sopLinkValue{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.sopLinkValue input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sopLinkQr{justify-items:center;gap:6px;margin:18px 0 4px;display:grid}.sopLinkQr img{border:1px solid #d9e3e8;width:180px;height:180px}.sopLinkQr span{color:#6d7e8c;font-size:12px}.sopRulesPage{background:#fff;border-radius:8px;min-height:520px;padding:24px}.sopRulesHeader,.sopRulesHeader>div:last-child,.sopRuleActions{align-items:center;gap:8px;display:flex}.sopRulesHeader{justify-content:space-between;margin-bottom:18px}.sopRulesHeader h2,.sopRulesHeader p{margin:0}.sopRulesHeader>div:first-child>p:last-child{color:#71818e;margin-top:5px}.sopRuleGuide{color:#264f49;background:#f4faf8;border-left:3px solid #0f766e;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;margin-bottom:18px;padding:14px 16px;display:grid}.sopRuleGuideIntro{gap:2px;display:grid}.sopRuleGuideIntro span,.sopRuleGuide dd,.sopRuleGuide p,.sopRuleFieldHint{color:#61756f;font-size:11px;line-height:1.5}.sopRuleGuide dl{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 0;display:grid}.sopRuleGuide dl>div{border-right:1px solid #d8e7e1;min-width:0;padding-right:10px}.sopRuleGuide dl>div:last-child{border-right:0;padding-right:0}.sopRuleGuide dt{color:#244c45;margin-bottom:3px;font-size:11px;font-weight:800}.sopRuleGuide dd,.sopRuleGuide p{margin:0}.sopRuleGuide>p{border-top:1px solid #d8e7e1;grid-column:1/-1;padding-top:8px}.sopRuleGuide code,.sopRuleFieldHint code{color:#12664f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sopRuleFieldHint{font-weight:500}@media (width<=980px){.sopRuleGuide dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.sopNumberingMatch{grid-template-columns:auto minmax(0,1fr)}.sopNumberingMatch code{grid-column:2;justify-self:start}.sopRuleGuide dl{grid-template-columns:1fr}.sopRuleGuide dl>div{border-bottom:1px solid #d8e7e1;border-right:0;padding:0 0 8px}.sopRuleGuide dl>div:last-child{border-bottom:0;padding-bottom:0}}.sopRulesTable td>strong,.sopRulesTable td>small{display:block}.sopRulesTable td>small{color:#7c8a95;margin-top:3px}.sopRulesTable code,.sopRulePreview code{color:#164f65;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.sopRuleState{color:#7a6024;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.sopRuleState.active{color:#148056}.sopRuleEditor{width:min(760px,100%)}.sopRuleEditor .formGrid>*{min-width:0}.sopRuleEditor input,.sopRuleEditor select{box-sizing:border-box;min-width:0}.sopRuleEnabled{align-self:end;align-items:center;gap:8px;min-height:42px;flex-direction:row!important;display:flex!important}.sopRuleEnabled input{width:18px;height:18px}.sopRulePreview{background:#f7fafb;border:1px solid #d7e2e8;border-radius:6px;gap:8px;padding:12px;display:grid}.sopRulePreview>span{color:#667986;font-size:12px;font-weight:700}.sopRulePreview>div{flex-wrap:wrap;gap:8px;display:flex}.sopRulePreview code{background:#fff;border:1px solid #cfe0e6;border-radius:4px;padding:5px 8px}.drawerOverlay{z-index:1200;background:#0f202b6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.sideDrawer{background:#fff;width:min(540px,94vw);height:100%;padding:24px;overflow:auto;box-shadow:-12px 0 32px #0f202b2e}.sideDrawer>header{z-index:1;background:#fff;justify-content:space-between;align-items:flex-start;padding:24px 0 14px;display:flex;position:sticky;top:-24px}.sopAuditDrawer ol{gap:0;padding:0;list-style:none;display:grid}.sopAuditDrawer li{border-top:1px solid #e3e9ed;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.sopAuditDrawer li div{gap:4px;display:grid}.sopAuditDrawer li span{color:#71818e;font-size:12px}.sopAuditDrawer pre{color:#344c5c;white-space:pre-wrap;background:#f4f7f8;max-height:220px;padding:10px;font-size:11px;overflow:auto}.sopPublicPage{color:#172b3a;background:#edf3f5;min-height:100vh;padding:24px max(20px,50vw - 590px)}.sopPublicHeader{background:#fff;border-bottom:3px solid #e64a2f;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;display:grid}.sopPublicHeader>img{object-fit:contain;width:90px;height:52px}.sopPublicHeader h1,.sopPublicHeader p{margin:0}.sopPublicExpiry{text-align:right;gap:3px;display:grid}.sopPublicExpiry span{color:#71818e;font-size:12px}.sopPublicDocument{background:#fff}.sopPublicTitleBand{text-align:center;border-bottom:1px solid #dce5e9;padding:24px}.sopPublicTitleBand h2,.sopPublicTitleBand p{margin:0}.sopPublicTitleBand p{color:#6b7d89;margin-top:5px}.sopPublicMeta{border-bottom:1px solid #dce5e9;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.sopPublicMeta>div{border-right:1px solid #dce5e9;min-width:0;padding:14px 16px}.sopPublicMeta>div:last-child{border-right:0}.sopPublicMeta dt,.sopPublicMeta dd{margin:0}.sopPublicMeta dt{color:#71818e;font-size:12px}.sopPublicMeta dd{overflow-wrap:anywhere;margin-top:4px;font-weight:700}.sopPublicSummary{background:#f5f9fa;border-bottom:1px solid #dce5e9;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 20px;display:grid}.sopPublicSummary span{color:#356074;font-weight:700}.sopPublicSummary p{margin:0}.sopPublicSteps{padding:20px 24px 28px}.sopPublicSteps h3{margin:0 0 12px}.sopPublicStepTable{border:1px solid #cfdbe1}.sopPublicStep{border-bottom:1px solid #d8e2e7;grid-template-columns:52px minmax(0,1fr) 70px;min-height:112px;display:grid}.sopPublicStep:last-child{border-bottom:0}.sopPublicStepOrder,.sopPublicStepTime{color:#31566a;background:#f3f7f8;place-items:center;font-size:18px;font-weight:800;display:grid}.sopPublicStepOrder{white-space:nowrap;font-size:13px;line-height:1}.sopPublicStepTime small{color:#758590;margin-top:-26px;font-size:11px}.sopPublicStepBody{border-inline:1px solid #d8e2e7;min-width:0;padding:14px 18px}.sopPublicStepBody h4{margin:0 0 10px;font-size:15px}.sopPublicStepBody dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.sopPublicStepBody dt,.sopPublicStepBody dd{margin:0}.sopPublicStepBody dt{color:#72828d;font-size:11px}.sopPublicStepBody dd{margin-top:3px;font-size:13px}.sopPublicStepImages{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sopPublicImagePreview{cursor:zoom-in;background:#f8fafc;border:1px solid #d3dde2;border-radius:4px;flex:none;width:150px;height:96px;padding:0;display:block;position:relative;overflow:hidden}.sopPublicImagePreview img{object-fit:contain;width:100%;height:100%;display:block}.sopPublicImagePreview>span{color:#fff;background:#0f172ab8;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;bottom:6px;right:6px}.sopPublicImagePreview:hover,.sopPublicImagePreview:focus-visible{border-color:#16856f;box-shadow:0 0 0 3px #16856f29}.sopPublicSignForm{background:#fff;border-top:4px solid #16856f;margin-top:18px;padding:22px 24px}.sopPublicSignForm>header,.sopSignatureCaptureHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.sopPublicSignForm>header{justify-content:flex-start;margin-bottom:18px}.sopPublicSignForm h2,.sopPublicSignForm p{margin:0}.sopPublicSignGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sopPublicSignGrid>*{min-width:0}.sopPublicSignGrid input,.sopPublicSignGrid textarea{box-sizing:border-box;min-width:0}.sopPublicSignGrid label,.sopDecisionControl{gap:6px;display:grid}.sopDecisionControl{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.sopDecisionControl legend{grid-column:1/-1;font-weight:700}.sopDecisionControl button{background:#fff;border:1px solid #cdd9df;justify-content:center;align-items:center;gap:6px;min-height:42px;display:inline-flex}.sopDecisionControl .approve.active{color:#147544;background:#eefaf2;border-color:#1b9a55}.sopDecisionControl .reject.active{color:#b53232;background:#fff3f3;border-color:#d04c4c}.sopSignatureCapture{margin-top:16px}.sopSignatureCaptureHeader>div{gap:8px;display:flex}.sopSignatureUpload input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sopSignatureCanvas,.sopSignaturePhoto{aspect-ratio:3;background:#fff;border:1px solid #b9cbd3;border-radius:4px;width:100%;max-height:260px;margin-top:9px}.sopSignatureCanvas{touch-action:none;cursor:crosshair;display:block}.sopSignaturePhoto{grid-template-rows:minmax(0,1fr) auto;justify-items:center;padding:10px;display:grid}.sopSignaturePhoto img{object-fit:contain;max-width:100%;height:100%;min-height:0}.sopSignaturePhoto span{color:#71818e;font-size:11px}.sopPublicConfirm{align-items:flex-start;gap:9px;margin-top:14px;display:flex}.sopPublicConfirm input{flex:none;width:18px;height:18px}.sopPublicFormError{color:#b53232;align-items:center;gap:7px;margin:12px 0 0;display:flex}.sopPublicSubmit{color:#fff;background:#16856f;border:1px solid #13745f;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:max-content;min-width:170px;margin:18px auto 0;padding:11px 20px;font-weight:800;display:flex}.sopPublicState,.sopPublicResult{text-align:center;background:#fff;align-content:center;place-items:center;gap:10px;min-height:300px;padding:34px;display:grid}.sopPublicState.error{color:#9f3030}.sopNextSignature{background:#f1faf5;border:1px solid #cfe0d8;border-radius:6px;width:min(640px,100%);margin-top:16px;padding:18px}.sopNextSignatureLink{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px;display:grid}.sopNextSignature>img{width:180px;height:180px;margin-top:12px}.sopPrintHistorySignature,.sopPrintLegacySignature,.sopPrintSignatureBlock{justify-items:center;gap:1mm;display:grid}.sopPrintHistorySignature img,.sopPrintSignatureBlock img{object-fit:contain;width:22mm;height:8mm}.sopPrintLegacySignature small{color:#6b7280;font-size:1.6mm}.sopPrintSignatureBlock p{margin:0;font-size:1.8mm}@media (width<=820px){.sopSignatureStages,.sopPublicSignGrid,.sopPublicStepBody dl{grid-template-columns:1fr}.sopSignatureStage{grid-template-columns:34px minmax(0,1fr) auto}.sopSignatureStage>.ghostButton{grid-column:2/-1;justify-self:start}.sopPublicPage{padding:0}.sopPublicHeader{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:14px}.sopPublicHeader>img{width:68px;height:42px}.sopPublicExpiry{text-align:left;grid-column:1/-1}.sopPublicMeta{grid-template-columns:repeat(2,minmax(0,1fr))}.sopPublicMeta>div{border-bottom:1px solid #dce5e9}.sopPublicSummary{grid-template-columns:1fr}.sopPublicSteps,.sopPublicSignForm{padding:16px}.sopPublicStep{grid-template-columns:40px minmax(0,1fr)}.sopPublicStepTime{grid-column:1/-1;gap:4px;min-height:34px;display:flex}.sopPublicStepTime small{margin:0}.sopPublicImagePreview{width:min(130px,45%)}.sopSignatureCaptureHeader,.sopNextSignatureLink,.sopLinkValue{grid-template-columns:1fr}.sopSignatureCaptureHeader{flex-direction:column;align-items:flex-start}.sopRulesPage{padding:16px}.sopRulesHeader{flex-direction:column;align-items:flex-start}}.sopSharePublicPage *,.sopShareDialog *{box-sizing:border-box;letter-spacing:0}.sopSharePublicHeader{border-radius:6px 6px 0 0}.sopSharePublicHeader .eyebrow{margin-bottom:4px}.sopSharePublicHeader h1{font-size:24px;line-height:1.2}.sopSharePrintButton{white-space:nowrap;justify-content:center;align-items:center;gap:7px;width:max-content;display:inline-flex}.sopSharePrintActions{justify-items:end;gap:5px;display:grid}.sopSharePrintError{color:#b53232;text-align:right;max-width:240px;font-size:11px;line-height:1.4}.sopShareStatusNotice{border-block:1px solid #d9e3e8;background:#f8fafc;border-left:4px solid #64748b;align-items:flex-start;gap:10px;padding:13px 18px;display:flex}.sopShareStatusNotice svg{flex:none;margin-top:2px}.sopShareStatusNotice strong,.sopShareStatusNotice p{margin:0}.sopShareStatusNotice p{color:#536675;margin-top:2px;font-size:13px;line-height:1.5}.sopShareStatusNotice.warning{color:#8b5b11;background:#fff9ed;border-left-color:#d08a19}.sopShareStatusNotice.approved{color:#116b5a;background:#eef8f4;border-left-color:#16856f}.sopShareDocument{border-radius:0 0 6px 6px}.sopShareMeta{grid-template-columns:repeat(6,minmax(0,1fr))}.sopShareMeta>*{min-width:0}.sopShareSavedMeta{color:#607380;background:#fbfcfd;border-bottom:1px solid #dce5e9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:10px 20px;font-size:12px;display:flex}.sopShareSavedDetails{flex-wrap:wrap;gap:8px 20px;display:flex}.sopShareSavedMeta span{align-items:center;gap:6px;display:inline-flex}.sopShareTraffic{color:#245e53;background:#f1f9f6;border:1px solid #cee2dc;border-radius:5px;flex:none;display:inline-flex;overflow:hidden}.sopShareTraffic>span{min-height:30px;padding:5px 9px}.sopShareTraffic>span+span{border-left:1px solid #cee2dc}.sopShareTraffic small{color:#668078;font-size:11px}.sopShareTraffic strong{color:#126b5a;font-variant-numeric:tabular-nums;font-size:13px}.sopShareSteps{padding-bottom:20px}.sopShareStep{min-width:0}.sopShareStepImages{align-items:stretch}.sopPublicShareImage{aspect-ratio:3/2;width:180px;height:auto}.sopShareHistory,.sopShareSignatures{border-top:1px solid #dce5e9;padding:20px 24px}.sopShareHistory h3,.sopShareSignatures h3{margin:0 0 12px}.sopShareHistory table{border-collapse:collapse;table-layout:fixed;width:100%}.sopShareHistory th,.sopShareHistory td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #d8e2e7;padding:9px 10px}.sopShareHistory th{color:#425b6a;background:#f3f7f8;font-size:12px}.sopShareSignatures>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sopShareSignatures article{background:#fbfcfd;border:1px solid #d8e2e7;border-radius:6px;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:14px;min-width:0;padding:14px;display:grid}.sopShareSignatures article>div{gap:3px;min-width:0;display:grid}.sopShareSignatures article span,.sopShareSignatures article small{color:#687a86;font-size:12px}.sopShareSignatures article button{cursor:zoom-in;background:#fff;border:1px solid #d3dde2;border-radius:4px;width:150px;height:60px;padding:4px}.sopShareSignatures article img{object-fit:contain;width:100%;height:100%;display:block}.sopShareFooter{color:#667985;text-align:center;padding:12px 18px;font-size:12px}.sopShareFooter p{margin:0}.sopShareOverlay{z-index:360}.sopShareDialog{width:min(680px,100%);padding:24px}.sopShareDialog header h3{margin:0;font-size:22px}.sopShareDialog .eyebrow{margin-bottom:4px}.sopShareDocumentIdentity{background:#f5f8fa;border-left:4px solid #e64a2f;gap:7px;padding:13px 15px;display:grid}.sopShareDocumentIdentity>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sopShareDocumentIdentity span{color:#617481;font-size:12px}.sopShareDocumentIdentity p,.sopShareGuidance,.sopShareEmpty p{margin:0}.sopShareDocumentIdentity p{overflow-wrap:anywhere;font-weight:700}.sopShareGuidance{color:#4d6270;margin-top:16px;font-size:13px;line-height:1.6}.sopShareLinkValue{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px;display:grid}.sopShareLinkValue input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sopShareLinkValue button,.sopShareActions button,.sopShareEmpty button,.sopShareDialog footer button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;width:max-content;display:inline-flex}.sopShareCreatedAt{color:#71818e;margin-top:7px;display:block}.sopShareActions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.sopShareActions .danger{color:#b53232;background:#fff7f7;border-color:#f0bcbc}.sopShareEmpty{color:#435967;text-align:center;justify-items:center;gap:9px;padding:30px 18px 14px;display:grid}.sopShareEmpty>svg{color:#16856f}@media (width<=820px){.sopShareMeta{grid-template-columns:1fr}.sopShareMeta>div{border-right:0}.sopSharePublicHeader .sopSharePrintActions{grid-column:1/-1;justify-self:start}.sopSharePrintActions{justify-items:start}.sopSharePrintError{text-align:left;max-width:none}.sopShareStep{grid-template-columns:minmax(0,1fr) auto}.sopShareStep .sopPublicStepOrder,.sopShareStep .sopPublicStepTime{white-space:nowrap;min-height:38px;padding:8px 12px;font-size:13px;display:flex}.sopShareStep .sopPublicStepOrder{justify-content:flex-start}.sopShareStep .sopPublicStepTime{grid-column:2;justify-content:flex-end}.sopShareStep .sopPublicStepBody{border-top:1px solid #d8e2e7;border-inline:0;grid-area:2/1/auto/-1;padding:14px}.sopShareSavedMeta,.sopShareSavedDetails{flex-direction:column;align-items:flex-start}.sopShareTraffic{margin-top:2px}.sopShareHistory,.sopShareSignatures{padding:16px}.sopShareSignatures>div{grid-template-columns:1fr}.sopShareSignatures article{grid-template-columns:minmax(0,1fr) 120px}.sopShareSignatures article button{width:120px}.sopShareOverlay{padding:12px}.sopShareDialog{max-height:calc(100vh - 24px);padding:18px}.sopShareLinkValue{grid-template-columns:1fr}}@media (width<=520px){.sopPublicShareImage{width:100%}.sopShareSignatures article{grid-template-columns:1fr}.sopShareSignatures article button{width:100%}.sopShareActions{flex-direction:column;align-items:stretch}.sopShareActions button{width:100%}}@media print{.sopSharePublicPage{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:210mm;max-width:none;min-height:auto;margin:0;padding:8mm}.sopSharePrintButton,.sopShareTraffic,.sopPublicShareImage>span,.imageLightbox{display:none!important}.sopSharePublicHeader,.sopShareStatusNotice,.sopShareDocument,.sopShareFooter{box-shadow:none}.sopSharePublicHeader{border-radius:0;grid-template-columns:24mm minmax(0,1fr);gap:4mm;padding:4mm}.sopSharePublicHeader>img{width:22mm;height:13mm}.sopShareMeta{grid-template-columns:repeat(3,minmax(0,1fr))}.sopShareSavedMeta{flex-direction:row;align-items:center}.sopShareStep{grid-template-columns:16mm minmax(0,1fr) 20mm}.sopShareStep .sopPublicStepOrder,.sopShareStep .sopPublicStepTime{white-space:normal;place-items:center;min-height:0;padding:2mm;font-size:9pt;display:grid}.sopShareStep .sopPublicStepTime{grid-column:auto}.sopShareStep .sopPublicStepOrder{white-space:nowrap;font-size:8.5pt}.sopShareStep .sopPublicStepBody{border-top:0;border-inline:1px solid #d8e2e7;grid-area:auto;padding:3mm}.sopShareStep .sopPublicStepBody dl{grid-template-columns:repeat(2,minmax(0,1fr))}.sopShareStatusNotice,.sopShareStep,.sopShareSignatures article{break-inside:avoid;page-break-inside:avoid}.sopShareHistory .tableWrap{overflow:visible}.sopPublicShareImage{width:45mm}.sopShareFooter{padding-bottom:0}}.sopContributionPage{color:#17243a;background:#edf3f6;min-height:100vh;padding:22px}.sopContributionPage *,.sopContributionActionDialog *,.sopContributionLinkDialog *,.sopContributionDeleteDialog *{box-sizing:border-box;letter-spacing:0}.sopContributionPage button,.sopContributionActionDialog button,.sopContributionLinkDialog button,.sopContributionDeleteDialog button{background-image:none;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:max-content;display:inline-flex}.sopContributionPage .primaryButton,.sopContributionActionDialog .primaryButton,.sopContributionLinkDialog .primaryButton{box-shadow:none;background:#148668;border:1px solid #11785d}.sopContributionPage .ghostButton,.sopContributionActionDialog .ghostButton,.sopContributionLinkDialog .ghostButton,.sopContributionDeleteDialog .ghostButton{box-shadow:none;background:#fff}.sopContributionPublicHeader,.sopContributionWorkspace,.sopContributionEditor,.sopContributionRegistration{width:min(1480px,100%);margin-inline:auto}.sopContributionPublicHeader{background:#fff;border:1px solid #d7e2e8;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:10px 16px;display:flex}.sopContributionBrand,.sopContributionProfile,.sopContributionRegistrationHeading{align-items:center;gap:14px;min-width:0;display:flex}.sopContributionBrand img{object-fit:contain;width:72px;height:48px}.sopContributionBrand strong{margin-top:2px;font-size:19px;display:block}.sopContributionPage .eyebrow,.sopContributionActionDialog .eyebrow,.sopContributionLinkDialog .eyebrow,.sopContributionDeleteDialog .eyebrow{color:#56779a;letter-spacing:0;margin:0;font-size:11px;font-weight:800}.sopContributionRegistration{background:#fff;border:1px solid #d7e2e8;border-radius:8px;max-width:920px;margin-top:28px;padding:28px}.sopContributionRegistrationIcon,.sopContributionAvatar{color:#147558;background:#ebf8f3;border:1px solid #b9dfd2;border-radius:8px;flex:none;place-items:center;width:48px;height:48px;display:grid}.sopContributionRegistrationHeading h1,.sopContributionWorkspaceHeader h1,.sopContributionStepsHeader h2,.sopContributionListHeader h2{margin:3px 0 0;font-size:24px;line-height:1.25}.sopContributionRegistrationHeading p:last-child{color:#66768b;margin:7px 0 0}.sopContributionRegistrationForm{border-top:1px solid #e2e9ed;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px;padding-top:24px;display:grid}.sopContributionRegistrationForm label,.sopContributionMetaForm label,.sopContributionStepGrid label{color:#34445b;gap:7px;font-size:13px;font-weight:700;display:grid}.sopContributionRegistrationForm input,.sopContributionMetaForm input,.sopContributionStepGrid input,.sopContributionStepGrid textarea{color:#17243a;box-shadow:none;background:#fff;border:1px solid #ccd9e2;border-radius:5px}.sopContributionRegistrationForm input:focus,.sopContributionMetaForm input:focus,.sopContributionStepGrid input:focus,.sopContributionStepGrid textarea:focus{border-color:#16866a;outline:3px solid #1486681f}.sopContributionRegistrationFooter{grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding-top:8px;display:flex}.sopContributionRegistrationFooter>span,.sopContributionLinkReminder{color:#66768b;align-items:center;gap:7px;font-size:12px;display:flex}.sopContributionFormError{color:#a72d2d;background:#fff3f3;border-left:3px solid #c43d3d;grid-column:1/-1;margin:0;padding:10px 12px}.sopContributionLinkReminder{background:#f0faf6;border:1px solid #c9e4da;border-radius:6px;margin-top:18px;padding:10px 12px}.sopContributionLinkReminder .ghostButton{margin-left:auto}.sopContributionLinkDialog{width:min(720px,100%)}.sopContributionLinkDialog h2,.sopContributionActionDialog h3,.sopContributionDeleteDialog h3{margin:4px 0 0}.sopContributionLinkNotice{color:#6a5220;background:#fff8e8;border-left:3px solid #d49a22;align-items:flex-start;gap:10px;padding:13px;display:flex}.sopContributionLinkNotice svg{flex:none;margin-top:2px}.sopContributionLinkNotice p{margin:0;line-height:1.6}.sopContributionLinkValue{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:16px;display:grid}.sopContributionLinkValue input{background:#f7fafb;border:1px solid #cbd7df;border-radius:5px;min-width:0;font-family:Consolas,monospace;font-size:12px}.sopContributionLinkQr{color:#657589;justify-items:center;gap:7px;margin-top:18px;font-size:12px;display:grid}.sopContributionLinkQr img{width:172px;height:172px}.sopContributionWorkspace,.sopContributionEditor{background:#fff;border:1px solid #d7e2e8;border-radius:8px;margin-top:22px;padding:24px}.sopContributionWorkspaceHeader,.sopContributionEditorHeader,.sopContributionStepsHeader,.sopContributionListHeader,.sopContributionEditorActions{justify-content:space-between;align-items:center;gap:18px;display:flex}.sopContributionProfile>div{min-width:0}.sopContributionProfile h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sopContributionProfile>div>span{color:#6b7b8e;margin-top:5px;font-size:12px;display:block}.sopContributionStatusStrip{border-block:1px solid #e1e9ed;flex-wrap:wrap;gap:0;margin-top:20px;display:flex}.sopContributionStatusStrip>span{color:#607287;align-items:center;gap:7px;min-width:130px;padding:11px 18px 11px 0;font-size:12px;display:inline-flex}.sopContributionStatusStrip strong{color:#17243a;font-size:16px}.sopContributionListHeader{margin-top:22px}.sopContributionListHeader>span{color:#6b7b8e;font-size:12px}.sopContributionTableWrap{border:1px solid #dce5ea;border-radius:6px;margin-top:14px;overflow-x:auto}.sopContributionTable{border-collapse:collapse;width:100%;min-width:900px}.sopContributionTable th,.sopContributionTable td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5ecef;padding:12px 14px}.sopContributionTable th{color:#627388;background:#f6f9fa;font-size:11px;font-weight:800}.sopContributionTable tbody tr:last-child td{border-bottom:0}.sopContributionTable tbody tr:hover{background:#f8fbfa}.sopContributionTitleButton{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:380px;font-weight:800;overflow:hidden;color:#1965ad!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;display:block!important}.sopContributionRowComment{color:#a84b30;text-overflow:ellipsis;white-space:nowrap;max-width:390px;margin-top:5px;display:block;overflow:hidden}.sopContributionStatus{color:#53677e;white-space:nowrap;background:#f5f8fa;border:1px solid #d4dfe6;border-radius:5px;align-items:center;gap:5px;width:max-content;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.sopContributionStatus.submitted{color:#2e6698;background:#eff6fc;border-color:#bcd1e6}.sopContributionStatus.returned{color:#a34f29;background:#fff5ed;border-color:#ebc9b7}.sopContributionStatus.accepted{color:#187448;background:#edf9f2;border-color:#b9dfca}.sopContributionRowActions,.sopContributionOrderActions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.sopContributionPage .iconButton,.sopContributionEditor .iconButton{color:#51657b;width:34px;height:34px;box-shadow:none;background:#fff;border:1px solid #d4dfe6;border-radius:5px;padding:0}.sopContributionPage .iconButton.danger,.sopContributionEditor .iconButton.danger{color:#b73a3a;border-color:#f0caca}.sopContributionEmpty,.sopContributionState{color:#6c7d8f;text-align:center;align-content:center;place-items:center;gap:9px;min-height:250px;display:grid}.sopContributionState{background:#fff;border:1px solid #d7e2e8;border-radius:8px;width:min(920px,100%);margin:30px auto;padding:28px}.sopContributionState.error svg,.sopContributionState.error h2{color:#a73535}.sopContributionPagination{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.sopContributionEditorHeader{border-bottom:1px solid #e2e9ed;padding-bottom:16px}.sopContributionEditorIdentity{flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.sopContributionEditorIdentity>strong{text-overflow:ellipsis;white-space:nowrap;max-width:620px;overflow:hidden}.sopContributionSaveState{color:#21825e;justify-content:flex-end;align-items:center;gap:6px;min-width:130px;font-size:12px;font-weight:700;display:inline-flex}.sopContributionSaveState.dirty{color:#a36a1a}.sopContributionReturnNotice{color:#8d4627;background:#fff5ed;border-left:3px solid #d16a39;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.sopContributionReturnNotice svg{flex:none;margin-top:2px}.sopContributionReturnNotice p{white-space:pre-wrap;margin:4px 0 0}.sopContributionMetaForm{background:#f8fafb;border:1px solid #dce5ea;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;padding:18px;display:grid}.sopContributionMetaForm .wide{grid-column:span 2}.sopContributionMetaForm .span3{grid-column:1/-1}.sopContributionMetaForm input:disabled,.sopContributionStepGrid input:disabled,.sopContributionStepGrid textarea:disabled{color:#5f6e7c;background:#f2f5f6}.sopContributionStepsHeader{margin-top:24px}.sopContributionStepSummary{color:#66768a;align-items:center;gap:12px;font-size:12px;display:flex}.sopContributionStepSummary strong{color:#17243a}.sopContributionStepList{gap:12px;margin-top:14px;display:grid}.sopContributionStep{background:#fff;border:1px solid #dbe5ea;border-radius:7px}.sopContributionStep>header{background:#f7faf9;border-bottom:1px solid #e2e9ed;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;min-height:50px;display:grid}.sopContributionOrder{color:#147558;background:#eaf7f1;border-right:1px solid #dce6e2;align-self:stretch;place-items:center;font-weight:900;display:grid}.sopContributionStep>header>strong{padding-inline:12px}.sopContributionOrderActions{padding-right:8px}.sopContributionStepGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px;gap:14px;padding:16px;display:grid}.sopContributionStepGrid .description{grid-column:1/3}.sopContributionStepGrid .time{grid-column:3}.sopContributionStepImages{grid-column:1/-1}.sopContributionStepImages>span{color:#34445b;margin-bottom:7px;font-size:13px;font-weight:700;display:block}.sopContributionStepImages .richInputBox{box-shadow:none;border-radius:5px}.sopContributionEditorActions{z-index:8;background:#fffffff7;border-top:1px solid #dbe5ea;margin:20px -24px -24px;padding:13px 24px;position:sticky;bottom:0;box-shadow:0 -8px 20px #273d4d12}.sopContributionEditorActions>span{color:#6b7b8e;font-size:12px}.sopContributionEditorActions>div{gap:8px;display:flex}.sopContributionToast{z-index:120;color:#166546;background:#eaf8f1;border:1px solid #b8decd;border-radius:5px;max-width:min(440px,100vw - 48px);padding:11px 14px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #19413329}.sopContributionActionDialog,.sopContributionDeleteDialog{width:min(520px,100%)}.sopContributionActionDialog>p,.sopContributionDeleteDialog>p{color:#5e6f82;line-height:1.65}.dangerButton{color:#fff;cursor:pointer;background:#b93232;border:1px solid #c84141;border-radius:5px;padding:10px 16px;font-weight:800}@media (width<=900px){.sopContributionPage{padding:10px}.sopContributionPublicHeader,.sopContributionWorkspaceHeader,.sopContributionEditorHeader,.sopContributionStepsHeader,.sopContributionEditorActions,.sopContributionRegistrationFooter{flex-direction:column;align-items:flex-start}.sopContributionPublicHeader{flex-direction:row;align-items:center}.sopContributionBrand .eyebrow{display:none}.sopContributionRegistration,.sopContributionWorkspace,.sopContributionEditor{margin-top:12px;padding:16px}.sopContributionRegistrationForm,.sopContributionMetaForm,.sopContributionStepGrid{grid-template-columns:1fr}.sopContributionMetaForm .wide,.sopContributionMetaForm .span3,.sopContributionStepGrid .description,.sopContributionStepGrid .time,.sopContributionStepImages{grid-column:1}.sopContributionEditorIdentity{order:-1;justify-content:flex-start}.sopContributionSaveState{justify-content:flex-start}.sopContributionStepSummary{flex-wrap:wrap}.sopContributionEditorActions{margin:18px -16px -16px;padding:12px 16px}.sopContributionEditorActions>div{width:100%}.sopContributionEditorActions button{flex:1}}@media (width<=560px){.sopContributionPublicHeader .ghostButton{color:#0000;width:38px;height:38px;padding:0;overflow:hidden}.sopContributionPublicHeader .ghostButton svg{color:#31445a}.sopContributionRegistrationHeading,.sopContributionProfile{align-items:flex-start}.sopContributionRegistrationHeading h1,.sopContributionWorkspaceHeader h1{font-size:20px}.sopContributionLinkValue{grid-template-columns:1fr}.sopContributionLinkValue button{width:100%}.sopContributionStatusStrip>span{min-width:50%;padding-right:8px}.sopContributionStep>header{grid-template-columns:38px minmax(0,1fr)}.sopContributionOrderActions{grid-column:2;justify-content:flex-start;padding:0 8px 8px}.sopContributionOrder{grid-row:1/span 2}.sopContributionToast{max-width:calc(100vw - 24px);bottom:12px;right:12px}}.sopManagementShell{gap:12px;display:grid}.sopManagementNavRow{align-items:stretch;gap:12px;display:flex}.sopManagementTabs{background:#fff;border:1px solid #d7e2e8;border-radius:7px;flex:auto;gap:4px;min-width:0;padding:5px;display:flex}.sopManagementEntryActions{flex:none;align-items:center;gap:6px;display:flex}.sopManagementEntryActions .ghostButton{white-space:nowrap}.sopManagementTabs button{color:#596b80;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;width:max-content;padding:9px 14px;font-weight:800;display:inline-flex}.sopManagementTabs button.active{color:#126d53;background:#eaf7f2}.sopContributionAdminPanel,.sopSubmissionAdminDetail,.sopContributorAdminDetail{letter-spacing:0;background:#fff;border:1px solid #d7e2e8;border-radius:8px;padding:22px}.sopContributionAdminPanel button,.sopSubmissionAdminDetail button,.sopContributorAdminDetail button,.sopContributionAdminActionDialog button{background-image:none;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:max-content;display:inline-flex}.sopContributionAdminPanel .primaryButton,.sopSubmissionAdminDetail .primaryButton,.sopContributorAdminDetail .primaryButton,.sopContributionAdminActionDialog .primaryButton{box-shadow:none;background:#148668;border:1px solid #11785d}.sopContributionAdminPanel .ghostButton,.sopSubmissionAdminDetail .ghostButton,.sopContributorAdminDetail .ghostButton,.sopContributionAdminActionDialog .ghostButton{box-shadow:none;background:#fff}.sopContributionAdminPanelHeader,.sopSubmissionAdminDetailHeader,.sopContributorAdminDetail>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.sopContributionAdminPanelHeader h2,.sopSubmissionAdminDetailHeader h2,.sopContributorAdminDetail h2{color:#17243a;letter-spacing:0;margin:3px 0 0;font-size:24px}.sopContributionAdminPanelHeader>div>span,.sopContributorAdminDetail>header p{color:#697a8d;margin:5px 0 0;font-size:12px;display:block}.sopContributionAdminFilters{background:#f8fafb;border-block:1px solid #e0e8ec;grid-template-columns:minmax(280px,1fr) 180px 160px auto;gap:8px;margin-top:18px;padding:12px;display:grid}.sopContributionAdminFilters label{color:#6b7b8e;background:#fff;border:1px solid #ccd9e2;border-radius:5px;align-items:center;gap:7px;padding-left:10px;display:flex}.sopContributionAdminFilters input,.sopContributionAdminFilters select{min-width:0;box-shadow:none;background:#fff;border:1px solid #ccd9e2;border-radius:5px}.sopContributionAdminFilters label input{border:0;outline:0}.sopContributionAdminLoading{place-items:center;min-height:260px;display:grid}.sopContributionTable.admin td small,.sopContributionTable.admin td>span{color:#718196;margin-top:4px;font-size:11px;display:block}.sopContributionTable.admin td>strong{display:block}.sopContributorRowActions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.sopContributionAdminActionDialog{width:min(560px,100%)}.sopContributionAdminActionDialog h3{margin:4px 0 0}.sopContributionAdminActionDialog>p{color:#5e6f82}.sopContributionAdminActionDialog label{color:#34445b;gap:7px;font-size:13px;font-weight:800;display:grid}.sopContributionAdminActionDialog textarea{box-shadow:none;border:1px solid #cbd8e0;border-radius:5px}.sopSubmissionAdminDetailHeader>div:nth-child(2){flex:1;min-width:0}.sopSubmissionAdminDetailHeader h2{text-overflow:ellipsis;white-space:nowrap;max-width:720px;overflow:hidden}.sopSubmissionAdminActions,.sopContributorAdminActions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.sopSubmissionAdminActions .warning{color:#985a1d;background:#fff9ef;border-color:#e5c7a1}.sopSubmissionAdminMeta{border-block:1px solid #dfe8ec;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px;display:grid}.sopSubmissionAdminMeta>div{border-right:1px solid #e3eaee;gap:4px;padding:14px;display:grid;position:relative}.sopSubmissionAdminMeta>div:last-child{border-right:0}.sopSubmissionAdminMeta svg{color:#668099;position:absolute;top:14px;right:14px}.sopSubmissionAdminMeta span,.sopSubmissionAdminMeta small{color:#6d7e90;font-size:11px}.sopSubmissionAdminMeta strong{overflow-wrap:anywhere}.sopSubmissionAdminSteps{gap:10px;margin-top:20px;display:grid}.sopSubmissionAdminSteps article{background:#fff;border:1px solid #dbe5ea;border-radius:6px;grid-template-columns:46px minmax(0,1fr);display:grid}.sopSubmissionAdminOrder{color:#157557;background:#ebf7f2;border-right:1px solid #d9e6e0;place-items:center;font-weight:900;display:grid}.sopSubmissionAdminSteps article>div{min-width:0;padding:14px}.sopSubmissionAdminSteps article header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.sopSubmissionAdminSteps article header>span{color:#68798d;flex:none;font-size:12px}.sopSubmissionAdminSteps dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 0;display:grid}.sopSubmissionAdminSteps dl>div{border-top:1px solid #e5ecef;padding-top:9px}.sopSubmissionAdminSteps dt{color:#718196;font-size:11px}.sopSubmissionAdminSteps dd{color:#34445b;white-space:pre-wrap;margin:5px 0 0}.sopSubmissionAdminImages{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sopSubmissionAdminImages button{cursor:zoom-in;background:#f5f8f9;border:1px solid #cfdae1;border-radius:5px;width:112px;height:78px;padding:0;overflow:hidden}.sopSubmissionAdminImages img{object-fit:cover;width:100%;height:100%}.sopSubmissionAdminImages>span{color:#718196;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sopSubmissionAdminHistory,.sopContributorAdminSection{border-top:1px solid #dfe8ec;margin-top:22px;padding-top:18px}.sopSubmissionAdminHistory h3,.sopContributorAdminSection h3{margin:0 0 12px;font-size:16px}.sopSubmissionAdminHistory>div{border-bottom:1px solid #ebf0f2;grid-template-columns:160px 120px minmax(0,1fr);gap:10px;padding:8px 0;font-size:12px;display:grid}.sopSubmissionAdminHistory p{color:#5e6f82;margin:0}.sopContributorAdminDetail>header>div:nth-child(2){flex:1;min-width:0}.sopContributorAccessStatus{color:#187448;white-space:nowrap;background:#edf9f2;border:1px solid #b9dfca;border-radius:5px;align-items:center;gap:5px;width:max-content;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.sopContributorAccessStatus.disabled{color:#687480;background:#f3f5f6;border-color:#d6dce1}.sopContributorLinkPolicy,.sopContributorActionNotice{color:#365a78;background:#f0f6fb;border-left:3px solid #4c7ea7;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 14px;display:flex}.sopContributorLinkPolicy svg,.sopContributorActionNotice svg{flex:none;margin-top:2px}.sopContributorLinkPolicy p,.sopContributorActionNotice span{margin:4px 0 0;line-height:1.55}.sopContributorActionNotice.danger{color:#983737;background:#fff2f2;border-left-color:#b44}.sopContributorAdminStats{border-block:1px solid #dfe8ec;flex-wrap:wrap;gap:0;margin-top:16px;display:flex}.sopContributorAdminStats>span{color:#66788b;align-items:center;gap:7px;padding:11px 18px 11px 0;font-size:12px;display:inline-flex}.sopContributorAdminStats strong{color:#17243a}.sopContributorAuditList{border-top:1px solid #e5ecef}.sopContributorAuditList>div{border-bottom:1px solid #e5ecef;grid-template-columns:180px minmax(140px,1fr) minmax(120px,1fr);gap:12px;padding:9px 0;font-size:12px;display:grid}.sopContributorAuditList span,.sopContributorAuditList small,.sopContributorEmptyText{color:#6e7f91}@media (width<=1000px){.sopContributionAdminFilters{grid-template-columns:minmax(220px,1fr) 160px auto}.sopContributionAdminFilters select:nth-of-type(2){grid-column:2}.sopSubmissionAdminMeta{grid-template-columns:repeat(2,minmax(0,1fr))}.sopSubmissionAdminMeta>div:nth-child(2){border-right:0}}@media (width<=760px){.sopManagementNavRow{flex-direction:column;gap:8px}.sopManagementTabs{overflow-x:auto}.sopManagementEntryActions{justify-content:flex-end}.sopManagementTabs button{flex:none}.sopContributionAdminPanel,.sopSubmissionAdminDetail,.sopContributorAdminDetail{padding:14px}.sopContributionAdminPanelHeader,.sopSubmissionAdminDetailHeader,.sopContributorAdminDetail>header{flex-direction:column;align-items:flex-start}.sopContributionAdminFilters{grid-template-columns:1fr}.sopContributionAdminFilters select:nth-of-type(2){grid-column:1}.sopSubmissionAdminActions,.sopContributorAdminActions{justify-content:flex-start}.sopSubmissionAdminMeta,.sopSubmissionAdminSteps dl{grid-template-columns:1fr}.sopSubmissionAdminMeta>div{border-bottom:1px solid #e3eaee;border-right:0}.sopSubmissionAdminHistory>div,.sopContributorAuditList>div{grid-template-columns:1fr;gap:4px}}.mobileModuleLabel,.mobileModuleMenu{display:none}@keyframes mobileModulePanelIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (width<=820px){.appDashboard{padding:10px}.appShellHeader{z-index:90;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;margin-bottom:10px;padding:10px 12px;display:grid;position:relative}.brandCluster{flex-direction:row;align-items:center;gap:10px}.brandMark{border-radius:10px;flex-basis:40px;width:40px;height:40px}.brandCluster .eyebrow,.shellSubtitle{display:none}.brandCluster h1{margin:0;font-size:16px;line-height:1.25}.mobileModuleLabel{color:#64748b;margin:2px 0 0;font-size:12px;display:block}.shellRight{display:contents}.userBox{display:none}.shellContextGroup{scrollbar-width:thin;background:0 0;border:0;border-radius:0;grid-column:1/-1;gap:6px;width:100%;min-height:0;display:flex;overflow-x:auto}.shellContextGroup .shellStatus{display:none}.shellContextGroup:not(:has(.workTimerBadge)):not(:has(.pomodoroBadge)){display:none}.shellContextGroup>.workTimerBadge,.shellContextGroup>.pomodoroBadge{border:1px solid #d8e5e7;border-radius:8px;flex:none;min-height:42px}.mobileModuleMenu{display:block}.mobileModuleMenuButton{color:#12384e;cursor:pointer;background:#fff;border:1px solid #d7e1e7;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.mobileModuleMenuButton:hover{background:#f4f8f8}.mobileModuleMenuButton:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.moduleNav{display:none}.mobileModulePanel{z-index:80;background:#fff;border:1px solid #d7e1e7;border-radius:10px;padding:10px;animation:.16s ease-out mobileModulePanelIn;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 40px #0f172a2e}.mobileModuleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.mobileModuleGrid button{color:#243447;cursor:pointer;background:#f4f7f8;border:0;border-radius:7px;min-height:40px;font-weight:800}.mobileModuleGrid .activeTab{color:#fff;background:#12384e}.mobileModuleAccount{border-top:1px solid #e4eaee;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:flex}.mobileModuleAccount>div{gap:2px;display:grid}.mobileModuleAccount span{color:#64748b;font-size:11px}.mobileModuleAccount .ghostButton{border-radius:7px;min-height:40px;padding:8px 14px}.sopManagementShell{gap:8px}.sopManagementTabs{border-radius:8px;overflow:visible}.sopManagementTabs button{flex:1 1 0;justify-content:center;min-width:0;padding:9px 7px}.sopWorkspace{border-radius:10px;min-height:0;padding:14px;box-shadow:0 8px 24px #25436e14}.sopListHeader{flex-direction:row;align-items:center;gap:10px;margin-bottom:12px}.sopListHeader>div:first-child>p{display:none}.sopListHeader h2{font-size:20px}.sopListHeaderActions{flex:none}.sopListHeaderActions .iconButton,.sopListHeaderActions .primaryButton{min-height:40px}.sopListHeaderActions .primaryButton{padding:8px 11px}.sopListFilters{grid-template-columns:minmax(0,1fr) 112px;gap:8px;margin-bottom:10px}.sopListFilters input,.sopListFilters select{border-radius:7px;min-height:42px;padding:8px 10px}.sopListTableWrap{display:none}.sopMobileList{gap:8px;display:grid}.sopMobileCard{background:#fff;border:1px solid #dce5e9;border-radius:8px;overflow:hidden}.sopMobileCardMain{color:#17243a;cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;gap:8px;padding:12px;display:grid}.sopMobileCardMain:focus-visible{outline-offset:-3px;outline:2px solid #0f766e}.sopMobileCardTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.sopMobileCardTop code{overflow-wrap:anywhere;color:#49647a;font-size:11px}.sopMobileCardTitle{font-size:15px;line-height:1.45}.sopMobileCardEnglish{color:#718096;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sopMobileCardMeta{color:#405366;grid-template-columns:64px minmax(0,1fr) minmax(64px,auto);gap:8px;font-size:12px;display:grid}.sopMobileCardMeta>span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.sopMobileCardMeta small{color:#8a98a8;font-size:10px}.sopMobileCardFooter{color:#718096;border-top:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:6px 6px 6px 12px;font-size:11px;display:flex}.sopMobilePrintButton{width:40px;height:40px}.sopMobileEmpty{color:#7b8a9a;text-align:center;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:28px 12px}}@media (width>=600px) and (width<=820px){.mobileModuleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.sopMobileList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=360px){.sopListFilters{grid-template-columns:1fr}.sopMobileCardMeta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.mobileModulePanel{transition:none;animation:none}}@media (width<=640px){.appShellHeader .brandCluster{grid-area:1/1}.appShellHeader .mobileModuleMenu{grid-area:1/2;justify-self:end}.appShellHeader .shellContextGroup{grid-area:2/1/auto/-1}.moduleStack{gap:14px}.workSummaryPanel,.workSummaryPanel+.panel{border-radius:12px;padding:14px}.workSummaryPanel .panelHeader{flex-direction:row;align-items:center;gap:8px;margin-bottom:12px}.workSummaryPanel .panelHeader>div{min-width:0}.workSummaryPanel .panelHeader .eyebrow,.workSummaryPanel+.panel .panelHeader .eyebrow{margin-bottom:3px;font-size:10px}.workSummaryPanel .panelHeader h2,.workSummaryPanel+.panel .panelHeader h2{font-size:22px}.workSummaryPanel .panelHeader>.pill{flex:none;width:auto;padding:4px 10px;font-size:11px}.workSummaryCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workSummaryCard{border-top-width:2px;gap:3px;min-height:78px;padding:10px 11px}.workSummaryCard span{font-size:12px}.workSummaryCard strong{font-size:22px}.workSummaryCard small{font-size:10.5px}.workSummaryActivityHeader{gap:8px;margin-top:12px;padding-top:12px}.workSummaryActivityStats span{padding:0 6px;font-size:11px}.workSummaryEntryCard{gap:8px;padding:10px}.workSummaryEntryStatic,.workSummaryEntryToggle{gap:8px}.workSummaryPanel+.panel .panelHeader{gap:10px;margin-bottom:0}.timerHeaderActions{gap:8px}.timerHeaderActions>button{min-height:42px;padding:8px 10px;font-size:13px}.timerCard{border-radius:12px;padding:12px 12px 14px}.timerCard:before{top:10px;bottom:10px}.timerCardHeader{flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:8px}.timerCardMeta{gap:5px}.timerCardMeta .pill,.timerCardMeta .timerLiveBadge,.timerCardMeta .timerCardCategory{font-size:10.5px}.timerTodoBadge{max-width:52vw;min-height:22px;font-size:10.5px}.timerCardStart{font-size:10px}.timerCardElapsedGroup{justify-items:end;gap:3px}.timerCardElapsed{font-size:23px}.timerPrimaryBar{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0;display:grid}.timerPrimaryBar>.timerCardContent{text-align:left;grid-column:1;align-self:center;max-width:none;margin:0}.timerPrimaryBar>.timerContentActions{grid-column:2;align-self:center}.timerPrimaryBar>.timerAttachmentList,.timerPrimaryBar>.timerUploadPending,.timerPrimaryBar>.timerReviewPanel,.timerPrimaryBar>.timerOvertimeChoices{grid-column:1/-1}.timerPrimaryBar>.timerCardActions{grid-column:1/-1;width:100%;margin-top:2px}.timerPrimaryBar .timerSegmentedActions{width:100%}.timerPrimaryBar .timerSegmentedActions>button{flex:1 1 0;gap:3px;min-width:0;padding:8px 4px;font-size:11.5px}.timerCardResultRow{margin-top:10px}}.loadingWrap{color:#475569;align-items:center;gap:10px;font-weight:600;display:flex}.loadingWrap.inline{vertical-align:middle;display:inline-flex}.loadingText{color:inherit;letter-spacing:.02em;font-size:14px;font-weight:600}.loadingWrap{color:#475569}.loadingWrap[style*=color] .loadingText{color:inherit}.ldSize-sm .loadingText{font-size:12px}.ldSize-lg .loadingText{font-size:16px}.loadingDots{align-items:center;gap:5px;display:inline-flex}.loadingDots span{background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ldDotBounce}.loadingWrap[style*="color: rgb(255"] .loadingDots span,.loadingWrap[style*="color: #fff"] .loadingDots span,.loadingWrap[style*="color:#fff"] .loadingDots span,.loadingWrap[style*="color: white"] .loadingDots span,.loadingWrap[style*="color: rgb(255"] .loadingWave span,.loadingWrap[style*="color: #fff"] .loadingWave span,.loadingWrap[style*="color:#fff"] .loadingWave span,.loadingWrap[style*="color: white"] .loadingWave span{background:#ffffffe6}.loadingDots span:first-child{animation-delay:0s}.loadingDots span:nth-child(2){animation-delay:.18s}.loadingDots span:nth-child(3){animation-delay:.36s}.ldSize-sm .loadingDots span{width:6px;height:6px}.ldSize-lg .loadingDots span{width:11px;height:11px}@keyframes ldDotBounce{0%,80%,to{opacity:.45;transform:translateY(0)scale(.85)}40%{opacity:1;transform:translateY(-6px)scale(1)}}.loadingSpinner{width:28px;height:28px;display:inline-flex}.ldSize-sm .loadingSpinner{width:18px;height:18px}.ldSize-lg .loadingSpinner{width:44px;height:44px}.loadingSpinnerSvg{width:100%;height:100%;animation:1.4s linear infinite ldSpin}.loadingSpinnerTrack{fill:none;stroke:#94a3b82e;stroke-width:4px}.loadingSpinnerPath{fill:none;stroke-width:4px;stroke-linecap:round;stroke-dasharray:125;stroke-dashoffset:50px;transform-origin:50%;animation:1.6s ease-in-out infinite ldDash}@keyframes ldSpin{to{transform:rotate(360deg)}}@keyframes ldDash{0%{stroke-dashoffset:125px;transform:rotate(0)}50%{stroke-dashoffset:35px;transform:rotate(135deg)}to{stroke-dashoffset:125px;transform:rotate(360deg)}}.loadingWave{align-items:flex-end;gap:3px;height:18px;display:inline-flex}.loadingWave span{transform-origin:bottom;background:linear-gradient(#2563eb,#0ea5e9);border-radius:3px;width:3px;height:100%;animation:1s ease-in-out infinite ldWave;display:block}.loadingWave span:first-child{animation-delay:0s}.loadingWave span:nth-child(2){animation-delay:.12s}.loadingWave span:nth-child(3){animation-delay:.24s}.loadingWave span:nth-child(4){animation-delay:.36s}.ldSize-sm .loadingWave{height:14px}.ldSize-sm .loadingWave span{width:2.5px}.ldSize-lg .loadingWave{height:28px}.ldSize-lg .loadingWave span{width:4px}@keyframes ldWave{0%,to{opacity:.5;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.loadingSkeleton{flex-direction:column;gap:10px;padding:4px 0;display:flex}.loadingSkeletonBlock{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 40%,#f8fafc 50%,#e2e8f0 60%,#f1f5f9 100%) 0 0/200% 100%;border-radius:7px;width:100%;height:14px;animation:1.6s ease-in-out infinite ldShimmer}@keyframes ldShimmer{0%{background-position:100%}to{background-position:-100%}}.loadingPage{background:radial-gradient(circle at 50% 0,#2563eb0f,#0000 60%),#fff;border:1px solid #94a3b82e;border-radius:20px;justify-content:center;align-items:center;min-height:240px;padding:40px 24px;display:flex;box-shadow:0 8px 32px #0f172a0a}.loadingPageInner{flex-direction:column;align-items:center;gap:16px;display:flex}.loadingPageText{color:#64748b;letter-spacing:.04em;margin:0;font-size:14px;font-weight:600;animation:1.6s ease-in-out infinite ldFade}.ldSize-lg.loadingPage{min-height:360px}.ldSize-lg .loadingPageText{font-size:16px}@keyframes ldFade{0%,to{opacity:.55}50%{opacity:1}}
