:root{--paper:#f5f0e7;--paper-2:#eee7db;--white:#fffdf8;--ink:#252923;--deep:#285f5b;--brown:#926f4d;--olive:#66745f;--amber:#b4874a;--rose:#b87568;--line:#d8d0c3;--line-dark:#b7ab9b;--muted:#7d7e77;--shadow:0 14px 34px rgba(70,55,37,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Noto Sans SC","PingFang SC",sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.eyebrow{font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--deep);margin:0 0 10px}.button{border:1px solid transparent;padding:9px 14px;cursor:pointer;display:inline-block;transition:transform .18s,background .18s}.button:hover{transform:translateY(-1px)}.button.dark{background:var(--ink);color:var(--paper)}.button.light{background:transparent;border-color:var(--line-dark);color:var(--ink)}.text-button{border:0;background:transparent;color:var(--deep);cursor:pointer;font-size:11px;padding:0;text-decoration:underline;text-underline-offset:3px}

.site-header{height:86px;width:min(1440px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:18px Georgia,serif}.brand strong,.brand small{display:block}.brand strong{font:16px Georgia,"Songti SC",serif;letter-spacing:.04em}.brand small{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--muted);margin-top:3px}.site-header nav{display:flex;gap:28px;height:100%;align-items:center}.nav-link{height:100%;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px;position:relative}.nav-link i{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--line-dark);font-style:normal}.nav-link.active{color:var(--ink)}.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}.site-header>.button{justify-self:end}

.hero{padding:62px 0 48px;display:grid;grid-template-columns:1fr 39%;gap:78px;align-items:end}.hero h1{font:400 clamp(38px,5vw,62px)/1.18 Georgia,"Songti SC",serif;letter-spacing:-.05em;margin:0 0 21px;max-width:720px}.hero h1 em{font-style:italic;color:var(--deep)}.lead{color:var(--muted);max-width:520px;font-size:15px}.hero-image{height:246px;position:relative;overflow:hidden;background:#ddd5c8}.hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(30,25,20,.7))}.hero-image span{position:absolute;z-index:1;left:18px;bottom:15px;color:var(--paper);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.stats>div{min-height:106px;padding:18px 20px 15px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.stats>div+div{padding-left:20px}.stats>div:last-child{border:0}.stats small{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.stats b{font:32px Georgia,"Songti SC",serif;font-weight:400}.stats span{font-size:10px;color:var(--muted)}

.projects{padding:58px 0 48px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px}.section-head h2{font:400 29px Georgia,"Songti SC",serif;margin:0 0 5px}.section-head p:not(.eyebrow){color:var(--muted);font-size:11px;margin:0}.project-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.project-tools input{width:235px;border:0;border-bottom:1px solid var(--line-dark);background:transparent;outline:0;padding:7px 0;font-size:12px}.filter{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;font-size:12px}.filter.active{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.project-card{background:var(--white);border:1px solid var(--line);cursor:pointer;transition:.2s;text-align:left;padding:0}.project-card:hover,.project-card.active{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brown)}.project-card img{width:100%;height:105px;object-fit:cover;filter:saturate(.75);display:block}.project-body{padding:14px}.project-body h3{font:400 16px Georgia,"Songti SC",serif;margin:0 0 6px}.project-body p{font-size:10px;color:var(--muted);margin:0 0 13px}.project-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;font-size:10px}.project-foot strong{font-weight:500}.project-foot span{color:var(--brown)}

.project-workbench{border-top:1px solid var(--ink);display:grid;grid-template-columns:244px minmax(0,1fr);align-items:start;margin-bottom:80px;background:rgba(255,253,248,.38)}.workspace-sidebar{position:sticky;top:18px;border-right:1px solid var(--line);min-height:760px;padding:26px 19px 26px 0}.workspace-side-top{padding-right:18px}.project-picker{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.project-picker select{border:1px solid var(--line-dark);background:var(--white);padding:8px;color:var(--ink);outline:0}.current-project-card{margin-top:12px;border:1px solid var(--line);background:var(--white);display:grid;grid-template-columns:54px 1fr;min-height:64px}.current-project-card img{width:54px;height:64px;object-fit:cover;filter:saturate(.7)}.current-project-card div{padding:10px}.current-project-card strong,.current-project-card span{display:block}.current-project-card strong{font:13px Georgia,"Songti SC",serif}.current-project-card span{font-size:10px;color:var(--muted);margin-top:3px}.workspace-nav{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:25px;padding-top:12px}.workspace-nav button{border:0;border-left:2px solid transparent;background:transparent;display:grid;grid-template-columns:26px 1fr;gap:7px;text-align:left;align-items:center;padding:10px 8px;color:var(--muted);font-size:12px;cursor:pointer}.workspace-nav button span{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--line-dark)}.workspace-nav button:hover{background:rgba(146,111,77,.06);color:var(--ink)}.workspace-nav button.active{border-left-color:var(--deep);background:#e8eee9;color:var(--ink);font-weight:600}.workspace-nav button.active span{color:var(--deep)}.workspace-side-foot{border-top:1px solid var(--line);margin-top:21px;padding:15px 10px 0 0}.workspace-side-foot p{font-size:10px;color:var(--muted);margin:0 0 8px}.workspace-main{min-width:0;padding:26px 0 30px 28px}.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.workspace-heading h2{font:400 31px Georgia,"Songti SC",serif;margin:0}.workspace-heading-actions{display:flex;gap:10px;align-items:center}.workspace-heading-actions>span{font-size:10px;color:var(--olive);border:1px solid #bbc7b6;background:#edf1eb;padding:7px 9px}.workspace-panel{display:none;padding-top:24px}.workspace-panel.is-active{display:block}

.overview-hero{display:flex;justify-content:space-between;gap:28px;border:1px solid var(--line);background:var(--white);padding:24px 25px}.overview-hero h3,.stage-intro h3{font:400 27px Georgia,"Songti SC",serif;margin:0 0 7px}.overview-hero p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.overview-hero p b{color:var(--brown);font-weight:600}.project-progress{width:192px;flex:0 0 auto;border-left:1px solid var(--line);padding-left:22px}.project-progress small,.project-progress span{display:block;color:var(--muted);font-size:10px}.project-progress strong{display:block;font:30px Georgia,serif;font-weight:400;margin:2px 0 7px}.project-progress i{display:block;background:#e3ddd1;height:4px;overflow:hidden}.project-progress i b{display:block;height:100%;background:var(--deep)}.project-progress span{margin-top:6px}.overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}.overview-metrics article{background:var(--white);padding:14px 15px;min-height:90px}.overview-metrics small,.overview-metrics span{display:block;color:var(--muted);font-size:10px}.overview-metrics b{display:block;font:16px Georgia,"Songti SC",serif;font-weight:400;margin:7px 0 4px}.master-timeline{border:1px solid var(--line);background:var(--white);margin-top:14px;padding:16px 18px}.master-timeline-head{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px}.master-timeline-head small{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.master-track{display:grid;grid-template-columns:145px minmax(160px,1fr) 100px;gap:11px;width:100%;border:0;border-bottom:1px solid #ebe6dd;background:transparent;text-align:left;padding:10px 0;cursor:pointer}.master-track:last-child{border:0;padding-bottom:0}.master-label b,.master-label small{display:block}.master-label b{font-size:11px}.master-label small{font-size:9px;color:var(--muted);margin-top:1px}.master-line{height:6px;display:block;background:#ece7dd;position:relative;margin-top:10px}.master-line i{position:absolute;left:var(--left);width:var(--width);top:0;height:100%;background:var(--brown)}.master-line i.site{background:var(--deep)}.master-line i.soft{background:var(--olive)}.master-track time{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);text-align:right;padding-top:4px}.overview-lower{display:grid;grid-template-columns:1.22fr .78fr;gap:14px;margin-top:14px}.attention-panel,.overview-records,.reference-grid>section{background:var(--white);border:1px solid var(--line);padding:18px}.panel-title{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:11px;border-bottom:1px solid var(--line)}.panel-title h3{font:400 18px Georgia,"Songti SC",serif;margin:0}.attention-list{display:flex;flex-direction:column}.attention-list article{display:grid;grid-template-columns:25px 1fr auto;gap:9px;align-items:start;border-bottom:1px solid var(--line);padding:13px 0}.attention-list article:last-child{border:0;padding-bottom:0}.attention-index{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown);padding-top:2px}.attention-list b{font-size:12px}.attention-list p{font-size:10px;color:var(--muted);margin:3px 0}.attention-list button{border:0;background:transparent;color:var(--deep);cursor:pointer;font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:0}.record-stack{display:flex;flex-direction:column;gap:8px;margin-top:12px}.record-card{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fcfaf5;padding:12px;cursor:pointer;transition:border-color .18s,transform .18s}.record-card:hover{border-color:var(--brown);transform:translateY(-1px)}.record-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.record-card time{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.record-type{font-size:9px;padding:2px 5px;border:1px solid var(--line-dark);color:var(--muted)}.record-type.meeting{border-color:#b8a18b;color:var(--brown)}.record-type.client{border-color:#d5ad70;color:#9e7235}.record-type.decision{border-color:#8db1ab;color:var(--deep)}.record-type.site{border-color:#a3af98;color:var(--olive)}.record-type.lesson{border-color:#b88a7e;color:var(--rose)}.record-card strong{display:block;font-size:12px;margin-top:7px}.record-card p{font-size:10px;color:var(--muted);line-height:1.55;margin:4px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.record-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px}.record-card-meta span{display:flex;gap:3px;flex-wrap:wrap}.record-card-meta span span{font-size:9px;background:#efeadf;color:#756c60;padding:2px 4px}.record-card-meta em{font-size:9px;color:var(--brown);font-style:normal;text-align:right}.record-card>small{display:block;color:var(--deep);font-size:9px;margin-top:5px}.record-card.compact{padding:10px}.record-card.compact strong{font-size:11px;margin-top:5px}.record-card.compact p{margin:3px 0}.empty-state,.empty{font-size:11px;color:var(--muted);padding:18px 0;margin:0}

.stage-intro{display:flex;justify-content:space-between;gap:30px;background:var(--white);border:1px solid var(--line);padding:22px 24px}.stage-intro h3{max-width:640px}.stage-intro p:not(.eyebrow){color:var(--muted);font-size:11px;max-width:600px;margin:0}.stage-intro.slim{align-items:center}.stage-status{min-width:175px;border-left:1px solid var(--line);padding-left:20px;align-self:center}.stage-status small,.stage-status span{display:block;color:var(--muted);font-size:10px}.stage-status b{display:block;font:20px Georgia,"Songti SC",serif;font-weight:400;color:var(--deep);margin:4px 0}.stage-status.olive b{color:var(--olive)}.construction-rhythm{border:1px solid var(--line);border-bottom:0;margin-top:14px;background:var(--white)}.construction-step{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:14px 16px}.construction-step>span,.soft-flow>article>span{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.construction-step b,.construction-step small{display:block}.construction-step b{font-size:13px}.construction-step small{font-size:10px;color:var(--muted);margin-top:2px}.construction-step p{font-size:10px;color:var(--muted);margin:3px 0 0}.construction-step button,.handoff-gate button{border:1px solid var(--line-dark);background:transparent;padding:6px 8px;font-size:10px;cursor:pointer}.site-callout{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#e7eee9;border:1px solid #b9c9bd;padding:12px 16px;margin-top:12px}.site-callout strong{font:13px Georgia,"Songti SC",serif}.site-callout span{font-size:10px;color:#4d665d}.site-callout button{border:0;background:var(--deep);color:#f3f5ef;padding:7px 10px;font-size:10px;cursor:pointer}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.delivery-mini-list{display:flex;flex-direction:column;margin-top:12px}.delivery-mini-list button{display:grid;grid-template-columns:46px 1fr;gap:4px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;cursor:pointer}.delivery-mini-list button:last-child{border:0}.delivery-mini-list span{grid-row:span 2;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.delivery-mini-list b{font-size:11px}.delivery-mini-list small{font-size:9px;color:var(--muted)}.soft-flow{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:var(--line);gap:1px;margin-top:14px}.soft-flow article{background:var(--white);min-height:146px;padding:15px}.soft-flow b,.soft-flow small{display:block}.soft-flow b{font-size:12px;margin:15px 0 4px}.soft-flow small{font-size:9px;color:var(--olive)}.soft-flow p{font-size:10px;color:var(--muted);margin:7px 0 0}.handoff-gate{display:flex;justify-content:space-between;gap:22px;align-items:center;background:#faf2e4;border:1px solid #d8b27b;padding:17px 18px;margin-top:12px}.handoff-gate b,.handoff-gate span{display:block}.handoff-gate b{font-size:13px}.handoff-gate span{font-size:10px;color:#7e6949;margin-top:4px}

.delivery-table{border:1px solid var(--line);background:var(--white);margin-top:14px}.delivery-row{display:grid;grid-template-columns:1.5fr .85fr 1fr .45fr .8fr;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 15px;text-align:left;cursor:pointer;font-size:11px}.delivery-row:last-child{border:0}.delivery-row:not(.delivery-head):hover{background:#faf7f0}.delivery-row span b,.delivery-row span small{display:block}.delivery-row span small{font-size:9px;color:var(--muted);margin-top:2px}.delivery-head{background:#eee9de;cursor:default;font-size:9px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.delivery-row em{font-size:10px;color:var(--brown);font-style:normal}.delivery-note{border:1px solid #d9c7ac;background:#faf1e2;color:#715d42;font-size:11px;padding:11px 13px;margin-top:10px}.record-filter{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.record-filter button{border:1px solid var(--line-dark);background:transparent;padding:6px 9px;font-size:10px;cursor:pointer}.record-filter button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.records-board{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.records-board .record-card{min-height:165px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.lesson-card{border:1px solid var(--line);background:var(--white);padding:17px}.lesson-card>div{display:flex;justify-content:space-between;gap:12px;align-items:start}.lesson-card span{font-size:9px;background:#e8eee9;color:var(--deep);padding:3px 5px}.lesson-card small{font-size:9px;color:var(--muted);text-align:right}.lesson-card h4{font:400 17px Georgia,"Songti SC",serif;margin:14px 0 10px}.lesson-card p{font-size:10px;color:var(--muted);margin:6px 0}.lesson-card p b{color:var(--ink)}.lesson-loop{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:23px;padding:18px 5px 0;color:var(--muted);font-size:10px}.lesson-loop i{color:var(--brown);font-style:normal}

.schedule{padding:0}.schedule-head{margin-bottom:17px}.schedule-head h2{font:400 26px Georgia,"Songti SC",serif}.schedule-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.schedule-tools label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px}.schedule-tools select{border:1px solid var(--line-dark);background:transparent;padding:8px;outline:0;color:var(--ink);min-width:145px}.scale{display:flex;border:1px solid var(--line-dark)}.scale button{border:0;background:transparent;color:var(--muted);padding:7px 10px;cursor:pointer;font-size:11px}.scale button+button{border-left:1px solid var(--line-dark)}.scale button.active{background:var(--ink);color:var(--paper)}.schedule-summary{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line);margin-bottom:10px}.schedule-summary div{background:var(--white);padding:11px 12px}.schedule-summary small{display:block;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.schedule-summary b{display:block;font-size:11px;font-weight:500;margin-top:3px}.schedule-summary em{color:var(--brown);font-style:normal}.drag-hint{color:var(--brown);font-size:11px;padding:8px 0 11px}.timeline-board{background:var(--white);border:1px solid var(--line);overflow-x:auto}.timeline-head,.timeline-row,.role-row{min-width:max(1140px,calc(235px + var(--cols) * 25px));display:grid;grid-template-columns:235px minmax(900px,1fr)}.timeline-head{border-bottom:1px solid var(--line);background:#f6f2e9}.head-label,.role-label{border-right:1px solid var(--line);padding:12px 13px;color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.head-grid{grid-column:2;display:grid;grid-template-rows:29px 40px;min-width:0}.month-grid,.day-grid,.timeline-grid,.role-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(25px,1fr))}.month-grid{background:#eee8dc;border-bottom:1px solid var(--line)}.month-grid>span{grid-column:calc(var(--start) + 1)/span var(--span);padding:5px 8px;border-right:1px solid var(--line);font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--deep)}.day-cell{padding:7px 0;text-align:center;border-right:1px solid #e7e1d7;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.day-cell b{font:10px -apple-system,BlinkMacSystemFont,"Noto Sans SC",sans-serif;color:var(--ink);font-weight:500}.day-cell small{display:block;font:9px -apple-system,BlinkMacSystemFont,"Noto Sans SC",sans-serif}.timeline-row{min-height:74px;border-bottom:1px solid var(--line);position:relative}.timeline-row.current{background:#f3eee4}.timeline-info{border-right:1px solid var(--line);padding:10px 42px 10px 12px;display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-content:center;position:relative}.num{grid-row:span 2;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--line-dark)}.timeline-title{font-size:12px;font-weight:600}.timeline-kind{font-size:9px;color:var(--muted)}.timeline-meta{grid-column:2;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linked-note{position:absolute;right:7px;bottom:10px;border:0;background:transparent;color:var(--deep);font-size:9px;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.timeline-grid,.role-grid{grid-column:2;grid-row:1;min-width:0;background-image:linear-gradient(to right,transparent calc(100% - 1px),#eeeae2 1px);background-size:calc(100% / var(--cols)) 100%}.timeline-bar{grid-column:calc(var(--start) + 1)/span var(--span);align-self:center;min-width:28px;height:32px;margin:0 3px;padding:0 9px;display:flex;align-items:center;gap:8px;background:var(--brown);color:#fffaf3;cursor:grab;position:relative;touch-action:none;box-shadow:0 3px 8px rgba(80,60,40,.14);user-select:none;transition:filter .15s}.timeline-bar:hover{filter:brightness(1.06)}.timeline-bar:before,.timeline-bar:after{content:"";position:absolute;top:7px;bottom:7px;width:3px;border-left:1px solid rgba(255,255,255,.75);border-right:1px solid rgba(255,255,255,.75);opacity:0}.timeline-bar:before{left:4px}.timeline-bar:after{right:4px}.timeline-bar:hover:before,.timeline-bar:hover:after{opacity:.75}.timeline-bar span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-bar time{margin-left:auto;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;opacity:.85}.timeline-row.current .timeline-bar{background:var(--ink)}.timeline-row.parallel .timeline-bar{background:var(--olive)}.timeline-bar.is-dragging{cursor:grabbing;z-index:8;box-shadow:0 8px 18px rgba(40,30,20,.2)}.edit-button{position:absolute;right:7px;top:8px;z-index:4;opacity:0;border:0;background:var(--paper);color:var(--deep);font-size:10px;cursor:pointer;padding:2px 5px}.timeline-row:hover .edit-button{opacity:1}.timeline-row.has-checklist{min-height:168px;grid-template-rows:74px auto}.task-checklist{grid-column:2;grid-row:2;margin:0 12px 14px;border-top:1px solid var(--line);padding-top:10px}.task-checklist-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.task-checklist-head strong{font-size:11px}.task-checklist-head span{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.table-check-items{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:7px}.table-check-item{display:grid;grid-template-columns:17px 1fr auto;gap:6px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.52);padding:7px 8px;cursor:pointer}.table-check-item input[type=checkbox]{accent-color:var(--olive)}.table-check-item b,.table-check-item small{display:block}.table-check-item b{font-size:10px}.table-check-item small{font-size:9px;color:var(--muted);margin-top:2px}.table-check-item.is-done{background:#edf0e8;border-color:#b6c1ac}.table-check-item.is-done small{color:var(--olive)}.table-check-item input[type=date]{width:88px;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;padding:2px 0}

.role-layer{border-top:1px solid var(--line-dark);background:#fbfaf6}.role-head{display:flex;justify-content:space-between;align-items:end;padding:16px 13px 12px;background:#f5f0e7;border-bottom:1px solid var(--line)}.role-head strong{font:15px Georgia,"Songti SC",serif;display:block}.role-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.role-row{min-height:78px;border-bottom:1px solid var(--line)}.role-row:last-child{border:0}.role-label{display:flex;flex-direction:column;justify-content:center;background:#f8f5ee}.role-label strong{font:600 11px -apple-system,BlinkMacSystemFont,"Noto Sans SC",sans-serif}.role-label small{font-size:10px;color:var(--muted);margin-top:2px}.role-label em{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown);font-style:normal;margin-top:6px}.role-grid{grid-column:2;grid-row:1;padding:0}.role-cell{min-width:0;border-right:1px solid rgba(232,227,218,.55);padding:10px 2px;position:relative}.role-bar,.role-event{position:relative;z-index:3;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:visible}.role-bar{width:calc(var(--span) * 100%);min-width:28px;padding:6px 7px;box-shadow:0 2px 6px rgba(70,55,40,.1)}.role-bar strong,.role-event strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-bar small,.role-event small{display:block;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-event{width:100%;padding:5px 4px}.role-main{background:#eee3d6;border-color:#bfa58a}.role-assistant{background:#edf0e8;border-color:#b6c1ac}.role-dependency{background:#f5ead8;border-color:#d4ad71;border-style:dashed}.role-review{background:#f3e2dc;border-color:#bb8d7d}.role-checkin{background:#edf0e8;border-color:#b6c1ac}.collab-track{min-width:max(1140px,calc(235px + var(--cols) * 25px));display:grid;grid-template-columns:235px minmax(900px,1fr);border-top:1px solid var(--line-dark);background:#f6f2e9}.collab-track-label{border-right:1px solid var(--line);padding:13px;background:#f2ece2}.collab-track-label strong,.collab-track-label small,.collab-track-label em{display:block}.collab-track-label strong{font-size:11px}.collab-track-label small{font-size:9px;color:var(--muted);margin-top:3px}.collab-track-label em{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown);font-style:normal;margin-top:7px}.collab-track-grid{grid-column:2;display:grid;grid-template-columns:repeat(var(--cols),minmax(25px,1fr));background-image:linear-gradient(to right,transparent calc(100% - 1px),#e7e1d7 1px);background-size:calc(100% / var(--cols)) 100%;min-height:76px}.collab-cell{min-width:0;border-right:1px solid rgba(232,227,218,.55);padding:9px 3px;cursor:crosshair}.collab-cell:hover{background:rgba(184,95,71,.08)}.collab-chip{width:100%;display:block;border:1px solid #bb8d7d;background:#f3e2dc;color:var(--ink);padding:5px 6px;text-align:left;cursor:grab;touch-action:none;user-select:none;box-shadow:0 2px 5px rgba(70,55,40,.08)}.collab-chip.is-handoff{border-color:#d4ad71;background:#f5ead8}.collab-chip strong,.collab-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-chip strong{font-size:9px}.collab-chip small{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);margin-top:2px}.inline-collab-form{display:grid;grid-template-columns:110px 1.4fr 110px 1.4fr 1.3fr;gap:9px;align-items:end;border-bottom:1px solid var(--line);padding:13px;background:#fbfaf6}.inline-collab-form[hidden]{display:none}.inline-form-title{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px}.inline-form-title strong{font:15px Georgia,"Songti SC",serif}.inline-form-title small{color:var(--muted);font-size:10px}.inline-collab-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.inline-collab-form input,.inline-collab-form select{width:100%;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);outline:0;padding:5px 0;font-size:11px}.inline-form-wide{grid-column:1/4}.inline-form-actions{grid-column:4/-1;display:flex;align-items:center;gap:13px}.inline-form-actions .button{padding:7px 12px;font-size:10px}.inline-form-actions .text-button{font-size:10px}.legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:var(--muted);font-size:10px;padding:11px 0}.legend i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.legend .brown{background:var(--brown)}.legend .olive{background:var(--olive)}.legend .amber{background:var(--amber)}.legend .rose{background:var(--rose)}.legend-note{margin-left:auto}

.modal{position:fixed;inset:0;z-index:40;visibility:hidden;opacity:0;transition:.2s}.modal.open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;background:rgba(35,30,24,.42)}.modal-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(510px,calc(100% - 32px));max-height:calc(100vh - 34px);overflow:auto;background:var(--white);padding:34px;box-shadow:var(--shadow)}.close{position:absolute;right:17px;top:12px;border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.modal-card h2{font:27px Georgia,"Songti SC",serif;margin:0 0 18px}.modal-card label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;margin:11px 0}.modal-card input,.modal-card select,.modal-card textarea{border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);padding:7px 0;outline:0}.modal-card textarea{border:1px solid var(--line-dark);padding:8px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-card .submit{width:100%;margin-top:12px;text-align:center}.hint{background:#f2eee6;color:var(--muted);font-size:10px;padding:9px 10px}.stage-options{display:flex;gap:12px;flex-wrap:wrap;border:1px solid var(--line);padding:8px 10px;margin:12px 0}.stage-options legend{font-size:10px;color:var(--muted);padding:0 4px}.stage-options label{display:flex;align-items:center;flex-direction:row;gap:4px;margin:0;font-size:10px}.stage-options input{padding:0}.record-drawer{position:fixed;inset:0;z-index:35;visibility:hidden;pointer-events:none}.record-drawer.open{visibility:visible;pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;background:rgba(35,30,24,.25);opacity:0;transition:.25s}.record-drawer.open .drawer-backdrop{opacity:1}.drawer-card{position:absolute;right:0;top:0;width:min(460px,100%);height:100%;overflow:auto;background:var(--white);padding:44px 32px 28px;transform:translateX(100%);transition:.25s;box-shadow:var(--shadow)}.record-drawer.open .drawer-card{transform:translateX(0)}.drawer-card h2{font:400 31px/1.25 Georgia,"Songti SC",serif;margin:0 0 12px}.drawer-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:22px}.drawer-tags span{font-size:10px;background:#efe9dd;color:#706658;padding:3px 6px}.drawer-tags span:last-child{background:#e8eee9;color:var(--deep)}.drawer-section{border-top:1px solid var(--line);padding:14px 0}.drawer-section small{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.drawer-section p,.drawer-section li{font-size:12px;margin:7px 0 0}.drawer-section ul{padding-left:18px;margin:6px 0}.drawer-link-grid{display:grid;gap:7px;margin-top:4px}.drawer-link-grid button{border:1px solid var(--line);background:#faf7f0;text-align:left;padding:9px;font-size:11px;cursor:pointer}.drawer-foot{margin-top:18px;padding:10px 12px;background:#ecf0ea;color:#546b61;font-size:10px}.toast{position:fixed;z-index:50;bottom:23px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:10px 17px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}body.dragging{cursor:grabbing!important;user-select:none}

@media(max-width:1060px){.project-workbench{grid-template-columns:205px minmax(0,1fr)}.workspace-main{padding-left:20px}.workspace-sidebar{padding-right:14px}.soft-flow{grid-template-columns:repeat(3,1fr)}.soft-flow article:nth-last-child(-n+2){border-top:1px solid var(--line)}.overview-metrics{grid-template-columns:repeat(2,1fr)}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:0}}
@media(max-width:860px){.site-header{width:calc(100% - 36px);grid-template-columns:1fr auto;height:120px}.site-header nav{grid-row:2;grid-column:1/-1;height:43px}.site-header>.button{display:none}.wrap{width:calc(100% - 42px)}.hero{grid-template-columns:1fr;gap:27px;padding-top:45px}.hero-image{height:220px}.project-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.project-tools{width:100%}.project-workbench{display:block}.workspace-sidebar{position:relative;top:auto;min-height:0;padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.workspace-side-top{padding-right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.workspace-side-top>.eyebrow{grid-column:1/-1}.workspace-nav{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px;padding-top:10px}.workspace-nav button{display:block;border-left:0;border-bottom:2px solid transparent;padding:8px 4px;font-size:11px}.workspace-nav button span{display:block;margin-bottom:3px}.workspace-nav button.active{border-left:0;border-bottom-color:var(--deep)}.workspace-side-foot{display:none}.workspace-main{padding:22px 0}.overview-lower,.reference-grid{grid-template-columns:1fr}.stage-intro{flex-direction:column}.stage-status{border-left:0;border-top:1px solid var(--line);padding:13px 0 0;width:100%}.soft-flow{grid-template-columns:repeat(2,1fr)}.records-board{grid-template-columns:1fr}.schedule-summary{grid-template-columns:repeat(3,1fr)}.table-check-items{grid-template-columns:repeat(2,minmax(145px,1fr))}.inline-collab-form{grid-template-columns:repeat(2,minmax(130px,1fr))}.inline-form-title,.inline-form-wide,.inline-form-actions{grid-column:1/-1}}
@media(max-width:580px){.wrap{width:calc(100% - 28px)}.brand small{font-size:8px}.hero h1{font-size:34px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div{padding:14px!important;border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3),.stats>div:nth-child(4){border-bottom:0}.project-grid{grid-template-columns:1fr}.project-tools input{width:100%}.workspace-heading{align-items:start;flex-direction:column}.workspace-heading-actions{width:100%;justify-content:space-between}.workspace-nav{grid-template-columns:repeat(3,1fr)}.overview-hero{flex-direction:column;padding:19px}.project-progress{width:100%;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.overview-metrics{grid-template-columns:1fr 1fr}.master-track{grid-template-columns:100px 1fr}.master-track time{display:none}.attention-list article{grid-template-columns:22px 1fr}.attention-list article>button{grid-column:2;justify-self:start}.construction-step{grid-template-columns:28px 1fr}.construction-step button{grid-column:2;justify-self:start}.site-callout{grid-template-columns:1fr}.soft-flow{grid-template-columns:1fr}.soft-flow article{min-height:0;border-bottom:1px solid var(--line)}.handoff-gate{flex-direction:column;align-items:start}.delivery-row{grid-template-columns:1.35fr .75fr .8fr;font-size:10px}.delivery-row span:nth-child(3),.delivery-row span:nth-child(4),.delivery-head span:nth-child(3),.delivery-head span:nth-child(4){display:none}.delivery-row em{font-size:9px}.lesson-loop{flex-wrap:wrap;justify-content:flex-start}.schedule-summary{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.modal-card{padding:31px 20px}.timeline-head,.timeline-row,.role-row{min-width:1030px;grid-template-columns:210px minmax(820px,1fr)}.collab-track{min-width:1030px;grid-template-columns:210px minmax(820px,1fr)}.timeline-bar time{display:none}.legend{gap:10px}.legend-note{margin-left:0}.record-drawer .drawer-card{padding:40px 22px 24px}}

/* 设计阶段：交付条与人员协作条合并在同一行，避免第二、第三张表重复。 */
.edit-button{opacity:1;right:8px;top:9px;background:#f8f4ec;border:1px solid var(--line);padding:3px 5px;font-size:9px}
.timeline-row{min-height:116px}.timeline-grid{height:116px;display:grid;grid-template-rows:65px 39px;align-content:start}.timeline-bar{grid-row:1;align-self:center}.timeline-assignment{grid-column:calc(var(--start) + 1)/span var(--span);grid-row:2;display:flex;align-items:stretch;gap:4px;min-width:188px;overflow:hidden;margin:0 3px 8px;padding:3px;background:#f8f5ee;border:1px solid var(--line);box-shadow:0 1px 3px rgba(70,55,40,.05)}.assignment-chip{display:grid;grid-template-columns:auto auto;column-gap:4px;align-items:baseline;flex:0 0 auto;border-right:1px solid var(--line);padding:0 6px 0 3px;line-height:1.25}.assignment-chip:last-child{border-right:0}.assignment-chip small{font-size:8px;color:var(--muted)}.assignment-chip b{font-size:10px;font-weight:600}.assignment-chip em{grid-column:1/-1;display:block;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:var(--muted);font-style:normal}.assignment-chip.lead{background:#eee3d6;color:#62482f}.assignment-chip.协助{background:#edf0e8}.assignment-chip.确认{background:#f5ead8}.assignment-chip.交接{background:#f3e2dc}.timeline-row.has-checklist{min-height:210px;grid-template-rows:116px auto}.timeline-row.has-checklist .timeline-grid{height:116px}.timeline-row.has-checklist .timeline-info{min-height:116px}.task-checklist{margin-top:0}.timeline-info{min-height:116px}

/* 项目总日历：一行一个进行中项目，共用一根完整设计日期轴。 */
.calendar-keyline{display:flex;align-items:center;gap:0;border:1px solid var(--line);background:var(--white);margin-bottom:9px;overflow:hidden}.calendar-keyline span{padding:10px 14px;border-right:1px solid var(--line);color:var(--muted);font-size:10px}.calendar-keyline span:last-child{border:0;margin-left:auto}.calendar-keyline b{color:var(--ink);font-weight:600}.project-calendar-board{background:var(--white);border:1px solid var(--line);overflow-x:auto}.project-calendar-board .timeline-head{min-width:max(1160px,calc(252px + var(--cols) * 26px));grid-template-columns:252px minmax(900px,1fr)}.project-calendar-board .head-label{display:flex;align-items:center}.project-calendar-row{--tone:#8e6849;min-width:max(1160px,calc(252px + var(--cols) * 26px));display:grid;grid-template-columns:252px minmax(900px,1fr);min-height:116px;border-bottom:1px solid var(--line);background:#fffdf8;position:relative}.project-calendar-row.active{background:#faf6ee;box-shadow:inset 3px 0 0 var(--tone)}.project-calendar-row.tone-0{--tone:#8e6849}.project-calendar-row.tone-1{--tone:#9b6673}.project-calendar-row.tone-2{--tone:#667a8b}.project-calendar-row.tone-3{--tone:#57786f}.project-calendar-row.tone-4{--tone:#aa7b3f}.project-calendar-row.tone-5{--tone:#7b6f91}.project-calendar-info{border-right:1px solid var(--line);position:relative;padding:0;background:rgba(255,253,248,.76)}.project-calendar-open{width:100%;height:100%;border:0;background:transparent;text-align:left;display:grid;grid-template-columns:28px 1fr 18px;gap:7px;align-items:center;padding:14px 43px 14px 12px;cursor:pointer}.project-calendar-open:hover{background:rgba(146,111,77,.06)}.project-index{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--tone)}.project-calendar-open strong,.project-calendar-open small,.project-calendar-open em{display:block}.project-calendar-open strong{font:15px Georgia,"Songti SC",serif}.project-calendar-open small{font-size:9px;color:var(--muted);margin-top:3px}.project-calendar-open em{font-size:9px;color:var(--tone);font-style:normal;margin-top:8px}.project-calendar-open i{font-style:normal;color:var(--tone);font-size:13px}.project-calendar-edit{position:absolute;right:8px;top:8px;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--muted);padding:2px 1px;font-size:9px;cursor:pointer}.project-calendar-edit:hover{color:var(--tone);border-color:var(--tone)}.project-calendar-grid{grid-column:2;display:grid;grid-template-columns:repeat(var(--cols),minmax(26px,1fr));grid-template-rows:repeat(3,30px);row-gap:3px;align-content:center;min-width:0;background-image:linear-gradient(to right,transparent calc(100% - 1px),#eeeae2 1px);background-size:calc(100% / var(--cols)) 100%}.milestone-bar{grid-column:calc(var(--start) + 1)/span var(--span);height:27px;margin:0 3px;border:0;min-width:64px;padding:0 8px;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap;text-align:left;cursor:grab;touch-action:none;user-select:none;box-shadow:0 2px 7px rgba(60,43,28,.1);transition:filter .15s,box-shadow .15s;background:var(--tone);color:#fffaf3}.milestone-bar:hover{filter:brightness(1.05);z-index:4}.milestone-bar.is-dragging{cursor:grabbing;z-index:8;box-shadow:0 8px 17px rgba(50,35,20,.2)}.milestone-bar b{font-size:9px;font-weight:600}.milestone-bar time{margin-left:auto;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.88}.milestone-bar.prepare{grid-row:1}.milestone-bar.precom{grid-row:2;background:color-mix(in srgb,var(--tone) 18%,#fffaf3);border:1px dashed var(--tone);color:var(--ink);box-shadow:none}.milestone-bar.delivery{grid-row:3;background:var(--ink);color:var(--paper)}.project-calendar-add{min-width:1160px;display:grid;grid-template-columns:252px 1fr;min-height:70px;background:#f7f2e9}.project-calendar-add button{border:0;border-right:1px solid var(--line);background:transparent;text-align:left;padding:14px 18px;cursor:pointer;color:var(--brown)}.project-calendar-add button:hover{background:#efe5d7}.project-calendar-add b,.project-calendar-add small{display:block}.project-calendar-add b{font:15px Georgia,"Songti SC",serif}.project-calendar-add small{font-size:9px;color:var(--muted);margin-top:2px}.project-calendar-add>span{display:flex;align-items:center;padding:0 18px;color:var(--muted);font-size:10px;border-top:1px dashed var(--line)}.project-calendar-legend{border-bottom:1px solid var(--line);margin-bottom:18px}

.design-project-detail{border:1px solid var(--line);background:var(--white);padding:20px;margin-top:4px}.design-detail-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.design-detail-head h3{font:400 22px Georgia,"Songti SC",serif;margin:0 0 5px}.design-detail-head p:not(.eyebrow){font-size:10px;color:var(--muted);margin:0}.design-detail-head p b{color:var(--brown);font-weight:600}.compact-design-flow{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:17px}.compact-design-flow article{background:#faf7f0;min-height:82px;padding:10px 9px}.compact-design-flow span,.compact-design-flow b,.compact-design-flow small{display:block}.compact-design-flow span{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.compact-design-flow b{font-size:10px;margin-top:11px}.compact-design-flow small{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.35}.design-project-detail .task-checklist{grid-column:auto;margin:18px 0 0;padding-top:13px}.design-project-detail .table-check-items{grid-template-columns:repeat(4,minmax(130px,1fr))}

@media(max-width:860px){.calendar-keyline{align-items:stretch;flex-wrap:wrap}.calendar-keyline span{flex:1 1 33%}.calendar-keyline span:last-child{margin-left:0}.compact-design-flow{grid-template-columns:repeat(4,1fr)}.design-detail-head{flex-direction:column}.design-project-detail .table-check-items{grid-template-columns:repeat(2,minmax(135px,1fr))}}
@media(max-width:580px){.project-calendar-board .timeline-head,.project-calendar-row{min-width:1040px;grid-template-columns:220px minmax(820px,1fr)}.project-calendar-add{min-width:1040px;grid-template-columns:220px 1fr}.project-calendar-open{padding-left:9px}.calendar-keyline span{flex:1 1 50%}.compact-design-flow{grid-template-columns:repeat(2,1fr)}.design-project-detail{padding:15px}.design-project-detail .table-check-items{grid-template-columns:1fr}.project-calendar-legend .legend-note{width:100%}}

/* 完整设计排期：主流程、并行表格与双交接、沟通节点分层显示。 */
.project-calendar-row{min-height:156px}.project-calendar-grid{grid-template-rows:repeat(4,29px);row-gap:4px}.phase-bar{grid-column:calc(var(--start) + 1)/span var(--span);grid-row:var(--lane);height:26px;min-width:48px;margin:0 2px;padding:0 7px;border:0;background:var(--tone);color:#fffaf3;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden;white-space:nowrap;text-align:left;cursor:grab;touch-action:none;user-select:none;box-shadow:0 2px 6px rgba(60,43,28,.11);transition:filter .15s,box-shadow .15s}.phase-bar:hover{filter:brightness(1.06);z-index:5}.phase-bar.is-dragging{cursor:grabbing;z-index:8;box-shadow:0 8px 17px rgba(50,35,20,.2)}.phase-bar b{font-size:9px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.phase-bar time{margin-left:auto;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.82}.phase-bar small{display:none}.phase-bar.phase-positioning{background:color-mix(in srgb,var(--tone) 76%,#c9ad8e)}.phase-bar.phase-plan{background:var(--tone)}.phase-bar.phase-model{background:color-mix(in srgb,var(--tone) 84%,#344b4a)}.phase-bar.phase-render{background:color-mix(in srgb,var(--tone) 68%,#243e3c)}.phase-bar.phase-construction{background:color-mix(in srgb,var(--tone) 78%,#2f302b)}.phase-bar.phase-tables{background:#66745f}.phase-bar.phase-handoffClient{background:#b4874a}.phase-bar.phase-handoffSoft{background:#b87568}.project-calendar-grid .milestone-bar.precom{grid-row:3;background:#fff8ec;border-color:#b4874a;color:#6e5530}.project-calendar-grid .milestone-bar.delivery{grid-row:4;background:var(--ink)}.project-calendar-add{min-width:max(1160px,calc(252px + var(--cols) * 26px))}

.project-plan-modal{width:min(760px,calc(100% - 32px))}.phase-editor-title{display:flex;justify-content:space-between;gap:18px;align-items:end;border-top:1px solid var(--line);padding-top:16px;margin-top:17px}.phase-editor-title b{font:17px Georgia,"Songti SC",serif}.phase-editor-title span{font-size:9px;color:var(--muted)}.phase-date-editor{border:1px solid var(--line);margin:9px 0 16px}.phase-date-row{display:grid;grid-template-columns:26px minmax(130px,1fr) 145px 145px;gap:11px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);background:#fcfaf5}.phase-date-row:last-child{border:0}.phase-date-row>span{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.phase-date-row>b{font-size:11px}.project-plan-modal .phase-date-row label{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:6px;margin:0;font-size:9px}.project-plan-modal .phase-date-row input{padding:4px 0;font-size:10px}

@media(max-width:580px){.project-calendar-row{min-height:156px}.phase-editor-title{align-items:start;flex-direction:column;gap:3px}.phase-date-row{grid-template-columns:23px 1fr}.phase-date-row>b{padding-right:4px}.project-plan-modal .phase-date-row label{grid-column:2}.project-plan-modal .phase-date-row input{width:100%}}

/* 阶段接力：设计交接后，施工与软装使用独立的同期周排期。 */
.design-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.stage-switcher{display:flex;justify-content:space-between;gap:24px;align-items:center;border:1px solid var(--line);background:var(--white);padding:18px 20px;margin-bottom:13px}.stage-switcher>div:first-child b,.stage-switcher>div:first-child span{display:block}.stage-switcher>div:first-child b{font:19px Georgia,"Songti SC",serif}.stage-switcher>div:first-child span{font-size:10px;color:var(--muted);margin-top:4px}.stage-switcher>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.stage-current-badge{border:1px solid #9fb4a5;background:#e7eee9;color:var(--deep);font-size:10px;padding:8px 11px}.delivery-sync-board{border:1px solid var(--line);background:var(--white);overflow-x:auto}.delivery-sync-head,.delivery-sync-row{min-width:max(1180px,calc(220px + var(--weeks) * 92px));display:grid;grid-template-columns:220px minmax(960px,1fr)}.delivery-sync-head{background:#eee8dc;border-bottom:1px solid var(--line)}.delivery-sync-head>div:first-child{padding:12px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.delivery-sync-head>div:first-child b{font:14px Georgia,"Songti SC",serif}.delivery-sync-head>div:first-child small{font-size:9px;color:var(--muted)}.delivery-week-grid,.delivery-sync-grid{display:grid;grid-template-columns:repeat(var(--weeks),minmax(92px,1fr))}.delivery-week-grid>div{padding:8px 6px;border-right:1px solid var(--line);text-align:center}.delivery-week-grid b,.delivery-week-grid small{display:block}.delivery-week-grid b{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--deep)}.delivery-week-grid small{font:8px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);margin-top:2px}.delivery-sync-row{min-height:104px;border-bottom:1px solid var(--line)}.delivery-sync-row:last-child{border:0}.delivery-sync-label{border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;justify-content:center}.delivery-sync-label strong{font:16px Georgia,"Songti SC",serif}.delivery-sync-label small{font-size:9px;color:var(--muted);margin-top:4px}.delivery-sync-grid{grid-column:2;align-items:center;min-width:0;background-image:linear-gradient(to right,transparent calc(100% - 1px),#eeeae2 1px);background-size:calc(100% / var(--weeks)) 100%;padding:19px 0}.delivery-sync-task{grid-column:calc(var(--start) + 1)/span var(--span);min-width:76px;height:56px;margin:0 3px;padding:8px 9px;background:var(--deep);color:#f7f3ea;box-shadow:0 3px 8px rgba(40,50,44,.12);overflow:hidden}.delivery-sync-task b,.delivery-sync-task small,.delivery-sync-task time{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-sync-task b{font-size:10px}.delivery-sync-task small{font-size:8px;opacity:.76;margin-top:2px}.delivery-sync-task time{font:8px ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.7;margin-top:3px}.group-materials{background:#fcf8ef}.group-materials .delivery-sync-task{background:#b4874a}.group-soft{background:#f7f9f5}.group-soft .delivery-sync-task{background:#66745f}.landing-priorities{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:13px}.landing-priorities article{background:var(--white);padding:14px 15px;min-height:128px}.landing-priorities span{display:inline-block;border:1px solid #d1b482;color:#90692e;background:#fff8eb;padding:2px 5px;font-size:9px}.landing-priorities b{display:block;font-size:11px;margin-top:12px}.landing-priorities p{font-size:9px;color:var(--muted);margin:6px 0 0}

@media(max-width:860px){.stage-switcher{align-items:flex-start;flex-direction:column}.stage-switcher>div:last-child{justify-content:flex-start}.landing-priorities{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.design-detail-actions{justify-content:flex-start}.landing-priorities{grid-template-columns:1fr}.delivery-sync-head,.delivery-sync-row{min-width:max(1060px,calc(200px + var(--weeks) * 86px));grid-template-columns:200px minmax(860px,1fr)}.delivery-week-grid,.delivery-sync-grid{grid-template-columns:repeat(var(--weeks),minmax(86px,1fr))}}

.delivery-sync-row{min-height:136px}.delivery-sync-grid{grid-template-rows:repeat(2,54px);align-content:center;padding:10px 0}.delivery-sync-task{grid-row:var(--task-lane)}

.delivery-sync-task{border:0;text-align:left;font:inherit;cursor:pointer}.delivery-sync-task:hover{filter:brightness(.94);transform:translateY(-1px)}.schedule-item-modal{width:min(570px,calc(100vw - 30px))}.schedule-item-modal textarea{resize:vertical;min-height:88px}.schedule-item-modal [hidden]{display:none}

/* 时间条点开后在原位旁边快速编辑，不遮罩、不进入整页表单。 */
.schedule-quick-layer{pointer-events:none}.schedule-quick-layer.open{pointer-events:none}.schedule-quick-layer .schedule-item-modal{position:fixed;top:0;left:0;transform:none;width:min(760px,calc(100vw - 24px));max-height:none;overflow:visible;padding:10px 12px;border:1px solid var(--line-dark);background:#fffdf8;box-shadow:0 12px 30px rgba(61,49,35,.18);pointer-events:auto;z-index:45}.clip-edit-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;color:var(--brown);font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.clip-edit-head .close{position:static;width:22px;height:20px;margin:-4px -5px -4px 0;font-size:20px;line-height:18px}.clip-edit-fields{display:grid;grid-template-columns:1.35fr 1fr 116px 116px 1.8fr auto;gap:9px;align-items:end}.clip-edit-fields label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}.clip-edit-fields small{color:var(--muted);font-size:8px}.clip-edit-fields input{min-width:0;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);padding:5px 0 4px;outline:0;font-size:11px}.clip-edit-fields input[type=date]{font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.clip-save{align-self:end;border:0;background:var(--ink);color:var(--paper);padding:7px 12px;font-size:10px;cursor:pointer}.clip-save:hover{background:var(--brown)}.schedule-quick-layer [hidden]{display:none}.phase-bar.is-dragging,.milestone-bar.is-dragging{opacity:.8}@media(max-width:760px){.clip-edit-fields{grid-template-columns:1fr 1fr}.clip-edit-fields .clip-note{grid-column:1/-1}.clip-save{grid-column:2;justify-self:end}.schedule-quick-layer .schedule-item-modal{max-height:calc(100vh - 24px);overflow:auto}}

.soft-flow.soft-flow-eight{grid-template-columns:repeat(4,1fr)}.soft-flow.soft-flow-eight article:nth-child(n+5){border-top:1px solid var(--line)}.stage-status .text-button{margin-top:8px;text-align:left}
@media(max-width:860px){.soft-flow.soft-flow-eight{grid-template-columns:repeat(2,1fr)}.soft-flow.soft-flow-eight article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:580px){.soft-flow.soft-flow-eight{grid-template-columns:1fr}}

/* 控制台重构：减少同层卡片，先显示当前推进与卡点。 */
.company-canvas{background-color:#f7f4ec;background-image:radial-gradient(rgba(70,64,52,.12) .65px,transparent .65px);background-size:6px 6px}.legacy-intro{display:none}.company-canvas .site-header{margin-bottom:28px}.company-canvas .project-workbench{margin-top:26px;border:1px solid var(--line-dark);background:rgba(255,253,248,.68);grid-template-columns:258px minmax(0,1fr);box-shadow:0 10px 26px rgba(75,61,43,.05)}.company-canvas .workspace-sidebar{top:0;min-height:calc(100vh - 120px);padding:28px 18px 26px;background:#fffdf8}.company-canvas .workspace-side-top>.eyebrow{color:var(--brown);letter-spacing:.08em}.company-canvas .current-project-card{border-radius:14px;overflow:hidden;background:#fff}.company-canvas .workspace-nav{gap:4px;margin-top:28px}.company-canvas .workspace-nav button{min-height:44px;border-left:0;border-radius:9px;padding:10px 12px;font-size:13px}.company-canvas .workspace-nav button.active{background:var(--ink);color:var(--paper)}.company-canvas .workspace-nav button.active span{color:#d6c5ac}.company-canvas .workspace-main{padding:30px 34px 48px}.company-canvas .workspace-heading{padding-bottom:17px}.company-canvas .workspace-heading h2{font-size:30px}.company-canvas .workspace-panel{padding-top:28px}.control-overview{display:grid;gap:19px}.control-intro{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start;padding:22px 0 8px}.control-intro h3{font:400 37px Georgia,"Songti SC",serif;margin:6px 0 10px}.control-intro p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:12px;margin:0}.now-card{border:1px solid var(--line-dark);border-radius:17px;background:#fffdf9;padding:18px 20px;display:flex;flex-direction:column;gap:7px;box-shadow:0 4px 12px rgba(64,50,35,.04)}.now-card small,.now-card span{font-size:10px;color:var(--muted)}.now-card b{font:22px Georgia,"Songti SC",serif}.control-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.control-metrics article{background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:14px 17px}.control-metrics small,.control-metrics span{display:block;color:var(--muted);font-size:10px}.control-metrics b{font:28px Georgia,"Songti SC",serif;margin-right:5px}.company-project-list,.decision-section{border-top:1px solid var(--line-dark);padding-top:17px}.panel-title>span{font-size:10px;color:var(--muted)}.company-project-row{width:100%;display:grid;grid-template-columns:36px minmax(180px,1.55fr) minmax(120px,1fr) minmax(145px,1.15fr) 100px 16px;gap:14px;align-items:center;border:0;border-bottom:1px solid var(--line);background:rgba(255,253,248,.7);padding:15px 10px;text-align:left;cursor:pointer}.company-project-row:hover,.company-project-row.current{background:#eef1eb}.company-project-index{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.company-project-row b,.company-project-row small{display:block}.company-project-row>span:nth-child(2)>b{font:17px Georgia,"Songti SC",serif}.company-project-row small{font-size:9px;color:var(--muted);margin-top:4px}.company-stage b,.company-next b{font-size:11px}.company-risk{font-size:10px;color:var(--olive)}.company-risk.has-risk{color:#9b604f}.company-project-row i{font-style:normal;color:var(--brown)}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.decision-card{min-height:157px;border:1px solid var(--line-dark);border-radius:14px;background:#fffdf9;padding:15px;text-align:left;cursor:pointer;display:flex;flex-direction:column}.decision-card:hover{border-color:var(--brown);transform:translateY(-1px)}.decision-card>span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brown)}.decision-card b{font:18px Georgia,"Songti SC",serif;margin:22px 0 8px}.decision-card p{font-size:10px;color:var(--muted);margin:0}.decision-card small{font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:auto}.delivery-focus{display:grid;grid-template-columns:1fr 1fr 1.15fr;border:1px solid var(--line-dark);background:var(--white);margin-bottom:13px}.delivery-focus article{padding:15px;border-right:1px solid var(--line)}.delivery-focus article:last-child{border:0;background:#faf2e4}.delivery-focus small,.delivery-focus span{display:block;font-size:9px;color:var(--muted)}.delivery-focus b{display:block;font:17px Georgia,"Songti SC",serif;margin:8px 0 5px}.delivery-focus button{margin-top:8px;border:0;background:transparent;padding:0;color:var(--brown);font-size:10px;text-decoration:underline;cursor:pointer}.workspace-panel[data-workspace-panel="site"] .landing-priorities,.workspace-panel[data-workspace-panel="site"] .site-callout,.workspace-panel[data-workspace-panel="site"] .reference-grid{display:none}.workspace-panel[data-workspace-panel="site"] .stage-switcher{padding:0 0 14px;border:0;background:transparent}.asset-control{display:grid;gap:15px}.asset-intro{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line-dark);padding-bottom:17px}.asset-intro h3{font:400 28px Georgia,"Songti SC",serif;margin:5px 0}.asset-intro p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0}.asset-count{display:grid;grid-template-columns:auto auto;column-gap:8px;align-content:start;background:#eef1eb;padding:11px 14px;min-width:157px}.asset-count b{font:21px Georgia,"Songti SC",serif}.asset-count span{font-size:9px;color:var(--muted);align-self:end;padding-bottom:4px}.asset-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line)}.asset-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:9px 4px;color:var(--muted);font-size:12px;cursor:pointer}.asset-tabs button+button{margin-left:16px}.asset-tabs button.active{border-color:var(--ink);color:var(--ink);font-weight:600}.asset-tabs span{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-left:4px;border-radius:50%;background:#ece7dc;font-size:8px}.material-summary{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px;margin-bottom:11px}.material-summary article{border:1px solid var(--line);background:#fffdf9;padding:11px 14px}.material-summary small,.material-summary span{display:block;font-size:9px;color:var(--muted)}.material-summary b{font:22px Georgia,"Songti SC",serif}.material-summary .button{align-self:stretch}.material-table{border:1px solid var(--line);background:#fffdf9}.material-row{width:100%;display:grid;grid-template-columns:64px 1.75fr .85fr .78fr 100px 1fr;gap:11px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 13px;text-align:left;cursor:pointer}.material-row:last-child{border-bottom:0}.material-row:not(.material-head):hover{background:#f5f0e6}.material-head{background:#eee8dc;color:var(--muted);font-size:9px;cursor:default}.material-row b,.material-row small{display:block}.material-row b{font-size:11px}.material-row small{font-size:9px;color:var(--muted);margin-top:3px}.material-group{width:max-content;padding:3px 5px;font-size:9px}.material-group.hard{background:#f0e3d0;color:#7e5838}.material-group.soft{background:#e7eee9;color:#4f685c}.material-status{font-size:9px;color:var(--brown)}.material-link{font-size:9px;color:var(--muted)}.drawing-loop{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#eef1eb;padding:11px 14px;font-size:10px;color:var(--deep)}.drawing-loop i{font-style:normal;color:var(--brown)}.drawing-explain{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:0 0 12px}.drawing-explain p{font-size:10px;color:var(--muted);margin:0;flex:1}.drawing-explain b{color:var(--ink)}.drawing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.drawing-card{border:1px solid var(--line-dark);border-radius:13px;background:#fffdf9;padding:14px;min-height:190px;display:flex;flex-direction:column}.drawing-card.is-ready{border-color:#95ae9a;background:#f7faf5}.drawing-card-head{display:flex;align-items:center;justify-content:space-between}.drawing-card-head span{font-size:9px;color:var(--muted)}.drawing-card-head em{font-size:9px;color:#a06f43;font-style:normal}.drawing-card.is-ready .drawing-card-head em{color:var(--olive)}.drawing-card h4{font:18px Georgia,"Songti SC",serif;margin:15px 0 4px}.drawing-card>p{font-size:9px;color:var(--muted);margin:0}.approval-row{display:flex;gap:4px;flex-wrap:wrap;margin:13px 0}.approval-chip{border:1px solid var(--line);background:transparent;padding:4px 5px;font-size:8px;color:var(--muted);cursor:pointer}.approval-chip.done{border-color:#88a28d;background:#e7eee9;color:var(--deep)}.drawing-file-line{min-height:29px;border-top:1px solid var(--line);padding-top:8px}.drawing-file-line button{max-width:100%;border:0;background:transparent;padding:0;color:var(--brown);font-size:9px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.drawing-file-line small{font-size:9px;color:var(--muted)}.drawing-actions{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:auto;padding-top:8px}.drawing-actions button{border:0;background:transparent;padding:0;font-size:9px;color:var(--brown);cursor:pointer}.drawing-actions span{font-size:8px;color:var(--muted);text-align:right}.file-preview{position:fixed;inset:0;z-index:55;visibility:hidden;pointer-events:none}.file-preview.open{visibility:visible;pointer-events:auto}.file-preview .drawer-backdrop{opacity:0;transition:.2s}.file-preview.open .drawer-backdrop{opacity:1}.file-preview-card{position:absolute;right:0;top:0;height:100%;width:min(740px,100%);background:#fffdf9;padding:40px 28px 26px;box-shadow:var(--shadow);transform:translateX(100%);transition:.25s}.file-preview.open .file-preview-card{transform:translateX(0)}.file-preview-card h2{font:28px Georgia,"Songti SC",serif;margin:6px 0 16px}.file-preview-card img{display:block;width:100%;max-height:calc(100vh - 140px);object-fit:contain;background:#eee8dc}.file-preview-card iframe{width:100%;height:calc(100vh - 150px);border:1px solid var(--line)}.file-no-preview{border:1px dashed var(--line-dark);padding:24px;color:var(--muted);font-size:11px}.file-no-preview b{display:block;color:var(--ink);font-size:15px}.file-no-preview a{color:var(--brown)}.archive-lessons{border-top:1px solid var(--line-dark);margin-top:24px;padding-top:17px}
@media(max-width:980px){.company-canvas .project-workbench{grid-template-columns:220px minmax(0,1fr)}.company-canvas .workspace-main{padding:24px}.control-intro{grid-template-columns:1fr}.decision-grid,.drawing-grid{grid-template-columns:repeat(2,1fr)}.material-row{grid-template-columns:58px 1.55fr .8fr .75fr 90px}.material-row .material-link{display:none}}@media(max-width:700px){.company-canvas .project-workbench{display:block}.company-canvas .workspace-sidebar{min-height:0}.control-metrics,.decision-grid,.drawing-grid{grid-template-columns:1fr}.company-project-row{grid-template-columns:28px 1fr 16px}.company-stage,.company-next,.company-risk{display:none}.delivery-focus,.material-summary{grid-template-columns:1fr}.delivery-focus article{border-right:0;border-bottom:1px solid var(--line)}.asset-intro,.drawing-explain{flex-direction:column;align-items:flex-start}.asset-count{width:100%}.material-table{overflow-x:auto}.material-row{min-width:660px}.drawing-loop{flex-wrap:wrap}.company-canvas .workspace-nav{grid-template-columns:repeat(3,1fr)}}

/* 剪辑轨道式排期：人固定在左，事项只在时间条上编辑。 */
.project-calendar-board .timeline-head,.project-calendar-row{min-width:max(1360px,calc(420px + var(--cols) * 26px));grid-template-columns:420px minmax(940px,1fr)}
.project-calendar-add{min-width:max(1360px,calc(420px + var(--cols) * 26px));grid-template-columns:420px 1fr}
.project-calendar-open{grid-template-columns:26px minmax(118px,1.5fr) repeat(3,minmax(66px,.7fr)) 16px;gap:8px;padding:14px 12px}
.project-calendar-open .project-ident{min-width:0}.project-calendar-open .project-ident strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-calendar-open .project-ident small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-staff{align-self:stretch;min-width:0;padding-left:8px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.project-staff small{margin:0!important;font-size:8px!important;color:var(--muted)!important;white-space:nowrap}
.project-staff b{font:600 14px/1.35 Georgia,"Songti SC",serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.project-calendar-open i{justify-self:end}
.phase-bar,.milestone-bar,.delivery-sync-task{position:relative;touch-action:none;user-select:none}
.clip-handle{position:absolute;z-index:3;top:0;bottom:0;width:9px;opacity:.3;cursor:ew-resize}
.clip-handle-left{left:0;border-left:2px solid rgba(255,253,248,.72)}
.clip-handle-right{right:0;border-right:2px solid rgba(255,253,248,.72)}
.phase-bar:hover .clip-handle,.delivery-sync-task:hover .clip-handle,.is-dragging .clip-handle{opacity:1}
.phase-bar.is-dragging,.milestone-bar.is-dragging,.delivery-sync-task.is-dragging{opacity:.84;cursor:grabbing;z-index:9;box-shadow:0 9px 18px rgba(50,35,20,.24)}
.delivery-sync-task time{margin-top:7px}.delivery-sync-task b{padding-right:7px}
.clip-edit-fields{grid-template-columns:minmax(170px,.9fr) minmax(260px,1.5fr) auto}
.clip-edit-fields .clip-note{grid-column:auto}
@media(max-width:760px){.project-calendar-board .timeline-head,.project-calendar-row{min-width:1180px;grid-template-columns:360px minmax(820px,1fr)}.project-calendar-add{min-width:1180px;grid-template-columns:360px 1fr}.project-calendar-open{grid-template-columns:22px minmax(105px,1.3fr) repeat(3,62px) 14px;padding:12px 9px}.project-calendar-open .project-ident strong{font-size:15px}.project-staff b{font-size:12px}.clip-edit-fields{grid-template-columns:1fr}.clip-edit-fields .clip-note{grid-column:auto}.clip-save{grid-column:auto;justify-self:end}}
