:root{--shell:#103c31;--shell-soft:#174c3d;--accent:#d5ef6a;--canvas:#f5f4ef;--surface:#fff;--soft-line:#e1e3dc;--radius:6px;--space:24px}
body{background:var(--canvas);font-family:"Microsoft YaHei UI","Segoe UI",Arial,sans-serif}
@media (min-width:1101px){
  .topbar{position:fixed;inset:0 auto auto 0;z-index:30;width:248px;height:76px;padding:20px;align-items:flex-start;justify-content:flex-start;border:0;background:var(--shell)}
  .brand{color:#fff}.brand-mark{background:var(--accent);color:var(--shell)}.brand b{color:var(--accent)}
  .mode{color:#b8d0c6;font-size:10px}.mode span{box-shadow:0 0 0 3px rgba(76,174,114,.18)}
  main{max-width:1570px;min-height:calc(100vh - 69px);margin:0 0 0 248px;padding:0 clamp(34px,4vw,64px)}
  .tabs{position:fixed;inset:76px auto 0 0;z-index:29;width:248px;padding:14px 12px 22px;flex-direction:column;gap:2px;overflow-y:auto;border:0;background:var(--shell)}
  .tab{position:relative;width:100%;min-height:54px;padding:8px 12px 8px 42px;border:0;border-radius:5px;color:#d5e2dc;text-align:left;font-size:13px;line-height:1.2}
  .tab::before{position:absolute;top:12px;left:13px;width:20px;color:#82a598;font:12px Georgia,serif;content:"•";text-align:center}
  .tab::after{display:block;margin-top:3px;color:#86a99b;content:attr(data-caption);font-size:9px;font-weight:400;line-height:1.3}
  .tab:nth-of-type(1)::before{content:"01"}.tab:nth-of-type(2)::before{content:"02"}.tab:nth-of-type(3)::before{content:"03"}.tab:nth-of-type(4)::before{content:"04"}.tab:nth-of-type(5)::before{content:"05"}.tab:nth-of-type(6)::before{content:"06"}
  .tab:nth-of-type(3),.tab:nth-of-type(6){margin-top:8px}
  .tab.active{border:0;background:rgba(255,255,255,.07);box-shadow:inset 3px 0 0 var(--accent);color:#fff}
  .tab.active::before{color:var(--accent)}.tab.active::after{color:#bad0c7}
  .tab span{position:absolute;top:10px;right:10px;min-width:22px;padding:2px 6px;background:rgba(255,255,255,.09);color:var(--accent);font-size:10px;text-align:center}
  footer{margin-left:248px;padding-right:clamp(34px,4vw,64px);padding-left:clamp(34px,4vw,64px)}
}
.view{padding-top:32px}
.panel,.history-card{border-color:var(--soft-line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(31,53,44,.035)}
.section-title{max-width:840px;margin-bottom:24px}.section-title p{margin-bottom:10px}.section-title h2{margin-bottom:7px;font-family:inherit;font-size:36px;font-weight:650;line-height:1.2;letter-spacing:-.025em}.section-title>span{font-size:14px;line-height:1.55}
.panel-head{margin-bottom:20px}.panel-head h2{font-family:inherit;font-size:23px;font-weight:650;letter-spacing:-.015em}.panel-head>span{font-size:22px}
.form-panel,.results-panel,.planning-form,.planning-result,.dashboard-panel,.map-panel{border-radius:var(--radius)}
.form-panel,.planning-form,.dashboard-panel{padding:26px}
.primary{min-height:48px;border-radius:4px}input,select,textarea{border-radius:3px;background:#fefefc}
label{margin-bottom:15px;letter-spacing:.035em}
.hero{min-height:245px}.hero h1{font-size:clamp(44px,4.2vw,58px)}
.workspace{gap:22px}.results-panel{min-height:650px;padding:30px}.empty-state{min-height:520px}.empty-state h2{font-family:inherit;font-size:30px;font-weight:600}
.planning-layout{grid-template-columns:360px minmax(0,1fr);gap:22px}.planning-result{min-height:460px;padding:26px}.plan-empty{height:400px}.plan-empty strong{font-size:24px;font-weight:600}
.coverage-plan-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 20px;padding:1px;border:1px solid #dce2db;border-radius:7px;background:#dce2db;overflow:hidden}
.coverage-plan-flow article{display:flex;align-items:center;gap:11px;min-height:62px;padding:11px 14px;background:#fff}
.coverage-plan-flow article b{color:#789087;font:17px Georgia,serif}.coverage-plan-flow article span{display:grid;gap:3px}.coverage-plan-flow article strong{color:#294a3e;font-size:11px}.coverage-plan-flow article small{color:#7d8983;font-size:9px}
.planning-map-panel{margin:0 0 22px}
.planning-stage-title{display:flex;align-items:center;gap:13px;margin:0 0 12px}.planning-stage-title>span{color:#8ca098;font:24px Georgia,serif}.planning-stage-title p{margin:0 0 3px;color:#31705a;font-size:9px;font-weight:800;letter-spacing:.12em}.planning-stage-title h3{margin:0;font-size:18px}
.coverage-summary-card{display:block;margin:0 0 20px;padding:22px 24px;border-radius:8px}
.coverage-summary-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.coverage-summary-card .panel-head{margin:0}.coverage-summary-card .secondary{flex:0 0 auto;min-height:42px;margin:0;white-space:nowrap;background:#1c503f;color:#fff;border-color:#1c503f}
.coverage-summary-card .secondary:hover{background:#143f32}
.coverage-summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e0e5df;border-radius:6px;background:#f8faf7}
.coverage-summary-metrics article{position:relative;display:grid;gap:4px;padding:15px 17px;border-right:1px solid #e1e6e0}.coverage-summary-metrics article:last-child{border:0}
.coverage-summary-metrics span{color:#76837d;font-size:10px}.coverage-summary-metrics b{color:#224c3d;font-size:22px}.coverage-summary-metrics small{color:#859089;font-size:9px}
#coverageSummary>p{margin:11px 0 0;padding-left:11px;border-left:3px solid #88a296;color:#697770;font-size:10px;line-height:1.55}
.professional-card,.agent-demo{padding:22px}.professional-grid{gap:18px}.tool-help{min-height:0;margin:0 0 18px;line-height:1.55}
.tool-switcher{margin-bottom:26px}.group-heading{margin-bottom:15px}.group-heading h3{font-family:inherit;font-size:21px;font-weight:650}
.tool-result{padding:0;overflow:hidden;border:1px solid #dfe5dd;border-radius:4px;background:#fff;color:#34483f}
.tool-result:not(:has(.result-summary)){padding:16px;background:#f7f9f5;color:#68766f}
.result-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e2e7e0;background:#f6f8f4}
.result-summary>div{display:grid;gap:5px}.result-summary>div>span{color:#708079;font-size:11px;font-weight:700;letter-spacing:.05em}.result-summary>div>strong{color:#173f32;font-size:30px;font-weight:650;line-height:1.1;letter-spacing:-.025em}.result-summary>div>strong small{color:#718078;font-size:12px;font-weight:500}
.result-summary.compact>div>strong{font-size:24px}
.result-status{flex:0 0 auto;padding:7px 11px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em}
.result-status.high{background:#fae9dc;color:#a34a2d}.result-status.medium{background:#fff2c9;color:#84651c}.result-status.positive{background:#dfeee4;color:#226245}.result-status.neutral{background:#e7ece9;color:#52645c}
.result-metrics{display:grid;gap:0;padding:0 22px;border-bottom:1px solid #e5e9e3}.result-metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}.result-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.result-metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.result-metrics article{display:grid;min-height:96px;padding:18px 14px 16px 0;align-content:center;border-right:1px solid #e5e9e3}.result-metrics article:not(:first-child){padding-left:14px}.result-metrics article:nth-child(5),.result-metrics.four article:nth-child(4),.result-metrics.three article:nth-child(3),.result-metrics.three article:last-child{border-right:0}
.result-metrics span{color:#718078;font-size:10px}.result-metrics b{margin:5px 0 2px;color:#1c4335;font-size:20px;line-height:1.2}.result-metrics small{color:#89938e;font-size:9px}
.result-explanation{padding:18px 22px}.result-explanation h4,.result-visual h4{margin:0 0 10px;color:#1d4034;font-size:13px}.result-explanation p,.result-explanation li{color:#586860;font-size:11px;line-height:1.65}.result-explanation ul{margin:0;padding-left:18px}.result-explanation.has-issues{background:#fff9ed}.result-explanation.has-issues h4{color:#915027}
.result-visual{display:grid;grid-template-columns:180px minmax(220px,320px);justify-content:space-between;gap:20px;padding:20px 22px}.result-visual p{margin:0;color:#7c8983;font-size:10px;line-height:1.5}
.result-disclaimer{padding:12px 22px;border-top:1px solid #ece8df;background:#faf8f1;color:#786b50;font-size:9px;line-height:1.55}
#professionalView>.section-title h2{font-size:38px}
.calculator-shell{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px}
.calculator-menu{display:grid;gap:6px;padding:8px;border:1px solid var(--soft-line);border-radius:var(--radius);background:#fff}
.calculator-menu button{display:flex;align-items:flex-start;gap:11px;width:100%;padding:14px 12px;border:0;border-radius:4px;background:transparent;color:#344b42;text-align:left;cursor:pointer}
.calculator-menu button:hover{background:#f2f5ef}.calculator-menu button.active{background:var(--shell);color:#fff}
.calculator-menu button>b{width:24px;padding-top:2px;color:#91a69d;font:14px Georgia,serif}.calculator-menu button.active>b{color:var(--accent)}
.calculator-menu button>span{display:grid;gap:4px;font-size:13px;font-weight:800}.calculator-menu small{color:#84918b;font-size:10px;font-weight:400;line-height:1.35}.calculator-menu button.active small{color:#bad0c7}
.calculator-stage{min-width:0}.calculator-view{display:none;width:100%;max-width:820px;margin:0}.calculator-view.active{display:block}
.calculator-stage .professional-card{box-shadow:0 5px 18px rgba(31,53,44,.04)}
.calculator-menu{position:sticky;top:94px}
.remote-mode-heading{display:flex;align-items:center;margin:4px 0 10px;padding-left:2px}
.remote-mode-heading>div{display:grid;gap:2px}.remote-mode-heading b{color:#173f35;font-size:15px}.remote-mode-heading small{color:#718079;font-size:11px}
.remote-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:10px;border:1px solid #cbd7d0;border-radius:8px;background:#eef2ee}
.remote-mode-switch button{position:relative;display:grid;grid-template-columns:1fr;align-items:center;min-height:76px;padding:15px 18px;border:1px solid #d3dcd6;border-radius:6px;background:#fff;color:#50635b;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.remote-mode-switch button:hover{border-color:#668779;box-shadow:0 5px 14px rgba(28,57,46,.08);transform:translateY(-1px)}
.remote-mode-switch button span{display:grid;gap:5px}.remote-mode-switch button b{font-size:15px}.remote-mode-switch button small{color:#7b8982;font-size:11px}
.remote-mode-switch button.active{border-color:#174638;background:#174638;color:#fff;box-shadow:0 7px 18px rgba(23,70,56,.18)}
.remote-mode-switch button.active small{color:#c6d8d1}
.remote-mode-switch button.active:after{content:"当前选择 ✓";position:absolute;right:14px;top:10px;color:#d9ef78;font-size:10px;font-weight:900;letter-spacing:.04em}
.remote-workflow[hidden]{display:none!important}
.manual-reflectance{padding-top:2px}
.band-source-panel{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(190px,.7fr);gap:14px;margin:0 0 18px;padding:15px 16px;border:1px solid #dce4da;border-radius:4px;background:#f5f8f3}
.band-source-panel>div:first-child{display:grid;align-content:start;gap:5px}.band-source-panel>div:first-child b{color:#234f40;font-size:12px}.band-source-panel>div:first-child span{color:#697972;font-size:10px;line-height:1.5}
.band-source-panel label{margin:0}.band-source-panel select{margin-top:5px;background:#fff}
.band-source-actions{display:flex;gap:8px;grid-column:1/-1}.band-source-actions button,.band-file{display:inline-flex;width:auto;min-height:34px;margin:0;padding:8px 11px;align-items:center;border:1px solid #8da59a;border-radius:3px;background:#fff;color:#275d4b;font-size:10px;font-weight:800;letter-spacing:0;cursor:pointer}
.band-file input{display:none}.band-source-panel>small{grid-column:1/-1;color:#718078;font-size:9px}
.overview-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 24px;padding:1px;border:1px solid var(--soft-line);border-radius:8px;background:var(--soft-line);overflow:hidden}
.overview-guide article{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 16px;background:#fff;color:#56665f;font-size:12px}
.overview-guide b{color:#8ca096;font:17px Georgia,serif}
.overview-guide span{display:grid;gap:3px}.overview-guide strong{color:#263d34}.overview-guide small{color:#7c8882;font-size:10px}
.dashboard-stat{border-radius:8px;background:linear-gradient(145deg,#174c3d,#103c31)}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-stat small{display:block;margin-top:8px;color:#b8d0c6;font-size:10px}
.review-stat{background:linear-gradient(145deg,#6c552c,#4d3d24)}
.dashboard-columns{grid-template-columns:minmax(320px,.78fr) minmax(560px,1.22fr);align-items:start}
.dashboard-panel{min-height:0}
.project-worklist{display:grid;gap:18px}
.worklist-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.worklist-summary article{padding:14px;border:1px solid #e0e5de;border-radius:7px;background:#f7f9f5}
.worklist-summary article.needs-action{border-color:#d8bd78;background:#fff9e9}
.worklist-summary b,.worklist-summary span,.worklist-summary small{display:block}
.worklist-summary b{margin-bottom:4px;color:#235e4c;font:28px Georgia,serif}.worklist-summary span{font-size:12px;font-weight:800}.worklist-summary small{margin-top:5px;color:#7d8782;font-size:9px;line-height:1.4}
.project-list{padding-top:4px;border-top:1px solid #e3e6df}.project-list summary{display:flex;justify-content:space-between;gap:16px;padding:12px 0 5px;cursor:pointer;color:#234f40}.project-list summary b{font:17px Georgia,serif}.project-list summary span{color:#7b8781;font-size:10px}.project-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf0eb;font-size:11px}.project-list>div b{color:#235e4c}
.history-grid{grid-auto-rows:auto;align-items:start;gap:16px}.history-card{display:flex;min-height:390px;padding:16px;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.history-card:hover{box-shadow:0 10px 24px rgba(31,53,44,.08)}
.history-card img,.history-image-placeholder{width:100%;height:150px;margin-bottom:12px;flex:0 0 150px;border-radius:3px;object-fit:cover;background:#eef1eb}
.history-image-placeholder{display:grid;place-items:center;border:1px dashed #cbd2ca;color:#89958f;font-size:11px}
.history-card h3{margin:8px 0 4px;font-family:inherit;font-size:19px;font-weight:650}.history-card p{margin:7px 0;font-size:13px}.history-card-actions{margin-top:auto}
.about-intro{margin-bottom:22px}
.system-identity{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px;padding:22px 26px;border-radius:9px;background:var(--shell);color:#fff}
.system-identity span{color:#bad0c7;font-size:10px;font-weight:800;letter-spacing:.12em}.system-identity h3{margin:5px 0 7px;font-family:inherit;font-size:23px;font-weight:650}.system-identity p{margin:0;color:#c7d7d0;font-size:12px}
.system-identity a{flex:0 0 auto;padding:11px 15px;border:1px solid #74978a;border-radius:5px;color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}
.about-subheading{margin:0 0 14px}.about-subheading span{color:#176b53;font-size:10px;font-weight:800;letter-spacing:.13em}.about-subheading h3{margin:5px 0 0;font-family:inherit;font-size:22px;font-weight:650}
#aboutView .method-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:40px;background:var(--soft-line);border-color:var(--soft-line);border-radius:9px;overflow:hidden}
#aboutView .method-grid article{min-height:230px;padding:24px}#aboutView .method-grid h3{margin-top:32px}
#aboutView .tool-matrix>.tool-row{display:none}
.capability-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.capability-groups>section{overflow:hidden;border:1px solid var(--soft-line);border-radius:9px;background:#fff}
.capability-heading{display:grid;gap:3px;padding:17px 18px;background:#f4f6f1;border-bottom:1px solid var(--soft-line)}
.capability-heading b{color:#214f40;font-size:14px}.capability-heading span{color:#7b8781;font-size:10px}
.capability-groups .tool-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.6fr) auto;align-items:center;gap:12px;padding:14px 16px;border:0;border-bottom:1px solid #edf0eb;background:#fff}
.capability-groups .tool-row:last-child{border-bottom:0}.capability-groups .tool-row strong{font-size:12px}.capability-groups .tool-row span{font-size:10px;line-height:1.45}
.capability-groups .tool-row>b{white-space:nowrap;font-size:10px}
.system-boundary{display:flex;align-items:center;gap:18px;margin-top:18px;padding:16px 18px;border-left:3px solid #d3a443;background:#f7f0df;color:#695d48;font-size:11px}.system-boundary b{color:#3f382c}.system-boundary span{padding-left:18px;border-left:1px solid #d9caa6}
@media (max-width:1100px){
  .topbar{position:sticky}main{margin:auto}.tabs{position:static}footer{margin-left:0}
}
@media (max-width:700px){
  main{padding-right:20px;padding-left:20px}.topbar{padding-right:20px;padding-left:20px}
  .tabs{margin-right:-20px;margin-left:-20px;padding:0 20px;gap:22px}.tab{flex:0 0 auto}
  .overview-guide{grid-template-columns:1fr}.hero h1{font-size:40px}.section-title h2{font-size:30px}
}
@media (max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dashboard-stats{grid-template-columns:1fr}}
@media (max-width:680px){.worklist-summary{grid-template-columns:1fr}}
@media (max-width:900px){#aboutView .method-grid,.capability-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){
  .system-identity{align-items:flex-start;flex-direction:column}.system-identity a{width:100%;text-align:center}
  #aboutView .method-grid,.capability-groups{grid-template-columns:1fr}
  #aboutView .method-grid article{min-height:0}
  .capability-groups .tool-row{grid-template-columns:1fr}.system-boundary{align-items:flex-start;flex-direction:column;gap:9px}.system-boundary span{padding:0;border:0}
}

/* 专业工具只承载业务计算；系统接口集中放在系统说明底部。 */
#professionalView .tool-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
.results-panel .result-image{display:block;width:auto;max-width:100%;height:auto;max-height:none;margin:24px auto;object-fit:contain;background:#f3f5f1}
.system-integration{margin-top:34px;border:1px solid var(--soft-line);border-radius:9px;background:#fff;overflow:hidden}
.system-integration>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px;cursor:pointer;list-style:none;background:#f4f6f1}
.system-integration>summary::-webkit-details-marker{display:none}
.system-integration>summary>span{display:grid;gap:4px}
.system-integration>summary small{color:#75837c;font-size:10px;font-weight:700;letter-spacing:.08em}
.system-integration>summary strong{color:#193f33;font-size:19px;font-weight:700}
.system-integration>summary em{color:#6f7c76;font-size:11px;font-style:normal}
.system-integration>summary>b{flex:0 0 auto;color:#28624f;font-size:11px}
.system-integration>summary>b::after{display:inline-block;margin-left:8px;content:"＋";font-size:16px;line-height:1}
.system-integration[open]>summary{border-bottom:1px solid var(--soft-line)}
.system-integration[open]>summary>b::after{content:"－"}
.integration-content{padding:24px}
.integration-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.integration-overview article,.integration-test{padding:20px;border:1px solid var(--soft-line);border-radius:7px;background:#fff}
.integration-overview article>span,.integration-test>div:first-child>span{color:#267058;font-size:10px;font-weight:800;letter-spacing:.09em}
.integration-overview h3,.integration-test h3{margin:6px 0 8px;font-family:inherit;font-size:18px;color:#1b3e33}
.integration-overview p,.integration-test p{margin:0;color:#697770;font-size:12px;line-height:1.65}
.integration-overview a{display:inline-block;margin-top:15px;color:#23634f;font-size:12px;font-weight:800;text-decoration:none}
.integration-overview code{display:inline-block;margin-top:14px;padding:6px 9px;border-radius:4px;background:#eef2ed;color:#375249;font-size:11px}
#a2aStatus.ready{color:#287051}#a2aStatus.failed{color:#a14a3a}
.integration-test{background:#fafbf8}
.integration-test .agent-flow{margin:18px 0}
.integration-test .inline-action{margin-bottom:14px}
@media (max-width:700px){
  #professionalView .tool-switcher,.integration-overview{grid-template-columns:1fr}
  .system-integration>summary{align-items:flex-start;padding:18px}
  .integration-content{padding:16px}
}
@media (max-width:560px){
  .view{padding-top:26px}.form-panel,.results-panel,.planning-form,.planning-result,.professional-card,.agent-demo{padding:18px}
  .results-panel{min-height:460px}.empty-state{min-height:380px}.planning-result{min-height:400px}.plan-empty{height:340px}
  .history-card{min-height:360px}
}
@media (max-width:780px){
  .calculator-shell{grid-template-columns:1fr}.calculator-menu{position:static;grid-template-columns:1fr}.calculator-menu button{min-height:60px}
  #professionalView>.section-title h2{font-size:30px}
}
@media (max-width:680px){
  .result-summary{align-items:flex-start;padding:17px;flex-direction:column}.result-summary>div>strong{font-size:26px}
  .result-metrics.five,.result-metrics.four,.result-metrics.three{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 17px}
  .result-metrics article,.result-metrics article:not(:first-child){padding:14px 8px;border-right:0;border-bottom:1px solid #e5e9e3}
  .result-metrics article:nth-last-child(-n+2){border-bottom:0}
  .result-explanation,.result-visual{padding:17px}.result-visual{grid-template-columns:1fr}.result-disclaimer{padding:11px 17px}
  .band-source-panel{grid-template-columns:1fr}.band-source-actions,.band-source-panel>small{grid-column:auto}.band-source-actions{flex-wrap:wrap}
  .remote-mode-switch{grid-template-columns:1fr}
  .coverage-plan-flow,.coverage-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coverage-summary-head{align-items:flex-start;flex-direction:column}.coverage-summary-card .secondary{width:100%}
  .dashboard-columns{grid-template-columns:1fr}
}
@media print{main,footer{margin-left:0}}

/* Professional tools: operational data and audit controls */
.tool-audit{max-width:1280px;margin:24px auto 0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.tool-audit summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;cursor:pointer;list-style:none}
.tool-audit summary::-webkit-details-marker{display:none}
.tool-audit summary span{display:grid;gap:2px}
.tool-audit summary b{font-size:14px;color:var(--ink)}
.tool-audit summary small,.tool-audit summary em{font-size:12px;color:var(--muted);font-style:normal}
.tool-audit[open] summary{border-bottom:1px solid var(--line);background:#fafbf8}
.tool-run-list{display:grid;padding:8px 18px 14px}
.tool-run-list article{display:grid;grid-template-columns:minmax(180px,1.3fr) 150px minmax(180px,1fr) 150px auto;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #edf0e9;font-size:12px}
.tool-run-list article:last-child{border:0}
.tool-run-list article b{font-size:13px}
.tool-run-list article span,.tool-run-list article small{color:var(--muted)}
.tool-run-list article code{font-size:11px;color:#4f665c;background:#f3f6f1;padding:5px 7px;border-radius:4px}
.tool-run-list button,.result-actions button,.table-file-tools button,.table-file-tools label{border:1px solid #ccd5ce;background:#fff;color:#24483d;border-radius:5px;padding:7px 10px;font:inherit;font-weight:700;cursor:pointer}
.result-actions{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;padding:14px 16px;background:#f4f7f3;border-top:1px solid #dce4dc}
.result-actions>span{font-size:13px;font-weight:800;color:#25493e}
.result-actions>div{display:flex;gap:8px}
.result-actions>small{grid-column:1/-1;color:#65736d;font-size:11px;overflow-wrap:anywhere}
.table-file-tools{display:flex;align-items:center;gap:8px;margin:-7px 0 16px}
.table-file-tools label{position:relative;margin:0}
.table-file-tools input{position:absolute;inset:0;opacity:0;cursor:pointer}
.table-file-tools small{margin-left:auto;color:var(--muted);font-size:11px}
.engineering-tool .panel-head{margin-bottom:10px}
.engineering-tool .tool-help{max-width:680px;margin:0 0 18px}
.engineering-parameter{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid #dde4dd;border-radius:6px;background:#f7f9f6}
.engineering-parameter label{margin:0}.engineering-parameter input{margin-top:6px;background:#fff}
.engineering-parameter>div{display:grid;align-content:center;gap:4px;padding-left:16px;border-left:1px solid #dfe5df}
.engineering-parameter>div b{color:#294f41;font-size:11px}.engineering-parameter>div span{color:#6f7d76;font-size:10px;line-height:1.55}
.engineering-editor{margin-bottom:16px;border:1px solid #d9e0da;border-radius:6px;background:#fff;overflow:hidden}
.engineering-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:#f3f6f2}
.engineering-editor-head span{display:grid;gap:3px}.engineering-editor-head b{color:#203f34;font-size:12px}.engineering-editor-head small{color:#7a8781;font-size:9px}
.engineering-editor-head em{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e4ece6;color:#376451;font-size:9px;font-style:normal;font-weight:800}
.data-editor-field{margin:0}.data-editor-field>span{display:block;padding:9px 15px;border-top:1px solid #e1e6e1;border-bottom:1px solid #e8ece8;color:#718078;font:9px Consolas,"Microsoft YaHei",sans-serif;letter-spacing:.04em}
.data-editor-field textarea{min-height:190px;margin:0;padding:13px 15px;border:0;border-radius:0;background:#fff;font:13px/1.65 Consolas,"Microsoft YaHei",monospace;letter-spacing:0;resize:vertical}
.data-editor-field textarea:focus{box-shadow:inset 0 0 0 2px #dce9df}
.engineering-editor .table-file-tools{margin:0;padding:11px 14px;border-top:1px solid #e1e6e1;background:#fafbf9}
.engineering-editor .table-file-tools small{font-size:9px}
.engineering-tool>.primary{min-height:48px;margin-top:0}
.engineering-empty:not(:has(.result-summary)){display:grid;gap:4px;min-height:72px;margin-top:14px;padding:15px 17px!important;align-content:center}
.engineering-empty:not(:has(.result-summary)) b{color:#355548;font-size:12px}.engineering-empty:not(:has(.result-summary)) span{color:#76837d;font-size:10px;line-height:1.5}
@media(max-width:800px){
  .tool-run-list article{grid-template-columns:1fr auto}
  .tool-run-list article small,.tool-run-list article code{grid-column:1/-1}
  .result-actions{grid-template-columns:1fr}
  .result-actions>small{grid-column:auto}
  .table-file-tools{align-items:flex-start;flex-wrap:wrap}
  .table-file-tools small{width:100%;margin:0}
  .engineering-parameter{grid-template-columns:1fr}.engineering-parameter>div{padding:12px 0 0;border-top:1px solid #dfe5df;border-left:0}
}

.satellite-auto{margin:0;padding:18px;border:1px solid #cbd8cf;background:#f7faf6;border-radius:7px}
.satellite-auto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.satellite-auto-head>div{display:grid;gap:3px}
.satellite-auto-head b{font-size:16px;color:#173f35}
.satellite-auto-head span{font-size:12px;color:var(--muted)}
.satellite-auto-head em{padding:5px 9px;border-radius:20px;background:#e9f1e9;color:#33624e;font-size:11px;font-style:normal;font-weight:800}
.satellite-auto .fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.satellite-auto .fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.satellite-auto label{margin-bottom:12px}.satellite-auto input{padding:10px 11px}
.manual-reflectance .band-source-panel{margin-top:0}
.satellite-actions{display:flex;align-items:center;gap:9px;margin-top:4px}
.satellite-actions button,.scene-list button,.satellite-result-head a{border:1px solid #9fb4a8;background:#fff;color:#174b3c;border-radius:5px;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none}
.satellite-actions button:first-child,.scene-list button{background:#194d3e;color:#fff;border-color:#194d3e}
.satellite-actions small{margin-left:auto;color:var(--muted);font-size:11px}
.satellite-search-result{margin-top:14px;padding:13px 14px;border:1px dashed #c8d2ca;background:#fff;color:#617068;font-size:12px;border-radius:5px}
.scene-list-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e4e9e4}
.scene-list-head span{color:var(--muted)}
.scene-list{display:grid}
.scene-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #edf0ed}
.scene-list article>div{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:3px 12px;min-width:0}
.scene-list article small{grid-row:1/3;color:#607068}
.scene-list article b{font-size:12px;overflow:hidden;text-overflow:ellipsis}
.scene-list article span{font-size:11px;color:var(--muted)}
.scene-list button:disabled{opacity:.55;cursor:wait}
.satellite-search-result>p{margin:10px 0 0;color:#7b857f;font-size:11px}
.satellite-job{margin-top:14px;border:1px solid #cbd8cf;background:#fff;border-radius:6px;overflow:hidden}
.satellite-progress{display:grid;gap:10px;padding:17px}
.satellite-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.satellite-progress progress{width:100%;height:9px;accent-color:#8aad35}
.satellite-progress small{color:var(--muted)}
.satellite-job-error{display:grid;gap:6px;padding:17px;border-left:4px solid #b95845}
.satellite-job-error b{color:#8c3627}.satellite-job-error small{color:var(--muted)}
.satellite-result-head{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:16px;background:#f5f8f4}
.satellite-result-head img{width:100%;height:145px;object-fit:cover;border-radius:5px;background:#dfe5de}
.satellite-result-head>div{display:flex;align-items:flex-start;flex-direction:column;gap:6px;padding:5px 0}
.satellite-result-head span{font-size:11px;color:#4f775f;font-weight:800;letter-spacing:.08em}
.satellite-result-head h4{margin:0;font-size:17px;overflow-wrap:anywhere}
.satellite-result-head p{margin:0;color:var(--muted);font-size:12px}
.satellite-result-head a{margin-top:auto}
.satellite-screening-target{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:15px 18px;border-top:1px solid #dfe5df;border-bottom:1px solid #dfe5df;background:#f1f6f8}.satellite-screening-target>div{display:grid;gap:4px}.satellite-screening-target span{color:#406d83;font-size:9px;font-weight:800;letter-spacing:.08em}.satellite-screening-target h4{margin:0;color:#244c5f;font:16px Consolas,monospace}.satellite-screening-target p,.satellite-screening-target small{margin:0;color:#667980;font-size:9px;line-height:1.5}.satellite-screening-target button{padding:10px 13px;border:1px solid #406d83;border-radius:4px;background:#365f73;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:800px){
  .satellite-auto .fields.four,.satellite-auto .fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .satellite-actions{align-items:stretch;flex-direction:column}.satellite-actions>*{width:100%;margin:0}
  .scene-list article{align-items:flex-start;flex-direction:column}.scene-list article button{width:100%}
  .satellite-result-head{grid-template-columns:1fr}.satellite-result-head img{height:190px}
  .satellite-screening-target{grid-template-columns:1fr}.satellite-screening-target button{width:100%}
}

.voice-entry{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px 12px;margin:-7px 0 17px}
.voice-entry .inline-action{margin:0}
.voice-entry>small{color:var(--muted);font-size:11px}
.voice-entry details{grid-column:1/-1;border:1px solid #dce2dc;background:#f7f9f6;border-radius:5px}
.voice-entry summary{padding:9px 11px;color:#4d6258;font-size:11px;font-weight:700;cursor:pointer}
.voice-entry details input{margin:0;border-width:1px 0 0;padding:10px 11px}
#voiceInput.recording{border-color:#a74838;background:#a74838;color:#fff;animation:voicePulse 1.1s ease-in-out infinite}
@keyframes voicePulse{50%{box-shadow:0 0 0 5px rgba(167,72,56,.12)}}
.voice-dialog{width:min(650px,calc(100vw - 32px))}
.voice-dialog audio{width:100%;margin:0 0 18px}
.voice-dialog .dialog-actions{grid-template-columns:100px 130px 1fr}
.voice-meta{display:grid;grid-template-columns:1fr auto;gap:4px 14px;margin-bottom:14px;padding:13px 14px;background:#f3f7f2;border-left:3px solid #4e7b62}
.voice-meta b{color:#214f3f}.voice-meta span{font-size:12px;color:#54675e}.voice-meta small{grid-column:1/-1;color:var(--muted)}
.voice-terms-found{margin:-4px 0 16px;padding:11px 12px;border:1px solid #e0e5df;background:#fafbf8;font-size:11px;color:#5d6d65}
.voice-terms-found b{display:block;margin-bottom:7px;color:#274d40}
.voice-terms-found span{display:flex;flex-wrap:wrap;gap:5px}
.voice-terms-found i{padding:3px 7px;background:#e8f0e7;border-radius:3px;color:#315d4b;font-style:normal}
.voice-privacy{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.6}
@media(max-width:620px){
  .voice-entry{grid-template-columns:1fr}.voice-entry details{grid-column:auto}
  .voice-dialog .dialog-actions{grid-template-columns:1fr}
}

/* Phone field collection and Windows workstation handoff */
.field-entry-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:13px 16px;border:1px solid var(--soft-line);border-radius:7px;background:#f5f7f3}.field-entry-bar>span{display:grid;gap:3px}.field-entry-bar b{color:#204d3f;font-size:12px}.field-entry-bar small{color:#7b8781;font-size:10px}.field-entry-bar button{padding:9px 13px;border:1px solid #78998c;border-radius:4px;background:#fff;color:#245f4c;font-size:11px;font-weight:800;cursor:pointer}
.mobile-link-dialog{width:min(900px,calc(100vw - 32px))}.mobile-link-dialog>div{padding:26px}.mobile-link-dialog .dialog-head{margin-bottom:4px}
.mobile-link-panel{margin:0 0 20px;border:1px solid var(--soft-line);border-radius:9px;background:#fff;overflow:hidden}
.mobile-link-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 19px;cursor:pointer;list-style:none;background:#f5f7f3}.mobile-link-panel>summary::-webkit-details-marker{display:none}
.mobile-link-panel>summary>span{display:grid;gap:3px}.mobile-link-panel>summary b{color:#204d3f;font-size:13px}.mobile-link-panel>summary small{color:#7b8781;font-size:10px;font-weight:400}.mobile-link-panel>summary>strong{color:#286b55;font-size:11px}.mobile-link-panel>summary>strong::after{margin-left:8px;content:"＋";font-size:15px}.mobile-link-panel[open]>summary{border-bottom:1px solid var(--soft-line)}.mobile-link-panel[open]>summary>strong::after{content:"－"}
.mobile-link-content{display:grid;grid-template-columns:1fr 190px;gap:24px;padding:22px}.mobile-link-copy>p{max-width:720px;margin:0 0 14px;color:#5d6d66;font-size:12px;line-height:1.7}
.mobile-link-state{display:grid;gap:3px;padding:12px 14px;border-left:3px solid #c5a34e;background:#f7f1e2}.mobile-link-state b{font-size:12px}.mobile-link-state span{color:#70654d;font-size:10px;line-height:1.5}.mobile-link-state.ready{border-color:#3f8a6d;background:#eaf3eb}.mobile-link-state.ready span{color:#4d695d}.mobile-link-state.failed{border-color:#a64c3c;background:#faece7}
.mobile-link-urls{display:grid;gap:7px;margin-top:12px}.mobile-link-urls>div{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e0e5de;border-radius:5px}.mobile-link-urls span{color:#7b8781;font-size:9px}.mobile-link-urls a{overflow:hidden;color:#25644f;font:11px Consolas,monospace;text-overflow:ellipsis}.mobile-link-urls button{border:0;background:none;color:#286b55;font-size:10px;font-weight:800;cursor:pointer}
.mobile-link-copy ol{margin:15px 0 0;padding-left:20px;color:#64736c;font-size:11px;line-height:1.8}.mobile-qr-box{display:grid;align-content:center;justify-items:center;gap:8px;padding:13px;border:1px solid #dfe4dd;border-radius:7px;background:#fbfcf9}.mobile-qr-box img{width:150px;height:150px;image-rendering:pixelated}.mobile-qr-box span{color:#64736c;font-size:9px}
.field-sync-toast{position:fixed;right:22px;bottom:22px;z-index:70;display:grid;gap:3px;width:min(330px,calc(100vw - 32px));padding:16px 18px;border:0;border-left:4px solid var(--accent);border-radius:6px;background:var(--shell);color:#fff;text-align:left;box-shadow:0 18px 42px rgba(16,43,34,.28);cursor:pointer}.field-sync-toast b{font-size:13px}.field-sync-toast span{color:#c4d6cf;font-size:10px}.field-sync-toast i{margin-top:6px;color:var(--accent);font-size:10px;font-style:normal;font-weight:800}
@media(max-width:720px){.field-entry-bar{align-items:flex-start}.mobile-link-dialog>div{padding:19px}.mobile-link-content{grid-template-columns:1fr}.mobile-qr-box{max-width:220px}.mobile-link-urls>div{grid-template-columns:1fr auto}.mobile-link-urls span{grid-column:1/-1}}

/* Preserve sample-photo aspect ratios in entry preview and archive cards. */
#uploadBox.has-image{display:block;height:auto;min-height:0;padding:12px;background:#f1f3ee;text-align:center}
#uploadBox.has-image img{position:static;display:block;width:auto;max-width:100%;height:auto;max-height:none;margin:auto;object-fit:contain}
.history-image-frame{display:grid;width:100%;min-height:150px;margin-bottom:12px;place-items:center;overflow:visible;border-radius:4px;background:#eef1eb}
.history-card .history-image-frame img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;flex:none;border-radius:4px;object-fit:contain;background:transparent}
.history-image-frame .history-image-placeholder{width:100%;height:180px;margin:0;flex:none;border-radius:4px}

@media print{
  body.print-field-report .view{display:none!important}
  body.print-field-report #analyseView{display:block!important;padding:0}
  body.print-field-report #analyseView .field-entry-bar,
  body.print-field-report #analyseView .form-panel,
  body.print-field-report #analyseView .empty-state,
  body.print-field-report #analyseView .actions,
  body.print-field-report #analyseView .review-box{display:none!important}
  body.print-field-report #analyseView .workspace{display:block!important}
  body.print-field-report #analyseView .results-panel{display:block!important;min-height:0;padding:0;border:0;box-shadow:none}
  body.print-field-report #analyseView #resultContent{display:block!important}
  body.print-field-report #analyseView .result-image{width:auto;max-width:100%;height:auto;max-height:95mm;margin:8mm auto;object-fit:contain}
  body.print-field-report #analyseView .result-header,
  body.print-field-report #analyseView .metrics,
  body.print-field-report #analyseView .brief,
  body.print-field-report #analyseView .warning{break-inside:avoid}
  @page{size:A4;margin:14mm}
}

/* WGS84 sample location and coverage view */
.map-panel{padding:26px}.sample-map{height:auto;overflow:visible;border:0;background:none}
.geo-map-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-5px 0 12px;padding:10px 12px;border-left:3px solid #4c806d;background:#f1f5f0}.geo-map-intro span{color:#245b49;font-size:11px;font-weight:800}.geo-map-intro small{color:#78857f;font-size:10px}
.geo-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.geo-plot{position:relative;height:390px;overflow:hidden;border:1px solid #d9dfd8;border-radius:6px;background:linear-gradient(90deg,transparent 49.8%,#d8dfd8 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#d8dfd8 50%,transparent 50.2%),repeating-linear-gradient(0deg,transparent 0 64px,#e7ebe5 65px),repeating-linear-gradient(90deg,transparent 0 84px,#e7ebe5 85px),#f7f8f5}
.axis-label{position:absolute;z-index:2;padding:3px 5px;background:rgba(247,248,245,.88);color:#64736c;font:9px Consolas,monospace}.axis-label.north{top:5px;left:7px}.axis-label.south{bottom:5px;left:7px}.axis-label.west{bottom:5px;left:50%;transform:translateX(-100%)}.axis-label.east{right:7px;bottom:5px}.north-arrow{position:absolute;top:9px;right:10px;color:#285f4c;font:700 11px "Segoe UI"}
.geo-point,.geo-suggestion{position:absolute;z-index:4;display:grid;place-items:center;transform:translate(-50%,-50%);cursor:pointer}.geo-point{width:17px;height:17px;padding:0;border:3px solid #fff;border-radius:50%;background:#24654f;box-shadow:0 0 0 1px #24654f}.geo-point.clustered{width:25px;height:25px;background:#194a3a}.geo-point span{color:#fff;font-size:9px;font-weight:800}.geo-point.active{box-shadow:0 0 0 3px rgba(216,243,91,.75);background:#153d31}.geo-suggestion{width:22px;height:22px;padding:0;border:1px dashed #a9772a;border-radius:3px;background:#fff4d5;color:#9b6b20;font-size:15px;font-weight:700}
.geo-plan-point{position:absolute;z-index:3;display:grid;place-items:center;min-width:30px;height:20px;padding:0 4px;border:1px solid #527692;border-radius:3px;background:#eef5f8;color:#315d79;font-size:8px;font-weight:800;transform:translate(-50%,-50%);cursor:pointer}.legend-sample,.legend-plan,.legend-gap{display:inline-grid;place-items:center;width:10px;height:10px;margin-right:3px;vertical-align:-1px}.legend-sample{border-radius:50%;background:#24654f}.legend-plan{border:1px solid #527692;border-radius:2px;background:#eef5f8}.legend-gap{width:12px;height:12px;color:#9b6b20;font-size:11px}.map-to-plan{width:100%;margin-top:12px;padding:10px;border:1px solid #2b6652;border-radius:4px;background:#245c49;color:#fff;font-size:11px;font-weight:800;cursor:pointer}
.plan-progress-strip{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;margin-top:14px;padding:14px 16px;border:1px solid #dce2db;border-radius:6px;background:#fff}.plan-progress-strip span{display:grid;gap:3px}.plan-progress-strip b{font-size:12px}.plan-progress-strip small{color:#74817b;font-size:9px}.plan-progress-strip strong{color:#245b49;font-size:22px}.plan-progress-strip>i{grid-column:1/-1;height:5px;border-radius:5px;background:#e7ece8;overflow:hidden}.plan-progress-strip em{display:block;height:100%;background:#5b8a74}
.plan-save{margin:18px 0 0}.plan-saved{display:grid;gap:4px;margin:18px 0 0;padding:14px 16px;border-left:3px solid #4d826b;background:#f0f6f1}.plan-saved b{color:#204f3f;font-size:13px}.plan-saved span{color:#6d7b74;font-size:10px}
.plan-source-line{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:9px 11px;border-left:3px solid #6d8ca2;background:#f2f6f8;color:#64747a;font-size:9px;line-height:1.5}.plan-source-line b{flex:0 0 auto;color:#31576e}
.map-point-detail{min-height:390px;padding:18px;border:1px solid #dce2db;border-radius:6px;background:#fff}.map-point-detail>span,.coverage-advice>div>span{color:#32725c;font-size:9px;font-weight:800;letter-spacing:.09em}.map-point-detail h3{margin:7px 0 15px;color:#193f33;font:19px Consolas,monospace}.map-point-detail article{display:grid;gap:4px;padding:11px 0;border-top:1px solid #edf0eb}.map-point-detail article b{font-size:12px}.map-point-detail article small,.map-point-detail p{color:#6f7c76;font-size:10px;line-height:1.55}
.coverage-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;border:1px solid #dce2db;border-radius:6px;background:#fff}.coverage-metrics article{display:grid;gap:4px;padding:14px 16px;border-right:1px solid #e4e8e2}.coverage-metrics article:last-child{border:0}.coverage-metrics span{color:#74817b;font-size:9px}.coverage-metrics b{color:#214f40;font-size:22px}.coverage-metrics small{color:#84908a;font-size:9px}
.coverage-advice{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin-top:14px;padding:18px;border-radius:6px;background:#f5f7f2}.coverage-advice h3{margin:6px 0 8px;font-size:19px}.coverage-advice p{margin:0;color:#65746d;font-size:11px;line-height:1.65}.coverage-advice ul{display:grid;gap:7px;margin:7px 0 0;padding:0;list-style:none}.coverage-advice li{display:grid;grid-template-columns:75px 150px 1fr;gap:8px;padding:8px 0;border-top:1px solid #e1e6de;font-size:10px}.coverage-advice li b{color:#285f4d}.coverage-advice li span{font-family:Consolas,monospace}.coverage-advice li small{color:#738079}
.coverage-warning{margin:0;padding:11px 14px;border-top:1px solid #ead9b3;background:#fbf4e3;color:#75613b;font-size:10px}.map-empty{display:grid;place-items:center;gap:7px;min-height:260px;border:1px dashed #cbd3cb;background:#f7f8f4;color:#697770;text-align:center}.map-empty b{color:#294f42;font-size:15px}.map-empty span{font-size:11px}
@media(max-width:900px){.geo-map-layout{grid-template-columns:1fr}.map-point-detail{min-height:0}.coverage-advice{grid-template-columns:1fr}}
@media(max-width:620px){.map-panel{padding:18px}.geo-map-intro{align-items:flex-start;flex-direction:column}.geo-plot{height:320px}.coverage-metrics{grid-template-columns:repeat(2,1fr)}.coverage-metrics article:nth-child(2){border-right:0}.coverage-metrics article:nth-child(-n+2){border-bottom:1px solid #e4e8e2}.coverage-advice li{grid-template-columns:70px 1fr}.coverage-advice li small{grid-column:1/-1}}

/* 系统说明：用连续工作流和紧凑能力清单替代横向大白板。 */
#aboutView{max-width:1480px;margin-right:auto;margin-left:auto}
#aboutView .about-intro{
  display:grid;
  width:100%;
  max-width:none;
  grid-template-columns:minmax(0,1.35fr) minmax(420px,.65fr);
  align-items:center;
  gap:48px;
  margin-bottom:46px;
  padding:42px 46px;
  border:1px solid #345d50;
  border-radius:12px;
  background:linear-gradient(132deg,#173d32 0%,#214c3e 64%,#2d5c4b 100%);
  box-shadow:0 16px 38px rgba(27,58,48,.12);
}
#aboutView .about-intro p{margin:0 0 10px;color:#cadd74;font-size:11px;letter-spacing:.16em}
#aboutView .about-intro h2{margin:0;color:#fff;font-size:44px;line-height:1.1;white-space:nowrap}
#aboutView .about-intro-copy>span{display:block;max-width:680px;margin-top:15px;color:#d4e1dc;font-size:14px;line-height:1.75}
.about-overview{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.about-overview span{display:grid;place-items:center;gap:7px;min-width:84px;color:#eef5f1;font-size:11px;font-weight:700;white-space:nowrap}
.about-overview span b{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(222,238,231,.42);border-radius:50%;color:#d9ed70;font:700 12px/1 Arial,sans-serif}
.about-overview i{width:34px;height:1px;background:rgba(218,235,227,.35)}
.about-overview i::after{float:right;width:5px;height:5px;margin-top:-2px;border-top:1px solid #bcd0c7;border-right:1px solid #bcd0c7;content:"";transform:rotate(45deg)}
#aboutView .about-subheading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin:0 0 18px;padding:0 2px}
#aboutView .about-subheading h3{font-size:25px}
#aboutView .about-subheading>p{max-width:470px;margin:0;color:#77837d;font-size:12px;line-height:1.65;text-align:right}
#aboutView .method-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:54px;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
}
#aboutView .method-grid article{
  position:relative;
  display:flex;
  min-height:218px;
  padding:24px 24px 21px;
  flex-direction:column;
  border:1px solid #dfe5de;
  border-radius:9px;
  background:#fff;
  box-shadow:0 5px 16px rgba(35,58,49,.035);
}
#aboutView .method-grid article::before{position:absolute;top:0;right:24px;left:24px;height:3px;border-radius:0 0 3px 3px;background:#dbe6df;content:""}
#aboutView .method-grid article:nth-child(3)::before,#aboutView .method-grid article:nth-child(4)::before{background:#d9e96a}
#aboutView .method-grid article>b{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f0f4ee;color:#315f50;font:700 13px/1 Georgia,serif}
#aboutView .method-grid h3{margin:25px 0 10px;font-size:20px;line-height:1.3}
#aboutView .method-grid p{margin:0;color:#66746d;font-size:12px;line-height:1.75}
.workflow-output{display:block;margin-top:auto;padding-top:17px;color:#2b6854;font-size:10px;font-weight:800;letter-spacing:.02em}
@media (min-width:1101px){
  #aboutView .method-grid article:not(:last-child)::after{position:absolute;z-index:2;top:39px;right:-19px;display:grid;width:26px;height:26px;place-items:center;border:1px solid #d9e1da;border-radius:50%;background:#f7f7f3;color:#547267;content:"›";font:20px/1 Georgia,serif}
}
#aboutView .tool-matrix{margin-top:0}
#aboutView .tool-matrix>.section-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:18px;padding:0 2px}
#aboutView .tool-matrix>.section-title p,#aboutView .tool-matrix>.section-title h2{grid-column:1}
#aboutView .tool-matrix>.section-title h2{font-size:34px}
#aboutView .tool-matrix>.section-title>span{grid-column:2;grid-row:1 / span 2;max-width:360px;padding-bottom:5px;text-align:right}
.capability-groups{gap:14px}
.capability-groups>section{border-color:#dde4dc;border-radius:10px;box-shadow:0 5px 16px rgba(35,58,49,.03)}
.capability-heading{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 18px;background:#f5f8f4}
[data-capability="conditional"] .capability-heading{background:#faf7ef}
.capability-heading .capability-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#dfece4;color:#1d684f;font-size:14px;font-weight:900}
[data-capability="conditional"] .capability-heading .capability-mark{background:#f1e5c8;color:#8b6524;font-family:Georgia,serif}
.capability-heading>div{display:grid;gap:3px}
.capability-heading b{font-size:15px}.capability-heading span{font-size:10px}
.capability-heading em{padding:5px 8px;border:1px solid #d9e2db;border-radius:999px;color:#65736c;font-size:9px;font-style:normal;white-space:nowrap}
.capability-groups .tool-row{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,1.1fr);gap:18px;min-height:72px;padding:14px 18px}
.capability-name{display:flex;align-items:center;gap:9px;min-width:0}
.capability-groups .capability-name strong{font-size:12px}
.capability-name>b{padding:4px 7px;border-radius:999px;font-size:9px;line-height:1.2;white-space:nowrap}
.capability-name>.ready{background:#e4f1e8;color:#28664f}
.capability-name>.conditional{background:#f5ead2;color:#906823}
.capability-groups .tool-row>span{color:#748078;font-size:10px;line-height:1.55}
.system-boundary{display:grid;grid-template-columns:minmax(230px,1.15fr) repeat(3,minmax(0,1fr));gap:0;margin-top:16px;padding:0;overflow:hidden;border:1px solid #e4dbc3;border-left:3px solid #c99a3e;border-radius:8px;background:#fbf8ef}
.system-boundary>div,.system-boundary>span{padding:15px 17px}
.system-boundary>div{display:grid;gap:3px}
.system-boundary>div small{color:#887b61;font-size:9px;line-height:1.5}
.system-boundary>span{display:flex;align-items:center;padding-left:36px;border-left:1px solid #e7dfca;position:relative}
.system-boundary>span::before{position:absolute;left:17px;color:#b18435;content:"·";font-size:20px}
#aboutView .system-integration{margin-top:26px}

@media (max-width:1180px){
  #aboutView .about-intro{grid-template-columns:1fr;gap:28px}
  .about-overview{justify-content:flex-start}
  #aboutView .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-boundary{grid-template-columns:1fr 1fr}
  .system-boundary>span{border-top:1px solid #e7dfca}
}
@media (max-width:900px){
  #aboutView .tool-matrix>.section-title{display:block}
  #aboutView .tool-matrix>.section-title>span{display:block;max-width:none;margin-top:8px;text-align:left}
  .capability-groups{grid-template-columns:1fr}
}
@media (max-width:680px){
  #aboutView .about-intro{gap:24px;margin-bottom:36px;padding:28px 22px}
  #aboutView .about-intro h2{font-size:34px;white-space:normal}
  .about-overview{align-items:flex-start;justify-content:space-between;gap:5px}
  .about-overview span{min-width:0;font-size:9px}.about-overview i{margin-top:19px}
  #aboutView .about-subheading{display:block}#aboutView .about-subheading>p{margin-top:9px;text-align:left}
  #aboutView .method-grid{grid-template-columns:1fr}
  #aboutView .method-grid article{min-height:190px}
  .capability-groups .tool-row{grid-template-columns:1fr;gap:7px}
  .system-boundary{grid-template-columns:1fr}.system-boundary>span{border-left:0}
}

/* 报告中心：样本资料选择与不可变 PDF 档案。 */
#reportsView{max-width:1480px;margin-right:auto;margin-left:auto}
.report-workspace{display:grid;grid-template-columns:minmax(330px,.68fr) minmax(620px,1.32fr);gap:18px;align-items:start}
.report-builder,.report-archive{padding:26px}
.report-builder{position:sticky;top:28px}
.report-builder .tool-help{margin:0 0 22px;padding:13px 15px;border-left:3px solid #4f806d;background:#f2f6f2;color:#66756e;font-size:11px;line-height:1.65}
.report-readiness{display:grid;gap:10px;margin:18px 0;padding:15px 16px;border:1px dashed #ccd4cc;border-radius:6px;background:#f7f8f5;color:#6f7b75;font-size:10px}
.report-readiness>div{display:flex;flex-wrap:wrap;gap:7px}.report-readiness>div:first-child{display:grid;gap:4px}.report-readiness b{color:#244f40;font-size:12px}.report-readiness>div:first-child span{font-size:9px}
.report-readiness>div:last-child span{padding:5px 7px;border-radius:999px;background:#edf1ec}.report-readiness .ready{color:#28664f}.report-readiness .missing{color:#98702c;background:#f7eedb}
.report-readiness.good{border-style:solid;border-color:#c9ddcf;background:#f2f8f3}.report-readiness.attention{border-style:solid;border-color:#ead7af;background:#fbf7ec}
.report-generate-result{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 15px;border:1px solid #c9ddcf;border-radius:6px;background:#f1f7f2}.report-generate-result>span{display:grid;gap:3px}.report-generate-result b{color:#255a47;font-size:11px}.report-generate-result small{color:#718078;font-size:9px}.report-generate-result a{padding:8px 11px;border-radius:4px;background:#245b49;color:#fff;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}
.report-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.report-toolbar label{max-width:360px;margin:0}.report-toolbar>span{padding-bottom:11px;color:#6f7c76;font-size:10px;white-space:nowrap}
.report-list{display:grid;gap:9px}
.report-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px;border:1px solid #e0e5de;border-radius:7px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.report-card:hover{border-color:#bfcfc5;box-shadow:0 7px 18px rgba(31,55,45,.05)}
.report-file-mark{display:grid;width:52px;height:62px;place-items:center;border-radius:5px;background:#e8f0ea;color:#275b49}.report-file-mark b{font-size:12px}.report-file-mark span{margin-top:-10px;color:#76837d;font-size:8px}
.report-card-main{min-width:0}.report-card-main>span{color:#37725e;font-size:9px;font-weight:800}.report-card h3{margin:5px 0 6px;overflow:hidden;color:#1d332b;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.report-card p{margin:0 0 5px;color:#68766f;font-size:10px}.report-card small{color:#8a948f;font-size:8px}
.report-card>a{padding:9px 12px;border:1px solid #aac0b4;border-radius:4px;color:#255b48;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}
.report-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:7px;border:1px dashed #ccd4cc;border-radius:7px;background:#f8f9f6;color:#78847e;text-align:center}.report-empty b{color:#315848;font-size:14px}.report-empty span{font-size:10px}
@media(max-width:1050px){.report-workspace{grid-template-columns:1fr}.report-builder{position:static}}
@media(max-width:680px){.report-builder,.report-archive{padding:18px}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar label{max-width:none}.report-toolbar>span{padding:0}.report-card{grid-template-columns:48px 1fr}.report-file-mark{width:44px;height:54px}.report-card>a{grid-column:1/-1;text-align:center}.report-generate-result{align-items:flex-start;flex-direction:column}}
.a2a-stage-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 18px}.a2a-stage-results article{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e1e6df;border-radius:5px;background:#fff}.a2a-stage-results b{color:#245b49;font-size:11px}.a2a-stage-results span{color:#69766f;font-size:9px;line-height:1.45}.a2a-stage-results em{padding:3px 6px;border-radius:999px;background:#e5f1e8;color:#2d684f;font-size:8px;font-style:normal}
@media(max-width:680px){.a2a-stage-results{grid-template-columns:1fr;padding:12px}.a2a-stage-results article{grid-template-columns:48px 1fr auto}}
/* Unified project context and workflow spine */
.project-context-bar{
  max-width:1500px;margin:0 auto 26px;padding:14px 18px;display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(260px,1fr) auto auto;
  gap:18px;align-items:center;background:#173f35;color:#fff;border-radius:0 0 12px 12px;
  box-shadow:0 12px 28px rgba(19,48,40,.12)
}
.project-context-bar[hidden]{display:none!important}
.project-context-title{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline}
.project-context-title small{grid-column:1/-1;color:#a9c9bd;font-size:12px;letter-spacing:.12em}
.project-context-title strong{font-size:18px}.project-context-title span{color:#b8cec6;font-size:12px}
.project-context-bar label{display:grid;gap:4px}.project-context-bar label span{font-size:11px;color:#b8cec6}
.project-context-bar select{width:100%;min-height:40px;padding:0 12px;border:1px solid #608177;border-radius:6px;background:#fff;color:#173f35}
.project-context-counts{display:flex;gap:14px;white-space:nowrap}
.project-context-counts span{font-size:12px;color:#b8cec6}.project-context-counts b{color:#d8ef78;font-size:17px}
.project-context-bar>button{min-height:40px;padding:0 15px;border:1px solid #79978d;border-radius:6px;background:transparent;color:#fff;font-weight:700}
.project-timeline-panel{margin:0 0 24px;padding:0;overflow:hidden}
.project-timeline-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 26px 18px}
.project-timeline-head small{color:#356b58;font-weight:800;letter-spacing:.12em}.project-timeline-head h3{margin:5px 0;font-size:24px}.project-timeline-head p{margin:0;color:#68736e}
.project-timeline-head>span{padding:7px 11px;background:#edf3ef;border-radius:999px;color:#356b58;font-size:12px}
.project-stage-strip{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));border-top:1px solid #e1e6e2;border-bottom:1px solid #e1e6e2;overflow-x:auto}
.project-stage-strip article{position:relative;min-height:96px;padding:17px 14px;display:flex;gap:10px;background:#fafbf9;border-right:1px solid #e1e6e2}
.project-stage-strip article:last-child{border-right:0}.project-stage-strip i{font-style:normal;color:#aab2ae;font-family:serif;font-size:18px}
.project-stage-strip span{display:grid;align-content:start;gap:7px}.project-stage-strip b{font-size:14px}.project-stage-strip small{color:#8a928e;font-size:11px}
.project-stage-strip article.complete{background:#f0f5ed}.project-stage-strip article.complete:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#6b8e62}
.project-stage-strip article.complete i,.project-stage-strip article.complete small{color:#4d775f}
.project-event-details summary{padding:15px 26px;cursor:pointer;font-weight:700;color:#315d4d}
.project-event-list{border-top:1px solid #e5e9e6;padding:0 26px}
.project-event-list article{display:grid;grid-template-columns:160px 1fr auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0ee}
.project-event-list time,.project-event-list small{color:#7b847f;font-size:12px}.project-event-list span{display:grid;gap:3px}
.project-event-list em{font-style:normal;font-size:11px;color:#356b58;background:#edf3ef;padding:5px 8px;border-radius:999px}
.project-empty{color:#78817d}
.workflow-transfer-note{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 16px;padding:12px 14px;border-left:3px solid #71906b;background:#f0f5ed;color:#315d4d}
.workflow-transfer-note button,.send-next-action{border:1px solid #6f8f83;background:#fff;color:#244f40;border-radius:5px;padding:8px 12px;font-weight:700}
@media(max-width:900px){
  .project-context-bar{grid-template-columns:1fr 1fr}.project-context-counts{order:4}
  .project-stage-strip{grid-template-columns:repeat(8,150px)}
  .project-event-list article{grid-template-columns:1fr auto}.project-event-list time{grid-column:1/-1}
}
@media(max-width:600px){
  .project-context-bar{grid-template-columns:1fr;margin-bottom:18px}.project-context-counts{order:initial;overflow:auto}
  .project-context-title{grid-template-columns:1fr}.project-timeline-head{padding:20px;display:block}.project-timeline-head>span{display:inline-block;margin-top:12px}
}

/* Professional tools: one clear navigation hierarchy */
#professionalView{max-width:1500px;margin-right:auto;margin-left:auto}
#professionalView>.section-title{max-width:1080px;margin-bottom:20px}
#professionalView>.section-title p{margin-bottom:7px}
#professionalView>.section-title h2{margin-bottom:8px;font-size:36px}
#professionalView>.section-title>span{font-size:13px;line-height:1.65}
#professionalView .tool-switcher{
  display:grid;
  width:min(100%,760px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0 0 18px;
  padding:6px;
  border:1px solid #d9e1da;
  border-radius:8px;
  background:#edf1ed;
}
#professionalView .tool-switcher{display:none}
.professional-tool-nav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  margin:0 0 16px;
  padding:1px;
  border:1px solid #d9e1da;
  border-radius:8px;
  background:#d9e1da;
  overflow:hidden;
}
.professional-tool-nav button{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:64px;
  padding:10px 12px;
  border:0;
  background:#fff;
  color:#314b41;
  text-align:left;
  cursor:pointer;
}
.professional-tool-nav button:hover{background:#f4f7f3}
.professional-tool-nav button.active{background:#184b3c;color:#fff}
.professional-tool-nav i{color:#9ca8a2;font:13px Georgia,serif;font-style:normal}
.professional-tool-nav button.active i{color:#d9ed70}
.professional-tool-nav span{display:grid;gap:3px;min-width:0}
.professional-tool-nav small{color:#829088;font-size:9px}
.professional-tool-nav button.active small{color:#bcd1c8}
.professional-tool-nav b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
#professionalView .tool-switcher button{
  min-height:58px;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
}
#professionalView .tool-switcher button:hover{border-color:#c6d2ca;background:#f8faf7}
#professionalView .tool-switcher button.active{background:#184b3c;box-shadow:0 4px 12px rgba(23,70,56,.13)}
#professionalView .tool-switcher button.active::after{display:none}
#professionalView .tool-switcher button>b{font-size:15px}
#professionalView .tool-switcher button>span{font-size:13px}
#professionalView .tool-switcher small{font-size:10px}
#professionalView .group-heading,
#professionalView .advanced-title{display:none}
#professionalView .calculator-shell{display:block}
#professionalView .calculator-menu{
  position:static;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1px;
  margin:0 0 14px;
  padding:1px;
  border:1px solid #dce3dd;
  border-radius:8px;
  background:#dce3dd;
  overflow:hidden;
}
#professionalView .calculator-menu{display:none}
#professionalView .calculator-menu button{
  min-height:66px;
  padding:12px 15px;
  border-radius:0;
  background:#fff;
}
#professionalView .calculator-menu button:hover{background:#f5f8f4}
#professionalView .calculator-menu button.active{background:#e8f0ea;color:#173f35;box-shadow:inset 0 3px #2f6a55}
#professionalView .calculator-menu button.active>b{color:#2f6a55}
#professionalView .calculator-menu button.active small{color:#65776f}
#professionalView .calculator-stage{width:100%}
#professionalView .calculator-view{width:100%;max-width:none}
#professionalView .valuation-prerequisites{width:100%;max-width:none}
#professionalView .tool-audit{width:100%;max-width:none;margin-right:0;margin-left:0}
#professionalView .calculator-stage .professional-card{padding:28px 30px;box-shadow:0 5px 18px rgba(31,53,44,.035)}
#professionalView .calculator-stage .panel-head{margin-bottom:14px}
#professionalView .calculator-stage .tool-help{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e9e4}
@media(max-width:780px){
  #professionalView .tool-switcher{width:100%;grid-template-columns:1fr}
  .professional-tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  #professionalView .calculator-menu{grid-template-columns:1fr}
  #professionalView .calculator-stage .professional-card{padding:20px}
}
@media(max-width:520px){.professional-tool-nav{grid-template-columns:1fr}}

/* Dashboard: compact management hierarchy */
#dashboardView{max-width:1500px;margin-right:auto;margin-left:auto}
.dashboard-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px}
.dashboard-heading-row .section-title{margin:0}
.dashboard-heading-row .data-actions{display:flex;align-items:center;gap:8px;margin:0}
.dashboard-heading-row .export-button{float:none;margin:0}
.dashboard-heading-row .import-button{min-height:40px;margin:0;padding:10px 13px}
#dashboardStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
#dashboardStats .dashboard-stat{
  min-height:108px;
  padding:18px 20px;
  border:1px solid #dce4dd;
  border-radius:8px;
  background:#fff;
  color:#1e3e33;
  box-shadow:0 3px 12px rgba(31,53,44,.025);
}
#dashboardStats .dashboard-stat span{color:#6e7e76;font-size:10px}
#dashboardStats .dashboard-stat strong{margin-top:7px;color:#245b49;font-size:32px}
#dashboardStats .dashboard-stat small{color:#7f8b85;font-size:9px}
#dashboardStats .review-stat{border-color:#e2cf9c;background:#fbf7e9}
#dashboardStats .review-stat strong{color:#80652b}
#dashboardView .project-timeline-panel{margin-bottom:18px}
#dashboardView .project-timeline-head{padding:20px 24px 15px}
#dashboardView .project-timeline-head h3{font-size:22px}
#dashboardView .project-stage-strip article{min-height:82px;padding:14px 12px}
@media(max-width:900px){
  .dashboard-heading-row{align-items:flex-start;flex-direction:column}
  #dashboardStats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .dashboard-heading-row .data-actions{width:100%;flex-wrap:wrap}
  #dashboardStats{grid-template-columns:1fr}
}

/* System explanation: one workflow, no project-specific controls */
#aboutView{padding-top:20px}
#aboutView .about-intro{
  grid-template-columns:1fr;
  gap:0;
  margin-bottom:30px;
  padding:34px 40px;
}
#aboutView .about-intro-copy{max-width:980px}
#aboutView .about-intro h2{font-size:42px}
#aboutView .about-intro-copy>span{max-width:920px;margin-top:12px}
#aboutView .about-overview{display:none}
#aboutView .about-subheading{margin-bottom:14px}
#aboutView .method-grid{margin-bottom:34px}
#aboutView .method-grid article{min-height:200px;padding:22px}
@media(max-width:680px){
  #aboutView{padding-top:14px}
  #aboutView .about-intro{padding:28px 22px}
}

/* Sampling plan: the top 01–04 strip is the only process numbering. */
.planning-map-panel .panel-head{gap:0}
.planning-stage-title{gap:0}

/* Sample analysis: keep the long form and the empty result at independent heights. */
#analyseView .workspace{
  grid-template-columns:minmax(430px,520px) minmax(0,1fr);
  align-items:start;
  gap:22px;
}
#analyseView .results-panel{
  position:sticky;
  top:92px;
  align-self:start;
  min-height:0;
  padding:28px 30px;
}
#analyseView .empty-state{
  height:auto;
  min-height:420px;
  padding:34px 24px;
}
#analyseView .empty-state .radar{
  width:100px;
  height:100px;
  margin-bottom:20px;
}
#analyseView .empty-state > p{margin-bottom:10px}
#analyseView .empty-state h2{
  max-width:560px;
  margin-bottom:10px;
  font-family:inherit;
  font-size:25px;
  line-height:1.25;
  font-weight:650;
}
#analyseView .empty-state small{
  max-width:500px;
  font-size:12px;
  line-height:1.7;
}
#analyseView .empty-features{
  width:min(100%,480px);
  margin-top:22px;
}
#analyseView .empty-features span{padding:9px}
@media(max-width:900px){
  #analyseView .workspace{grid-template-columns:1fr}
  #analyseView .results-panel{position:static}
}

/* Dashboard: progress first, actionable work second, spatial context last. */
#dashboardView .project-timeline-panel{
  margin-bottom:26px;
  border-color:#dce3dc;
  box-shadow:0 4px 16px rgba(31,53,44,.035);
}
#dashboardView .project-timeline-head{
  align-items:center;
  padding:18px 22px 14px;
}
#dashboardView .project-timeline-head small{font-size:9px}
#dashboardView .project-timeline-head h3{
  margin:3px 0;
  font-size:19px;
}
#dashboardView .project-timeline-head p{font-size:11px}
#dashboardView .project-timeline-head > span{
  padding:6px 10px;
  font-size:10px;
}
#dashboardView .project-stage-strip{
  grid-template-columns:repeat(8,minmax(128px,1fr));
  gap:6px;
  padding:0 18px 16px;
  border:0;
  background:#fff;
}
#dashboardView .project-stage-strip article{
  min-height:66px;
  padding:11px 10px;
  align-items:flex-start;
  gap:8px;
  border:1px solid #e4e8e3;
  border-radius:5px;
  background:#fafbf9;
}
#dashboardView .project-stage-strip article.complete{
  border-color:#d5e0d6;
  background:#f1f6ef;
}
#dashboardView .project-stage-strip i{
  display:grid;
  width:25px;
  height:25px;
  flex:0 0 25px;
  place-items:center;
  border-radius:50%;
  background:#eef1ed;
  font-family:inherit;
  font-size:9px;
}
#dashboardView .project-stage-strip span{gap:4px}
#dashboardView .project-stage-strip b{font-size:11px}
#dashboardView .project-stage-strip small{font-size:9px}
#dashboardView .project-event-details{
  border-top:1px solid #e7ebe7;
}
#dashboardView .project-event-details summary{
  padding:12px 22px;
  font-size:11px;
}
.dashboard-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:2px 0 12px;
  padding:0 2px;
}
.dashboard-section-heading p{
  margin:0 0 4px;
  color:#39705d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}
.dashboard-section-heading h3{
  margin:0;
  font-size:20px;
}
.dashboard-section-heading > span{
  color:#7b8680;
  font-size:10px;
}
#dashboardView .dashboard-columns{
  grid-template-columns:minmax(560px,1.3fr) minmax(340px,.7fr);
  gap:14px;
  margin-bottom:24px;
}
#dashboardView .dashboard-panel{
  padding:22px 24px;
  border-color:#dce3dc;
  border-radius:8px;
  box-shadow:0 4px 16px rgba(31,53,44,.03);
}
#dashboardView .dashboard-panel .panel-head{
  margin-bottom:16px;
}
#dashboardView .dashboard-panel .panel-head > span{display:none}
#dashboardView .dashboard-panel .panel-head p{
  margin-bottom:3px;
  font-size:9px;
}
#dashboardView .dashboard-panel .panel-head h2{
  font-size:21px;
}
#dashboardView .worklist-summary{gap:10px}
#dashboardView .worklist-summary article{
  min-height:112px;
  padding:16px;
}
#dashboardView .breakdown-row{margin:14px 0}
#dashboardView .coverage-summary-card{
  margin-bottom:0;
  padding:20px 24px;
  border-color:#dce3dc;
  box-shadow:0 4px 16px rgba(31,53,44,.025);
}
#dashboardView .coverage-summary-head{
  margin-bottom:13px;
}
#dashboardView .coverage-summary-card .panel-head > span{display:none}
#dashboardView .coverage-summary-card .panel-head p{
  margin-bottom:3px;
  font-size:9px;
}
#dashboardView .coverage-summary-card .panel-head h2{
  font-size:21px;
}
#dashboardView .coverage-summary-card .secondary{
  min-height:38px;
  padding:9px 13px;
  font-size:11px;
}
#dashboardView .coverage-summary-metrics article{padding:13px 16px}
#dashboardView .coverage-summary-metrics b{font-size:19px}
@media(max-width:1050px){
  #dashboardView .dashboard-columns{grid-template-columns:1fr}
}
@media(max-width:720px){
  .dashboard-section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  #dashboardView .project-timeline-head{align-items:flex-start;flex-direction:column}
}

/* Project scope: compact globally, full management controls only on overview. */
.project-scope-compact{
  display:flex;
  width:100%;
  min-width:0;
  margin:0 0 8px;
  padding:3px 4px 12px;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  letter-spacing:0;
}
.project-scope-compact[hidden]{
  display:flex!important;
  visibility:hidden;
  pointer-events:none;
}
.project-scope-compact > span{
  color:#9ebcb0;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}
.project-scope-compact select{
  width:100%;
  min-width:0;
  height:36px;
  margin:0;
  padding:0 30px 0 10px;
  border:1px solid #597a6f;
  border-radius:5px;
  background:#fff;
  color:#23483b;
  font-size:10px;
}
.project-scope-compact select:focus{
  border-color:#6f9585;
  box-shadow:0 0 0 2px rgba(63,111,91,.1);
}
@media(max-width:720px){
  .project-scope-compact{
    width:190px;
    flex:0 0 190px;
    margin:0;
    padding:7px 0;
  }
  .project-scope-compact[hidden]{display:none!important}
  .project-scope-compact > span{display:none}
  .project-scope-compact select{height:34px}
}
