/* 蓝辰：清晰的蓝白工作空间，保留状态本身的识别色。 */
:root{--green:#3478f6;--green-dark:#2563db;--ink:#25334d;--muted:#71829d;--line:#e5ebf5;--bg:#f3f6fc;--radius:18px}
body{background:radial-gradient(ellipse at 85% 0,#eaf1ff 0,transparent 40%),var(--bg);color:var(--ink)}
.sidebar{background:#ffffffed;border-color:#e5ebf5;padding-top:30px}
.brand b{color:#284d85;letter-spacing:3px}.brand>span:last-child:not(.brandmark){color:#8a9bb7;letter-spacing:1.5px}
.brandmark{background:linear-gradient(145deg,#4e93ff,#2d63e3);box-shadow:0 5px 12px #3478f624;border-radius:11px}
.workspace{background:#f6f8fe;border-color:#e9eef8}.workspace-icon{background:#e7efff;color:#5a80c4}.workspace small{color:#8697b4}
.nav-caption{color:#9aa8bf}.nav-item{color:#7c8ca6;transition:background .2s,color .2s;position:relative}
.nav-item:hover{background:#f2f6ff;color:#4373bc}.nav-item.active{background:linear-gradient(90deg,#e9f1ff,#f1f6ff);color:#3478f6}
.nav-item.active:before{content:'';position:absolute;left:-20px;top:12px;bottom:12px;width:3px;border-radius:4px;background:#3478f6}
.nav-count{background:#dce9ff;color:#4b78b8}.sidebar-note{background:linear-gradient(150deg,#f1f6ff,#f7f9fe);border-color:#e5edfb}
.sidebar-note>.icon,.sidebar-note button{color:#6d90c8}.sidebar-note b{color:#5b759d}.sidebar-note p{color:#94a6c2}
.user-menu small{color:#91a0b7}.topbar{background:#ffffffc9;border-color:#e5ebf5;backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}
.breadcrumb{color:#95a3b9}.breadcrumb b{color:#607695}.breadcrumb span{color:#cad5e5}.eyebrow{color:#8ca1be;letter-spacing:2.1px}
.page-title h1{color:#263c60;font-size:27px;letter-spacing:.5px}.page-title p{color:#7d90ac}.page-actions .primary{box-shadow:0 5px 14px #3478f622}
.date-picker{border-color:#e1e9f6;color:#8097ba;box-shadow:0 2px 6px #1e437704}.date-picker input{color:#607ca5}
.welcome{background:linear-gradient(110deg,#edf4ff,#edf5ff 56%,#e6f1ff);border-color:#dbe8fd;box-shadow:0 3px 12px #2c66c106;border-radius:18px}
.welcome:after,.welcome:before{border-color:#d8e6fb}.welcome h2{color:#31578a;font-size:25px}.welcome p{color:#7a96ba}.welcome-kicker{color:#87a1c4}.welcome-kicker i{background:#a7bfdc}
.welcome-link{color:#5682be;font-weight:500}.welcome-ring{background:conic-gradient(#5b91eb var(--pct),#d8e5f8 0);box-shadow:0 0 0 10px #deebfc80}.welcome-ring>div{background:#edf5ff}.welcome-ring b{color:#477cbf}.welcome-ring span{color:#8da6c7}
.metric,.panel{border-color:#e5ebf5;box-shadow:0 4px 18px #254a8004;border-radius:14px}.metric{padding:19px 20px;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:0 7px 20px #254a800a}.metric strong{color:#2c4163;font-variant-numeric:tabular-nums}.metric>div{color:#7c8ea7}.metric p{color:#98a6ba;font-size:10px}
.panel-heading h2{color:#3d5272;font-size:14px}.panel-heading p{color:#95a4bb;font-size:11px}.count{color:#7591b6;background:#eff4fc}
.search-box{background:#f9fbff;border-color:#e6edf8;color:#a6b7ce}.search-box input::placeholder{color:#a8b6cc}.filters select{border-color:#e6edf8;color:#7b91ae}.filters input,.filters select{font-size:12px}
th{background:#f7faff;border-color:#edf1f8;color:#91a3bc;font-size:11px}td{border-color:#edf2f9;padding-top:18px;padding-bottom:18px}.task-title{font-size:13px;color:#4e6688}.task-meta{color:#99a9bf;font-size:10px;margin-top:7px}tbody tr:hover{background:#fafcff}.person-cell{color:#8195b1}.table-footer{border-color:#e9eef7;color:#98a9bf}.table-footer span{color:#a8b6c9}
.progress{background:#ecf1f8}.progress-wrap>span{color:#8a9fbd}.badge.blue{background:#edf4ff;color:#7298cc}.progress .blue{background:#83a9df}
.submission-progress small{color:#a0aec2}.team-row{border-color:#eff3f9}.team-row b{color:#5e7393}.team-row small{color:#9aabc2}.team-row b small{color:#7e9fc6;background:#edf4ff}.submission.draft{color:#c2a16a}.submission{color:#b0bbcc}
.panel-bottom{background:#f8faff;border-color:#e5edfa;color:#7c97bc}.personal-note{background:linear-gradient(135deg,#f1f5fe,#f7f9ff);border-color:#e3ebfa}.personal-note h3{color:#6c86ad}.personal-note p{color:#97a9c4}.personal-note b,.personal-note .text-btn{color:#7494c2}
.daily-toolbar,.board-tip{background:linear-gradient(100deg,#edf4ff,#f4f8ff);border-color:#dfeafb;color:#7390b6}.daily-toolbar>div:first-child>span:last-child{color:#8aa0bf}
.kanban-column{background:#edf2fa;border-color:#e5ecf7}.kanban-title b{color:#687e9f}.kanban-title .count{background:#e2eaf7}.kanban-card{border-color:#e1e9f6;box-shadow:0 3px 8px #30548804;border-radius:11px}.kanban-card:hover{border-color:#b7cff4;box-shadow:0 7px 18px #2d52880b}.kanban-card h3{color:#567091}.kanban-card>p{color:#94a5bd}.project-tag{background:#f1f5fc;color:#93a6c1}.card-bottom{border-color:#eff3fa}.card-bottom>span{color:#8ca1bd}.column-empty{color:#b0bfd3}
.settings-body label{color:#7890b2}.readonly-value{background:#f7faff;border-color:#e3ecfa;color:#8aa3c6}.report-info{background:#f3f7ff}.report-info b{color:#7495c3}.report-info p{color:#94a9c6}.report-document textarea{color:#546b8b;font-size:13px;line-height:2.15}.report-chip{background:#edf4ff;color:#87a6d1}.report-footer,.report-setting-footer{color:#a5b5cb;border-color:#e9eff8}
.member-card{border-color:#e3ebf7;border-radius:13px;background:linear-gradient(170deg,#fff,#fcfdff)}.member-card-top p{color:#a0b1c9}.role-tag{background:#eff4fc;color:#8ca2c2}.you-tag{background:#ecf4ff;color:#84a4cd}.member-details{color:#a8b7cc}.member-details b{color:#8097b9}.member-stats{border-color:#edf2fa}.member-stats span{color:#a0b2ca}.member-stats b{color:#6389bd}.member-actions button{color:#7897bf}
.empty>strong{color:#7f9bc1}.empty p{color:#a2b4cd}.empty>.icon{color:#a8c1e4}.page-footer{color:#afbdd0}.icon-btn:hover{background:#edf4ff;color:#3478f6}
input,textarea,select{border-color:#dfe7f5}input:focus,select:focus,textarea:focus{border-color:#8db3f3;box-shadow:0 0 0 3px #3478f610}input:disabled,textarea:disabled,select:disabled{background:#f7f9fd;color:#7d91ae}button:focus-visible,a:focus-visible{outline-color:#93b9f5}.modal-body label,.login-form label{color:#6b83a5}.modal-heading p{color:#96a9c4}.modal-footer{background:#f9fbff}.modal-heading,.modal-footer{border-color:#e6edf8}.modal-body output{color:#3478f6}
.login-story{background:radial-gradient(ellipse at 15% 20%,#e4efff,transparent 70%),linear-gradient(140deg,#eff5ff,#eaf2ff)}.login-story:before,.login-story:after{border-color:#d9e7fd}.story-content h1{color:#345c91}.story-content>.eyebrow{color:#8ea9cd}.story-content>p{color:#8ca5c9}.story-card{border-color:#d9e6fc;background:#f9fbffbb;box-shadow:0 12px 35px #3e70b008}.mini-label{border-color:#e3ecfa;color:#92abd0}.story-step>.icon{background:#e8f0ff;color:#85a7d9}.story-step b{color:#7597c7}.story-step div>span{color:#a2b6d2}.step-no{color:#cdddf4}.login-story footer{color:#99afd0}.login-form h2{color:#365780}.login-form-inner>p,.login-form .eyebrow{color:#94a9c6}.login-help{color:#a2b4ce}.demo-entry{border-color:#e9eff8}.demo-entry>span,.demo-entry small{color:#9eafc7}.demo-entry .secondary{background:#f6f9ff;border-color:#e2ebfa;color:#86a3ca}
#toast{background:#2e5d99;box-shadow:0 7px 25px #21416c25}#toast.error{background:#a96957}
@media(max-width:700px){.page-title h1{font-size:23px}.welcome h2{font-size:18px}.welcome p{font-size:11px}.metric{padding:14px 16px}.metric p{font-size:9px}.panel-heading h2{font-size:13px}.task-title{font-size:12px}.filters input,.filters select{font-size:10px}.login-story{padding-bottom:26px}.brand>span:last-child:not(.brandmark){font-size:8px}.report-document textarea{font-size:12px}.kanban-card h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){.metric{transition:none}.metric:hover{transform:none}}

/* 优先级与协作信息：文字、颜色和边线共同表达，避免仅靠颜色区分。 */
.priority-high{--priority-color:#bd3e50;--priority-bg:#fff0f3;--priority-line:#ef8d9c}
.priority-medium{--priority-color:#a16b13;--priority-bg:#fff6e7;--priority-line:#edc16f}
.priority-low{--priority-color:#4e7cbb;--priority-bg:#eef5ff;--priority-line:#9bbce8}
.priority-badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:4px 7px;font-size:10px;line-height:1.45;font-weight:550;background:var(--priority-bg);color:var(--priority-color);white-space:nowrap;border:1px solid color-mix(in srgb,var(--priority-line) 35%,transparent)}
.priority-badge i{height:5px;width:5px;display:block;border-radius:50%;background:currentColor;flex-shrink:0}
.priority-input{color:var(--priority-color);border-color:var(--priority-line);background:var(--priority-bg);font-weight:550}
.work-filters>.filters{padding-bottom:12px;flex-wrap:wrap}.work-filters .search-box{flex:1;min-width:145px}.work-filters select{width:102px}
.priority-legend{display:flex;align-items:center;gap:8px;padding:0 21px 16px;flex-wrap:wrap;font-size:10px;color:#91a3bd}
.priority-legend .priority-badge{font-size:9px;padding:3px 6px}.legend-note{margin-left:auto;font-size:9px;color:#a4b3c9}
.collaboration-table th,.collaboration-table td{padding-right:11px;padding-left:11px}.collaboration-table th:first-child,.collaboration-table td:first-child{padding-left:18px}
.collaboration-table .task-cell{min-width:175px;max-width:285px}.collaboration-table td:first-child{border-left:3px solid transparent}
.collaboration-table tr[data-priority=high] td:first-child{border-left-color:#e67d90}.collaboration-table tr[data-priority=medium] td:first-child{border-left-color:#e4b55d}.collaboration-table tr[data-priority=low] td:first-child{border-left-color:#94b6e6}
.collaboration-table tr[data-priority=high]{background:var(--table-high-bg)}.collaboration-table tr[data-priority=medium]{background:var(--table-medium-bg)}.collaboration-table tr[data-priority=low]{background:var(--table-low-bg)}
.collaboration-table tr[data-priority=high]:hover{background:var(--table-high-hover)}.collaboration-table tr[data-priority=medium]:hover{background:var(--table-medium-hover)}.collaboration-table tr[data-priority=low]:hover{background:var(--table-low-hover)}
.task-participants{min-width:125px;max-width:185px}.task-participants .person-cell{gap:6px}.person-cell>small{font-size:8px;color:#a3b3ca;font-weight:400}
.collaborator-summary{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:7px;max-width:185px;white-space:normal}.collaborator-summary>span{font-size:8px;color:#a4b5cc;flex-shrink:0}.collaborator-summary>b{font-size:9px;font-weight:400;color:#7b98c1;background:#f0f5fd;padding:1px 5px;border-radius:4px;line-height:1.7;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-role{display:inline-block;font-size:8px;padding:0 5px;color:#9aa9bf;border:1px solid #e6edf7;border-radius:4px;margin-left:4px;line-height:1.8}.task-role.shared{background:#edf3ff;color:#6d8dc3;border-color:#dce8fc}
.kanban-card[data-priority=high]{border-top:3px solid #e88a9c;background:linear-gradient(#fff9fb,#fff 70px)}.kanban-card[data-priority=medium]{border-top:3px solid #e5bb68;background:linear-gradient(#fffcf6,#fff 70px)}.kanban-card[data-priority=low]{border-top:3px solid #9abbe8;background:linear-gradient(#f8fbff,#fff 70px)}
.kanban-card .priority-badge{font-size:8px;gap:3px;padding:3px 5px}.kanban-card .priority-badge i{height:4px;width:4px}.kanban-card .task-role{margin-left:0;font-size:8px}
.card-collaborators{display:flex;gap:6px;align-items:flex-start;color:#90a8c9;font-size:9px;padding-top:10px;margin-top:9px;border-top:1px dashed #e6edf8;line-height:1.8}.card-collaborators .icon{width:12px;height:12px;margin-top:2px}.card-collaborators>span{overflow-wrap:anywhere}
.modal-body .collaborator-picker{margin:0 0 20px;padding:12px 13px 13px;border:1px solid #e0eafa;border-radius:11px;background:#f9fbff;min-width:0}
.collaborator-picker legend{padding:0 6px;font-size:12px;font-weight:500;color:#6a86ac}.collaborator-picker legend .icon{width:14px;height:14px;margin-right:5px}.collaborator-picker legend small{font-size:9px;font-weight:400;color:#a2b4ce;margin-left:5px}
.collaborator-picker-head{display:flex;gap:10px;align-items:center;margin:3px 0 11px}.modal-body .collaborator-search{display:flex;align-items:center;gap:5px;flex:1;margin:0;background:white;border:1px solid #e4ecf9;border-radius:7px;padding:6px 8px}.collaborator-search>.icon{height:13px;width:13px;color:#a4b8d3}.modal-body .collaborator-search input{font-size:11px;border:0;padding:0;margin:0;background:transparent;box-shadow:none}
#selected-collaborator-count{font-size:9px;color:#9bb0cc;white-space:nowrap}.collaborator-picker-head .text-btn{font-size:10px}
.collaborator-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:175px;overflow:auto}
.modal-body .collaborator-option{display:flex;gap:7px;align-items:center;margin:0;padding:8px;border-radius:8px;border:1px solid #e7eef9;background:white;cursor:pointer;min-width:0;transition:border-color .15s,background .15s}
.modal-body .collaborator-option.selected{background:#edf4ff;border-color:#bcd3f6}.modal-body .collaborator-option[hidden]{display:none!important}.modal-body .collaborator-option input[type=checkbox]{height:13px;width:13px;margin:0;padding:0;flex-shrink:0;accent-color:#3478f6;box-shadow:none}.collaborator-option .avatar{height:23px;width:23px;font-size:8px}.collaborator-option>span:last-child{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7792b8}
.collaborator-picker>p{font-size:9px;line-height:1.8;color:#9daec7;margin-top:11px}
.notification-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;position:relative;border:1px solid #e1eafa;border-radius:8px;background:#f9fbff;color:#7895bd;padding:6px 9px;font-size:10px;white-space:nowrap}.notification-button .icon{width:16px;height:16px}.notification-button:hover{background:#edf4ff;border-color:#c7dafa}.notification-button>b{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:8px;background:#ee7f8e;color:white;font-size:9px;font-weight:500;padding:0 4px;line-height:1}.notification-button>b[hidden]{display:none}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;border-bottom:1px solid #eaf0f9;color:#96a9c4;font-size:11px}.notification-toolbar .text-btn{font-size:11px}
.notification-list{max-height:65vh;overflow:auto;padding:10px 15px 15px}.notification-item{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #edf2fa;border-left:3px solid #e0e8f5;background:#fcfdff;border-radius:9px;text-align:left;padding:15px;margin:7px 0;color:#90a8c9}.notification-item.unread{background:#f3f7ff;border-left-color:#7ea8eb}.notification-item:hover{border-color:#c6d9f5;background:#edf4ff}.notification-item-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#e7f0ff;color:#89aadd;flex-shrink:0}.notification-item-icon .icon{width:17px;height:17px}.notification-item-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.notification-item-body>b{font-size:12px;color:#5b79a3;font-weight:500;overflow-wrap:anywhere}.notification-item-body>span{font-size:10px;color:#97adcb}.notification-item-body>small{font-size:9px;color:#acbbcf}.notification-item>.icon{width:14px;height:14px}.notification-unread-dot{width:5px;height:5px;border-radius:50%;background:#86a9e0;flex-shrink:0}
@media(max-width:1200px){.legend-note{display:none}.priority-legend{padding-inline:15px}.collaboration-table .task-cell{max-width:220px}.collaborator-summary{max-width:155px}.topbar-right{gap:12px}}
@media(max-width:700px){.notification-label{display:none}.notification-button{padding:6px;border:0;background:transparent;gap:3px}.topbar-right{gap:6px}.sync-state{font-size:8px;gap:5px}.priority-legend{padding:0 12px 13px;gap:6px}.work-filters .search-box{min-width:100%;flex-basis:100%}.work-filters select{flex:1;width:auto;min-width:82px}.priority-legend .priority-badge{font-size:8px}.collaborator-options{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body .collaborator-picker{padding-inline:10px}.collaborator-picker legend small{font-size:8px}.collaborator-picker-head{gap:7px}.collaborator-picker-head #selected-collaborator-count{font-size:8px}.collaborator-picker>p{font-size:8px}.collaboration-table .task-cell{min-width:165px}.collaboration-table .priority-badge{font-size:9px;padding:4px 6px}.collaboration-table .task-participants{min-width:125px}.kanban-card .card-top{flex-wrap:wrap;gap:6px}.kanban-card .project-tag{max-width:100%}.notification-item{padding:12px;gap:9px}.notification-toolbar{padding-inline:20px}.notification-list{padding:8px 10px 12px}}
.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.admin-summary article{background:linear-gradient(145deg,#fff,#f9fbff);border:1px solid #e2eaf7;border-radius:14px;padding:21px 23px;box-shadow:0 4px 16px #31558504}.admin-summary article>span{font-size:12px;color:#8ba0be}.admin-summary b{display:block;color:#4e70a3;font-size:31px;font-weight:550;margin:7px 0 5px}.admin-summary small{font-size:10px;color:#a0b1ca}.account-permissions{display:flex;gap:7px;flex-wrap:wrap;padding:13px 0 15px;border-top:1px solid #edf2fa;border-bottom:1px solid #edf2fa}.account-permissions span{color:#8ca5c7;background:#f1f6ff;padding:3px 7px;border-radius:5px;font-size:10px}.admin-account-card .member-actions{gap:15px;justify-content:flex-start;flex-wrap:wrap}.admin-account-card .member-actions .muted-danger{margin-left:auto}.admin-mode .sidebar-note{background:#f2f6ff}.permission-description{background:#f4f8ff;padding:16px;border:1px solid #e5edfb;border-radius:10px;color:#8ea4c3}.permission-description>b{font-size:12px;font-weight:500;color:#6e8fbd}.permission-description p{font-size:11px;line-height:1.9;margin-top:8px}.kanban-card .card-bottom{justify-content:flex-start}
@media(max-width:700px){.admin-summary{gap:10px;margin-bottom:18px}.admin-summary article{padding:13px 10px}.admin-summary article>span{font-size:10px}.admin-summary b{font-size:25px}.admin-summary small{font-size:8px;line-height:1.8;display:block}.admin-account-card .member-actions{gap:20px}}

/* 项目看板：紧凑卡片、按项目分组、每日记录。 */
.daily-variants{margin-top:10px;border-top:1px dashed #dce7f6;padding-top:8px;color:#7a93b4}.daily-variants>summary{font-size:10px;cursor:pointer;color:#7394bf}.daily-variants article{background:#fff;border:1px solid #e5edf9;border-radius:7px;margin-top:8px;padding:10px}.daily-variants article>header{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#7893b6}.daily-variants article small{font-size:9px;color:#a0b0c7}.daily-variants article p{font-size:11px;line-height:1.8;color:#6a84a6;white-space:pre-wrap;margin:6px 0 0;overflow-wrap:anywhere}.daily-variants article b{font-size:10px;font-weight:500;color:#96a9c4;margin-right:8px}.form-error>.text-btn{display:block;margin-top:8px;color:#397bda;font-size:11px}.merge-draft{background:#f2f7ff;border:1px solid #dce8f9;border-radius:10px;padding:12px;margin-bottom:18px;color:#6887ae;font-size:11px}.merge-draft summary{cursor:pointer}.merge-draft p{margin-top:9px}.merge-draft pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8;margin-top:5px}
.board-mode #page-eyebrow,.board-mode #page-subtitle{display:none}.board-mode .page-title{align-items:center}.board-mode .board-filters .priority-legend{display:none}
.project-expand{border:0;background:transparent;display:flex;gap:6px;align-items:center;color:#648bbf;font-size:10px;padding:8px 2px 0;margin-left:auto}.project-expand .icon{height:12px;width:12px}
.board-mode .content{padding-top:22px}.board-mode .page-title{margin-bottom:17px}.board-mode .page-title h1{font-size:26px}.board-mode .page-title p{margin-top:4px}.board-mode .page-title .eyebrow{margin-bottom:3px}
.board-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:13px}.board-view-switch{display:flex;background:#e8eef9;padding:3px;border-radius:9px}.board-view-switch button{border:0;background:transparent;border-radius:6px;color:#7085a5;padding:6px 13px;font-size:12px}.board-view-switch button.active{color:#2d6bd9;background:#fff;box-shadow:0 2px 5px #34588a0a}.board-toolbar>span{font-size:11px;color:#7085a5}.board-tools{margin-left:auto;display:flex;gap:8px}.board-tools .btn{padding:7px 11px;font-size:11px}.board-mode .board-filters{margin-bottom:14px}.board-mode .filters{padding:11px 14px;gap:8px;flex-wrap:wrap}.board-mode .filters select{width:112px;max-width:100%;padding:7px 8px;color:#587294}.board-mode .search-box{min-width:180px}.board-mode .priority-legend{padding:0 14px 10px}.board-mode .priority-legend .priority-badge{font-size:9px}
.project-board,.status-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,425px),1fr));gap:13px;align-items:start}.status-board{grid-template-columns:repeat(2,minmax(0,1fr))}.project-section{min-width:0;background:#ffffffc9;border:1px solid #dfe7f5;border-radius:12px;padding:13px;box-shadow:0 3px 13px #31558503}.project-heading{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.project-heading>div{min-width:0;flex:1}.project-heading h2{font-size:14px;line-height:1.4;display:flex;align-items:center;gap:7px;color:#355780;margin:0;font-weight:600}.project-heading h2>.icon{width:16px;height:16px;color:#6794cf;flex-shrink:0}.project-heading h2>span[title]{max-width:290px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-heading .count{font-size:10px;padding:1px 6px;background:#edf3fd;color:#6a88b2;flex-shrink:0}.project-heading p{font-size:10px;color:#7e93b1;margin-top:6px;display:flex;gap:12px;flex-wrap:wrap}.project-heading p>span{color:#5685c5}.project-heading>.text-btn{font-size:10px;flex-shrink:0;padding:1px 0;color:#4e7cbb}.project-heading>.text-btn .icon{width:12px;height:12px}.project-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;align-items:start}.compact-task{background:#fff;border:1px solid #e1e8f5;border-left:3px solid #a8c4e8;border-radius:8px;width:100%;min-width:0;padding:9px 10px;text-align:left;box-shadow:0 2px 5px #31558502;transition:border-color .15s,box-shadow .15s}.compact-task:hover{border-color:#84afe8;box-shadow:0 3px 10px #31558510}.compact-task[data-priority=high]{border-left-color:#de728c;background:linear-gradient(100deg,#fff8fb,#fff 70%)}.compact-task[data-priority=medium]{border-left-color:#d6a951;background:linear-gradient(100deg,#fffcf5,#fff 70%)}.compact-task[data-priority=low]{border-left-color:#82a9dc;background:linear-gradient(100deg,#f8fbff,#fff 70%)}.compact-top{display:flex;gap:5px;justify-content:space-between;align-items:center}.compact-status{font-size:10px;color:#6b819e;display:flex;gap:5px;align-items:center}.compact-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.compact-status.blue{color:#5a87c9}.compact-status.green{color:#648561}.compact-status.orange{color:#b58c47}.compact-task .priority-badge{font-size:9px;padding:2px 5px;gap:3px;flex-shrink:0}.compact-task .priority-badge i{height:4px;width:4px}.compact-task h3{font-size:12px;color:#3c587d;font-weight:550;line-height:1.5;margin:6px 0 8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.compact-progress .progress{height:4px}.compact-progress .progress-wrap{gap:7px}.compact-progress .progress-wrap>span{font-size:9px;width:29px;color:#7c94b3}.compact-bottom{display:flex;align-items:center;gap:5px;margin-top:8px;color:#7b93b3;font-size:9px;min-width:0}.compact-bottom>span:first-child{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.compact-bottom .icon{height:12px;width:12px;flex-shrink:0}.compact-bottom small{font-size:9px;white-space:nowrap;color:#91a3bb}.compact-blocker{color:#ca9750;flex-shrink:0}.project-empty{color:#9bacc2;font-size:11px;padding:10px;margin:0}.completed-section{border-top:1px dashed #e1e9f5;margin-top:10px;padding-top:8px}.completed-section summary{font-size:11px;cursor:pointer;color:#7e92ad;padding:2px 0;user-select:none}.completed-section summary b{font-size:11px;color:#5d81b0;font-weight:500}.completed-section summary>span{float:right;font-size:10px;color:#91a8c5}.completed-section[open]>.project-task-grid{margin-top:9px}.status-board .completed-section{margin-top:0}.board-mode .page-footer{padding-top:18px}
.project-field{display:flex;gap:10px;align-items:center;min-width:0}.project-field>label{flex:1;min-width:0}.project-field>.text-btn{font-size:11px;white-space:nowrap;margin-top:5px}.new-project-fields{display:flex;gap:10px;align-items:center;padding:12px;background:#f2f7ff;border:1px solid #deebfc;border-radius:10px;margin:0 0 20px}.new-project-fields[hidden]{display:none!important}.new-project-fields>label{flex:1;margin:0;min-width:0}.new-project-fields>.btn,.new-project-fields>.text-btn{font-size:11px;white-space:nowrap}.field-hint{display:block;color:#95a8c3;font-weight:400;font-size:10px;margin-top:2px}.auto-carry-hint{font-size:10px;color:#7d95b5}
.task-history{border-top:1px solid #e7edf7;padding-top:17px;margin-top:5px}.task-history>h3{font-size:12px;display:flex;gap:6px;align-items:center;color:#6a89b0;margin:0 0 10px}.task-history>h3 .icon{height:14px;width:14px}#task-history-list{max-height:260px;overflow:auto;font-size:11px;color:#8ca2c0}.daily-entry{border:1px solid #e4ecf8;border-radius:9px;padding:12px;margin:0 0 9px;background:#fafcff}.daily-entry>header{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:11px;color:#8299b7}.daily-entry>header>b{font-weight:500;color:#557bac}.daily-entry>header>.text-btn{font-size:12px;color:#456d9d;text-align:left;font-weight:500;margin-right:auto}.daily-entry>header>.badge{font-size:10px}.daily-entry>p{font-size:12px;line-height:1.8;margin:8px 0 0;color:#587397;white-space:pre-wrap;overflow-wrap:anywhere}.daily-context{font-size:11px;color:#8095b2;margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.daily-context>b{font-size:10px;color:#8da4c5;font-weight:500;margin-right:8px}
#modal:has(.history-results),#modal:has(.project-history-list){width:860px}.history-search{padding:18px 24px;display:grid;grid-template-columns:minmax(180px,1fr) 145px 145px auto;gap:10px;align-items:end;border-bottom:1px solid #e7eef9}.history-search label{font-size:11px;color:#7891b2}.history-search input{display:block;width:100%;padding:8px 9px;margin-top:5px;font-size:11px;border-radius:7px}.history-search .btn{padding:8px 12px;font-size:11px}.history-search .form-error{grid-column:1/-1;margin:0}.history-results{padding:9px 23px;max-height:53vh;overflow:auto}.history-result{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #eaf0f9;padding:14px 0}.history-result>div{min-width:0;flex:1}.history-project{color:#6791c5;background:#eff5ff;padding:2px 6px;border-radius:4px;font-size:10px}.history-result h3{font-size:13px;line-height:1.6;color:#476b97;margin:6px 0 3px;overflow-wrap:anywhere}.history-result p{font-size:10px;color:#8ca1bd;margin:0}.history-result small{font-size:11px;color:#8299b6;display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.history-result>.btn{font-size:11px;padding:7px 11px;flex-shrink:0}#history-more,#project-history-more{text-align:center;padding:8px 0 18px}#history-more:empty,#project-history-more:empty{display:none}.project-history-list{padding:18px 24px;max-height:65vh;overflow:auto;color:#8aa0bd;font-size:12px}.project-day>h3{display:flex;align-items:center;gap:7px;margin:0 0 11px;color:#527bac;font-size:13px}.project-day>h3>.icon{width:15px;height:15px}.project-day>h3>small{margin-left:auto;color:#99adc8;font-size:10px;font-weight:400}.project-day+.project-day{margin-top:22px}
@media(min-width:1600px){.project-board{grid-template-columns:repeat(auto-fit,minmax(470px,1fr))}.compact-task{padding:10px 12px}.compact-task h3{font-size:13px}}
@media(max-width:900px){.project-board{grid-template-columns:1fr}.status-board{grid-template-columns:1fr 1fr}.status-board .project-task-grid{grid-template-columns:1fr}.history-search{grid-template-columns:1fr 1fr}.history-search>label:first-child{grid-column:1/-1}.project-heading h2>span[title]{max-width:230px}}
@media(max-width:700px){.board-mode .content{padding-top:17px}.board-mode .page-title h1{font-size:22px}.board-toolbar{gap:9px}.board-toolbar>span{font-size:10px}.board-tools{width:100%;margin-left:0;justify-content:space-between}.board-tools .btn{font-size:10px}.board-mode .filters{padding:10px;gap:7px}.board-mode .filters select{min-width:0;flex-basis:calc(50% - 7px);font-size:10px}.board-mode .search-box{min-width:100%}.board-mode .priority-legend{padding:0 10px 9px;gap:5px}.project-section{padding:10px}.project-heading h2{font-size:13px}.project-heading h2>span[title]{max-width:185px}.project-heading p{font-size:9px}.project-heading>.text-btn{font-size:9px}.project-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.compact-task{padding:8px}.compact-task h3{font-size:11px;-webkit-line-clamp:2;min-height:33px}.compact-status,.compact-task .priority-badge{font-size:8px}.compact-bottom{font-size:8px;flex-wrap:wrap}.compact-bottom small{font-size:8px}.compact-bottom>span:first-child{flex-basis:100%}.compact-progress .progress-wrap>span{font-size:8px}.status-board{grid-template-columns:1fr}.status-board .project-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-field{align-items:flex-start;gap:7px}.project-field>.text-btn{margin-top:20px;font-size:10px}.new-project-fields{gap:7px;flex-wrap:wrap}.new-project-fields>label{flex-basis:100%}.history-search{padding:14px 18px;gap:8px}.history-search label{font-size:10px}.history-search input{min-width:0}.history-results{padding:7px 18px}.history-result{gap:8px}.history-result>.btn{font-size:10px;padding:6px 8px}.project-history-list{padding:15px 18px}.daily-entry{padding:10px}.daily-entry>p{font-size:11px}.auto-carry-hint{display:none}}

/* 蓝辰 · 清晰、轻盈、克制。全部样式与字体均在本地提供。 */
:root{--green:#0071e3;--green-dark:#0066cc;--ink:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;--bg:#f5f5f7;--radius:18px;--ease:cubic-bezier(.2,.8,.2,1)}
body{background:radial-gradient(ellipse at 90% 0,#eaf1ff80,transparent 45%),#f5f5f7;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#cce4ff;color:#133a66}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0071e380;outline-offset:3px}button:disabled{cursor:default}
.sidebar{background:#ffffffdc;border-right:1px solid #dfe2e8;backdrop-filter:blur(22px);padding-top:28px}.brand b{color:#183b63;font-weight:700}.brand>span:last-child:not(.brandmark){color:#64748b}.brandmark{background:linear-gradient(140deg,#369cff,#0066d6);box-shadow:0 5px 14px #0071e329;border-radius:11px}
.workspace{background:#f5f7fb;border:1px solid #e6eaf1;border-radius:13px;padding:14px 12px}.workspace-icon{background:#e7f1ff;color:#0066cc;border-radius:10px}.workspace b{color:#293b51;font-size:12px}.workspace small{color:#6b7482;font-size:10px}.nav-caption{color:#747c88;font-size:10px;letter-spacing:1px}
.nav-item{color:#535c68;font-size:13px;border-radius:11px;transition:background .2s,color .2s,transform .2s var(--ease)}.nav-item:hover{background:#edf2fa;color:#1d4f8a;transform:translateX(2px)}.nav-item.active{background:#e8f1ff;color:#0066cc;font-weight:600}.nav-item.active:before{background:#0071e3;width:3px}.nav-count{background:#d5e7ff;color:#005cb9;font-size:10px}
.sidebar-note{background:linear-gradient(140deg,#edf4ff,#f5f3ff);border:1px solid #e0e9fa;border-radius:16px}.sidebar-note b{color:#3b526f;font-size:12px}.sidebar-note p{color:#64748b;font-size:11px}.sidebar-note>.icon,.sidebar-note button{color:#0066cc}.sidebar-note button{font-size:11px}.user-menu{background:#fff9;border-color:#e5e7ec}.user-menu b{color:#283647;font-size:12px}.user-menu small{color:#707985;font-size:10px}.avatar{font-weight:600;box-shadow:inset 0 0 0 1px #00000003}.av0{background:#e8e7ff;color:#6454a9}.av1{background:#e8f1df;color:#507735}.av2{background:#fff0de;color:#9a6227}.av3{background:#e5effc;color:#386ba9}.av4{background:#f7e6ed;color:#a45176}
.topbar{background:#fafafcdb;border-bottom:1px solid #e2e5eb;backdrop-filter:blur(22px) saturate(150%)}.breadcrumb{color:#737b88;font-size:11px}.breadcrumb b{color:#323e4e;font-weight:500}.breadcrumb span{color:#b1b8c3}.sync-state{color:#65746a;font-size:10px}.live-dot{background:#28a36e;box-shadow:0 0 0 3px #28a36e12;animation:lanchen-breathe 3s ease-in-out infinite}.live-dot.offline{background:#b7791f;box-shadow:0 0 0 3px #b7791f12;animation:none}.eyebrow{color:#64748b;font-size:10px;letter-spacing:1.7px}
.page-title h1{color:#1d1d1f;font-size:31px;letter-spacing:-.7px;line-height:1.25;font-weight:650}.page-title p{color:#6e6e73;font-size:12px;line-height:1.7}.page-title{margin-bottom:24px}.page-footer{font-size:10px;color:#747d8b;border-color:#e1e5ed}.content{padding-top:28px}
.btn{border-radius:999px;min-height:36px;padding:9px 17px;font-size:12px;font-weight:500;gap:7px;border:1px solid transparent;transition:background .2s,box-shadow .22s var(--ease),transform .22s var(--ease),border-color .2s;color:#303b4a;white-space:nowrap}.btn.primary{color:#fff;background:linear-gradient(180deg,#0872d5,#0071e3);border-color:#0071e3;box-shadow:0 3px 8px #0071e326,inset 0 1px #ffffff30}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#0066cc,#005fc7);box-shadow:0 6px 15px #0071e332;transform:translateY(-1px)}.btn.secondary{background:#ffffffdf;color:#344256;border-color:#d9dfe9;box-shadow:0 1px 3px #1d1d1f04}.btn.secondary:hover:not(:disabled){border-color:#a8c7ec;background:#f4f8ff;color:#0066cc;box-shadow:0 4px 10px #31537b0b;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)!important;box-shadow:0 1px 4px #00000009}.btn:disabled{opacity:.6;transform:none;box-shadow:none}.btn .icon{width:16px;height:16px;transition:transform .25s var(--ease)}.btn[data-action=new]:hover>.icon{transform:rotate(90deg)}.btn.is-busy:after{content:'';width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:lanchen-spin .65s linear infinite;flex-shrink:0}
.btn.danger-btn{background:#c72b41;color:#fff;border-color:#c72b41;box-shadow:0 3px 8px #c72b4118}.btn.danger-btn:hover{background:#b32336}.text-btn{color:#0066cc;font-size:11px;transition:color .2s,background .2s}.text-btn:hover{color:#004b9a}.text-btn .icon{transition:transform .2s var(--ease)}.text-btn:hover .icon:last-child{transform:translateX(3px)}.text-btn.danger,.text-btn.muted-danger{color:#b52840}.icon-btn{border-radius:50%;color:#64748b;transition:background .2s,color .2s,transform .2s var(--ease)}.icon-btn:hover{background:#e7f1ff;color:#0066cc;transform:translateY(-1px)}.icon-btn:active{transform:scale(.92)}.icon-btn[data-action=logout]:hover{background:#ffedf0;color:#b72840}
.date-picker{border:1px solid #dfe4ed;border-radius:999px;background:#fff;box-shadow:0 2px 5px #1d1d1f03;padding:7px 12px;color:#66788f}.date-picker input{color:#3f4d60;font-size:11px}.notification-button{border:1px solid #dfe5ef;border-radius:999px;background:#fff;color:#4f647e;font-size:11px;padding:7px 11px;transition:background .2s,transform .2s var(--ease),box-shadow .2s}.notification-button:hover{background:#f0f6ff;border-color:#bad5f6;color:#0066cc;box-shadow:0 3px 9px #0066cc0d;transform:translateY(-1px)}.notification-button>b{background:#d92e4e;font-size:10px;color:#fff}
.panel,.metric{background:#fff;border:1px solid #e2e5eb;border-radius:18px;box-shadow:0 3px 12px #24334d04}.panel-heading{border-color:#eceef2}.panel-heading h2{font-size:15px;color:#253347;font-weight:600}.panel-heading p{font-size:11px;color:#6c7685}.count{background:#edf2f9;color:#526b8c;font-size:10px;border-radius:7px}.subtle{color:#69778a;font-size:11px}.metric{padding:18px 20px;position:relative;overflow:hidden}.metric>div{color:#5c6675;font-size:12px}.metric strong{font-size:32px;font-weight:600;letter-spacing:-.8px;color:#223047}.metric strong small{font-size:11px;color:#798391;letter-spacing:0}.metric p{font-size:11px;color:#6d7888}.metric:hover{box-shadow:0 9px 24px #2538560c;transform:translateY(-3px)}.metric-icon{border-radius:11px}.metric-icon.gray{color:#6662b2;background:#efedff}.metric-icon.green{color:#17805b;background:#e8f6ef}.metric-icon.blue{color:#0066cc;background:#eaf3ff}.metric-icon.orange{color:#a16a10;background:#fff4dc}
.welcome{border-radius:22px;background:radial-gradient(ellipse at 85% 35%,#dfdcff95,transparent 45%),linear-gradient(115deg,#f5f9ff,#edf4ff 60%,#e9efff);border:1px solid #dfe8f8;box-shadow:0 4px 16px #3d66a507}.welcome h2{color:#234468;font-size:27px;letter-spacing:-.5px;font-weight:600}.welcome p{color:#576d88;font-size:12px}.welcome-kicker{color:#5d7798;font-size:10px}.welcome-link{color:#0066cc;font-size:12px}.welcome-ring{background:conic-gradient(#0071e3 var(--pct),#d9e6fa 0);box-shadow:0 0 0 9px #ffffff65,0 10px 22px #426b9a10}.welcome-ring>div{background:#f0f4ff}.welcome-ring b{color:#225b9c}.welcome-ring span{color:#5e789a;font-size:10px}.personal-note{border-radius:18px;background:linear-gradient(130deg,#edf4ff,#f4f0ff);border-color:#e0e7f6}.personal-note h3{color:#3e5275}.personal-note p{color:#60728c}.personal-note b,.personal-note .text-btn{color:#0066cc}
.search-box{background:#f5f6f8;border:1px solid #e6e8ee;border-radius:11px;color:#7b8796}.search-box:focus-within{border-color:#79b4ee;box-shadow:0 0 0 3px #0071e30d;background:#fff}.search-box input{color:#334155;font-size:12px}.search-box input::placeholder{color:#768295}.filters select{background:#fff;border:1px solid #dfe4ed;border-radius:10px;color:#46566c;font-size:11px}.filters select:hover{border-color:#b4c8e1}.filters{gap:9px}.task-title{color:#253a56;font-size:13px;line-height:1.6}.task-title:hover{color:#0066cc}.task-meta{color:#6b7b91;font-size:10px}.task-role{color:#3669a8;background:#edf4ff;border-color:#dce9fc}.task-role.shared{color:#62529d;background:#f2edff;border-color:#e6dff7}th{background:#f6f8fb;color:#5d6f87;font-size:11px}td{color:#43566f;border-color:#edf0f5;padding-block:16px}tbody tr:hover{background:#f6f9ff}.person-cell{color:#4f6380}.person-cell>small{color:#77879c}.collaborator-summary{color:#677c97}.collaborator-summary>span{color:#667d9b}.collaborator-summary>b{color:#536e92;background:#f0f5fc}.table-footer,.table-footer span{color:#6b7c94;font-size:10px}.team-row b{color:#344c6a}.team-row small{color:#6b7f9b}.submission{color:#6f7c91}.submission.draft{color:#946b18;background:#fff8e7}.submission.submitted{color:#1c7a59;background:#edf8f1}.submission-progress small{color:#75869d}.panel-bottom{background:#f7faff;color:#2462a7;border-color:#e4ecf7}.daily-toolbar{background:#eef5ff;border-color:#dae7fa;color:#436b99}.daily-toolbar>div:first-child>span:last-child{color:#657f9e}.auto-carry-hint{color:#657f9e}
.priority-badge{font-weight:550;letter-spacing:.1px}.priority-high,.priority-badge.priority-high{background:#fff0f2;color:#ac263e;border-color:#f5c6cf}.priority-medium,.priority-badge.priority-medium{background:#fff7e5;color:#88600f;border-color:#efdcad}.priority-low,.priority-badge.priority-low{background:#edf5ff;color:#1c5f9e;border-color:#cde0f7}.priority-high i{background:#d83f5e}.priority-medium i{background:#bc8a19}.priority-low i{background:#387dc7}.priority-legend{color:#6e7f97}.legend-note{color:#76869c}
.badge.blue{color:#1d65af;background:#eaf3ff}.badge.green{color:#19734f;background:#e8f6ee}.badge.orange{color:#976315;background:#fff3da}.badge.gray{color:#626d7d;background:#eff1f5}.progress{background:#e9eef5}.progress .blue{background:linear-gradient(90deg,#3994ef,#0071e3)}.progress .green{background:#2b9b73}.progress .orange{background:#c7942e}.progress .gray{background:#9aa7bb}.progress-wrap>span{color:#5c708d;font-variant-numeric:tabular-nums}.status-dot.blue{background:#0071e3}.status-dot.green{background:#229a6d}.status-dot.orange{background:#c68b26}.status-dot.gray{background:#9aa3af}
.board-mode .content{padding-top:23px}.board-mode .page-title{margin-bottom:18px}.board-mode .page-title h1{font-size:30px;letter-spacing:-.8px}.board-toolbar{gap:13px;margin-bottom:14px}.board-view-switch{background:#e9ecf2;border:1px solid #e0e4eb;border-radius:999px;padding:3px}.board-view-switch button{font-size:11px;color:#667185;border-radius:999px;padding:7px 14px;transition:background .2s,color .2s,box-shadow .2s,transform .2s}.board-view-switch button.active{background:#fff;color:#174a85;font-weight:600;box-shadow:0 2px 5px #12213e10}.board-view-switch button:hover:not(.active){color:#263b56;background:#ffffff70}.board-view-switch button:active{transform:scale(.96)}.board-toolbar>span{font-size:11px;color:#64738a}.board-tools .btn{font-size:11px;padding:7px 13px;min-height:33px}.board-filters{border-radius:15px;background:#ffffffd9;box-shadow:0 2px 10px #27345003}.board-mode .filters{padding:11px 13px;gap:8px}.board-mode .filters select{color:#48596f;font-size:11px;padding:8px;width:110px}.board-mode .search-box{border-radius:10px}.project-board,.status-board{gap:14px}
.project-section{--project-accent:#0066cc;--project-soft:#eaf3ff;--project-haze:#f5f9ff;background:#fff;border:1px solid #dfe5ee;border-radius:18px;padding:14px;box-shadow:0 3px 12px #2c3e5905;overflow:hidden;position:relative;transition:box-shadow .25s var(--ease),border-color .25s}.project-section:before{content:'';position:absolute;top:0;left:24px;right:24px;height:2px;background:linear-gradient(90deg,transparent,var(--project-accent),transparent);opacity:.32}.project-section[data-tone=indigo]{--project-accent:#6850b5;--project-soft:#efebff;--project-haze:#f8f6ff}.project-section[data-tone=teal]{--project-accent:#197f82;--project-soft:#e6f6f4;--project-haze:#f2fbf9}.project-section[data-tone=rose]{--project-accent:#b45174;--project-soft:#fcecf2;--project-haze:#fff7fa}.project-section[data-tone=amber]{--project-accent:#986817;--project-soft:#fff4dc;--project-haze:#fffaf0}.project-section:hover{border-color:#cbd7e6;box-shadow:0 6px 20px #2c3e590b}.project-heading{margin-bottom:12px;gap:10px;align-items:flex-start}.project-heading h2{font-size:15px;font-weight:600;color:#283951;gap:8px;line-height:1.4}.project-heading h2>.icon{width:29px;height:29px;padding:6px;border-radius:9px;color:var(--project-accent);background:var(--project-soft)}.project-heading h2>span[title]{max-width:240px}.project-heading .count{background:var(--project-soft);color:var(--project-accent);font-size:10px;border-radius:6px;padding:2px 6px}.project-heading .project-summary-line{margin-top:8px;gap:7px;align-items:center;line-height:1.35}.project-summary-line .project-stat{color:#5a6e89;background:#f3f6fa;border-radius:5px;padding:3px 5px;font-size:9px;white-space:nowrap}.project-stat>b{font-weight:600;color:#3d577a;margin-left:3px}.project-summary-line .project-stat.done{background:#edf7f2;color:#42775f}.project-stat.done>b{color:#25734d}.project-summary-line .project-stat.blocked{background:#fff5df;color:#946919}.project-stat.blocked>b{color:#a16b12}.project-summary-line .project-average{color:#63738b;font-size:10px;padding:3px 0;white-space:nowrap}.project-average>b{font-weight:600;color:var(--project-accent);font-variant-numeric:tabular-nums}.project-heading>.text-btn{color:var(--project-accent);font-size:10px;padding:6px 0;white-space:nowrap}.project-task-grid{gap:9px}
.compact-task{padding:10px 11px;border:1px solid #e4e9f1;border-left:3px solid #88b5e5;border-radius:11px;background:#fbfdff;box-shadow:0 1px 3px #29395103;transition:transform .22s var(--ease),border-color .22s,box-shadow .22s var(--ease),background .2s;isolation:isolate}.compact-task[data-priority=high]{border-left-color:#dc4869;background:linear-gradient(115deg,#fff4f7,#fff 88%)}.compact-task[data-priority=medium]{border-left-color:#c79b37;background:linear-gradient(115deg,#fffaef,#fff 88%)}.compact-task[data-priority=low]{border-left-color:#4d91d6;background:linear-gradient(115deg,#f0f7ff,#fff 88%)}.compact-task:hover{transform:translateY(-3px);border-color:#bbcee7;box-shadow:0 8px 16px #24466e12;z-index:1}.compact-task:active{transform:translateY(-1px) scale(.985);box-shadow:0 2px 5px #24466e0b}.compact-top{gap:7px}.compact-status{font-size:10px;color:#6e7786;font-weight:450}.compact-status.blue{color:#276cae}.compact-status.green{color:#257b56}.compact-status.orange{color:#a06a17}.compact-task .priority-badge{font-size:9px;padding:2px 6px;font-weight:550;border-radius:6px}.compact-task h3{color:#253b57;font-size:13px;font-weight:550;line-height:1.5;margin:6px 0 8px;letter-spacing:.05px}.compact-task .progress{height:5px;border-radius:9px}.compact-progress .progress-wrap>span{color:#5c7391;font-size:10px}.compact-bottom{font-size:10px;margin-top:8px;gap:5px;color:#596d87}.compact-bottom>span:first-child{color:#596d87}.compact-bottom small{color:#5f718a;font-size:9px}.compact-blocker{color:#ae7d20}.completed-section{border-color:#e3e9f2;margin-top:11px;padding-top:8px}.completed-section summary{font-size:11px;color:#60738e}.completed-section summary b{color:#2f7355}.completed-section summary>span{font-size:10px;color:#72839c}.completed-section[open]>.project-task-grid{animation:lanchen-reveal .2s var(--ease)}.project-expand{color:var(--project-accent);font-size:10px;padding-top:9px}.project-expand:hover{color:#0056ad}.project-empty,.column-empty{color:#7c899c;font-size:11px}
.report-document{background:#fff;border-radius:20px;box-shadow:0 6px 24px #283a5006}.report-document textarea{font-size:14px;line-height:1.95;color:#263a55;letter-spacing:.1px;background:#fff;padding:24px 27px}.report-chip{color:#0066cc;background:#eaf3ff}.settings-body label{font-size:12px;color:#4e6381}.readonly-value{background:#f5f8fc;color:#435e83;border-color:#e3eaf4}.report-info{border-radius:13px;background:#f2f6fc}.report-info b{color:#4c6e99;font-size:12px}.report-info p{color:#627a99;font-size:11px;line-height:1.9}.report-footer,.report-setting-footer{font-size:10px;color:#6a7d97}.report-tools{gap:5px}.report-tools .icon-btn{background:#f4f7fc}.report-tools .icon-btn:hover{background:#e6f1ff}.admin-summary article{border-radius:18px;border-color:#e1e6ef;background:#fff;box-shadow:0 3px 12px #243b5304}.admin-summary article>span{color:#64748b;font-size:12px}.admin-summary b{color:#263f65;font-size:34px;font-weight:600}.admin-summary small{color:#73829b;font-size:11px}.admin-summary article:nth-child(2){background:linear-gradient(140deg,#fff,#f0f9f7)}.admin-summary article:nth-child(3){background:linear-gradient(140deg,#fff,#f5f0ff)}.member-card{background:#fff;border:1px solid #e2e8f1;border-radius:16px}.member-card-top h3{color:#344a68}.member-card-top p{color:#74859c}.member-details{color:#778ba7}.member-details b{color:#4e6a8e}.role-tag,.you-tag{color:#3c6fae;background:#ecf4ff}.account-permissions span{background:#eff5fd;color:#53769f}.member-actions button{color:#0066cc}.permission-description{background:#f2f7ff;color:#657e9f}.permission-description>b{color:#456f9f}
input,select,textarea{color:#263f60;border:1px solid #d9e2ee;border-radius:10px;transition:border-color .2s,box-shadow .2s,background .2s}input::placeholder,textarea::placeholder{color:#8493a9}input:focus,select:focus,textarea:focus{border-color:#71adea;box-shadow:0 0 0 4px #0071e312;outline:0}input:disabled,select:disabled,textarea:disabled{color:#697b92;background:#f3f6fa;opacity:.85}.modal-body label,.login-form label{color:#445c7c;font-size:12px}.modal-body input,.modal-body select,.modal-body textarea{font-size:12px;line-height:1.7}.modal-body output{color:#0066cc;font-weight:600}.modal-heading h2{color:#293e5b;font-weight:600;letter-spacing:-.3px}.modal-heading p{color:#6a819f;font-size:11px}.modal-heading,.modal-footer{border-color:#e7ecf4}.modal-footer{background:#f8faff;border-radius:0 0 20px 20px}#modal{border:1px solid #dfe6f0;border-radius:20px;box-shadow:0 24px 80px #172e5730,0 4px 20px #172e5710}#modal::backdrop{background:#14243d55;backdrop-filter:blur(5px)}#modal[open]{animation:lanchen-dialog .22s var(--ease)}.field-hint{color:#6f84a0;font-size:10px}.form-error{color:#b52840;font-size:11px}.new-project-fields{border-radius:13px;background:#eff6ff;border-color:#dce9fa}.project-field>.text-btn{font-size:11px}.modal-body .collaborator-picker{background:#f6f9fe;border-color:#e0e8f3;border-radius:13px}.collaborator-picker legend{color:#456c9d;font-size:11px}.collaborator-picker legend small,.collaborator-picker>p{color:#6e85a4}.modal-body .collaborator-option{border-color:#e0e8f3;border-radius:9px;background:#fff;transition:background .18s,border-color .18s,box-shadow .18s}.modal-body .collaborator-option:hover{border-color:#a6c9f0;background:#f7fbff}.modal-body .collaborator-option.selected{border-color:#96bdec;background:#eaf3ff;box-shadow:0 2px 4px #0071e309}.collaborator-option>span:last-child{color:#466791;font-size:11px}#selected-collaborator-count{color:#6481a6}.collaborator-picker-head .text-btn{font-size:10px}
.task-history>h3{color:#4b6a93;font-size:13px}.daily-entry{background:#f7faff;border-color:#e1eaf6;border-radius:12px}.daily-entry>header{color:#627f9f;font-size:11px}.daily-entry>header>b{color:#2f649d;font-weight:600}.daily-entry>p{color:#385675;font-size:12px;line-height:1.85}.daily-entry>header>.text-btn{color:#285e98;font-size:12px}.daily-context{color:#607c9b}.daily-context>b{color:#4d709b;font-size:10px}.daily-variants>summary{color:#587da7}.daily-variants article p{color:#4d6d92}.daily-variants article small{color:#7288a4}.project-day>h3{color:#336b9f;font-size:13px}.project-day>h3>small{color:#6c83a1}.history-search label{color:#577496;font-size:11px}.history-result h3{color:#2e517c;font-size:13px}.history-project{color:#3b70ad;background:#eaf3ff}.history-result p{color:#6c829e;font-size:11px}.history-result small{color:#627e9f;font-size:11px}.notification-toolbar{color:#627c9b}.notification-item{border-radius:12px;background:#f8faff}.notification-item.unread{background:#edf5ff;border-left-color:#3787e4}.notification-item-body>b{color:#355b8a;font-size:13px}.notification-item-body>span{color:#617f9f;font-size:11px}.notification-item-body>small{color:#778ca7;font-size:10px}.empty>strong{color:#526f94;font-size:15px}.empty p{color:#6c83a2;font-size:12px}
.login-story{background:radial-gradient(ellipse at 15% 20%,#e1edff,transparent 60%),radial-gradient(ellipse at 90% 80%,#e8e1ff,transparent 65%),#f1f5fd}.story-content h1{font-weight:650;color:#27456e;letter-spacing:-1.5px}.story-content>p{color:#607c9f;font-size:13px}.story-content>.eyebrow{color:#5e7da5}.story-card{background:#ffffff9c;border-color:#dbe6f7;border-radius:20px;box-shadow:0 14px 40px #4b6d9b09}.story-step b{color:#4e6f99}.story-step div>span{color:#718bad}.story-step>.icon{color:#4b81c1;background:#e8f1ff}.step-no{color:#aac3e3}.login-form-inner>p,.login-help{color:#6b7f9a}.login-form-inner>h2{color:#253e60;font-weight:600}.login-form-inner>.eyebrow{color:#5f7da2}.login-form-inner .btn{min-height:43px;font-size:13px}.login-story footer{color:#6e87a6}.mini-label{color:#607fa6}.login-form-inner{animation:lanchen-reveal .4s var(--ease)}
@keyframes lanchen-reveal{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes lanchen-dialog{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lanchen-spin{to{transform:rotate(360deg)}}@keyframes lanchen-breathe{0%,100%{box-shadow:0 0 0 3px #28a36e10}50%{box-shadow:0 0 0 5px #28a36e05}}
@media(hover:none){.compact-task:hover,.metric:hover,.nav-item:hover,.btn.primary:hover:not(:disabled),.btn.secondary:hover:not(:disabled),.icon-btn:hover{transform:none}.compact-task:hover{box-shadow:0 1px 3px #29395103}}
@media(min-width:1600px){.project-board{gap:18px}.project-section{padding:17px}.project-heading h2{font-size:16px}.compact-task h3{font-size:14px}.compact-task{padding:11px 13px}.project-summary-line .project-stat{font-size:10px}}
@media(max-width:1200px){.project-heading h2>span[title]{max-width:210px}.board-mode .filters select{font-size:10px;width:105px}.project-summary-line .project-stat{font-size:9px}.project-heading .project-summary-line{gap:5px}.project-heading h2{font-size:14px}.compact-task h3{font-size:12px}.project-heading>.text-btn{font-size:9px}}
@media(max-width:900px){.project-heading h2>span[title]{max-width:300px}.board-mode .filters .search-box{flex-basis:100%}.board-mode .filters select{flex:1;width:auto}.status-board .project-heading h2{font-size:14px}.project-heading .project-summary-line{gap:7px}.compact-task h3{font-size:13px}}
@media(max-width:700px){.content{padding-top:23px}.topbar{height:60px}.breadcrumb{font-size:10px}.page-title h1{font-size:25px}.page-title p{font-size:11px}.page-actions .btn{padding:8px 11px;min-height:34px;font-size:11px}.date-picker{padding:6px 8px}.date-picker input{font-size:10px}.btn{font-size:11px;padding:8px 13px;min-height:34px}.board-mode .page-title h1{font-size:25px}.board-mode .content{padding-top:20px}.board-mode .page-title{margin-bottom:15px}.board-toolbar{gap:9px;margin-bottom:12px}.board-tools{gap:7px}.board-tools .btn{font-size:10px;padding:7px 12px;min-height:32px}.board-toolbar>span{font-size:10px}.board-view-switch button{font-size:10px;padding:6px 12px}.board-mode .filters{padding:10px;gap:7px}.board-mode .filters select{font-size:11px;min-width:0;flex-basis:calc(50% - 7px);border-radius:9px;padding:7px}.board-mode .filters .search-box input{font-size:11px}.project-section{padding:12px;border-radius:16px}.project-board{gap:12px}.project-heading h2{font-size:14px;gap:6px}.project-heading h2>.icon{width:26px;height:26px;padding:5px;border-radius:8px}.project-heading h2>span[title]{max-width:185px}.project-heading>.text-btn{font-size:10px;padding:4px 0}.project-summary-line .project-stat{font-size:9px;padding:3px 4px}.project-heading .project-summary-line{gap:5px;margin-top:7px}.project-summary-line .project-average{font-size:9px}.project-task-grid{gap:7px}.compact-task{padding:9px 8px;border-radius:10px}.compact-task h3{font-size:12px;margin:5px 0 7px;min-height:36px}.compact-status,.compact-task .priority-badge{font-size:9px}.compact-task .priority-badge{padding:2px 4px}.compact-bottom{font-size:9px}.compact-bottom small{font-size:9px}.compact-progress .progress-wrap>span{font-size:9px}.project-expand{font-size:10px}.completed-section summary{font-size:10px}.completed-section summary>span{font-size:9px}.notification-button{padding:6px;border:0;box-shadow:none;background:transparent}.sync-state{font-size:9px}.notification-label{display:none}.report-document textarea{font-size:13px;padding:20px;line-height:1.95}.welcome h2{font-size:20px}.welcome p{font-size:11px}.metric strong{font-size:28px}.metric p{font-size:10px}.metric>div{font-size:11px}.admin-summary b{font-size:27px}.admin-summary article>span{font-size:11px}.admin-summary small{font-size:9px}.modal-heading p{font-size:10px}.modal-heading h2{font-size:18px}.project-field>.text-btn{font-size:10px}.project-history-list{padding:15px 18px}.daily-entry>p{font-size:12px}.login-story{padding-bottom:25px}.story-content h1{font-size:33px;letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.compact-task:hover,.metric:hover,.nav-item:hover,.icon-btn:hover,.btn:hover{transform:none!important}}
@media print{#print-area{font-family:"Microsoft YaHei",sans-serif;color:#111}}

/* 全站配色。浅色使用柔和色底，深色保持相同的信息层级与语义色。 */
:root{color-scheme:light;--app-bg:#eaf0f7;--app-glow:#dce8fb90;--surface:#eff4fb;--surface-raised:#f6f8fd;--surface-soft:#e5edf8;--surface-muted:#dce6f4;--control-bg:#f4f7fd;--control-disabled:#e5ecf6;--reading-bg:#f5f8fd;--fg:#22364f;--fg-secondary:#526983;--fg-muted:#647993;--border:#d1ddeb;--border-soft:#dce5f2;--link:#0064c7;--link-hover:#004d9e;--selection:#d3e5fc;--focus:#0071e326;--shadow:0 4px 16px #263f6207;--shadow-strong:0 12px 30px #263f6212;--blue-bg:#dfedff;--blue-ink:#225e9c;--green-bg:#dfefe6;--green-ink:#256e4e;--amber-bg:#fbefd7;--amber-ink:#8a6018;--gray-bg:#e4eaf3;--gray-ink:#5f6d80;--violet-bg:#eae4fc;--violet-ink:#68509f;--danger-bg:#fce7ee;--danger-ink:#ac2b48;--danger-border:#efc6d2;--task-high:#fff0f4;--task-medium:#fcf3df;--task-low:#e8f2ff;--priority-high-bg:#ffe2e9;--priority-high-ink:#a62542;--priority-medium-bg:#f8eac8;--priority-medium-ink:#7d570e;--priority-low-bg:#dcecff;--priority-low-ink:#205d98;--toast-bg:#254e41;--toast-fg:#edf9f2;--green:#0071e3;--green-dark:#0066cc;--ink:var(--fg);--muted:var(--fg-muted);--line:var(--border);--bg:var(--app-bg)}
:root[data-theme=dark]{color-scheme:dark;--app-bg:#0d1521;--app-glow:#1b325350;--surface:#172334;--surface-raised:#1c2b3f;--surface-soft:#1b2c41;--surface-muted:#253a55;--control-bg:#121f30;--control-disabled:#1e2d41;--reading-bg:#121e2e;--fg:#e5edf9;--fg-secondary:#bac9dd;--fg-muted:#94a8c2;--border:#344962;--border-soft:#2a3e57;--link:#85bfff;--link-hover:#b6d9ff;--selection:#294d77;--focus:#81b9ff35;--shadow:0 5px 18px #0000001c;--shadow-strong:0 14px 34px #00000032;--blue-bg:#213c5d;--blue-ink:#a9d2ff;--green-bg:#1e3c33;--green-ink:#9cdbbc;--amber-bg:#423521;--amber-ink:#f2d18c;--gray-bg:#29374b;--gray-ink:#c0ccdd;--violet-bg:#322e51;--violet-ink:#ccbcff;--danger-bg:#442b3b;--danger-ink:#ffb0c5;--danger-border:#77445b;--task-high:#302332;--task-medium:#302b24;--task-low:#192e46;--priority-high-bg:#512d40;--priority-high-ink:#ffc0d1;--priority-medium-bg:#4b3b24;--priority-medium-ink:#f8d995;--priority-low-bg:#244365;--priority-low-ink:#b0d7ff;--toast-bg:#233d5c;--toast-fg:#e1efff;--green:#76b5ff;--green-dark:#a8d0ff}
html[data-theme] body{background:radial-gradient(ellipse at 90% 0,var(--app-glow),transparent 50%),var(--app-bg);color:var(--fg)}
html[data-theme] ::selection{background:var(--selection);color:var(--fg)}
html[data-theme] .sidebar,html[data-theme] .topbar{background:var(--surface-raised);border-color:var(--border)}
html[data-theme] .user-menu{background:var(--surface-raised);border-color:var(--border)}
html[data-theme] :is(.workspace,.sidebar-note,.personal-note,.daily-toolbar,.board-tip,.report-info,.permission-description,.new-project-fields,.merge-draft){background:var(--surface-soft);border-color:var(--border-soft);color:var(--fg-secondary)}
html[data-theme] :is(.panel,.metric,.member-card,.admin-summary article,.board-filters,.report-document,.story-card,.kanban-column){background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
html[data-theme] :is(.metric,.project-section,.member-card):hover{box-shadow:var(--shadow-strong)}
html[data-theme] :is(.brand b,.page-title h1,.panel-heading h2,.project-heading h2,.compact-task h3,.metric strong,.welcome h2,.member-card-top h3,.personal-note h3,.modal-heading h2,.empty>strong,.login-form h2,.story-content h1,.admin-summary b,.task-title,.kanban-card h3,.team-row b,.user-menu b,.workspace b){color:var(--fg)}
html[data-theme] :is(.page-title p,.panel-heading p,.metric>div,.welcome p,.member-card-top p,.personal-note p,.modal-heading p,.empty p,.login-form-inner>p,.story-content>p,.story-step b,.sidebar-note b,.user-menu small,.workspace small,.breadcrumb b,.person-cell,.member-details b){color:var(--fg-secondary)}
html[data-theme] :is(.eyebrow,.nav-caption,.breadcrumb,.sync-state,.page-footer,.metric p,.task-meta,.table-footer,.table-footer span,.subtle,.team-row small,.sidebar-note p,.report-footer,.report-setting-footer,.admin-summary article>span,.admin-summary small,.member-details,.login-help,.login-story footer,.story-step div>span,.welcome-kicker,.legend-note,.priority-legend,.auto-carry-hint){color:var(--fg-muted)}
html[data-theme] :is(.story-content>.eyebrow,.login-form-inner>.eyebrow,.mini-label){color:var(--fg-secondary);border-color:var(--border)}
html[data-theme] .nav-item{color:var(--fg-secondary)}html[data-theme] .nav-item:hover{background:var(--surface-soft);color:var(--link)}html[data-theme] .nav-item.active{background:var(--blue-bg);color:var(--blue-ink)}html[data-theme] .nav-item.active:before{background:var(--link)}
html[data-theme] :is(.nav-count,.workspace-icon,.report-chip,.role-tag,.you-tag,.account-permissions span){background:var(--blue-bg);color:var(--blue-ink)}
html[data-theme] :is(.text-btn,.welcome-link,.sidebar-note button,.personal-note .text-btn,.member-actions button){color:var(--link)}html[data-theme] :is(.text-btn,.task-title):hover{color:var(--link-hover)}
html[data-theme] :is(.text-btn.danger,.text-btn.muted-danger,.form-error){color:var(--danger-ink)}html[data-theme] .form-error>.text-btn{color:var(--link)}
html[data-theme] .btn.secondary{background:var(--surface-raised);border-color:var(--border);color:var(--fg-secondary);box-shadow:var(--shadow)}html[data-theme] .btn.secondary:hover:not(:disabled){background:var(--blue-bg);border-color:var(--link);color:var(--blue-ink);box-shadow:var(--shadow-strong)}
html[data-theme] .btn.primary{background:linear-gradient(#0872d5,#0071e3);border-color:#1678dc;color:#fff}html[data-theme] .btn.primary:hover:not(:disabled){background:linear-gradient(#0066cc,#005fc7);color:#fff}html[data-theme] .btn.danger-btn{background:#ba2b48;color:#fff;border-color:#ba2b48}
html[data-theme] .icon-btn{color:var(--fg-muted)}html[data-theme] .icon-btn:hover{color:var(--link);background:var(--blue-bg)}html[data-theme] .icon-btn[data-action=logout]:hover{color:var(--danger-ink);background:var(--danger-bg)}
html[data-theme] .notification-button{color:var(--fg-secondary);border-color:var(--border);background:var(--control-bg)}html[data-theme] .notification-button:hover{color:var(--link);border-color:var(--link);background:var(--blue-bg)}
html[data-theme] :is(input,select,textarea,.date-picker,.search-box,.readonly-value){background:var(--control-bg);color:var(--fg);border-color:var(--border)}html[data-theme] :is(input,select,textarea)::placeholder{color:var(--fg-muted)}
html[data-theme] :is(input,select,textarea):focus{border-color:var(--link);box-shadow:0 0 0 4px var(--focus)}html[data-theme] :is(input,select,textarea):disabled{background:var(--control-disabled);color:var(--fg-muted)}
html[data-theme] input[type=range]{background:transparent;box-shadow:none;accent-color:var(--link)}html[data-theme] input[type=checkbox]{accent-color:#3183dc}
html[data-theme] :is(.date-picker input,.search-box input){background:transparent;color:var(--fg);border:0;box-shadow:none}html[data-theme] .search-box:focus-within{background:var(--control-bg);border-color:var(--link);box-shadow:0 0 0 3px var(--focus)}
html[data-theme] .filters select,html[data-theme] .board-mode .filters select{color:var(--fg-secondary);border-color:var(--border);background:var(--control-bg)}html[data-theme] select option{background:var(--control-bg);color:var(--fg)}
html[data-theme] :is(.modal-body label,.login-form label,.settings-body label,.history-search label){color:var(--fg-secondary)}html[data-theme] :is(.modal-body output,.personal-note b){color:var(--link)}html[data-theme] .field-hint{color:var(--fg-muted)}
html[data-theme] .board-view-switch{background:var(--surface-muted);border-color:var(--border)}html[data-theme] .board-view-switch button{color:var(--fg-secondary)}html[data-theme] .board-view-switch button.active{background:var(--surface-raised);color:var(--link);box-shadow:var(--shadow)}html[data-theme] .board-view-switch button:hover:not(.active){background:var(--surface-soft);color:var(--fg)}html[data-theme] .board-toolbar>span{color:var(--fg-muted)}
html[data-theme] .project-section{--project-accent:#2868ac;--project-soft:#dbe9fb;--project-haze:#e7f0fd;background:linear-gradient(135deg,var(--project-haze),var(--surface));border-color:var(--border);box-shadow:var(--shadow)}
html[data-theme] .project-section[data-tone=indigo]{--project-accent:#6a54ac;--project-soft:#e3ddf8;--project-haze:#efebfb}
html[data-theme] .project-section[data-tone=teal]{--project-accent:#237e7a;--project-soft:#d5ebe6;--project-haze:#e4f3ee}
html[data-theme] .project-section[data-tone=rose]{--project-accent:#a94e72;--project-soft:#f2dce6;--project-haze:#f9ebf1}
html[data-theme] .project-section[data-tone=amber]{--project-accent:#94671b;--project-soft:#f6e7c6;--project-haze:#faf1de}
html[data-theme=dark] .project-section{--project-accent:#96c8ff;--project-soft:#244367;--project-haze:#192d45}
html[data-theme=dark] .project-section[data-tone=indigo]{--project-accent:#c4b2ff;--project-soft:#383158;--project-haze:#27263d}
html[data-theme=dark] .project-section[data-tone=teal]{--project-accent:#88d2c9;--project-soft:#244642;--project-haze:#182e30}
html[data-theme=dark] .project-section[data-tone=rose]{--project-accent:#f1b2cb;--project-soft:#493349;--project-haze:#302434}
html[data-theme=dark] .project-section[data-tone=amber]{--project-accent:#e7ca8c;--project-soft:#4c3e2a;--project-haze:#302c25}
html[data-theme] .project-heading>.text-btn{color:var(--project-accent)}html[data-theme] .project-heading .count,html[data-theme] .project-heading h2>.icon{color:var(--project-accent);background:var(--project-soft)}html[data-theme] .project-expand{color:var(--project-accent)}
html[data-theme] .project-summary-line .project-stat{background:var(--gray-bg);color:var(--gray-ink)}html[data-theme] .project-stat>b{color:inherit}html[data-theme] .project-summary-line .project-stat.done{background:var(--green-bg);color:var(--green-ink)}html[data-theme] .project-summary-line .project-stat.blocked{background:var(--amber-bg);color:var(--amber-ink)}html[data-theme] .project-summary-line .project-average{color:var(--fg-muted)}html[data-theme] .project-average>b{color:var(--project-accent)}
html[data-theme] .compact-task{background:var(--surface-raised);border-color:var(--border);box-shadow:0 1px 4px #00000005}html[data-theme] .compact-task[data-priority=high],html[data-theme] .kanban-card[data-priority=high]{background:var(--task-high);border-left-color:#d44769}html[data-theme] .compact-task[data-priority=medium],html[data-theme] .kanban-card[data-priority=medium]{background:var(--task-medium);border-left-color:#bb8d2b}html[data-theme] .compact-task[data-priority=low],html[data-theme] .kanban-card[data-priority=low]{background:var(--task-low);border-left-color:#498bcf}html[data-theme] .compact-task:hover{border-color:var(--link);box-shadow:var(--shadow-strong)}
html[data-theme] :is(.compact-status,.compact-bottom,.compact-bottom>span:first-child,.compact-bottom small,.compact-progress .progress-wrap>span){color:var(--fg-secondary)}html[data-theme] .compact-status.blue{color:var(--blue-ink)}html[data-theme] .compact-status.green{color:var(--green-ink)}html[data-theme] .compact-status.orange,html[data-theme] .compact-blocker{color:var(--amber-ink)}
html[data-theme] .priority-badge.priority-high,html[data-theme] .priority-input.priority-high{background:var(--priority-high-bg);color:var(--priority-high-ink);border-color:var(--danger-border)}html[data-theme] .priority-badge.priority-medium,html[data-theme] .priority-input.priority-medium{background:var(--priority-medium-bg);color:var(--priority-medium-ink);border-color:var(--border)}html[data-theme] .priority-badge.priority-low,html[data-theme] .priority-input.priority-low{background:var(--priority-low-bg);color:var(--priority-low-ink);border-color:var(--border)}
html[data-theme] .progress{background:var(--surface-muted)}html[data-theme] .progress-wrap>span{color:var(--fg-secondary)}html[data-theme=dark] .progress .blue{background:linear-gradient(90deg,#4c94e2,#83b9f6)}html[data-theme=dark] .progress .green{background:#64bd94}html[data-theme=dark] .progress .orange{background:#dbb361}
html[data-theme] :is(.completed-section,.card-bottom,.card-collaborators){border-color:var(--border)}html[data-theme] .completed-section summary{color:var(--fg-secondary)}html[data-theme] .completed-section summary>b{color:var(--green-ink)}html[data-theme] .completed-section summary>span,html[data-theme] :is(.project-empty,.column-empty){color:var(--fg-muted)}
html[data-theme] .count,html[data-theme] .project-tag{background:var(--surface-muted);color:var(--fg-secondary)}html[data-theme] .kanban-title b,html[data-theme] .card-bottom>span,html[data-theme] .kanban-card>p{color:var(--fg-secondary)}
html[data-theme] .badge.blue,html[data-theme] .metric-icon.blue{background:var(--blue-bg);color:var(--blue-ink)}html[data-theme] .badge.green,html[data-theme] .metric-icon.green{background:var(--green-bg);color:var(--green-ink)}html[data-theme] .badge.orange,html[data-theme] .metric-icon.orange{background:var(--amber-bg);color:var(--amber-ink)}html[data-theme] .badge.gray{background:var(--gray-bg);color:var(--gray-ink)}html[data-theme] .metric-icon.gray{background:var(--violet-bg);color:var(--violet-ink)}
html[data-theme] .task-role,html[data-theme] .collaborator-summary>b{background:var(--blue-bg);color:var(--blue-ink);border-color:var(--border-soft)}html[data-theme] .task-role.shared{background:var(--violet-bg);color:var(--violet-ink)}html[data-theme] :is(.collaborator-summary,.collaborator-summary>span,.person-cell>small){color:var(--fg-secondary)}
html[data-theme] th{background:var(--surface-soft);color:var(--fg-secondary);border-color:var(--border-soft)}html[data-theme] td{color:var(--fg-secondary);border-color:var(--border-soft)}html[data-theme] tbody tr:hover{background:var(--surface-soft)}html[data-theme] :is(.panel-heading,.table-footer,.team-row,.account-permissions,.member-stats,.page-footer){border-color:var(--border-soft)}
html[data-theme] .submission{color:var(--fg-muted)}html[data-theme] .submission.draft{background:var(--amber-bg);color:var(--amber-ink)}html[data-theme] .submission.submitted{background:var(--green-bg);color:var(--green-ink)}html[data-theme] .submission-progress small{color:var(--fg-muted)}html[data-theme] .panel-bottom{background:var(--surface-soft);color:var(--link);border-color:var(--border)}
html[data-theme] .admin-summary article:nth-child(2){background:linear-gradient(135deg,var(--surface),var(--green-bg))}html[data-theme] .admin-summary article:nth-child(3){background:linear-gradient(135deg,var(--surface),var(--violet-bg))}
html[data-theme] .welcome{background:radial-gradient(ellipse at 85% 35%,var(--violet-bg),transparent 50%),linear-gradient(115deg,var(--surface),var(--blue-bg));border-color:var(--border);box-shadow:var(--shadow)}html[data-theme] .welcome:after,html[data-theme] .welcome:before{border-color:var(--border-soft)}html[data-theme] .welcome-ring{background:conic-gradient(var(--link) var(--pct),var(--surface-muted) 0);box-shadow:0 0 0 9px var(--surface-soft)}html[data-theme] .welcome-ring>div{background:var(--surface)}html[data-theme] .welcome-ring b{color:var(--link)}html[data-theme] .welcome-ring span{color:var(--fg-secondary)}
html[data-theme] .report-document textarea{background:var(--reading-bg);color:var(--fg)}html[data-theme] .report-info b{color:var(--link)}html[data-theme] .report-info p{color:var(--fg-secondary)}html[data-theme] .report-tools .icon-btn{background:var(--surface-soft)}html[data-theme] .report-tools .icon-btn:hover{background:var(--blue-bg);color:var(--link)}html[data-theme] :is(.report-footer,.report-setting-footer){border-color:var(--border-soft)}
html[data-theme] #modal{background:var(--surface-raised);border-color:var(--border);color:var(--fg);box-shadow:0 24px 80px #00000038}html[data-theme] #modal::backdrop{background:#06111f70}html[data-theme] :is(.modal-heading,.modal-footer,.task-history,.history-search,.history-result,.notification-toolbar){border-color:var(--border)}html[data-theme] .modal-footer{background:var(--surface-soft)}
html[data-theme] .modal-body .collaborator-picker{background:var(--surface-soft);border-color:var(--border)}html[data-theme] .collaborator-picker legend{color:var(--link)}html[data-theme] :is(.collaborator-picker legend small,.collaborator-picker>p,#selected-collaborator-count){color:var(--fg-muted)}html[data-theme] .modal-body .collaborator-search{background:var(--control-bg);border-color:var(--border)}html[data-theme] .modal-body .collaborator-option{background:var(--control-bg);border-color:var(--border)}html[data-theme] .modal-body .collaborator-option:hover{background:var(--surface-raised);border-color:var(--link)}html[data-theme] .modal-body .collaborator-option.selected{background:var(--blue-bg);border-color:var(--link)}html[data-theme] .collaborator-option>span:last-child{color:var(--fg-secondary)}
html[data-theme] .daily-entry{background:var(--surface-soft);border-color:var(--border)}html[data-theme] .daily-entry>header,html[data-theme] .daily-entry>p{color:var(--fg-secondary)}html[data-theme] .daily-entry>header>b,html[data-theme] .daily-entry>header>.text-btn{color:var(--link)}html[data-theme] .daily-context{color:var(--fg-secondary)}html[data-theme] .daily-context>b{color:var(--fg-muted)}html[data-theme] .daily-variants{color:var(--fg-secondary);border-color:var(--border)}html[data-theme] .daily-variants>summary{color:var(--link)}html[data-theme] .daily-variants article{background:var(--surface);border-color:var(--border)}html[data-theme] .daily-variants article p,html[data-theme] .daily-variants article>header{color:var(--fg-secondary)}html[data-theme] .daily-variants article small,html[data-theme] .daily-variants article b{color:var(--fg-muted)}
html[data-theme] :is(.task-history>h3,.project-day>h3,.history-result h3){color:var(--fg)}html[data-theme] :is(.project-day>h3>small,.history-result p,.history-result small,#task-history-list){color:var(--fg-secondary)}html[data-theme] .history-project{background:var(--blue-bg);color:var(--blue-ink)}
html[data-theme] .notification-list{background:var(--surface-raised)}html[data-theme] .notification-toolbar{color:var(--fg-secondary)}html[data-theme] .notification-item{background:var(--surface);border-color:var(--border)}html[data-theme] .notification-item.unread{background:var(--blue-bg);border-left-color:var(--link)}html[data-theme] .notification-item-icon{background:var(--surface-soft);color:var(--link)}html[data-theme] .notification-item-body>b{color:var(--fg)}html[data-theme] .notification-item-body>span{color:var(--fg-secondary)}html[data-theme] .notification-item-body>small{color:var(--fg-muted)}
html[data-theme] .login-layout,html[data-theme] .login-form{background:var(--surface-raised)}html[data-theme] .login-story{background:radial-gradient(ellipse at 15% 20%,var(--blue-bg),transparent 60%),radial-gradient(ellipse at 90% 80%,var(--violet-bg),transparent 65%),var(--surface)}html[data-theme] .login-story:before,html[data-theme] .login-story:after{border-color:var(--border-soft)}html[data-theme] .story-step>.icon{background:var(--blue-bg);color:var(--link)}html[data-theme] .step-no{color:var(--fg-muted)}html[data-theme] .loading{color:var(--fg-secondary)}
html[data-theme=dark] .av0{background:#352f50;color:#c8baff}html[data-theme=dark] .av1{background:#2d4031;color:#b7d596}html[data-theme=dark] .av2{background:#46372c;color:#e5bf91}html[data-theme=dark] .av3{background:#293b54;color:#add1ff}html[data-theme=dark] .av4{background:#483044;color:#edb8d2}
html[data-theme] #toast{background:var(--toast-bg);color:var(--toast-fg);border:1px solid var(--border);box-shadow:var(--shadow-strong)}html[data-theme] #toast.error{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-border)}
.theme-dock{position:fixed;top:20px;right:24px;z-index:25}.signed-in .theme-dock{display:none}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);background:var(--control-bg);color:var(--fg-secondary);padding:7px 10px;border-radius:999px;font:inherit;font-size:10px;line-height:1.4;white-space:nowrap;box-shadow:var(--shadow);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.theme-toggle>.icon{width:14px;height:14px;color:var(--link);flex-shrink:0}.theme-toggle:hover{border-color:var(--link);background:var(--blue-bg);color:var(--fg);box-shadow:var(--shadow-strong)}.theme-toggle:active{transform:scale(.96)}.theme-toggle-track{width:28px;height:17px;display:inline-block;border-radius:20px;background:var(--surface-muted);border:1px solid var(--border);position:relative;flex-shrink:0}.theme-toggle-track>i{display:block;position:absolute;left:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#f7fbff;box-shadow:0 1px 3px #14243d35;transition:transform .22s var(--ease),background .22s}.theme-toggle[aria-checked=true] .theme-toggle-track{background:#3979c3;border-color:#6c9bd2}.theme-toggle[aria-checked=true] .theme-toggle-track>i{transform:translateX(10px)}.theme-toggle[aria-checked=false] .theme-toggle-track>i{background:#7c98bb}
.theme-toggle--compact{padding:6px 8px;box-shadow:none}.theme-toggle--compact .theme-toggle-label{display:none}.modal-tools{display:flex;align-items:center;gap:9px;flex-shrink:0}.modal-heading>div:first-child{min-width:0}.modal-tools>.icon-btn{flex-shrink:0}
.theme-switching body,.theme-switching :is(.sidebar,.topbar,.panel,.metric,.project-section,.compact-task,.member-card,.login-layout,.login-form,.login-story,.story-card,.modal-body,.modal-footer,.date-picker,.search-box,input,textarea,select,.theme-toggle,.report-info,.daily-entry){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
@media(max-width:700px){.theme-dock{top:14px;right:14px}.theme-dock .theme-toggle{padding:7px 10px}.topbar-right{gap:5px}.topbar-right .theme-toggle{padding:6px;gap:5px;box-shadow:none}.topbar-right .theme-toggle-label{display:none}.topbar-right .sync-state{font-size:0;gap:0}.topbar-right .sync-state .live-dot{width:6px;height:6px;margin:0 3px}.topbar-right .theme-toggle>.icon{width:13px;height:13px}.modal-tools{gap:5px}.modal-tools .theme-toggle>.icon{display:none}.modal-tools .theme-toggle{padding:5px 6px}.modal-heading{gap:10px}.modal-heading p{overflow-wrap:anywhere}html[data-theme] .notification-button{background:transparent}.theme-dock+.login-layout{padding-top:0}.login-form{position:relative}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-track>i,.theme-switching body,.theme-switching :is(.sidebar,.topbar,.panel,.metric,.project-section,.compact-task,.member-card,.login-form,.login-story,.modal-footer,input,textarea,select){transition:none!important}.theme-toggle:active{transform:none}}
@media print{html[data-theme]{color-scheme:light}html[data-theme] body,html[data-theme] #print-area{background:#fff!important;color:#111!important}.theme-dock,.theme-toggle{display:none!important}}

html[data-theme] .compact-task .compact-status.blue{color:var(--blue-ink)}html[data-theme] .compact-task .compact-status.green{color:var(--green-ink)}html[data-theme] .compact-task .compact-status.orange{color:var(--amber-ink)}html[data-theme] .project-summary-line .project-stat.doing{background:var(--blue-bg);color:var(--blue-ink)}

/* 配色立即成套更新，避免背景与文字分别过渡时出现短暂低对比。 */
html.theme-switching,html.theme-switching *{transition:none!important}
html.theme-switching .theme-toggle-track>i{transition:transform .22s ease!important}
html.theme-switching .theme-toggle>.icon{animation:theme-icon-pop .22s ease}
@keyframes theme-icon-pop{from{opacity:.4;transform:rotate(-25deg) scale(.85)}to{opacity:1;transform:rotate(0) scale(1)}}
@media(prefers-reduced-motion:reduce){html.theme-switching .theme-toggle-track>i{transition:none!important}html.theme-switching .theme-toggle>.icon{animation:none!important}}

/* 表格优先级行和悬停使用同一组主题色，避免早期固定浅色覆盖深色配色。 */
:root{--table-high-bg:#f8edf3;--table-medium-bg:#f7f2e7;--table-low-bg:#eaf2fd;--table-high-hover:#f0e1ed;--table-medium-hover:#f0e8d8;--table-low-hover:#dfeafb}
:root[data-theme=dark]{--table-high-bg:#272638;--table-medium-bg:#1e2c3e;--table-low-bg:#192d44;--table-high-hover:#343047;--table-medium-hover:#2a3b52;--table-low-hover:#263f5a}

html[data-theme] .card-blocker,html[data-theme] .demo-label{background:var(--amber-bg);color:var(--amber-ink);border-color:var(--border)}
html[data-theme] .team-row b small{background:var(--blue-bg);color:var(--blue-ink)}
html[data-theme] .metric strong small{color:var(--fg-muted)}
html[data-theme] .confirm-content p{color:var(--fg-secondary)}

/* 75 寸投屏：在 100% 浏览器缩放下提供接近普通界面 175% 的阅读字号。 */
.presentation-switch{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border,#c9d6e8);border-radius:999px;background:var(--surface,#edf3fb);color:var(--fg,#203149);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .18s,transform .18s}
.presentation-switch:hover{background:var(--blue-bg,#dceaff);transform:translateY(-1px)}
.presentation-switch:focus-visible{outline:3px solid var(--blue-ink,#1874d2);outline-offset:3px}
.presentation-switch>i{width:28px;height:16px;border-radius:10px;background:var(--border,#acbdd2);position:relative}
.presentation-switch>i:after{content:'';position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--surface,#fff)}
.presentation-switch[aria-checked=true]{background:var(--blue-bg);color:var(--blue-ink);border-color:var(--blue-ink)}
.presentation-switch[aria-checked=true]>i{background:var(--blue-ink)}
.presentation-switch[aria-checked=true]>i:after{left:15px}
.presentation-mode{overflow:hidden}
.presentation-mode #app,.presentation-mode #theme-dock{display:none!important}
#presentation-stage[hidden]{display:none!important}
#presentation-stage{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--bg,#eaf0f7);color:var(--fg,#203149);font-size:clamp(21px,1.18vw,30px);line-height:1.55;isolation:isolate}
html[data-theme=dark] #presentation-stage{--fg-secondary:#d0ddef;--fg-muted:#b7c9df}
.presentation-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 2.3vw;border-bottom:1px solid var(--border);background:var(--surface)}
.presentation-brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.presentation-brand .brandmark{width:48px;height:48px}
.presentation-brand>div{display:flex;align-items:baseline;gap:16px}
.presentation-brand strong{font-size:1.35em;letter-spacing:.12em}
.presentation-brand span{font-size:.85em;color:var(--fg-secondary)}
.presentation-header-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
#presentation-stage :is(button,input,select){font-family:inherit}
#presentation-stage :is(.btn,.presentation-switch,.theme-toggle){font-size:.78em;min-height:46px;line-height:1.35;padding:10px 18px;gap:9px}
#presentation-stage .icon{width:1em;height:1em;flex-shrink:0}
.presentation-live{display:flex;align-items:center;gap:9px;font-size:.72em;color:var(--fg-secondary);white-space:nowrap}
.presentation-live>i{width:9px;height:9px;border-radius:50%;background:#29b785;box-shadow:0 0 0 5px #29b78516}
.presentation-live.offline>i{background:#e79c46}
.presentation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 2.3vw;border-bottom:1px solid var(--border);background:var(--surface-soft,var(--surface))}
.presentation-totals{display:flex;align-items:center;gap:24px;flex-wrap:wrap;color:var(--fg-secondary);font-size:.85em}
.presentation-totals b{font-size:1.38em;color:var(--fg);font-variant-numeric:tabular-nums}
.presentation-totals .presentation-done b{color:var(--green-ink)}
.presentation-totals .presentation-needs-help b{color:var(--amber-ink)}
.presentation-filters{display:flex;align-items:center;gap:16px;min-width:0}
.presentation-filters label{display:flex;align-items:center;gap:10px;margin:0;color:var(--fg-secondary);font-size:.74em;white-space:nowrap}
.presentation-filters :is(input,select){font-size:1em;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:46px;padding:8px 12px;width:auto;max-width:270px}
.presentation-content{flex:1;min-height:0;overflow-y:auto;padding:24px 2.3vw 28px;scrollbar-gutter:stable}
.presentation-project-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.presentation-eyebrow{font-size:.52em;color:var(--blue-ink);letter-spacing:.2em;font-weight:700}
.presentation-project-heading h1{font-size:1.65em;line-height:1.25;margin:5px 0 0;font-weight:750;letter-spacing:.01em;overflow-wrap:anywhere;color:var(--fg)}
.presentation-project-heading h1:focus{outline:none}
.presentation-project-heading>p{font-size:.76em;color:var(--fg-secondary);margin:0;flex-shrink:0}
.presentation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.presentation-grid.single{grid-template-columns:minmax(0,1fr)}
.presentation-task{border:1px solid var(--border);border-top:5px solid var(--blue-ink);border-radius:20px;background:var(--surface);padding:24px 28px;min-width:0;display:flex;flex-direction:column;box-shadow:0 10px 35px #10284808}
.presentation-task[data-priority=high]{border-top-color:var(--red-ink,#d74465)}
.presentation-task[data-priority=medium]{border-top-color:var(--amber-ink,#c38d1e)}
.presentation-task-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#presentation-stage .presentation-task-meta :is(.badge,.priority-badge){font-size:.65em;line-height:1.4;padding:5px 10px}
.presentation-task-meta>span:last-child{margin-left:auto;color:var(--fg-secondary);font-size:.85em;font-weight:700}
.presentation-task h2{font-size:1.18em;line-height:1.4;margin:17px 0 14px;overflow-wrap:anywhere;white-space:normal;color:var(--fg)}
.presentation-progress{height:7px;border-radius:5px;overflow:hidden;background:var(--border);margin-bottom:22px}
.presentation-progress>i{height:100%;display:block;background:linear-gradient(90deg,#4f99eb,#65bbf3);border-radius:5px}
.presentation-task-copy{display:grid;gap:18px;flex:1}
.presentation-task-copy section{min-width:0}
.presentation-task-copy h3{font-size:.64em;letter-spacing:.03em;margin:0 0 6px;color:var(--fg-secondary);display:flex;gap:7px;align-items:center;font-weight:650}
.presentation-task-copy p{font-size:.92em;line-height:1.7;margin:0;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}
.presentation-blocker{padding:13px 16px;border-radius:12px;background:var(--amber-bg)}
.presentation-blocker h3{color:var(--amber-ink)}
.presentation-task footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:16px;margin-top:24px;color:var(--fg-secondary);font-size:.65em;overflow-wrap:anywhere}
.presentation-task footer small{font-size:1em;margin-left:auto;flex-shrink:0}
.presentation-grid.single .presentation-task-copy{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;column-gap:30px}
.presentation-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-top:1px solid var(--border);background:var(--surface);padding:14px 2.3vw;flex-shrink:0}
.presentation-footer>span{font-size:.62em;color:var(--fg-secondary)}
.presentation-footer>span:last-child{text-align:right;overflow-wrap:anywhere}
.presentation-pagination{display:flex;align-items:center;gap:28px}
.presentation-pagination strong{font-size:1em;min-width:85px;text-align:center;font-variant-numeric:tabular-nums}
.presentation-pagination small{font-size:.75em;color:var(--fg-secondary);font-weight:500}
.presentation-confirm{padding:0;border:1px solid var(--border);border-radius:22px;max-width:min(680px,94vw);background:var(--surface);color:var(--fg);box-shadow:0 28px 100px #0005}
.presentation-confirm::backdrop{background:#0b16287a;backdrop-filter:blur(7px)}
.presentation-confirm-body{padding:34px}
.presentation-confirm-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--blue-bg);color:var(--blue-ink)}
.presentation-confirm-icon .icon{width:28px;height:28px}
.presentation-confirm h2{font-size:28px;margin:22px 0 12px;color:var(--fg)}
.presentation-confirm p{font-size:19px;line-height:1.9;color:var(--fg-secondary);margin:0}
.presentation-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.presentation-confirm-actions .btn{font-size:17px;min-height:48px;padding:12px 20px}
.presentation-mode #toast{font-size:20px;z-index:100;max-width:90vw}
@media(min-width:2800px){.presentation-header{padding-top:28px;padding-bottom:28px}.presentation-toolbar{padding-top:24px;padding-bottom:24px}.presentation-content{padding-top:36px}.presentation-task{padding:34px 40px}.presentation-task-copy{gap:24px}.presentation-project-heading{margin-bottom:30px}.presentation-grid{gap:32px}.presentation-task h2{font-size:1.3em}}
@media(max-width:1400px){#presentation-stage{font-size:21px}.presentation-header{padding:14px 24px;gap:16px}.presentation-header-tools{gap:8px}.presentation-brand>div>span{display:none}.presentation-toolbar{padding:12px 24px;gap:12px}.presentation-totals{gap:15px}.presentation-content{padding:22px 24px}.presentation-task{padding:20px}.presentation-footer{padding:12px 24px}.presentation-footer>span{font-size:.6em}.presentation-pagination{gap:16px}}
@media(max-width:1000px){.presentation-toolbar{align-items:flex-start;flex-direction:column}.presentation-footer{grid-template-columns:1fr}.presentation-footer>span{display:none}.presentation-pagination{justify-content:center}.presentation-task footer{flex-wrap:wrap}.presentation-header-tools .presentation-live{display:none}.presentation-project-heading{align-items:flex-start;flex-direction:column;gap:8px}.presentation-filters{width:100%;justify-content:space-between}.presentation-filters select{max-width:45vw}}
@media(max-width:700px){#presentation-stage{font-size:18px}.presentation-header{padding:12px;align-items:flex-start}.presentation-brand .brandmark{width:32px;height:32px}.presentation-brand strong{font-size:23px}.presentation-header-tools{gap:6px;max-width:70%}#presentation-stage :is(.btn,.theme-toggle,.presentation-switch){padding:8px 10px;min-height:40px}.presentation-grid{grid-template-columns:1fr;gap:16px}.presentation-grid.single .presentation-task-copy{grid-template-columns:1fr}.presentation-content{padding:18px 12px}.presentation-toolbar{padding:12px}.presentation-totals{font-size:.8em}.presentation-filters label{gap:5px}.presentation-filters :is(input,select){font-size:14px;max-width:44vw;padding:8px}.presentation-task{padding:18px}.presentation-footer{padding:10px}.presentation-confirm-body{padding:24px}.presentation-confirm h2{font-size:24px}.presentation-confirm p{font-size:17px}.presentation-switch{font-size:11px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.presentation-switch{transition:none}}
@media print{.presentation-switch,#presentation-stage,.presentation-confirm{display:none!important}.presentation-mode #app{display:block!important}}

/* 汇报分项：更多同屏内容，保留鼠标操作与原有工作权限。 */
#app .presentation-entry{margin-left:16px;padding:2px 0;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--fg-muted);font-size:11px;font-weight:400;vertical-align:middle;opacity:.75;gap:5px}
#app .presentation-entry:hover{color:var(--link);opacity:1;transform:none}
#app .presentation-entry .icon{width:12px;height:12px}
#presentation-stage .presentation-exit,#presentation-stage .presentation-exit[aria-checked=true]{background:transparent;border-color:transparent;box-shadow:none;color:var(--fg-secondary);font-size:.68em;padding-inline:8px}
#presentation-stage .presentation-exit:hover{background:var(--surface-soft);color:var(--fg)}
.presentation-confirm{max-width:min(460px,94vw)}
.presentation-confirm-body{padding:28px}
.presentation-confirm h2{font-size:25px;margin:0 0 10px}
.presentation-confirm p{font-size:18px;line-height:1.6}
.presentation-confirm-actions{margin-top:24px}
.presentation-confirm-actions .btn{font-size:16px;min-height:44px;padding:10px 18px}
.presentation-header{padding-top:14px;padding-bottom:14px}
.presentation-toolbar{gap:20px;padding-top:12px;padding-bottom:12px}
.presentation-view-switch{display:flex;gap:4px;border-radius:13px;background:var(--surface);border:1px solid var(--border);padding:4px;flex-shrink:0}
.presentation-view-switch button{display:flex;align-items:center;gap:8px;border:0;border-radius:9px;background:transparent;color:var(--fg-secondary);font:inherit;font-size:.76em;padding:8px 16px;cursor:pointer;white-space:nowrap}
.presentation-view-switch button[aria-pressed=true]{background:var(--blue-bg);color:var(--blue-ink);box-shadow:0 1px 5px #0001;font-weight:650}
.presentation-view-switch button:hover{background:var(--blue-bg)}
.presentation-totals{font-size:.74em;gap:18px}
.presentation-workspace{display:grid;grid-template-columns:clamp(200px,13vw,330px) minmax(0,1fr);flex:1;min-height:0}
.presentation-group-list{overflow-y:auto;border-right:1px solid var(--border);padding:20px 12px;background:var(--surface);scrollbar-width:thin}
.presentation-list-heading{display:flex;justify-content:space-between;color:var(--fg-muted);font-size:.68em;padding:0 12px 14px}
.presentation-group-link{display:block;width:100%;padding:13px 12px;margin-bottom:7px;border:1px solid transparent;border-radius:13px;background:transparent;text-align:left;cursor:pointer;color:var(--fg-secondary);transition:background .15s,border-color .15s}
.presentation-group-link strong{display:block;font-size:.78em;line-height:1.5;overflow-wrap:anywhere;font-weight:600}
.presentation-group-link>span{display:block;font-size:.56em;margin-top:7px;color:var(--fg-muted);line-height:1.5}
.presentation-group-link:hover{background:var(--surface-soft)}
.presentation-group-link[aria-current=true]{background:var(--blue-bg);border-color:var(--border);color:var(--blue-ink)}
.presentation-content{padding:20px 24px 24px}
.presentation-project-heading{margin-bottom:13px;gap:16px}
.presentation-project-heading h1{font-size:1.45em}
.presentation-group-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.presentation-group-actions p{font-size:.65em;color:var(--fg-muted);margin:0}
#presentation-stage .presentation-group-actions .text-btn{font-size:.7em;gap:6px;white-space:nowrap}
.presentation-group-summary{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--fg-secondary);font-size:.68em}
.presentation-group-summary b{font-size:1.2em;color:var(--fg);font-variant-numeric:tabular-nums}
.presentation-group-summary .presentation-done b{color:var(--green-ink)}
.presentation-group-summary .presentation-needs-help b{color:var(--amber-ink)}
.presentation-grid{gap:16px}
.presentation-task{padding:18px 20px;border-radius:16px;border-top-width:4px;cursor:pointer;transition:border-color .16s,box-shadow .16s}
.presentation-task:hover{box-shadow:0 6px 24px #1f73c71a;border-left-color:var(--link);border-right-color:var(--link);border-bottom-color:var(--link)}
.presentation-task h2{font-size:1.03em;margin:10px 0 5px;line-height:1.4}
.presentation-task h2 button{border:0;padding:0;background:transparent;box-shadow:none;display:block;width:100%;text-align:left;font:inherit;font-weight:700;color:inherit;cursor:pointer;overflow-wrap:anywhere}
.presentation-task-context{font-size:.65em;color:var(--fg-secondary);margin:0 0 12px;overflow-wrap:anywhere}
.presentation-task-meta{gap:8px}
#presentation-stage .presentation-task-meta :is(.badge,.priority-badge){font-size:.6em;padding:3px 7px}
.presentation-relation{color:var(--fg-muted);font-size:.6em}
.presentation-progress{margin-bottom:14px;height:5px}
.presentation-task-copy{gap:12px;flex:initial}
.presentation-task-copy h3{font-size:.62em;margin-bottom:4px}
.presentation-task-copy p{font-size:.85em;line-height:1.6}
.presentation-blocker{padding:10px 12px}
.presentation-task footer{margin-top:16px;padding-top:10px;font-size:.59em;justify-content:space-between}
#presentation-stage .presentation-task footer .text-btn{font-size:1.05em;gap:4px;padding:3px 0;white-space:nowrap}
.presentation-footer{padding-top:10px;padding-bottom:10px}
#presentation-stage button:focus-visible{outline:3px solid var(--link);outline-offset:3px}
.presentation-mode #modal{width:min(1100px,94vw);max-height:90vh;font-size:18px}
.presentation-mode #modal .modal-heading h2{font-size:25px}
.presentation-mode #modal :is(.modal-heading p,.field-hint,.subtle,.collaborator-picker>p,.collaborator-picker legend small,.collaborator-option>span:last-child,.daily-entry header){font-size:14px}
.presentation-mode #modal :is(.modal-body label,.modal-body input:not([type=checkbox]):not([type=range]),.modal-body select,.modal-body textarea,.daily-entry>p){font-size:18px}
.presentation-mode #modal :is(.btn,.text-btn,.collaborator-option,.task-history h3,.collaborator-picker legend){font-size:16px}
.presentation-mode #modal .modal-body textarea{line-height:1.65}
/* 表单弹窗由标题、可滚动内容、操作栏分配空间，避免内容越过高度限制。 */
#modal[open]:has(>form>.modal-body){display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#modal[open]:has(>form>.modal-body)>.modal-heading{flex:0 0 auto;min-width:0}
#modal[open]>form:has(>.modal-body){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;margin:0;overflow:hidden}
#modal[open]>form>.modal-body,.presentation-mode #modal[open]>form>.modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#modal[open]>form>.modal-footer{position:relative;flex:0 0 auto;min-width:0;flex-wrap:wrap;z-index:1;border-radius:0}
#modal[open]>form>.modal-footer>.subtle{min-width:0;overflow-wrap:anywhere}
#modal[open]>form>.modal-footer>div{margin-left:auto;max-width:100%;flex-wrap:wrap;justify-content:flex-end}
@media(max-height:650px){#modal[open]:has(>form>.modal-body)>.modal-heading{padding-top:12px;padding-bottom:12px}#modal[open]>form>.modal-footer{padding-top:10px;padding-bottom:10px}}
@media(max-width:700px){#modal[open]>form>.modal-footer>.subtle{flex-basis:100%}}
@media(min-width:1800px){.presentation-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr))}.presentation-grid.dense.single{grid-template-columns:minmax(0,1fr)}}
@media(min-width:2800px){.presentation-header{padding-top:22px;padding-bottom:22px}.presentation-content{padding:28px 32px}.presentation-task{padding:24px 28px}.presentation-task h2{font-size:1.12em}.presentation-grid{gap:24px}.presentation-group-summary{padding:16px 22px}}
@media(max-width:1500px){.presentation-toolbar{flex-wrap:wrap;gap:10px 18px}.presentation-filters{margin-left:auto}.presentation-totals{gap:12px}.presentation-workspace{grid-template-columns:190px minmax(0,1fr)}.presentation-group-actions{gap:12px}.presentation-content{padding:18px}.presentation-group-summary{gap:8px 16px}.presentation-header-tools .btn[data-action=new]{display:none}}
@media(max-width:1150px){.presentation-toolbar>.presentation-totals{display:none}.presentation-filters label{font-size:.68em}.presentation-workspace{grid-template-columns:165px minmax(0,1fr)}.presentation-content{padding:16px}.presentation-task{padding:16px}.presentation-group-actions{flex-direction:column;gap:6px;align-items:flex-end}.presentation-project-heading{flex-direction:row}.presentation-group-summary{font-size:.64em}}
@media(max-width:1000px){.presentation-toolbar{flex-direction:row;align-items:center}.presentation-filters{justify-content:flex-end;width:auto;gap:10px}.presentation-filters select{max-width:180px}.presentation-project-heading{flex-direction:row}.presentation-header-tools .presentation-live{display:none}.presentation-header{padding-inline:16px}.presentation-header-tools{gap:5px}}
@media(max-width:800px){.presentation-workspace{grid-template-columns:minmax(0,1fr)}.presentation-group-list{display:none}.presentation-toolbar{padding:10px 12px}.presentation-filters{width:100%;justify-content:space-between}.presentation-grid,.presentation-grid.dense{grid-template-columns:minmax(0,1fr)}.presentation-group-actions p{display:none}.presentation-project-heading h1{font-size:1.3em}.presentation-group-summary{gap:7px 14px}.presentation-header-tools .btn[data-action=presentation-fullscreen]{display:none}.presentation-view-switch{width:100%}.presentation-view-switch button{flex:1;justify-content:center}.presentation-filters :is(input,select){max-width:37vw;font-size:13px}.presentation-filters label{gap:4px}.presentation-content{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.presentation-task,.presentation-group-link{transition:none}}
/* 保持正文大字，同时收紧卡片留白以容纳两排内容。 */
.presentation-task{padding:16px 18px}
.presentation-task h2{margin-top:8px}
.presentation-task-context{line-height:1.4;margin-bottom:9px}
.presentation-progress{margin-bottom:10px}
.presentation-task-copy{gap:8px}
.presentation-task-copy h3{line-height:1.3}
.presentation-task-copy p{line-height:1.5}
.presentation-blocker{padding:8px 10px}
.presentation-task footer{margin-top:10px;padding-top:7px;line-height:1.3}
#presentation-stage .presentation-task footer .text-btn{line-height:1.3;padding:0}
.presentation-project-heading{margin-bottom:10px}
.presentation-group-summary{padding:10px 14px;margin-bottom:12px}
@media(min-width:2800px){.presentation-task{padding:22px 26px}}
