:root{color:#0f172a;background:#f8fafc;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.page{max-width:720px;margin:0 auto;padding:24px 16px 48px}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hero h1{margin:0;font-size:1.75rem}.status-pills{display:flex;gap:6px;flex-shrink:0;margin-top:4px}.pill{font-size:.7rem;padding:2px 8px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b}.pill.good{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.pill.warn{border-color:#fde68a;background:#fffbeb;color:#b45309}.pill.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.tab-nav{display:flex;gap:8px;margin-top:16px}.tab-btn{margin-top:0;flex:1;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.tab-btn.active{background:#1e40af;color:#fff;border-color:#1e40af}.page-loading{margin-top:12px}.note-form{align-items:stretch}.note-input{flex:1;min-width:0;resize:vertical}.note-submit{margin-top:0;align-self:stretch;min-width:72px}.status-hint{line-height:1.6}.status-hint strong{color:#334155;font-weight:600}.card{margin-top:20px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.card h2{margin:0 0 12px;font-size:1rem}.card h3{margin:16px 0 8px;font-size:.95rem}.card h4{margin:12px 0 6px;font-size:.85rem;color:#64748b}.section-head{align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{margin:0;flex-shrink:0}.project-create{flex:1;max-width:360px}.project-create input{min-width:0}.project-create button{margin-top:0}.bad-card{border-color:#fecaca;background:#fef2f2;color:#991b1b}.good-card{border-color:#bbf7d0;background:#f0fdf4;color:#166534}textarea,input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}button{margin-top:10px;padding:10px 16px;border:none;border-radius:8px;background:#1e40af;color:#fff;font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.row{display:flex;gap:8px;align-items:center}.row input,.row textarea{flex:1}.row button{margin-top:0;white-space:nowrap}.good{color:#15803d}.warn{color:#b45309}.bad{color:#b91c1c}.hint{color:#64748b;font-size:.875rem}.link-btn{margin-top:0;margin-left:8px;padding:2px 8px;background:transparent;color:#1e40af;border:1px solid #93c5fd;font-size:.8rem}.ghost-btn{margin-top:0;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.project-list{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;gap:8px}.project-btn{margin-top:0;background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0}.project-btn.active{background:#1e40af;color:#fff;border-color:#1e40af}.project-detail{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.task-list{list-style:none;padding-left:0}.task-item{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9}.task-item:last-child{border-bottom:none}.task-main{flex:1;min-width:0;position:relative}.task-popover{position:absolute;left:0;top:calc(100% + 6px);z-index:10;min-width:240px;max-width:360px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.popover-title{margin:0 0 6px;font-size:.8rem;font-weight:600;color:#334155}.popover-line{margin:0 0 6px;font-size:.8rem;color:#475569;line-height:1.4}.compact-card{padding-top:12px;padding-bottom:12px}.analyze-list{list-style:none;padding-left:0;margin:0}.analyze-item{padding:6px 0;border-bottom:1px solid #f1f5f9}.analyze-item:last-child{border-bottom:none}.task-btns{flex-shrink:0}.task-checkin{flex:1;min-width:180px}.task-checkin input{min-width:0}.record-item,.record-edit textarea{margin-bottom:8px}.inbox-list{list-style:none;padding-left:0}.inbox-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.inbox-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.inbox-text{margin:0 0 10px}.inbox-actions select{flex:1;min-width:0}.inbox-actions button{margin-top:0;white-space:nowrap}.checkbox-label{display:flex;align-items:center;gap:6px;margin-top:0;white-space:nowrap;font-size:.875rem;color:#475569}.checkbox-label input{width:auto}ul{margin:0;padding-left:1.2rem}@media (max-width: 560px){.section-head{flex-direction:column;align-items:stretch}.project-create{max-width:none}.hero-top{flex-direction:column}.status-pills{align-self:flex-end}}:root{color:#1f2937;background:#f5f6f3;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}body{min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(219,234,254,.7),transparent 30rem),#f5f6f3}button,input,textarea,select{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}.page{max-width:820px;padding:38px 20px 64px}.hero{padding:0 4px}.hero-top{align-items:center}.hero h1{color:#172033;font-size:clamp(1.75rem,4vw,2.2rem);letter-spacing:-.035em}.hero-copy{margin:6px 0 0;color:#64748b;font-size:.95rem}.eyebrow{margin:0 0 4px;color:#2563eb;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow.warm{color:#b45309}.service-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#ffffffb3;color:#64748b;font-size:.76rem;white-space:nowrap}.hero-actions{display:flex;align-items:center;gap:8px}.account-btn{margin:0;padding:7px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#ffffffb3;color:#64748b;font-size:.76rem}.login-page{display:grid;min-height:100vh;padding:20px;place-items:center}.login-card{width:min(420px,100%);padding:34px;border:1px solid #dbe5f3;border-radius:18px;background:#fffffff0;box-shadow:0 18px 50px #2563eb1a;text-align:center}.login-card h1{margin:3px 0 8px;color:#172033}.login-card p:not(.eyebrow){color:#64748b}.login-error{display:grid;gap:5px;margin-top:18px;padding:12px 14px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#991b1b;text-align:left}.login-error span,.login-error small{overflow-wrap:anywhere}.login-error small{color:#b45353}.login-card button{width:100%;margin-top:14px;background:#2563eb}.pending-profile-page{display:grid;min-height:100vh;padding:20px;place-items:center}.pending-profile-card{width:min(520px,100%);padding:34px;border:1px solid #bfdbfe;border-radius:18px;background:#fff;box-shadow:0 18px 50px #2563eb1a}.pending-profile-card h1{margin:4px 0 12px}.pending-profile-meta{display:grid;gap:3px;margin:22px 0 8px;padding:12px 14px;border-radius:10px;background:#f8fafc}.pending-profile-meta span,.pending-profile-meta strong{overflow-wrap:anywhere}.pending-profile-meta span{color:#64748b;font-size:.78rem}.pending-profile-card button{width:100%}.pending-people-section{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}.pending-people-list{display:grid;gap:10px}.pending-people-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb}.pending-people-list article div{display:grid}.pending-people-list small{color:#64748b}.pending-people-list button{width:auto;margin:0}.pending-person-form{margin-top:16px;padding:16px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.pending-form-actions{display:flex;gap:10px}.pending-form-actions button{margin:0}.status-dot{width:7px;height:7px;border-radius:50%;background:#ef4444}.service-status.online .status-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e21}.tab-nav{gap:4px;width:fit-content;margin-top:24px;padding:4px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffffb8}.tab-btn{flex:none;min-width:116px;padding:8px 14px;border:0;border-radius:8px;background:transparent;color:#64748b;font-size:.9rem;font-weight:600}.tab-btn.active{background:#fff;color:#1d4ed8;border-color:transparent;box-shadow:0 1px 4px #0f172a17}.tab-btn:hover:not(.active){color:#334155;background:#f1f5f9cc}.card{margin-top:18px;padding:22px;border-color:#cbd5e1c2;border-radius:16px;box-shadow:0 8px 30px #3341550b}.card h2{margin-bottom:0;color:#172033;font-size:1.08rem;letter-spacing:-.015em}.note-card{overflow:hidden;border-color:#cbdcfb;background:linear-gradient(135deg,#eff6ffe6,#fffffffa 55%);box-shadow:0 14px 38px #2563eb14}.note-heading,.section-title-row,.subsection-title,.project-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.date-label{color:#64748b;font-size:.84rem;white-space:nowrap}.note-form{align-items:stretch;margin-top:16px;padding:5px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;box-shadow:0 3px 12px #0f172a0a}.note-input{min-height:108px;padding:12px 13px;border:0;line-height:1.65}.note-input:focus{outline:none;box-shadow:none}.note-submit{min-width:92px;border-radius:9px;background:#2563eb;font-weight:650}.note-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.note-assurance{margin:10px 2px 0;color:#64748b;font-size:.78rem}.section-copy{margin:7px 0 0;color:#64748b;font-size:.86rem}.count-badge{display:inline-grid;min-width:30px;height:30px;padding:0 8px;place-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:700}.count-badge.warm{background:#fff7ed;color:#b45309}.inbox-card{border-color:#fed7aa;background:#fffdf9}.inbox-list{margin-top:16px}.inbox-item{padding:14px;border:1px solid #ffedd5;border-radius:12px;background:#fff}.inbox-text{color:#334155;line-height:1.65}.inbox-tabs{margin-top:12px;flex-wrap:wrap;gap:6px}.inbox-tabs .chip{padding:6px 12px;border-radius:999px;border:1px solid #fed7aa;background:#fff;color:#b45309;font-size:13px;cursor:pointer;transition:background .15s ease}.inbox-tabs .chip:hover:not(:disabled){background:#fff7ed}.inbox-tabs .chip.active{background:#f97316;border-color:#f97316;color:#fff}.inbox-tabs .chip:disabled{opacity:.5;cursor:not-allowed}.inbox-actions-wrap{display:flex;flex-direction:column;gap:8px;margin-top:10px}.inbox-actions input[type=text]{flex:1;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.review-card{border-color:#fed7aa;background:#fffdf9}.review-list{margin-top:16px;display:flex;flex-direction:column;gap:12px}.review-item{padding:14px;border:1px solid #ffedd5;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:10px}.review-head{display:flex;flex-wrap:wrap;gap:8px;color:#475569;font-size:14px}.review-head strong{color:#0f172a;font-size:15px}.review-text{color:#334155;line-height:1.6;margin:0}.review-actions{justify-content:flex-end;gap:8px;flex-wrap:wrap}.review-actions .primary{background:#16a34a;color:#fff;border-color:#16a34a}.review-actions .primary:hover:not(:disabled){background:#15803d}.review-actions .secondary{background:#fff;color:#b91c1c;border-color:#fecaca}.review-actions .secondary:hover:not(:disabled){background:#fef2f2}.good-text{color:#15803d}.bad-text{color:#b91c1c}select{padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font:inherit}.today-card .task-list{margin-top:14px}.task-item{align-items:center;min-height:52px;margin-bottom:7px;padding:10px 11px;border:1px solid #edf0f4;border-radius:10px;background:#fbfcfd}.task-item:last-child{border-bottom:1px solid #edf0f4}.task-main{color:#334155;line-height:1.45}.task-status{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.7rem;white-space:nowrap}.task-status.doing{background:#eff6ff;color:#1d4ed8}.task-status.blocked{background:#fff7ed;color:#c2410c}.link-btn{margin-left:5px;padding:6px 10px;border-color:#bfdbfe;border-radius:7px;color:#2563eb;font-weight:600}.link-btn:hover:not(:disabled){background:#eff6ff}.completed-label{color:#16a34a;font-size:.78rem}.section-divider{height:1px;margin:22px 0 18px;background:#e8edf3}.subsection-title h3{margin:0;color:#334155;font-size:.94rem}.record-list{list-style:none;margin-top:10px;padding:0}.record-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:11px 2px;border-bottom:1px solid #f1f5f9}.record-text{color:#475569;line-height:1.55}.record-status{flex-shrink:0;color:#94a3b8;font-size:.72rem}.empty-state{width:100%;padding:16px;border:1px dashed #dbe2ea;border-radius:10px;background:#fafbfc;color:#94a3b8;font-size:.84rem;text-align:center}.task-empty{margin:8px 0}.project-create-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:center;gap:28px}.project-create{max-width:none}.project-create button{background:#2563eb;font-weight:600}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0}.project-list li{min-width:0}.project-btn{display:flex;width:100%;min-height:64px;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-color:#e2e8f0;background:#fbfcfd;color:#334155;text-align:left;font-weight:650}.project-btn:hover:not(.active){border-color:#bfdbfe;background:#f8fbff}.project-btn.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.project-btn-hint{color:#94a3b8;font-size:.7rem;font-weight:400;white-space:nowrap}.project-btn.active .project-btn-hint{color:#60a5fa}.project-detail{margin-top:22px;padding-top:22px}.project-detail-head h3{margin:0;color:#172033;font-size:1.1rem}.project-detail h4{display:flex;align-items:center;gap:7px;margin-top:20px}.task-group-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.task-group-dot.doing{background:#3b82f6}.task-group-dot.todo{background:#f59e0b}.task-group-dot.done{background:#22c55e}.bad-card,.good-card{padding:12px 15px;font-size:.88rem}@media (max-width: 680px){.page{padding:24px 14px 44px}.hero-top{flex-direction:row;align-items:flex-start}.hero-copy{max-width:230px}.service-status{padding:6px 8px;font-size:0}.hero-actions{align-items:flex-end;flex-direction:column}.service-status:after{content:"在线";font-size:.72rem}.service-status.offline:after{content:"异常"}.tab-nav{display:grid;width:100%;grid-template-columns:1fr 1fr}.tab-btn{min-width:0}.card{padding:18px;border-radius:14px}.note-form{display:flex;flex-direction:column;padding:4px}.note-input{min-height:116px}.note-submit{min-height:44px}.project-create-card{grid-template-columns:1fr;gap:16px}.project-list{grid-template-columns:1fr}.inbox-actions,.task-checkin{flex-wrap:wrap}.inbox-actions select,.task-checkin input{flex-basis:100%}.task-item{align-items:flex-start;flex-direction:column}.task-btns{display:flex;width:100%;justify-content:flex-end}.task-popover{position:static;min-width:0;max-width:none;margin-top:8px;box-shadow:none}.record-item{flex-direction:column;gap:5px}}body{background:radial-gradient(circle at 8% 0%,rgba(219,234,254,.72),transparent 34rem),linear-gradient(180deg,#f8fafc,#f4f6f8)}.page{max-width:1180px;padding:38px 28px 72px}.hero{padding:4px 2px 2px}.hero h1{font-size:clamp(2rem,4vw,2.7rem)}.hero-copy{max-width:520px;font-size:.98rem}.hero-actions{align-items:flex-end}.tab-nav{width:fit-content;min-width:500px;margin-top:30px;padding:5px;overflow:visible;border-color:#cbd5e1cc;border-radius:14px;box-shadow:0 5px 20px #0f172a0a}.tab-btn{min-width:120px;padding:10px 18px}.sub-nav,.admin-section-nav{display:flex;gap:4px;margin-top:18px;padding-bottom:2px;overflow-x:auto}.sub-nav button,.admin-section-nav button{margin:0;padding:8px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:#64748b;font-size:.82rem;font-weight:650;white-space:nowrap}.sub-nav button.active,.admin-section-nav button.active{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}.executive-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:18px;padding:34px 36px;border:1px solid #bfdbfe;border-radius:20px;background:linear-gradient(120deg,#eff6fffa,#fffffff2),#fff;box-shadow:0 16px 44px #2563eb14}.executive-hero h2{margin:3px 0 9px;color:#172033;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.035em}.executive-hero p:not(.eyebrow){max-width:680px;margin:0;color:#64748b;line-height:1.75}.executive-actions{display:flex;gap:9px;flex-shrink:0}.executive-actions button{margin:0;padding:10px 18px;font-weight:650}.secondary-action{border:1px solid #cbd5e1;background:#fff;color:#334155}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.metric-strip article{display:grid;gap:4px;padding:19px 20px;border:1px solid rgba(203,213,225,.78);border-radius:14px;background:#ffffffd6}.metric-strip span{color:#64748b;font-size:.78rem}.metric-strip strong{color:#172033;font-size:1.75rem;line-height:1.1}.metric-strip small{color:#94a3b8;font-size:.7rem}.overview-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:16px}.focus-panel,.product-summary-panel{min-width:0}.text-action{margin:0;padding:5px 8px;background:transparent;color:#2563eb;font-size:.76rem}.focus-project-list,.summary-product-list{display:grid;gap:8px;margin-top:17px}.focus-project-list article,.summary-product-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #edf0f4;border-radius:11px;background:#fbfcfd;text-align:left}.focus-project-list article>div,.summary-product-list button>span{display:grid;min-width:0;gap:4px}.focus-project-list strong,.summary-product-list strong{color:#334155}.focus-project-list small,.summary-product-list small{overflow:hidden;color:#94a3b8;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.summary-product-list button{width:100%;margin:0;color:#334155}.summary-product-list button:hover{border-color:#bfdbfe;background:#f8fbff}.summary-product-list b{display:grid;min-width:28px;height:28px;place-items:center;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:.75rem}.attention-value{flex-shrink:0;color:#b45309;font-size:.74rem;font-weight:700}.master-detail-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;margin-top:18px;align-items:start}.catalog-sidebar,.detail-surface{border:1px solid rgba(203,213,225,.82);border-radius:17px;background:#ffffffe6;box-shadow:0 10px 32px #3341550d}.catalog-sidebar{position:sticky;top:18px;padding:18px}.catalog-heading{padding:3px 4px 14px;border-bottom:1px solid #edf0f4}.catalog-heading h2{display:inline;margin:0;color:#172033;font-size:1.12rem}.catalog-heading>span{float:right;color:#94a3b8;font-size:.72rem}.catalog-list{display:grid;gap:7px;margin-top:13px}.catalog-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px;border:1px solid transparent;background:transparent;color:#475569;text-align:left}.catalog-list button>span{display:grid;min-width:0;gap:2px}.catalog-list small{color:#94a3b8;font-size:.7rem}.catalog-list b{color:#94a3b8;font-size:.72rem}.catalog-list button.active{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.detail-surface{min-height:600px;padding:30px 32px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #edf0f4}.detail-header h2{margin:3px 0 8px;color:#172033;font-size:1.7rem;letter-spacing:-.03em}.detail-header p:not(.eyebrow){margin:0;color:#64748b}.status-badge{flex-shrink:0;padding:6px 11px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:.74rem;font-weight:650}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.detail-metrics div{display:grid;gap:3px;padding:15px;border-radius:11px;background:#f8fafc}.detail-metrics span{color:#94a3b8;font-size:.72rem}.detail-metrics strong{color:#334155;font-size:1.25rem}.detail-section{margin-top:28px}.detail-section h3{margin:0;color:#334155;font-size:.98rem}.model-project-list{display:grid;gap:10px;margin-top:14px}.model-project-list>article{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;padding:15px;border:1px solid #edf0f4;border-radius:12px}.model-title{display:flex;gap:10px;align-items:flex-start}.model-mark{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 4px #dbeafe}.model-title>div,.model-projects>div>span{display:grid;gap:3px}.model-title small,.model-projects small{color:#94a3b8;font-size:.7rem}.model-projects{display:grid;gap:7px}.model-projects>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:9px;background:#f8fafc}.model-projects b{flex-shrink:0;color:#b45309;font-size:.7rem}.model-projects p{margin:0;color:#94a3b8;font-size:.78rem}.project-progress-card{display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:22px;padding:15px 17px;border-radius:12px;background:#f8fafc}.project-progress-card>div:first-child{display:grid;gap:2px}.project-progress-card span{color:#94a3b8;font-size:.7rem}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa)}.project-progress-card b{color:#2563eb}.discipline-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.discipline-columns article{display:grid;gap:9px;padding:15px;border:1px solid #edf0f4;border-radius:12px}.discipline-columns article>p{margin:0 0 2px;color:#64748b;font-size:.75rem;font-weight:700}.discipline-columns article>div{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;background:#f8fafc}.discipline-columns article>div>span:last-child{display:grid;gap:1px}.discipline-columns small{color:#94a3b8;font-size:.68rem}.member-avatar{display:grid;width:32px;height:32px;flex-shrink:0;place-items:center;border-radius:9px;font-size:.74rem;font-weight:700}.member-avatar.structural{background:#eff6ff;color:#2563eb}.member-avatar.electrical{background:#fff7ed;color:#c2410c}.project-status-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px}.project-status-timeline div{position:relative;display:grid;gap:3px;padding-top:20px;color:#64748b;font-size:.76rem}.project-status-timeline div:before{position:absolute;top:5px;left:8px;right:-8px;height:2px;background:#e2e8f0;content:""}.project-status-timeline div:last-child:before{right:calc(100% - 9px)}.project-status-timeline div>span{position:absolute;top:0;left:0;z-index:1;width:12px;height:12px;border:3px solid #e2e8f0;border-radius:50%;background:#fff}.project-status-timeline .done>span,.project-status-timeline .current>span{border-color:#2563eb}.project-status-timeline .done:before{background:#2563eb}.project-status-timeline small{color:#94a3b8;font-size:.66rem}.admin-section-nav{margin:16px 0 2px;padding:6px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffffbf}.admin-section-nav button{flex:1}@media (max-width: 860px){.page{padding-inline:18px}.metric-strip{grid-template-columns:repeat(2,1fr)}.overview-layout,.master-detail-page{grid-template-columns:1fr}.catalog-sidebar{position:static}.catalog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.page{padding:24px 14px 48px}.hero-top,.executive-hero{align-items:stretch;flex-direction:column}.hero-actions{width:100%;align-items:center;flex-direction:row;justify-content:space-between}.tab-nav{display:grid;width:100%;min-width:0;grid-template-columns:repeat(2,1fr);overflow:visible}.executive-hero{padding:25px 22px}.executive-actions{width:100%}.executive-actions button{flex:1}.metric-strip,.detail-metrics,.discipline-columns,.project-status-timeline{grid-template-columns:repeat(2,1fr)}.catalog-list,.model-project-list>article{grid-template-columns:1fr}.detail-surface{min-height:0;padding:22px 18px}.detail-header{flex-direction:column}.project-progress-card{grid-template-columns:1fr auto}.progress-track{grid-column:1 / -1;grid-row:2}.admin-section-nav button{flex:none}}@media (max-width: 420px){.hero h1{font-size:1.62rem}.date-label{display:none}.project-create{flex-direction:column;align-items:stretch}.project-create button{width:100%}}.admin-intro{background:linear-gradient(135deg,#f8fafc,#fff)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-grid .card{min-width:0}.admin-form{display:grid;gap:10px;margin-top:16px}.admin-form button{margin-top:0}.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-list{display:grid;gap:7px;margin-top:16px;padding:0;list-style:none}.admin-list li:not(.empty-state){display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #edf0f4;border-radius:9px;color:#475569}.people-table-wrap{margin-top:18px;overflow-x:auto}.people-table{width:100%;border-collapse:collapse;font-size:.84rem}.people-table th,.people-table td{padding:11px 10px;border-bottom:1px solid #edf0f4;color:#475569;text-align:left;white-space:nowrap}.people-table th{color:#64748b;font-size:.74rem;font-weight:650}.scope-form{grid-template-columns:repeat(4,minmax(0,1fr))}.scope-form button{width:100%}.scope-list strong{color:#334155}.scope-arrow{margin:0 8px;color:#94a3b8;font-size:.76rem}.people-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.person-card{display:grid;gap:4px;padding:13px;border:1px solid #e8edf3;border-radius:10px;background:#fbfcfd}.person-card strong{color:#334155}.person-card span{color:#94a3b8;font-size:.76rem}.activity-list{display:grid;gap:8px;margin-top:16px;padding:0;list-style:none}.activity-list li:not(.empty-state){display:flex;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #edf0f4;color:#475569;font-size:.86rem}.activity-list time{color:#94a3b8;font-size:.76rem;white-space:nowrap}@media (max-width: 680px){.admin-grid,.admin-form-grid,.scope-form,.people-cards{grid-template-columns:1fr}.tab-nav:has(.tab-btn:nth-child(3)){grid-template-columns:repeat(3,1fr)}}.admin-mini-card{padding:12px 18px}.admin-collapse-header{background:transparent;border:0;width:100%;display:flex;align-items:center;gap:10px;padding:4px 0;cursor:pointer;color:#1e293b;font-size:.95rem;text-align:left}.admin-collapse-header:hover{background:#f8fafc}.admin-collapse-header .chev{display:inline-block;transition:transform .15s;color:#94a3b8;font-size:.75rem}.admin-collapse-header .chev.open{transform:rotate(0)}.admin-collapse-header .chev:not(.open){transform:rotate(-90deg)}.admin-collapse-header .hint{color:#94a3b8;font-size:.78rem;font-weight:400;margin-left:auto}.admin-collapse-body{padding-top:12px;margin-top:8px;border-top:1px solid #f1f5f9}.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-col{min-width:0}.admin-col+.admin-col{border-left:1px solid #f1f5f9;padding-left:18px}.org-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.org-sub{min-width:0}.team-site-prefix{display:inline-block;font-size:.7rem;color:#94a3b8;background:#f1f5f9;padding:1px 6px;border-radius:4px;margin-right:6px;vertical-align:1px}.danger-action{color:#b91c1c;border-color:#fecaca}.danger-action:hover{background:#fef2f2}.section-title-row.dense.subtitle{margin-top:12px}.section-title-row.dense.subtitle h4{font-size:.82rem;font-weight:500;color:#64748b;margin:0}@media (max-width: 760px){.admin-two-col{grid-template-columns:1fr}.admin-col+.admin-col{border-left:0;border-top:1px solid #f1f5f9;padding-left:0;padding-top:18px}.org-two-col{grid-template-columns:1fr}}.admin-section-divider{height:1px;background:#f1f5f9;margin:18px 0}.section-title-row.dense{margin-bottom:6px}.section-title-row.dense h3{font-size:.95rem;margin:0}.admin-form.dense{gap:6px;margin:6px 0 8px}.admin-list.dense li{padding:6px 8px;font-size:.85rem}.project-task-list,.admin-list.project-task-list{gap:8px;margin-top:10px}.admin-list.project-task-list>li.project-task-row,.admin-list.dense>li.project-task-row{display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px;padding:10px 12px}.project-task-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.project-task-copy{display:grid;gap:3px;min-width:0;position:relative}.project-task-copy strong,.project-task-copy small{overflow-wrap:anywhere}.project-task-actions{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.subtask-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,160px) auto;align-items:center;gap:8px;margin:0}.subtask-form input,.subtask-form select{min-width:0}.admin-list.nested{margin:0}.project-task-row.subtask-row{background:#fbfdff}.project-task-popover{left:0;top:calc(100% + 8px)}.row.gap{display:flex;align-items:center;gap:8px}.people-toolbar{margin:8px 0 12px}.people-toolbar input{flex:1;min-width:160px}.people-toolbar select{min-width:110px}.count-badge.warm{background:#fef3c7;color:#92400e}.people-table.dense th,.people-table.dense td{padding:9px 10px;font-size:.85rem;vertical-align:top}.people-table.dense .cell-sub{font-size:.72rem;color:#94a3b8;font-weight:400;margin-top:2px}.people-table.dense .cell-action{text-align:right;white-space:nowrap}.people-table .row-pending td{background:#fffbeb}.people-table .row-editor td{background:#f8fafc;padding:14px 16px}.role-pill{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.74rem;font-weight:500;white-space:nowrap}.role-pill.role-manager{background:#d1fae5;color:#065f46}.role-pill.role-leader{background:#dbeafe;color:#1e40af}.role-pill.role-member{background:#f1f5f9;color:#475569}.role-pill.role-observer{background:#ede9fe;color:#5b21b6}.role-pill.role-unassigned{background:#fef3c7;color:#92400e}.primary-action.small,button.small{padding:4px 12px;font-size:.78rem}.primary-action{background:#2563eb;color:#fff;border:0}.primary-action:hover{background:#1d4ed8}.tab-nav{width:100%;overflow-x:auto}.tab-btn{min-width:104px}.identity-switcher{display:grid;gap:3px;color:#64748b;font-size:.68rem}.identity-switcher select{min-width:116px;padding:6px 9px;border-radius:999px;font-size:.76rem}.overview-hero{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff 65%)}.overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.overview-stats div{display:grid;gap:2px;padding:14px;border:1px solid rgba(191,219,254,.8);border-radius:12px;background:#ffffffbf}.overview-stats strong{color:#1d4ed8;font-size:1.5rem}.overview-stats span{color:#64748b;font-size:.76rem}.dashboard-projects,.product-grid,.team-project-list{display:grid;gap:12px;margin-top:18px}.dashboard-projects,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-project-card,.product-card,.team-project-card{padding:15px;border:1px solid #e5eaf1;border-radius:12px;background:#fbfcfd}.dashboard-project-card{display:grid;gap:6px}.dashboard-project-card>span:not(.product-chip),.dashboard-project-card small{color:#64748b;font-size:.76rem}.product-chip{width:fit-content;padding:3px 8px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:.7rem;font-weight:650}.product-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.product-card h3,.team-project-card h3{margin:3px 0 0;color:#172033;font-size:1rem}.product-card p,.team-project-card p{margin:10px 0;color:#64748b;font-size:.82rem}.product-code{color:#94a3b8;font-size:.68rem}.model-tags,.member-tags{display:flex;flex-wrap:wrap;gap:6px}.model-tags span,.member-tags span{padding:4px 8px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;font-size:.72rem}.team-project-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:16px}.task-count{color:#b45309;font-size:.78rem;white-space:nowrap}.demo-data-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#fed7aa;background:#fffdf8}.demo-data-card button{flex-shrink:0;margin-top:0;background:#b45309}.product-scope-form{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 680px){.tab-nav{display:flex}.overview-stats,.dashboard-projects,.product-grid,.product-scope-form,.team-project-card{grid-template-columns:1fr}.demo-data-card{align-items:stretch;flex-direction:column}}
