/* Shiyu site records: the product stays quiet so the design and site images can lead. */
:root{--paper:#F2F1EE;--white:#fff;--ink:#2B2A2C;--muted:#686268;--line:#D7D2D1;--blue:#51474E;--blue-dark:#40363D;--green:#51474E;--green-dark:#40363D;--tint:#E9E5E6;--sans:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;--radius:5px;--shadow:none}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums;line-height:1.65}
[hidden]{display:none!important}h1,h2,h3{text-wrap:balance;letter-spacing:-.015em}h1{font-size:28px;font-weight:600}h2{font-size:20px;font-weight:600}h3{font-weight:500}p,dd{overflow-wrap:anywhere}::selection{background:#D8CFD5;color:var(--ink)}input,textarea{caret-color:var(--blue)}a{text-underline-offset:4px}a:hover{text-decoration:underline}button,a,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{width:min(100%,1280px);padding:0 32px}.card,.summary-card{box-shadow:none}.app-header{background:var(--paper);border-top:0;border-bottom:1px solid var(--line)}.header,.header-inner{min-height:88px}.header{padding:14px 0}.brand-lockup{gap:20px}.brand-logo{width:84px!important;max-width:84px!important;height:45px!important;object-fit:contain}.brand,.brand-name{font-size:16px;letter-spacing:0;font-weight:600}.brand-en{font-size:12px;letter-spacing:0;margin-top:3px}.header-badge{border:0;background:transparent;padding:4px 0;color:var(--muted);font-size:12px;font-weight:400}.text-button,.shiyu-action{color:var(--blue);font-size:14px;min-height:44px}.shiyu-action{background:transparent;border-color:var(--line);font-weight:500;border-radius:4px}.shiyu-action:hover{background:var(--tint)}
.title-block,.report-masthead{padding:28px 0 22px;align-items:center;gap:20px}.title-block h1,.project-name{font-size:28px;font-weight:600}.title-sub,.mast-sub{font-size:14px;line-height:1.7}.page-kicker,.card-icon,.next-number,.step-number{display:none}.sample-strip{display:none}.count-badge{font-size:12px;background:transparent;border:0;padding:4px 0;color:var(--muted)}
.module-note,.field-help,.upload-help,.save-note,.node-list-help,.node-inline-note,.node-year-note,.list-note{font-size:12px;line-height:1.75;color:var(--muted)}
button{transition:background .15s ease-out,border-color .15s ease-out}button:not(:disabled):active{transform:translateY(1px)}button:disabled{opacity:.5}.field-label{font-size:14px;font-weight:500;margin-bottom:8px}.field-label small{font-size:12px}.field input,.field select,.field textarea,.account-layout input,.account-layout select,.schedule-year-form input{font-size:16px;border:1px solid #BBB3B9;min-height:46px;border-radius:4px;background:white;padding:10px 12px}.field textarea{font-size:16px;line-height:1.8;min-height:154px}input::placeholder,textarea::placeholder{color:#726B71;opacity:1}.field{margin-bottom:20px}.field-label small,.field-help{font-weight:400}input[type=checkbox]{accent-color:var(--blue)}
.draft-button,.draft-save,.draft-freeze,.new-plan-button,.project-open,.publish-button,.login-primary,.node-actions button,.quick-generate{font-size:14px;min-height:44px;border-radius:4px;font-weight:500;padding:10px 17px;background:var(--blue);color:white;border:1px solid var(--blue)}.draft-button,.draft-save{background:white;color:var(--blue);border-color:#BBB3B9}.draft-button:hover,.draft-save:hover{background:var(--tint)}.publish-button:hover,.login-primary:hover,.new-plan-button:hover{background:var(--blue-dark)}.draft-add-button{min-height:44px;font-size:14px}.server-pagination{font-size:13px;gap:16px;color:var(--muted);justify-content:flex-end}.server-pagination button{color:var(--blue);background:white;border-color:var(--line);font-size:13px;min-height:44px}.error-banner,.server-alert,.draft-error,.save-error,.preview-error{font-size:14px;color:#8D3B3B;line-height:1.7}.error-banner,.server-alert{background:#F8EDEC;border-color:#D7B7B3}.error-banner:empty,.draft-error:empty,.save-error:empty{display:none}.toast{background:#40363D;color:white;font-size:14px;border-radius:5px;padding:13px 20px;max-width:calc(100% - 32px);line-height:1.6;box-shadow:none}
.site-registration{font-size:12px!important;padding:20px 24px!important;border-top:1px solid var(--line);margin-top:40px;color:var(--muted)!important;background:transparent!important}.site-registration a{color:var(--muted)!important}.qa-notice{padding:8px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center;background:#EAE7E7}.qa-selector{max-width:860px;margin:40px auto;padding:24px}.qa-selector h1{font-size:24px;margin-bottom:14px}.qa-selector p{font-size:14px;line-height:1.8}.qa-selector form{display:inline-block;margin:14px 12px 0 0}
/* Entry and login: two real routes, then one compact credential task. */
.entry-header{padding:0;background:transparent}.entry-header-inner{max-width:1280px;margin:auto;min-height:88px;padding:18px 32px;border-bottom:1px solid var(--line)}.entry-brand{gap:20px}.entry-brand-name{font-size:16px;font-weight:600}.entry-brand-caption{font-size:12px;color:var(--muted)}.entry-main{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:80px;max-width:920px;margin:80px auto 100px;padding:0 24px}.entry-intro{align-self:center}.entry-intro h1{font-size:28px;line-height:1.4}.entry-intro p{font-size:16px;max-width:25em;line-height:1.9;margin-top:16px;color:var(--muted)}.entry-roles{display:block;border-radius:5px;background:white;padding:8px 28px}.entry-role{display:block;position:relative;padding:24px 36px 24px 0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;min-height:0;text-align:left}.entry-role+.entry-role{border-top:1px solid var(--line)}.entry-role h2{font-size:19px;font-weight:500}.entry-role p{font-size:13px;color:var(--muted);margin-top:5px}.entry-role-arrow{position:absolute;right:0;top:35px;color:var(--blue)}.entry-role-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.entry-role:hover{background:transparent;color:var(--blue);transform:none}.entry-notice{grid-column:1/-1;font-size:14px}.entry-footer{font-size:12px;color:var(--muted)}.login-wrap{max-width:460px;margin:54px auto 70px;padding:0 20px}.login-card{border:0;border-radius:6px;padding:32px;background:white}.login-card h1{font-size:24px;font-weight:600}.login-sub{font-size:14px;margin-top:10px;margin-bottom:24px;color:var(--muted);line-height:1.75}.login-card .field{margin-bottom:20px}.device-consent{padding:0;background:transparent;border:0;font-size:13px}.device-consent p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}.login-primary{font-size:14px;min-height:46px}.login-foot{font-size:12px}
/* Client: one concise site context, then actual dated text and photographs. */
.client-dashboard .report-masthead{padding:24px 0 18px}.client-dashboard .mast-sub{font-size:13px}.client-dashboard .mast-date{font-size:12px;line-height:1.7}.client-dashboard .progress-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;padding:22px 26px;margin-bottom:30px;background:var(--tint);border-radius:4px}.client-dashboard .summary-card{background:transparent;border:0;padding:0;border-radius:0;box-shadow:none}.client-dashboard .current-progress{padding-right:28px;border-right:1px solid #CBC2C8}.client-dashboard .next-work{padding-left:28px}.summary-card-top{margin-bottom:7px}.eyebrow{font-size:12px;font-weight:400;color:var(--muted)}.current-progress h2,.current-progress h2.pending-progress{font-size:25px;font-weight:600;display:inline}.archive-site-state{font-size:13px;margin-left:12px;color:#425849}.archive-stage-context{margin-top:10px;max-width:70ch}.archive-stage-context summary{font-size:12px;min-height:32px;color:var(--muted);cursor:pointer}.archive-stage-context .progress-meta{font-size:12px;line-height:1.7;color:var(--muted);margin-top:10px}.archive-stage-context .progress-note{font-size:14px;color:var(--ink);line-height:1.8;margin-top:8px}.next-list{gap:7px}.next-item{display:block}.next-item>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px}.next-item h3{font-size:14px;font-weight:500}.next-item p{font-size:12px;color:var(--muted);font-weight:400;margin:0;line-height:1.7}.next-item p:nth-of-type(n+2){grid-column:1/-1}.archive-feed-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.archive-feed-filter button{font-size:13px;min-height:40px;padding:7px 12px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:4px}.archive-feed-filter button[aria-pressed=true]{background:var(--tint);color:var(--ink);border-color:#D7D0D5}
.client-dashboard #updates{border:0;border-radius:0;background:transparent;margin-bottom:36px}.client-dashboard #updates>.section-heading{padding:0 0 18px;border-bottom:1px solid var(--line)}.client-dashboard .section-heading h2{font-size:21px}.client-dashboard .section-heading p{font-size:13px;margin-top:6px}.client-dashboard #updates .details-body{padding:0}.stage-summary{min-height:48px;padding:14px 0;gap:16px}.stage-group-name{font-size:17px;font-weight:500}.stage-group-name:before{display:none}.stage-group-meta{font-size:12px;line-height:1.6}.stage-group-body{padding:0}.record-summary{padding:13px 0!important;min-height:44px!important}.record-summary .entry-date{font-size:13px!important;color:var(--muted)!important}.record-summary .entry-date:before{content:""!important;display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);margin:0 10px 2px 0!important}.record-details[open]>.record-summary .entry-date:before{transform:rotate(45deg)}.record-details[open]>.record-summary .record-summary-note{display:none}.record-summary-note{font-size:14px!important;line-height:1.7}.record-photo-count{font-size:12px!important}.client-dashboard .feed-entry{padding:0 0 26px!important}.entry-title{font-size:16px;font-weight:500;margin-bottom:12px}.entry-copy{font-size:16px!important;line-height:1.85!important;max-width:70ch;text-wrap:pretty;white-space:pre-wrap;color:var(--ink);margin:0 0 20px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.photo-grid.single{grid-template-columns:minmax(0,1fr);max-width:880px}.photo-grid button{padding:0;position:relative;overflow:hidden;border:0;border-radius:3px;background:#E3DFE0;width:100%;aspect-ratio:4/3;display:block}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.photo-grid .photo-label,.photo-grid .expand-icon{display:none}.photo-grid button:hover:after{content:"查看原图";position:absolute;bottom:10px;right:10px;background:#fff;color:var(--ink);font-size:12px;padding:4px 9px;border-radius:3px}.client-dashboard .customer-schedule-details{background:transparent;border:0;border-radius:0;border-top:1px solid var(--line);margin-top:24px}.client-dashboard .customer-schedule-details>summary{padding:16px 0;font-size:14px;color:var(--ink)}.customer-schedule-details>summary:after{content:""!important;width:7px;height:7px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg)}.customer-schedule-details[open]>summary:after{transform:rotate(225deg)}.schedule-table th,.baseline-table th{background:#EAE7E7;color:var(--muted);font-size:12px}.schedule-table td,.baseline-table td{border-color:var(--line);font-size:13px}.schedule-adjusted{color:var(--blue-dark)}.status-badge,.status-active,.status-done,.status-pending{font-size:12px;border:0;background:var(--tint);color:var(--ink);font-weight:400}.device-tools{border-top:1px solid var(--line);padding-top:14px;display:flex;gap:20px;flex-wrap:wrap}.device-tools a,.device-tools button{font-size:13px;min-height:44px}
/* The owner list and staff workbench share data but not the same visual task. */
#boss-account-link{margin:16px 0 0;text-align:right}#boss-account-link a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:6px 0}.project-overview{margin:0 0 36px}.project-overview>.module-heading{padding:16px 0;border:0;align-items:center}.project-overview>.module-heading h2{font-size:20px}.archive-overview-count{font-size:13px;color:var(--muted);margin-bottom:20px}.archive-project-list{display:block;border-top:1px solid var(--line)}.project-list-row{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(180px,1fr) minmax(160px,.9fr) minmax(160px,.9fr) auto;gap:20px;padding:22px 0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;align-items:center}.project-row-name h3{font-size:17px;font-weight:500;margin:0}.project-row-name p,.project-row-cell small{font-size:12px;color:var(--muted);margin-top:6px;display:block;line-height:1.7}.project-row-cell{font-size:14px;min-width:0;overflow-wrap:anywhere}.project-row-latest.attention{color:#805B35}.project-row-latest.attention small{color:#796349}.project-list-row .shiyu-action-group{margin:0;display:flex;gap:8px;flex-direction:column;align-items:flex-end}.project-list-row .project-open{margin:0;background:white;color:var(--blue);border:1px solid #BBB3B9;padding:8px 13px;font-size:13px;min-height:44px;font-weight:500}.project-list-row .shiyu-action{border:0;padding:5px 0;font-size:12px;min-height:32px}.project-list-row.needs-attention{border-color:var(--line)}.attention-controls{position:relative;display:block;padding:0;border:0;background:transparent;margin:8px 0 18px}.attention-settings>summary{min-height:44px;padding:0;font-size:13px;color:var(--muted)}.attention-settings-body{max-width:560px;border:1px solid var(--line);border-radius:4px;background:white;padding:20px;margin-top:10px}.attention-controls .field-help{flex:none;font-size:12px}.attention-controls .field{margin-bottom:14px}.attention-controls input{width:100%;max-width:150px}.attention-controls button{margin-bottom:12px}.project-empty{padding:28px 0;border:0;background:transparent;font-size:16px}.draft-resume-row{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:16px 0;font-size:14px}
#project-workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:36px;margin-top:8px}.archive-project-rail{border-right:1px solid var(--line);padding-right:22px;min-width:0}.archive-project-rail h2{font-size:13px;font-weight:400;color:var(--muted);margin-bottom:14px}#archive-project-rail-list{max-height:68vh;overflow:auto}.archive-rail-project{width:100%;padding:14px 10px;background:transparent;border-radius:3px;text-align:left;border-bottom:1px solid var(--line);font-size:14px;min-height:64px}.archive-rail-project strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.archive-rail-project small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.archive-rail-project.selected{background:var(--tint);border-color:transparent;color:var(--blue)}.archive-rail-project:hover{background:#E9E5E6}.archive-workspace-content{min-width:0}.archive-workspace-content>.shiyu-action-group{margin:0 0 8px;gap:18px}.archive-workspace-content>.shiyu-action-group .shiyu-action{font-size:13px;min-height:44px;border:0;padding:4px 0}.archive-plan-picker{background:transparent;border:0;padding:0 0 14px;box-shadow:none}.archive-plan-picker .plan-manager-head{align-items:center;gap:14px}.archive-plan-picker .plan-picker{display:flex;align-items:center;gap:10px}.archive-plan-picker .plan-picker h2,.archive-plan-picker .plan-picker>label{display:none}.archive-plan-picker select{font-size:14px;background:transparent;border-color:var(--line);min-height:42px;max-width:320px}.archive-plan-picker #schedule-new-plan{background:transparent;color:var(--blue);font-size:13px;padding:7px 0;min-height:42px;border:0}.plan-current-label{display:none}.workspace-tabs{display:flex;gap:28px;margin:0 0 26px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent}.workspace-tabs button{flex:0 0 auto;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0;min-height:48px;color:var(--muted);font-size:14px}.workspace-tabs button[aria-selected=true]{background:transparent;border-color:var(--blue);color:var(--ink)}.workspace-tabs button strong{font-size:14px;font-weight:500}.workspace-tabs button small{display:none}.module-panel{background:transparent;border:0;padding:0;border-radius:0}.module-panel>.module-heading{padding:0 0 18px;border:0}.module-panel>.module-heading h2{font-size:20px}#workspace-report>.module-heading{display:none}#report-project-label{font-size:12px;margin:0 0 16px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:32px}.editor-panel,.records-panel{border:0;background:transparent;border-radius:0;padding:0;box-shadow:none}.records-panel{border-left:1px solid var(--line);padding-left:24px;min-width:0}.panel-heading{padding:0 0 14px;border:0}.panel-heading h2{font-size:15px;font-weight:500}.editor-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 0 18px;border:0;margin:0 0 4px}.editor-heading h2{font-size:20px}.editor-heading #editor-status{font-size:12px;color:var(--muted);grid-row:2}.editor-heading #record-new{font-size:12px;min-height:32px;padding:4px 0;background:transparent;border:0;grid-column:2;grid-row:2;color:var(--blue)}.editor-heading .form-actions{padding:0;margin:0;border:0;display:flex;gap:8px;grid-column:2;grid-row:1;white-space:nowrap}.editor-heading .form-actions button{font-size:13px;padding:9px 12px;min-height:44px}.archive-mobile-record-actions{display:none}.form-row.report-stage-row{grid-template-columns:minmax(0,1fr) minmax(140px,.7fr);gap:16px}.archive-secondary-field{margin:0 0 20px}.archive-secondary-field>summary,.archive-phrase-options>summary{font-size:13px;color:var(--muted);min-height:40px;padding:6px 0;cursor:pointer}.archive-secondary-field .field{margin:10px 0 0}.archive-help{font-size:12px;line-height:1.7}.archive-secondary-field .field-help{display:block}#stage-help{display:none}.archive-phrase-options{margin:-8px 0 18px}.report-phrases{background:transparent;border:0;padding:12px 0;margin:0}.report-phrases h3{font-size:14px}.report-phrases h3 small{font-size:12px}.phrase-buttons{gap:8px}.phrase-buttons button{font-size:13px;min-height:40px;padding:8px 12px;color:var(--blue);border-color:var(--line);background:white;flex:1 1 160px}.upload-label{min-height:96px;display:flex;justify-content:space-between;gap:16px;border:1px dashed #BDB3BB;background:#ECE8EB;border-radius:4px;padding:18px;color:var(--blue);font-size:14px}.upload-label svg{width:27px;height:27px;flex:none}.upload-help{font-size:12px;margin:10px 0 16px}.upload-status{font-size:13px;line-height:1.7}.draft-photos{gap:10px}.draft-caption{font-size:12px;color:var(--muted)}.draft-remove{width:32px;height:32px;min-height:32px;background:#fff;color:#40363D;font-size:20px;line-height:1}.save-note{margin-top:18px;font-size:12px}.records-panel .tabs{gap:14px;border-bottom:1px solid var(--line);margin-bottom:6px}.records-panel .tab{border:0;background:transparent;font-size:12px;min-height:44px;padding:8px 0;color:var(--muted)}.records-panel .tab[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--blue);background:transparent}#record-list{max-height:580px;overflow:auto;scrollbar-width:thin;scrollbar-color:#BEB5BC transparent}.record-row{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:14px 0;margin:0}.record-row.selected{background:#EAE5E8;padding:14px 10px;border:0}.record-open{padding:0;background:transparent;border:0;text-align:left;width:100%}.record-name{font-size:14px}.record-date,.status-label{font-size:12px;color:var(--muted)}.record-preview{font-size:13px;line-height:1.65;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0}.record-audit{font-size:12px;line-height:1.65;color:var(--muted);margin:8px 0}.record-actions{gap:8px;display:flex;flex-wrap:wrap;margin-top:8px}.record-actions button{font-size:12px;min-height:32px;padding:4px 0;background:transparent;color:var(--blue)}.record-photo-count{font-size:12px}.records-panel .server-pagination{justify-content:flex-start;gap:6px;flex-wrap:wrap;font-size:12px}.records-panel .server-pagination button{font-size:12px;min-height:38px;padding:6px 8px}.records-panel .list-note{font-size:12px;line-height:1.8;margin-top:18px}.empty-state,.feed-empty,.module-empty{padding:20px 0;font-size:15px;color:var(--muted)}
/* All original plan, account and device flows remain reachable and share the same components. */
.schedule-topline,.node-workspace{padding:0;border:0;background:transparent}.schedule-layout{gap:28px;grid-template-columns:250px minmax(0,1fr)}.node-overview,.node-editor{background:transparent;border-color:var(--line);border-radius:4px}.node-overview{border:0;border-right:1px solid var(--line);padding-right:20px}.node-editor{padding:20px;background:white;border:0}.node-list-title{font-size:14px;font-weight:500}.node-row{border-color:var(--line);color:var(--ink);font-size:14px;min-height:64px;background:transparent;border-radius:3px;padding:12px}.node-row.selected{background:var(--tint)}.node-row-plan,.node-row-mark{font-size:12px;color:var(--muted)}.node-site-status{color:var(--muted);padding:4px 12px 12px;font-size:12px}.node-site-status select{font-size:14px;min-height:40px;border-color:var(--line);border-radius:3px}.node-section-label,.node-tabs button{font-size:14px}.scope-list label,.check-label{font-size:13px;line-height:1.7}.node-context{background:var(--tint);border:0;font-size:14px;border-radius:3px}.node-tabs button{color:var(--muted);background:transparent;min-height:44px}.node-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--blue);background:transparent}.node-actions p{font-size:12px;color:var(--muted)}.node-year-note,.year-confirmed{font-size:13px}.schedule-details{border-color:var(--line);background:transparent;font-size:13px}.schedule-details summary{font-size:14px;min-height:44px}.draft-workspace{background:transparent;border:0;padding:0}.draft-intro h3{font-size:19px}.draft-intro p{font-size:13px;line-height:1.75}.draft-row{border:1px solid var(--line);background:white;border-radius:5px;padding:20px}.draft-row-head{font-size:14px}.draft-row-controls button{font-size:13px;min-height:38px;border-color:var(--line)}.draft-row-fields{gap:16px}.draft-row-fields input,.draft-row-fields select{font-size:16px}.baseline-table{font-size:14px}.protected-note,.editor-lock-note,.report-locked{font-size:13px;background:#F1EBDF;border-color:#D9C8AB;color:#765A36}.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;border:0;background:transparent;border-radius:0;padding:0}.account-layout section{min-width:0}.account-layout section+section{border-left:1px solid var(--line);padding-left:32px}.account-row{padding:20px 0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}.account-bindings{background:white;border-color:var(--line);font-size:14px;padding:14px}.account-bindings label{margin:12px 0;min-height:32px}.account-actions button,.account-layout button{min-height:44px;font-size:14px}.account-layout h2,.account-layout h3{font-weight:500}.account-layout .field{margin-top:16px}.account-layout p{font-size:14px;line-height:1.8}.account-layout .shiyu-action-group{margin-bottom:20px}.account-layout input[type=checkbox]{width:18px;height:18px;min-height:0}.account-row strong{font-size:16px}.account-row small{font-size:12px}.shiyu-action-group{flex-wrap:wrap}.device-row{background:transparent;border:0;border-bottom:1px solid var(--line);font-size:14px;padding:16px 0}
.schedule-dialog,#devices-dialog{border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);box-shadow:none;max-width:720px;width:calc(100% - 32px)}.preview-header{padding:24px 28px;border-color:var(--line);background:#F5F3F4}.preview-header h2{font-size:22px;font-weight:500}.preview-header p{font-size:14px;color:var(--muted);margin-top:8px}.preview-content{padding:24px 28px;max-height:60dvh;overflow:auto}.preview-content p,.preview-content li{font-size:15px;line-height:1.8}.preview-content h3{font-size:18px;margin-bottom:12px}.preview-content .entry-copy{font-size:16px}.preview-footer{padding:18px 28px;gap:12px;border-color:var(--line);background:white}.preview-footer button{font-size:14px;min-height:44px;border-radius:4px;padding:10px 17px;background:var(--blue);color:white}.preview-footer button:first-child{background:white;color:var(--blue);border:1px solid var(--line)}#archive-report-preview{border:1px solid var(--line);border-radius:6px;padding:0;background:white;max-width:760px;width:calc(100% - 32px)}#archive-report-preview-body .archive-preview-meta{font-size:13px;color:var(--muted);margin-bottom:12px}#archive-report-preview-body .photo-grid{margin-top:20px}#archive-report-preview-body .photo-grid img{object-fit:contain;background:#E9E5E6}dialog::backdrop{background:rgba(35,30,34,.45)}.lightbox{background:#232025;color:#F5F3F4;border-radius:0;padding:20px;width:min(1100px,calc(100% - 32px));height:min(90dvh,950px);max-height:90dvh;border:0;box-shadow:none}.lightbox-head{font-size:14px}.lightbox .icon-button{min-width:44px;min-height:44px;color:white}.lightbox-media{min-height:0;height:calc(100% - 150px);background:transparent}.lightbox-media img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}.lightbox-arrow{background:rgba(35,30,34,.72);color:white;min-width:44px;min-height:44px;border:0;border-radius:4px}.lightbox-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.lightbox-caption{font-size:13px;line-height:1.7;max-height:110px;overflow:auto;color:#E9E5E6}.lightbox-counter{font-size:13px}
@media(max-width:1120px){.wrap{padding:0 24px}.project-list-row{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.9fr) auto;gap:18px}.project-row-next{grid-column:3;grid-row:1}.project-row-state{grid-column:3;grid-row:2}.project-row-name,.project-row-latest,.project-list-row .shiyu-action-group{grid-row:1 / span 2}#project-workspace{grid-template-columns:170px minmax(0,1fr);gap:26px}.archive-project-rail{padding-right:18px}.workspace{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.records-panel{padding-left:20px}.editor-heading{grid-template-columns:minmax(0,1fr) auto}.editor-heading h2{font-size:18px}.editor-heading .form-actions{grid-row:2;grid-column:1/-1;justify-content:flex-start}.editor-heading #editor-status{grid-row:3}.editor-heading #record-new{grid-row:3}.schedule-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}.next-item>div{display:block}.next-item p{margin-top:3px}}
@media(max-width:760px){.wrap{padding:0 20px}.header,.header-inner{min-height:76px}.brand-lockup{gap:12px}.brand-logo{width:66px!important;max-width:66px!important;height:38px!important}.brand,.brand-name{font-size:14px}.brand-en{font-size:12px}.header-badge{font-size:12px;max-width:120px;white-space:normal;text-align:right}.title-block,.report-masthead{padding:22px 0 16px;gap:14px}.title-block h1,.project-name{font-size:24px}.title-sub,.mast-sub{font-size:13px}.title-block{align-items:flex-start}.title-block .header-badge{display:none}.qa-notice{font-size:12px;text-align:left;padding:7px 20px}.site-registration{font-size:12px!important;margin-top:28px;padding-bottom:22px!important}.entry-header-inner{min-height:76px;padding:15px 20px}.entry-brand{gap:12px}.entry-main{display:block;margin:32px auto 48px;padding:0 20px}.entry-intro h1{font-size:25px}.entry-intro p{font-size:15px;margin-top:12px;line-height:1.8;max-width:26em}.entry-roles{margin-top:28px;padding:2px 24px}.entry-role{padding:22px 30px 22px 0}.entry-role h2{font-size:18px}.entry-role p{font-size:14px}.entry-role-arrow{top:31px}.entry-footer{font-size:12px}.login-wrap{margin:30px auto 40px}.login-card{padding:26px 24px}.login-card h1{font-size:23px}.login-sub{font-size:14px}.login-card input{min-height:48px;font-size:16px}.device-consent label{font-size:14px}.login-primary{min-height:48px}.login-foot{font-size:12px}
 .client-dashboard .report-masthead{padding:20px 0 14px}.client-dashboard .mast-sub{display:none}.client-dashboard .mast-date{font-size:12px;max-width:104px}.client-dashboard .progress-grid{padding:16px 18px;margin-bottom:24px;grid-template-columns:minmax(0,1fr);gap:12px}.client-dashboard .current-progress{padding:0 0 12px;border-right:0;border-bottom:1px solid #CBC2C8}.client-dashboard .next-work{padding:0}.current-progress h2,.current-progress h2.pending-progress{font-size:22px}.archive-site-state{font-size:12px;margin-left:10px}.archive-stage-context{margin-top:6px}.archive-stage-context summary{min-height:28px;font-size:12px}.archive-stage-context .progress-note{font-size:14px}.summary-card-top{margin-bottom:5px}.next-list{gap:5px}.next-item>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.next-item h3{font-size:13px}.next-item p{font-size:12px;margin-top:0;max-width:170px}.next-item:nth-child(n+2){display:none}.archive-feed-filter{margin-bottom:10px;gap:4px}.archive-feed-filter button{min-height:40px;padding:7px 10px;font-size:13px}.client-dashboard #updates>.section-heading{padding-bottom:14px;align-items:center}.client-dashboard .section-heading h2{font-size:20px}.client-dashboard .section-heading p{display:none}.stage-summary{min-height:44px;padding:12px 0;flex-direction:row;align-items:center;gap:12px}.stage-group-name{font-size:16px}.stage-group-meta{font-size:12px;text-align:right;margin:0;max-width:165px}.record-summary{padding:12px 0!important;gap:10px;min-height:44px!important}.record-summary-note{font-size:14px!important}.record-summary .entry-date{font-size:13px!important}.record-photo-count{font-size:12px!important}.entry-title{display:none}.entry-copy{font-size:16px!important;line-height:1.8!important;margin-bottom:14px}.client-dashboard .feed-entry{padding:0 0 20px!important}.photo-grid{gap:8px;margin-top:12px}.photo-grid.single{max-width:none}.photo-grid button{aspect-ratio:4/3}.photo-grid button:hover:after{display:none}.count-badge{font-size:12px}.client-dashboard .customer-schedule-details>summary{font-size:14px;min-height:48px}.schedule-table th,.schedule-table td,.baseline-table td{font-size:13px}.device-tools{gap:14px}
 #boss-account-link{margin:12px 0 0}#boss-account-link a{font-size:14px}.project-overview>.module-heading{padding:12px 0;align-items:center}.project-overview>.module-heading h2{font-size:19px}.project-overview>.module-heading p{font-size:12px}.new-plan-button{font-size:13px;padding:9px 13px}.archive-overview-count{font-size:13px;margin-bottom:12px}.project-list-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;padding:20px 0}.project-row-name{grid-row:1;grid-column:1}.project-row-name h3{font-size:18px}.project-row-name p{margin-top:4px}.project-row-latest{grid-row:2;grid-column:1;font-size:13px}.project-row-latest small{display:block;font-size:12px;margin-top:3px}.project-row-state{grid-row:3;grid-column:1;font-size:13px}.project-row-state small{display:inline;margin-left:10px;font-size:12px}.project-row-next{grid-row:4;grid-column:1;font-size:12px;color:var(--muted)}.project-row-next small{display:inline;font-size:12px;margin-left:8px}.project-list-row .shiyu-action-group{grid-row:1 / span 4;grid-column:2;gap:8px;align-self:center}.project-list-row .project-open{font-size:13px;min-height:44px;padding:8px 11px}.project-list-row .shiyu-action{font-size:12px;min-height:40px}.attention-settings>summary{font-size:13px}.attention-settings-body{padding:18px}.attention-controls .field-help{font-size:12px}.server-pagination{justify-content:center;gap:10px;flex-wrap:wrap}.server-pagination button{font-size:13px}.server-pagination span{font-size:12px}
 #project-workspace{display:block;margin-top:0}.archive-project-rail{display:none}.archive-plan-picker{padding:0 0 14px}.archive-plan-picker .plan-picker{width:100%}.archive-plan-picker .plan-manager-head{display:block}.archive-plan-picker select{font-size:15px;max-width:none;width:100%;min-height:46px;background:var(--tint);border:0}.archive-plan-picker #schedule-new-plan{min-height:40px;margin-top:6px;display:none}.archive-workspace-content>.shiyu-action-group{gap:20px;margin-bottom:6px}.archive-workspace-content>.shiyu-action-group .shiyu-action{font-size:13px;min-height:42px;white-space:nowrap}.workspace-tabs{gap:0;justify-content:space-between;margin-bottom:22px}.workspace-tabs button{min-height:44px;font-size:14px;padding:9px 0}.workspace-tabs button strong{font-size:14px}.workspace{display:block}.records-panel{border-left:0;border-top:1px solid var(--line);padding:22px 0 0;margin-top:30px}.editor-heading{display:flex;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px;padding-bottom:0;gap:8px}.editor-heading h2{font-size:20px}.editor-heading #record-new{font-size:13px;min-height:40px;margin-left:auto}.editor-heading #editor-status{order:3;flex-basis:100%;font-size:12px}.editor-heading .form-actions{display:none}.archive-mobile-record-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:15}.archive-mobile-record-actions span{font-size:12px;color:var(--muted);max-width:74px;line-height:1.6;overflow-wrap:anywhere}.archive-mobile-record-actions button{font-size:14px;min-height:46px;padding:10px 14px;border-radius:4px;background:var(--blue);color:white;white-space:nowrap;border:1px solid var(--blue)}#archive-mobile-draft{background:white;color:var(--blue);border-color:#BBB3B9}.archive-ui:has(#workspace-report:not([hidden])){padding-bottom:104px}.archive-ui.keyboard-open .archive-mobile-record-actions{display:none}.archive-ui:not(.archive-report-active) .archive-mobile-record-actions{display:none}#record-form{padding-bottom:24px}.form-row.report-stage-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:12px}.field{margin-bottom:18px}.field-label{font-size:13px}.field textarea{font-size:16px;min-height:150px}.archive-secondary-field{margin:0 0 16px}.archive-secondary-field>summary,.archive-phrase-options>summary{font-size:13px;min-height:40px}.archive-phrase-options{margin:0 0 14px}.archive-help{font-size:12px;line-height:1.7}.upload-label{min-height:90px;font-size:14px;padding:16px;line-height:1.7}.upload-help{font-size:12px}.draft-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-caption{font-size:12px}.save-note{font-size:12px}.phrase-buttons button{font-size:13px;min-height:44px}.records-panel .tab{font-size:13px}.record-row{padding:16px 0}.record-name{font-size:15px}.record-preview{font-size:14px}.record-actions button{font-size:13px;min-height:44px}.record-audit{font-size:12px}.record-photo-count{font-size:12px}#record-list{max-height:none;overflow:visible}.records-panel .list-note{font-size:12px}
 .schedule-layout{display:block}.node-overview{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:22px}.node-editor{padding:18px}.node-row{font-size:14px}.node-row-plan,.node-row-mark{font-size:12px}.node-site-status{font-size:13px}.node-site-status select{font-size:16px;min-height:44px}.node-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.node-actions p{font-size:12px}.node-actions button{min-height:46px}.scope-list label,.check-label{font-size:14px}.scope-list input{width:18px;height:18px}.schedule-topline h2{font-size:20px}.schedule-topline p{font-size:13px}.schedule-year-form{width:100%;align-items:flex-end;flex-wrap:wrap}.schedule-year-form label{font-size:13px}.schedule-year-form input{font-size:16px}.draft-row{padding:18px}.draft-row-fields{grid-template-columns:minmax(0,1fr);gap:0}.draft-row-controls{gap:8px}.draft-row-controls button{font-size:13px;min-height:44px}.draft-actions{flex-wrap:wrap}.draft-actions button{min-height:46px}.account-layout{display:block}.account-layout section+section{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:28px}.account-layout p{font-size:14px}.account-layout .shiyu-action-group{gap:10px}.account-layout button{font-size:14px}.account-bindings{font-size:14px}.account-bindings label{min-height:44px}.schedule-dialog,#devices-dialog{width:calc(100% - 24px);max-height:90dvh}.preview-header,.preview-content{padding:20px}.preview-header h2{font-size:21px}.preview-content{max-height:60dvh}.preview-footer{padding:16px 20px}.preview-footer button{min-height:46px;font-size:14px}.lightbox{padding:12px;width:calc(100% - 16px);height:90dvh}.lightbox-caption{font-size:13px;max-height:125px}.lightbox-media{height:calc(100% - 165px)}
}
@media(max-width:380px){.wrap{padding:0 16px}.brand-lockup{gap:10px}.brand,.brand-name{font-size:13px}.brand-logo{width:61px!important;max-width:61px!important}.archive-workspace-content>.shiyu-action-group{gap:14px}.archive-workspace-content>.shiyu-action-group .shiyu-action{font-size:12px}.form-row.report-stage-row{grid-template-columns:minmax(0,1fr);gap:0}.archive-mobile-record-actions{padding-left:16px;padding-right:16px}.archive-mobile-record-actions button{padding:10px 12px;font-size:13px}.next-item>div{display:block}.next-item p{margin-top:2px}.project-list-row{gap:9px 12px}.project-list-row .project-open{font-size:12px;padding:8px 10px}.header-badge{font-size:12px}.workspace-tabs{gap:14px}.workspace-tabs button strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

body:not(.archive-is-boss) .project-list-row{grid-template-columns:minmax(180px,1.15fr) minmax(150px,.9fr) minmax(160px,1fr) auto}body:not(.archive-is-boss) .project-row-latest{display:none}@media(max-width:760px){body:not(.archive-is-boss) .project-list-row{grid-template-columns:minmax(0,1fr) auto}}

.archive-header-actions{display:flex;align-items:center;gap:24px}.archive-header-actions #boss-account-link{margin:0}.archive-plan-picker>.title-sub{font-size:13px;margin-top:8px}.archive-photo-help{margin:8px 0 16px}.archive-photo-help>summary{font-size:12px;color:var(--muted);min-height:36px}.archive-photo-help p{margin-top:8px}.archive-record-loading{font-size:14px;color:var(--muted);padding:20px 0}.archive-records-loading .records-panel #record-list,.archive-records-loading .records-panel [id^=count-]{visibility:hidden}.project-row-change{font-size:12px;color:var(--muted);display:block;margin-top:5px}@media(max-width:760px){.archive-workspace-active>.wrap>main>.title-block{display:none}.archive-header-actions{gap:16px}.archive-header-actions #boss-account-link a{font-size:13px}.archive-header-actions #staff-logout{font-size:13px}.archive-plan-picker>.title-sub{font-size:13px}.archive-plan-picker{padding-bottom:14px}.project-row-change{display:none}}

#report-project-label{display:none}.archive-workspace-tools{position:relative;flex:none}.archive-workspace-tools>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;color:var(--blue)}.archive-workspace-tools>.shiyu-action-group{position:absolute;right:0;top:44px;z-index:12;width:220px;background:white;border:1px solid var(--line);border-radius:4px;padding:12px;display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0}.archive-workspace-tools .shiyu-action,.archive-workspace-tools #schedule-new-plan{display:flex!important;justify-content:flex-start;align-items:center;min-height:44px;margin:0!important;padding:8px 10px!important;background:transparent!important;border:0!important;font-size:13px!important;color:var(--blue)!important}.archive-workspace-tools .shiyu-action:hover,.archive-workspace-tools #schedule-new-plan:hover{background:var(--tint)!important}.archive-workspace-tools .project-back{margin:0}@media(max-width:760px){.archive-plan-picker .plan-manager-head{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:14px}.archive-plan-picker .plan-picker{min-width:0}.archive-workspace-tools>summary{font-size:13px;min-height:46px;white-space:nowrap}.archive-workspace-tools>.shiyu-action-group{top:48px}.archive-mobile-record-actions{gap:10px}}

.lightbox-media{display:flex;align-items:center;justify-content:center;position:relative;width:100%}.lightbox-arrow{z-index:2;pointer-events:auto}.lightbox-arrow:not(:disabled):active{transform:translateY(-50%)}

/* Secondary dates and preserved history remain readable at both breakpoints. */
#schedule-note,.site-footer,.site-footer p,#schedule-year-confirmed,#schedule-node-count,.node-context dt,#schedule-scope-fields legend small,.schedule-details>p,.schedule-details>ul,.schedule-details>ul li{font-size:12px;line-height:1.75}
.schedule-topline p{font-size:13px}.schedule-history p{font-size:13px;line-height:1.75}.schedule-history .history-top{font-size:12px}
#schedule-preview-undo,#schedule-close-draft{font-size:14px;min-height:44px}.archive-report-active .editor-heading #editor-status{background:transparent}
@media(max-width:760px){.archive-report-active .editor-heading #editor-status{display:none}}

.protected-note,.editor-lock-note,.check-label small,.schedule-details .history-time,.draft-status,.upload-status,.editor-change-note,.empty-state p,.preview-summary,.preview-skip,.preview-detail-list dt{font-size:12px;line-height:1.75}.preview-header p{font-size:14px}

.entry-role-client,.entry-role-staff,.entry-role-client h2,.entry-role-staff h2{color:var(--ink)}.entry-role-client .entry-role-arrow,.entry-role-staff .entry-role-arrow{color:var(--blue)}
#client-logout{font-size:13px}.client-dashboard .schedule-cell dt{font-size:12px}.node-row-name>span:not(.node-row-mark){font-size:14px}.node-row-name .node-row-mark{font-size:12px}#schedule-current{font-size:14px}

/* The staff workspace return matches the supplied plain-text reference. */
.staff-dashboard.archive-ui #project-workspace { row-gap: 8px; }
.staff-dashboard.archive-ui .archive-return-nav {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
}
.staff-dashboard.archive-ui .archive-return-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--blue);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
}
.staff-dashboard.archive-ui .archive-return-link:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .staff-dashboard.archive-ui .archive-return-nav { margin-bottom: 6px; }
}
@media (max-width: 380px) {
  .staff-dashboard.archive-ui .archive-return-link { font-size: 12px; }
}

/* Only staff form controls and the management read-only preview are adapted. */
@media (max-width: 480px) {
  .staff-dashboard.archive-ui .form-row.report-stage-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .staff-dashboard.archive-ui .report-stage-row input[type=date] { inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; }
}
.staff-dashboard.archive-ui .project-list-row .project-open,
.staff-dashboard.archive-ui .project-list-row .shiyu-action {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; margin: 0; padding: 8px 13px;
  border: 1px solid #BBB3B9; border-radius: 4px; background: white;
  color: var(--blue); font-size: 13px; font-weight: 500; line-height: 1.35;
  text-decoration: none; white-space: nowrap;
}
.staff-dashboard.archive-ui .project-list-row .shiyu-action-group { align-items: stretch; }
.staff-dashboard.archive-ui .project-list-row .project-open:hover,
.staff-dashboard.archive-ui .project-list-row .shiyu-action:hover { background: var(--tint); }
.owner-client-view .owner-return-nav { display: flex; align-items: center; min-width: 0; margin: 0; }
.owner-client-view .owner-return-link {
  display: inline-flex; align-items: center; justify-content: flex-start;
  min-width: 44px; min-height: 44px; margin: 0; padding: 6px 0;
  border: 0; border-radius: 0; background: transparent; color: var(--blue);
  font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.65;
  text-align: left; text-decoration: none; white-space: nowrap;
}
.owner-client-view .owner-return-link:hover { text-decoration: underline; }
@media (max-width: 380px) { .owner-client-view .owner-return-link { font-size: 12px; } }

/* iOS date controls add outer padding to percentage width (WebKit 301648).
   Keep the native date input/picker, but put spacing inside its value renderer. */
.staff-dashboard.archive-ui input[type=date] {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%; min-width: 0; max-width: 100%;
  inline-size: 100%; min-inline-size: 0; max-inline-size: 100%;
  padding: 0;
  min-height: 46px;
}
.staff-dashboard.archive-ui input[type=date]::-webkit-date-and-time-value {
  box-sizing: border-box;
  min-width: 0; min-inline-size: 0; max-inline-size: 100%;
  margin: 0; padding: 10px 12px; text-align: left;
}
.staff-dashboard.archive-ui input[type=date]::-webkit-datetime-edit {
  min-width: 0; min-inline-size: 0; padding: 10px 12px;
}
@media (max-width: 480px) {
  .staff-dashboard.archive-ui .node-date-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
