:root{
  --bg:#0f1117;--surface:#1a1d27;--surface2:#22263a;--border:#2d3248;
  --border-light:#3d4268;--accent:#4f7eff;--green:#2ecc7a;--amber:#f5a623;
  --red:#ff5f5f;--text:#e8eaf6;--text-dim:#8890b5;--text-muted:#5e668f;
  --font:'Noto Sans KR',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px}
.prep-page{height:calc(100vh - 50px);overflow:hidden}
.workspace{display:grid;grid-template-columns:360px 1fr;height:100%}
.control-panel{background:var(--surface);border-right:1px solid var(--border);padding:18px;overflow:auto}
.panel-head h1{margin:0 0 4px;font-size:22px}
.panel-head p{margin:0 0 18px;color:var(--text-dim);font-size:12px}
.prep-form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:6px;color:var(--text-dim);font-size:12px;font-weight:600}
label.manual-required{color:#ffcf66}
.manual-label-row{display:flex;align-items:center;gap:6px}
.manual-label-row em{display:inline-flex;border:1px solid rgba(245,166,35,.45);border-radius:999px;background:rgba(245,166,35,.12);color:#ffcf66;padding:1px 7px;font-size:10px;font-style:normal;font-weight:900;line-height:1.4}
input[type=file],input[type=text],input[type=date],input[type=number],textarea{
  width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;
  color:var(--text);padding:9px 10px;font:inherit;outline:none
}
textarea{resize:vertical;min-height:86px}
input:focus,textarea:focus{border-color:var(--accent)}
.station-picker-row{display:grid;grid-template-columns:1fr auto;gap:7px}
.icon-text-btn{
  border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);
  padding:0 11px;font:inherit;font-weight:800;cursor:pointer;min-height:36px
}
.icon-text-btn:hover{border-color:var(--accent);color:white}
.spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.upload-zone{
  position:relative;border:1px dashed var(--border-light);border-radius:8px;background:rgba(79,126,255,.07);
  min-height:134px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .15s,background .15s
}
.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:rgba(79,126,255,.13)}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-zone strong{color:var(--text);font-size:14px}
.upload-zone small{color:var(--text-muted)}
.upload-icon{
  width:32px;height:32px;border-radius:50%;background:var(--accent);color:white;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;line-height:1
}
.selected-files{border:1px solid var(--border);border-radius:6px;background:var(--surface2);padding:8px 10px;color:var(--text-dim);font-size:12px;line-height:1.6}
.selected-files b{color:var(--text)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid-2 .field-full{grid-column:1/-1}
.damage-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.crop-only-input.is-hidden{display:none}
.object-select-box{border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.object-select-box .mini-title{grid-column:1/-1;color:var(--text);font-weight:800;font-size:12px}
.object-select-box label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;color:var(--text-dim);font-weight:700}
.object-select-box input{width:14px;height:14px;accent-color:var(--accent)}
.primary-btn,.subtle-btn{
  border:0;border-radius:6px;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;min-height:34px
}
.primary-btn{background:var(--accent);color:white}
.subtle-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text)}
.subtle-btn:hover{border-color:var(--border-light)}
.tool-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:18px 0 10px}
.danger-btn{color:var(--red);border-color:rgba(255,95,95,.45)}
.danger-btn:hover{border-color:var(--red);background:rgba(255,95,95,.10)}
.saved-prep-panel{border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025);padding:10px;margin:10px 0;display:grid;gap:8px}
.saved-prep-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text)}
.saved-prep-list{display:grid;gap:7px;max-height:320px;overflow:auto}
.saved-prep-empty{border:1px solid var(--border);border-radius:6px;background:var(--surface2);padding:9px 10px;color:var(--text-dim);font-size:12px;line-height:1.45}
.saved-prep-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch;border:1px solid var(--border);border-radius:7px;background:var(--surface2);padding:6px}
.saved-prep-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(79,126,255,.25)}
.saved-prep-load{min-width:0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;padding:3px;display:grid;gap:3px}
.saved-prep-load strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.saved-prep-load span,.saved-prep-load em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim);font-size:11px;font-style:normal}
.saved-prep-delete,.mini-btn{border:1px solid var(--border);border-radius:5px;background:rgba(255,255,255,.04);color:var(--text-dim);font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:5px 7px}
.saved-prep-delete{color:#ff9a9a;border-color:rgba(255,95,95,.35)}
.paste-box{border:1px solid var(--border);border-radius:8px;padding:12px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:10px}
.paste-title{font-weight:800;color:var(--text)}
.range-label input{padding:0}
.status-box{margin-top:14px;border:1px solid var(--border);border-radius:8px;padding:10px;color:var(--text-dim);background:var(--surface2)}
.hidden-status{display:none!important}
.station-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;z-index:500;padding:20px}
.station-modal.open{display:flex}
.station-modal-panel{width:min(680px,100%);max-height:82vh;overflow:auto;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.4)}
.station-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}
.station-modal-head strong{display:block;font-size:15px;margin-bottom:3px}
.station-modal-head span{display:block;color:var(--text-dim);font-size:12px}
.station-modal-close{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);font-size:18px;cursor:pointer}
.station-modal-msg{padding:12px 16px;color:var(--text-dim);font-size:12px}
.station-candidate-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 16px}
.station-choice-card{border:1px solid var(--border);border-radius:8px;background:var(--surface2);padding:12px;cursor:pointer;text-align:left;color:var(--text);font:inherit}
.station-choice-card:hover{border-color:var(--accent);background:rgba(79,126,255,.12)}
.station-choice-card.nearest{border-color:rgba(245,166,35,.65);box-shadow:inset 0 0 0 1px rgba(245,166,35,.22)}
.station-choice-card.wind-max{border-color:rgba(103,232,249,.75);background:rgba(103,232,249,.08)}
.station-choice-name{font-weight:900;margin-bottom:5px}
.station-choice-meta{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.station-choice-tag{display:inline-flex;border:1px solid var(--border-light);border-radius:4px;padding:1px 6px;font-size:10px;color:var(--text-dim)}
.station-choice-tag.nearest-tag{border-color:rgba(245,166,35,.55);color:#ffcf66;background:rgba(245,166,35,.10)}
.station-choice-tag.wind-tag{border-color:rgba(103,232,249,.55);color:#67e8f9;background:rgba(103,232,249,.08)}
.station-choice-tag.wind-max-tag{font-weight:900}
.station-choice-address{font-size:11px;color:var(--text-muted);line-height:1.45}
.print-sheet{overflow:auto;padding:22px;background:#eef1f7;color:#1f2430}
.sheet-header,.print-section{
  width:min(1100px,100%);margin:0 auto 12px;background:#fff;border:1px solid #d9deea;border-radius:8px;padding:18px
}
.sheet-header{display:flex;align-items:flex-end;justify-content:space-between}
.eyebrow{font-size:11px;color:#69738c;font-weight:800;letter-spacing:.04em}
.sheet-header h2{margin:4px 0 0;font-size:24px}
.sheet-meta{font-family:var(--mono);font-size:12px;color:#69738c}
.section-head-block{break-inside:avoid;page-break-inside:avoid}
.print-section h3{margin:0 0 12px;font-size:16px;color:#172033;border-bottom:2px solid #edf0f6;padding-bottom:8px}
.print-section h4{margin:0 0 8px;font-size:13px;color:#333b4d}
.print-section h4.subhead{margin-top:14px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.summary-item,.object-card,.doc-item,.weather-card,.crop-card,.request-group{
  border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;padding:10px
}
.summary-item span{display:block;color:#69738c;font-size:11px;margin-bottom:3px}
.summary-item b{font-size:13px;word-break:break-word}
.summary-span-2{grid-column:span 2}
.summary-span-2 b{line-height:1.35}
.object-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.object-card strong{display:block;font-size:13px;margin-bottom:4px}
.object-card .amount{font-family:var(--mono);color:#2952cc}
.analysis-card,.call-memo-card{
  border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:10px;margin-top:10px;line-height:1.55
}
.analysis-card strong,.call-memo-card strong{display:block;margin-bottom:6px;color:#172033}
.object-detail-summary{margin-top:10px}
.object-detail-summary h4{margin:0 0 7px}
.object-detail-table-wrap{overflow:auto;border:1px solid #dde3ef;border-radius:6px}
.object-detail-table{width:100%;border-collapse:collapse;font-size:10.5px;background:#fff;table-layout:fixed}
.object-detail-table th{background:#edf3fb;color:#33405a;padding:6px 4px;border:1px solid #d5deec;white-space:nowrap}
.object-detail-table td{padding:5px 4px;border:1px solid #e2e7f0;text-align:center;white-space:normal;overflow-wrap:break-word;word-break:keep-all;line-height:1.2}
.object-detail-table .col-seq{width:4%}
.object-detail-table .col-house{width:14%}
.object-detail-table .col-num{width:5%}
.object-detail-table .col-structure{width:7%}
.object-detail-table .col-form{width:17%}
.object-detail-table .col-cover{width:8%}
.object-detail-table .col-date{width:9%}
.object-detail-table .col-crop{width:22%}
.object-detail-table td.col-house,
.object-detail-table td.col-num,
.object-detail-table td.col-date{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.object-detail-table .text-fit{font-size:9.3px;line-height:1.16}
.compact-cols{margin-top:8px}
.case-insights{border-top:1px solid #edf0f6;margin-top:8px;padding-top:8px}
.case-row{display:grid;grid-template-columns:86px 1fr;gap:8px;margin-top:6px}
.case-row span{font-family:var(--mono);font-size:11px;color:#2952cc;font-weight:800}
.case-row p{margin:0;color:#33405a;font-size:12px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doc-list{display:flex;flex-direction:column;gap:7px}
.hidden-doc-source{display:none!important}
.upload-list{margin-bottom:10px}
.doc-item{display:flex;justify-content:space-between;gap:10px;align-items:center}
.doc-item a{color:#2952cc;text-decoration:none;font-weight:700}
.doc-reason{font-size:11px;color:#69738c}
.checklist-select-list{display:grid;gap:8px;margin-bottom:10px}
.checklist-select-head{display:flex;justify-content:space-between;gap:10px;color:#33405a;font-size:12px}
.checklist-select-head strong{color:#172033}
.checklist-select-head span{color:#69738c;text-align:right}
.checklist-select-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d7e1f0;border-radius:6px;background:#fff;padding:9px 10px}
.checklist-select-item.print-selected{border-color:#95afe8;background:#f8fbff}
.checklist-select-item input{width:16px;height:16px}
.checklist-select-item span{display:grid;min-width:0;gap:2px}
.checklist-select-item a{color:#2952cc;text-decoration:none;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist-select-item em{font-style:normal;color:#69738c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist-select-item b{border-radius:999px;background:#edf3ff;color:#2952cc;font-size:11px;padding:3px 8px;white-space:nowrap}
.doc-preview-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;margin-bottom:10px}
.doc-preview-tools label{display:grid;gap:4px;color:#33405a;font-size:12px;font-weight:800}
.doc-preview-tools select{border:1px solid #cfd7e6;border-radius:6px;background:#fff;color:#172033;padding:8px 10px;font:inherit;font-weight:800}
.print-package-note{border:1px solid #d7e1f0;border-radius:6px;background:#f8fbff;color:#33405a;font-size:12px;font-weight:800;padding:8px 10px;margin-bottom:10px}
.checklist-print-control{margin-top:10px;border:1px solid #d7e1f0;border-radius:6px;background:#f8fbff;padding:10px}
.checklist-print-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.checklist-print-head strong{color:#172033}
.checklist-print-head span{color:#52617c;font-size:12px;text-align:right}
.checklist-print-row{display:grid;grid-template-columns:145px 1fr auto;align-items:end;gap:8px}
.checklist-print-row.compact{grid-template-columns:1fr}
.checklist-print-row label{display:grid;gap:4px;color:#33405a;font-size:12px;font-weight:800}
.checklist-print-row input{width:100%;border:1px solid #cfd7e6;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;font:inherit;font-weight:800}
.checklist-print-pages{border:1px solid #dfe5f0;border-radius:6px;background:#fff;padding:8px 10px;color:#2952cc;font-weight:900}
.field-hint-box{
  align-self:end;color:#7ea0ff;font-size:12px;font-weight:900;padding:0 2px;min-height:34px;line-height:1.2;
  display:flex;align-items:center;overflow:hidden;word-break:keep-all;background:transparent;border:0
}
.field-sheet-label{font-size:11px;color:#52617c;font-weight:900;margin-bottom:6px}
.floorplan-section{break-inside:avoid}
.floorplan-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-4px 0 8px}
.floorplan-toolbar span{font-size:12px;color:#52617c;font-weight:800}
.kakao-address-select{min-width:min(100%,300px);max-width:420px;border:1px solid #cfd7e6;border-radius:6px;background:#fff;color:#172033;padding:8px 10px;font:inherit;font-size:12px;font-weight:800}
.kakao-map-btn{background:#fee500;color:#191919;border-color:#d6bd00;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.kakao-map-btn:hover{background:#f5dc00;border-color:#b9a300;color:#191919}
.floorplan-toolbar input[type="file"]{max-width:220px;border:1px solid #cfd7e6;border-radius:6px;background:#fff;color:#172033;padding:6px;font:inherit;font-size:12px}
.floorplan-size-label{display:flex;align-items:center;gap:6px;color:#52617c;font-size:12px;font-weight:800}
.floorplan-size-label input{width:100px}
.floorplan-frame{
  border:1px dashed #9aa7c0;border-radius:8px;height:min(72vh,760px);min-height:640px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:#f7f9fc;color:#69738c
}
.floorplan-frame img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:fill}
.cadastral-frame{width:100%;height:100%;border:0;background:#f7f9fc}
.floorplan-frame.view-locked{border-style:solid;border-color:#2952cc}
.floorplan-memo{margin-top:10px;border:1px solid #cfd7e6;border-radius:6px;background:#fff;overflow:hidden}
.memo-title{height:30px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #dfe5f0;font-weight:800;color:#33405a}
.memo-lines{
  height:190px;
  background:repeating-linear-gradient(to bottom,#fff 0,#fff 31px,#dfe5f0 32px)
}
.checklist-meta{border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;padding:8px 10px;margin-bottom:10px;color:#33405a;font-weight:700}
.checklist-meta-main{line-height:1.45}
.checklist-meta-address{display:block;margin-top:4px;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}
.field-checklist-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}
.field-check-items{display:grid;grid-template-columns:1fr;gap:8px}
.field-check-items.grouped{gap:8px}
.field-check-group{border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;padding:8px}
.field-check-group h4{margin:0 0 7px;color:#172033}
.field-check-group-items{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.field-check-row{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:7px;border:1px solid #dde3ef;border-radius:5px;background:#fff;padding:6px 8px;color:#1f2430;font-size:12px;font-weight:600}
.field-check-row input{width:14px;height:14px;margin:1px 0 0;accent-color:#2952cc}
.checklist-source-note{border:1px dashed #cfd7e6;border-radius:5px;background:#fafbfe;color:#52617c;font-size:11px;line-height:1.45;padding:7px 8px}
.field-extra-memo{margin-top:10px;border:1px solid #cfd7e6;border-radius:6px;background:#fff;overflow:hidden}
.muted{color:#69738c;margin:0 0 10px}
.weather-memo{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:9px;margin:8px 0;line-height:1.6}
.inline-print-btn{border:1px solid #cfd7e6;background:#fff;color:#2952cc;border-radius:6px;padding:7px 10px;font:inherit;font-weight:800;cursor:pointer;margin-bottom:8px}
.weather-info-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr;gap:8px;margin-bottom:8px}
.weather-info-grid div,.lightning-summary div{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:8px}
.weather-info-grid span,.lightning-summary span{display:block;color:#69738c;font-size:11px;margin-bottom:3px;font-weight:700}
.weather-info-grid b,.lightning-summary b{font-size:13px;color:#172033}
.weather-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.weather-grid div{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:8px}
.weather-grid span{display:block;color:#69738c;font-size:11px;margin-bottom:3px}
.weather-grid b{font-size:13px}
.weather-range-wrap{overflow:auto;margin-top:8px;border:1px solid #dde3ef;border-radius:6px}
.weather-range-table{width:100%;border-collapse:collapse;background:#fff;font-size:11px;table-layout:fixed}
.weather-range-table .weather-col-date{width:10%}
.weather-range-table .weather-col-offset{width:5%}
.weather-range-table .weather-col-phase{width:29%}
.weather-range-table.has-temp-limit .weather-col-date{width:9%}
.weather-range-table.has-temp-limit .weather-col-offset{width:4.5%}
.weather-range-table.has-temp-limit .weather-col-phase{width:23%}
.weather-range-table .weather-col-stress{width:8.5%}
.weather-range-table.has-temp-limit .weather-col-rain{width:8%}
.weather-range-table.has-temp-limit .weather-col-temp{width:8%}
.weather-range-table.has-temp-limit .weather-col-gust{width:11.5%}
.weather-range-table.has-temp-limit .weather-col-alert{width:19.5%}
.weather-range-table .weather-col-rain{width:9%}
.weather-range-table .weather-col-temp{width:9%}
.weather-range-table .weather-col-gust{width:14%}
.weather-range-table .weather-col-alert{width:15%}
.weather-range-table th{background:#edf3fb;color:#33405a;border:1px solid #d5deec;padding:6px;white-space:nowrap}
.weather-range-table td{border:1px solid #e2e7f0;padding:5px;text-align:center;white-space:nowrap}
.weather-range-table .weather-alert-cell{white-space:normal;word-break:keep-all;overflow-wrap:break-word;line-height:1.25}
.weather-range-table tr.accident-day td{background:#fff7df;font-weight:800}
.weather-range-table tr.temp-stress-day td{background:#fff8f6}
.weather-range-table tr.accident-day.temp-stress-day td{background:#fff3d5}
.weather-stress-cell{white-space:normal!important;word-break:keep-all;line-height:1.25;color:#b42318;font-weight:900}
.weather-stress-cell span{display:inline-block;border:1px solid #ffb4a8;background:#fff1ef;border-radius:999px;padding:1px 5px;margin:1px}
.weather-phase-summary{border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;color:#33405a;font-size:12px;font-weight:900;padding:7px 9px;margin:6px 0 8px}
.weather-phase-cell{color:#2952cc;font-weight:800}
.print-section h4.weather-alert-heading{margin-top:20px;margin-bottom:10px}
.weather-alert-range-tool{display:grid;grid-template-columns:1.4fr .8fr .8fr auto .9fr;gap:8px;align-items:end;border:1px solid #d8e1f0;border-radius:6px;background:#f8fbff;padding:9px;margin:14px 0 6px}
.weather-alert-range-head{display:grid;gap:2px}
.weather-alert-range-head b{color:#172033;font-size:13px}
.weather-alert-range-head span,.weather-alert-range-tool em{color:#69738c;font-size:11px;font-style:normal;font-weight:700}
.weather-alert-range-tool label{display:grid;gap:4px;color:#52617c;font-size:11px;font-weight:800}
.weather-alert-range-tool input{border:1px solid #cfd7e6;border-radius:5px;background:#fff;padding:7px 8px;font:inherit;font-weight:800;color:#172033}
.weather-alert-range-tool button{border:1px solid #2952cc;background:#2952cc;color:#fff;border-radius:6px;padding:8px 12px;font:inherit;font-weight:900;cursor:pointer}
.weather-alert-range-result{margin-top:10px}
.weather-alert-certificate{overflow:auto;margin:10px 0 8px;border:1px solid #cfd7e6;border-radius:6px;background:#fff}
.weather-alert-table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}
.weather-alert-table th,.weather-alert-table td{border:1px solid #b8c1d0;padding:8px 9px;text-align:center;vertical-align:middle;white-space:nowrap}
.weather-alert-table th{background:#e8eef7;color:#172033;font-weight:900}
.weather-alert-table th.alert-issued{background:#dbe8f7}
.weather-alert-table th.alert-ended{background:#ebe3f2}
.weather-alert-table td{color:#1f2430}
.weather-alert-table .alert-area{font-weight:900;background:#f8fafd}
.weather-alert-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 8px}
.weather-alert-item{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:8px;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}
.weather-alert-item b{color:#172033}
.weather-alert-item span{font-family:var(--mono);font-size:11px;color:#2952cc;text-align:right}
.weather-alert-item em{grid-column:1 / -1;font-style:normal;color:#52617c;font-size:11px}
.lightning-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.lightning-summary.hit div{border-color:#f2b7b7;background:#fff8f8}
.lightning-images{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
.lightning-images figure{margin:0;border:1px solid #dde3ef;border-radius:6px;background:#fff;overflow:hidden}
.lightning-images img{display:block;width:100%;max-height:360px;object-fit:contain;background:#fff}
.lightning-images figcaption{border-top:1px solid #e2e7f0;padding:5px 8px;font-size:11px;color:#52617c;font-weight:800}
.request-group{margin-bottom:8px}
.request-group strong{display:block;margin-bottom:6px}
.phase-list{display:grid;gap:6px;margin:8px 0;overflow:auto}
.phase-row{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(205px,max-content) minmax(0,1fr);gap:8px;align-items:start;border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:7px 8px}
.phase-row b{color:#172033}
.phase-row span{font-family:var(--mono);font-size:12px;color:#2952cc;white-space:nowrap;word-break:keep-all}
.phase-row em{font-style:normal;color:#52617c;font-size:12px}
.truss-list{display:grid;gap:4px;margin:8px 0 6px;overflow-x:auto}
.truss-row{
  display:grid;
  grid-template-columns:minmax(54px,.45fr) repeat(4,minmax(140px,1fr)) minmax(150px,1fr);
  gap:8px;
  align-items:center;
  border:1px solid #dde3ef;
  border-radius:6px;
  background:#fff;
  padding:6px 8px;
  font-size:12px;
  min-width:920px;
}
.truss-row b{color:#172033}
.truss-row span{font-family:var(--mono);color:#2952cc;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;line-height:1.25}
.date-range-split{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 .35em;line-height:1.2}
.date-range-split span{white-space:nowrap}
.truss-row em{font-style:normal;color:#52617c;font-size:11px}
.truss-row.truss-head{background:#f6f8fc;font-weight:900}
.truss-row.is-hit{border-color:#f3c37a;background:#fff7e5}
.truss-row.is-hit em{color:#b15c00;font-weight:900}
.reproductive-heat-subsection{margin-top:10px}
.heat-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px;margin:8px 0}
.heat-summary span{border:1px solid #dde3ef;border-radius:6px;background:#f8fafc;padding:7px 8px;color:#33405a;font-size:12px}
.heat-unit-list{display:grid;gap:4px;margin:8px 0 6px;overflow-x:auto}
.heat-unit-row{
  display:grid;
  grid-template-columns:minmax(74px,.45fr) minmax(360px,2fr) minmax(96px,.65fr) minmax(110px,.7fr);
  gap:8px;
  align-items:center;
  border:1px solid #dde3ef;
  border-radius:6px;
  background:#fff;
  padding:6px 8px;
  font-size:12px;
  min-width:760px;
}
.heat-unit-row b{color:#172033}
.heat-unit-row span{color:#33405a;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.heat-unit-row em{font-style:normal;color:#52617c;font-size:11px}
.heat-unit-head{background:#f6f8fc;font-weight:900}
.heat-unit-row.is-hit{border-color:#f3c37a;background:#fff7e5}
.heat-unit-row.is-hit em{color:#b15c00;font-weight:900}
.field-check-note{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:7px 8px;margin:6px 0;color:#33405a;font-size:12px;line-height:1.45}
.period-risk-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:8px 0 10px}
.period-risk-card{border:1px solid #dbe3f1;border-radius:6px;background:#fff;padding:9px 10px}
.period-risk-card span{display:inline-flex;border-radius:999px;background:#edf3ff;color:#2952cc;font-size:11px;font-weight:900;padding:2px 7px;margin-bottom:5px}
.period-risk-card strong{display:block;color:#172033;margin-bottom:3px}
.period-risk-card em{display:block;font-style:normal;color:#52617c;font-family:var(--mono);font-size:11px;margin-bottom:5px}
.period-risk-card p{margin:0;color:#33405a;font-size:12px;line-height:1.45}
.period-risk-link{display:inline-block;margin-top:6px;color:#2952cc;font-size:11px;font-weight:900;text-decoration:none}
.period-risk-link:hover{text-decoration:underline}
.pest-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:8px 0 10px}
.pest-material-card{border:1px solid #dde3ef;border-radius:6px;background:#fff;overflow:hidden}
.pest-image-frame{position:relative;background:#f3f6fb}
.pest-material-card img{display:block;width:100%;height:155px;object-fit:cover;background:#f3f6fb}
.pest-photo-caption{display:grid;gap:3px;padding:7px 9px;color:#172033;font-size:12px;font-weight:900;text-align:center;border-top:1px solid #e2e7f0;background:#fff}
.pest-photo-caption span{justify-self:center;border-radius:999px;background:#edf3ff;color:#2952cc;font-size:10px;font-weight:900;padding:2px 7px}
.pest-photo-caption strong{font-size:13px;color:#172033}
.pest-photo-source{padding:0 9px 8px;color:#52617c;font-size:10px;text-align:center;background:#fff}
.pest-photo-source a{color:#2952cc;font-weight:800;text-decoration:none}
.crop-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:8px;margin:8px 0 10px}
.crop-candidate-card{border:1px solid #dbe3f1;border-radius:6px;background:#fff;padding:9px 10px;break-inside:avoid}
.crop-candidate-head{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.crop-candidate-head span{display:inline-flex;border-radius:999px;background:#edf3ff;color:#2952cc;font-size:11px;font-weight:900;padding:2px 7px}
.crop-candidate-head strong{color:#172033;font-size:13px}
.crop-candidate-card p{margin:0 0 6px;color:#33405a;font-size:12px;line-height:1.45}
.crop-candidate-symptom{overflow-wrap:anywhere;word-break:keep-all}
.crop-subsection{margin-top:10px}
.node-checklist{margin:6px 0;padding-left:18px;color:#33405a;line-height:1.5}.node-survey-table{width:100%;border-collapse:collapse;font-size:11px}.node-survey-table th,.node-survey-table td{border:1px solid #dde3ef;padding:5px;text-align:center}.node-survey-table th{background:#f6f8fc;color:#172033}
.crop-mini-list{margin:4px 0 0;padding-left:16px;color:#33405a;font-size:11px;line-height:1.42}
.crop-mini-list li{margin-bottom:2px}
.crop-mini-list b{color:#52617c;margin-right:4px}
.crop-link-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.crop-link-row a,.crop-link-list a,.crop-evidence-list a{color:#2952cc;text-decoration:none;font-weight:900}
.crop-link-row a{border:1px solid #dbe3f1;border-radius:999px;background:#f7faff;padding:3px 8px;font-size:11px}
.crop-link-row span{color:#52617c;font-size:11px;align-self:center}
.crop-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 10px}
.crop-field-box{border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;padding:9px 10px}
.crop-field-box strong{display:block;margin-bottom:5px;color:#172033}
.crop-field-box ul{margin:0;padding-left:17px;color:#33405a;font-size:12px;line-height:1.45}
.crop-link-list,.crop-evidence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;margin:8px 0 10px}
.crop-link-list a,.crop-evidence-list a{border:1px solid #dde3ef;border-radius:6px;background:#fff;padding:8px 10px;display:grid;gap:3px;min-width:0;overflow:hidden}
.crop-link-list strong,.crop-evidence-list strong,.crop-link-list span,.crop-evidence-list span,.crop-evidence-list small{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.crop-link-list span,.crop-evidence-list span{color:#52617c;font-size:11px;font-weight:700}
.crop-evidence-list small{color:#3c4659;font-size:11px;line-height:1.45;font-weight:500;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.crop-reference-list{display:grid;gap:8px;margin:8px 0}
.crop-reference-card{border:1px solid #dde3ef;border-radius:6px;background:#fff;overflow:hidden}
.crop-reference-head{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f6f8fc;border-bottom:1px solid #dde3ef;padding:8px 10px}
.crop-reference-head strong{color:#172033}
.crop-reference-head span{font-size:12px;color:#52617c;font-weight:800}
.crop-reference-table{width:100%;border-collapse:collapse;font-size:12px}
.crop-reference-table th,.crop-reference-table td{border-bottom:1px solid #e2e7f0;padding:7px 8px;text-align:left;white-space:nowrap}
.crop-reference-table th{background:#fbfcff;color:#52617c;font-size:11px}
.generated-checklist-print-pages,.uploaded-original-print-pages{display:none}
.generated-checklist-page{background:#fff}
.generated-checklist-page img{display:block;width:100%;height:auto}
.uploaded-original-page{background:#fff}
.uploaded-original-page img{display:block;width:100%;height:auto}
.uploaded-original-title{display:none}
.note-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.note-card{border:1px solid #dde3ef;border-radius:6px;background:#fafbfe;padding:10px}
.note-card strong{display:block;margin-bottom:5px}
.note-card a{color:#2952cc;text-decoration:none;font-weight:700}
.simple-list{margin:0;padding-left:20px}
.simple-list li{margin-bottom:5px}
.sources-section ol{margin:0;padding-left:22px}
.sources-section li{margin-bottom:7px}
.sources-section a{color:#2952cc}
.badge{display:inline-flex;border-radius:999px;padding:2px 7px;background:#edf3ff;color:#2952cc;font-size:11px;font-weight:800}
@media(max-width:900px){
  .workspace{grid-template-columns:1fr;height:auto}
  .prep-page{height:auto;overflow:auto}
  .control-panel{border-right:0;border-bottom:1px solid var(--border)}
  .summary-grid,.object-list,.two-col,.station-candidate-list,.doc-preview-tools,.field-check-group-items{grid-template-columns:1fr}
  .summary-span-2{grid-column:auto}
  .checklist-print-row{grid-template-columns:1fr}
  .checklist-print-head{align-items:flex-start;flex-direction:column}
  .checklist-print-head span{text-align:left}
  .weather-grid,.weather-info-grid,.weather-alert-list,.lightning-summary,.lightning-images,.crop-field-grid,.crop-link-list,.crop-evidence-list{grid-template-columns:1fr}
  .weather-alert-range-tool{grid-template-columns:1fr}
  .phase-row{grid-template-columns:minmax(82px,.6fr) minmax(178px,max-content) minmax(0,1fr)}
  .pest-material-grid,.crop-candidate-grid{grid-template-columns:1fr 1fr}
}
@media print{
  @page{size:A4 portrait;margin:0}
  body{background:white;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .topnav,.no-print{display:none!important}
  .prep-page,.workspace,.print-sheet{height:auto;overflow:visible;display:block;background:white;padding:0}
  .sheet-header,.print-section{width:100%;border:0;border-radius:0;margin:0 0 10px;padding:8mm;break-inside:auto}
  .section-head-block{break-inside:auto;page-break-inside:auto;break-after:auto;page-break-after:auto}
  .print-section h3{break-after:avoid-page;page-break-after:avoid}
  .print-section h3 + *{break-before:avoid-page;page-break-before:avoid}
  .field-sheet{height:297mm;margin:0;padding:8mm;break-inside:avoid;page-break-inside:avoid}
  .field-sheet h3{margin-bottom:7mm}
  .floorplan-front-page{
    display:flex;
    flex-direction:column;
    height:277mm;
    overflow:hidden;
    break-before:page;
    page-break-before:always;
    break-after:page;
    page-break-after:always;
  }
  .checklist-back-page{break-after:page;page-break-after:always}
  .field-sheet-label{font-size:9pt;margin-bottom:2mm}
  .floorplan-front-page .field-sheet-label{margin-bottom:1mm}
  .floorplan-front-page .section-head-block{flex:0 0 auto;margin-bottom:2mm}
  .floorplan-front-page h3{margin-bottom:2mm}
  .floorplan-front-page .muted{font-size:8pt;line-height:1.25;margin:0;max-height:12mm;overflow:hidden}
  .floorplan-section{break-inside:avoid;page-break-inside:avoid}
  .floorplan-frame{flex:0 0 185mm;height:185mm;border:1px solid #777;border-radius:0;background:white}
  .floorplan-frame.view-locked{
    height:185mm;
    max-height:185mm;
    aspect-ratio:auto;
    align-items:stretch;
    justify-content:stretch;
  }
  .floorplan-frame.view-locked .cadastral-frame{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    transform:none;
  }
  .floorplan-frame img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:fill}
  .cadastral-frame{width:100%;height:100%;max-width:100%;max-height:100%}
  .floorplan-memo{flex:1 1 auto;min-height:42mm;height:auto;margin-top:3mm;border:1px solid #777;border-radius:0}
  .memo-title{height:8mm;border-bottom:1px solid #777}
  .memo-lines{height:calc(100% - 8mm);background:repeating-linear-gradient(to bottom,#fff 0,#fff 8mm,#cfcfcf 8.2mm)}
  .checklist-back-page{display:flex;flex-direction:column}
  .checklist-meta{border:1px solid #777;border-radius:0;margin-bottom:4mm;padding:2mm;font-size:9pt}
  .checklist-source-note,
  .print-source-note{display:none !important}
  .field-checklist-layout{grid-template-columns:1fr;gap:4mm;flex:1;min-height:0}
  .field-check-items{gap:2mm;flex:1}
  .field-check-group{border:1px solid #999;border-radius:0;padding:2mm;background:white;break-inside:avoid}
  .field-check-group h4{font-size:10pt;margin-bottom:1.5mm}
  .field-check-group-items{grid-template-columns:1fr 1fr;gap:1.5mm}
  .field-check-row{border:1px solid #aaa;border-radius:0;padding:1.6mm 2mm;font-size:9pt;break-inside:avoid}
  .field-extra-memo{height:44mm;border:1px solid #777;border-radius:0;margin-top:4mm}
  .field-extra-memo .memo-lines{height:34mm}
  .weather-grid{grid-template-columns:repeat(3,1fr)}
  .weather-info-grid{grid-template-columns:1.4fr .7fr .7fr .7fr}
  .weather-section{break-before:page;page-break-before:always}
  .weather-daily-print-block,
  .weather-alert-print-block{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .weather-alert-print-block.is-weather-long{
    break-before:auto;
    page-break-before:auto;
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-daily-print-block.is-weather-extended{
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-alert-print-block.is-weather-extended{
    break-before:auto;
    page-break-before:auto;
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-range-wrap{
    overflow:visible;
    border-color:#cfd7e6;
  }
  .weather-range-table{
    width:100%;
    table-layout:fixed;
    font-size:6.2pt;
  }
  .weather-daily-print-block.is-weather-extended .weather-range-table{
    font-size:5.8pt;
  }
  .weather-range-table thead{
    display:table-header-group;
  }
  .weather-range-table tr{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .weather-range-table .weather-col-date{width:11%}
  .weather-range-table .weather-col-offset{width:5%}
  .weather-range-table .weather-col-phase{width:27%}
  .weather-range-table.has-temp-limit .weather-col-date{width:9%}
  .weather-range-table.has-temp-limit .weather-col-offset{width:4.5%}
  .weather-range-table.has-temp-limit .weather-col-phase{width:22%}
  .weather-range-table .weather-col-stress{width:8.5%}
  .weather-range-table.has-temp-limit .weather-col-rain{width:7.5%}
  .weather-range-table.has-temp-limit .weather-col-temp{width:8%}
  .weather-range-table.has-temp-limit .weather-col-gust{width:11.5%}
  .weather-range-table.has-temp-limit .weather-col-alert{width:21%}
  .weather-range-table .weather-col-rain{width:8%}
  .weather-range-table .weather-col-temp{width:8.5%}
  .weather-range-table .weather-col-gust{width:12.5%}
  .weather-range-table .weather-col-alert{width:19.5%}
  .weather-range-table th,
  .weather-range-table td{
    padding:1mm .7mm;
    line-height:1.15;
  }
  .weather-range-table th{
    white-space:normal;
  }
  .weather-range-table td{
    white-space:nowrap;
  }
  .weather-range-table .weather-phase-cell,
  .weather-range-table .weather-alert-cell,
  .weather-range-table .weather-stress-cell{
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:break-word;
  }
  .weather-stress-cell span{
    border:0;
    background:transparent;
    padding:0;
    margin:0;
  }
  .weather-alert-print-block.is-weather-long{
    padding-top:2mm;
  }
  .weather-alert-print-block .weather-alert-certificate{
    overflow:visible;
    margin:1mm 0 0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .weather-alert-print-block .weather-alert-table{
    table-layout:fixed;
    width:100%;
    font-size:8pt;
    border:1px solid #9ca6b5;
  }
  .weather-alert-print-block .weather-alert-table .alert-col-area{width:12mm}
  .weather-alert-print-block .weather-alert-table .alert-col-type{width:32mm}
  .weather-alert-print-block .weather-alert-table .alert-col-date{width:31mm}
  .weather-alert-print-block .weather-alert-table .alert-col-datetime{width:auto}
  .weather-alert-print-block .weather-alert-table th,
  .weather-alert-print-block .weather-alert-table td{
    padding:1.7mm 1.2mm;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:keep-all;
    line-height:1.22;
  }
  .weather-alert-print-block .weather-alert-table td.alert-change-text{
    font-weight:800;
    text-align:center;
  }
  .weather-alert-print-block .weather-alert-heading{margin-top:0;margin-bottom:2mm}
  .weather-alert-list{grid-template-columns:1fr 1fr}
  .lightning-summary{grid-template-columns:repeat(4,1fr)}
  .lightning-images{grid-template-columns:1fr}
  .lightning-images img{max-height:82mm}
  .phase-row{grid-template-columns:32mm 48mm 1fr;border-color:#999;border-radius:0;overflow:hidden}
  .truss-list{overflow:visible}
  .truss-row{
    grid-template-columns:13mm 31mm 31mm 34mm 34mm 1fr;
    gap:1.5mm;
    min-width:0;
    border-color:#999;
    border-radius:0;
    padding:1.5mm 2mm;
    font-size:8pt;
    break-inside:avoid;
  }
  .truss-row span{font-size:7.2pt;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
  .truss-row em{font-size:7.5pt}
  .reproductive-heat-subsection{break-inside:avoid-page;page-break-inside:avoid}
  .heat-summary{grid-template-columns:1fr 1fr;gap:1.5mm}
  .heat-summary span{border-color:#999;border-radius:0;padding:1.5mm 2mm;font-size:8pt}
  .heat-unit-list{overflow:visible}
  .heat-unit-row{
    grid-template-columns:18mm 1fr 24mm 28mm;
    gap:1.5mm;
    min-width:0;
    border-color:#999;
    border-radius:0;
    padding:1.5mm 2mm;
    font-size:8pt;
    break-inside:avoid;
  }
  .heat-unit-row span{font-size:7.2pt;line-height:1.2;overflow-wrap:anywhere}
  .heat-unit-row em{font-size:7.3pt}
  .field-check-note{border-color:#999;border-radius:0;padding:1.5mm 2mm;font-size:8pt}
  .pest-candidate-subsection,
  .physiological-candidate-subsection{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .physiological-candidate-subsection{
    break-before:page;
    page-break-before:always;
    padding-top:4mm;
  }
  .period-risk-list,.crop-candidate-grid{grid-template-columns:1fr 1fr;gap:2mm}
  .period-risk-card,.crop-candidate-card{border:1px solid #999;border-radius:0;padding:2mm;break-inside:avoid}
  .period-risk-card span,.crop-candidate-head span{border-radius:0;font-size:8pt;padding:.6mm 1.5mm}
  .period-risk-card p,.crop-candidate-card p{font-size:8.5pt}
  .period-risk-link,.crop-link-row a{font-size:8pt}
  .crop-field-grid{grid-template-columns:1fr 1fr 1fr;gap:2mm}
  .crop-field-box,.crop-link-list a,.crop-evidence-list a{border:1px solid #999;border-radius:0;padding:2mm}
  .crop-link-list,.crop-evidence-list{grid-template-columns:1fr 1fr;gap:2mm}
  .screen-only-source-section{display:none!important}
  .pest-material-grid{grid-template-columns:1fr 1fr;gap:2mm}
  .pest-material-card{border:1px solid #999;border-radius:0;break-inside:avoid}
  .pest-material-card img{height:44mm}
  .pest-photo-caption{padding:1.5mm;font-size:8.5pt}
  .pest-photo-caption span{font-size:7.5pt;padding:.4mm 1.2mm}
  .pest-photo-caption strong{font-size:9pt}
  .crop-reference-card{border:1px solid #999;border-radius:0;break-inside:avoid}
  .crop-reference-head{padding:1.8mm 2mm;background:#f2f2f2;border-bottom:1px solid #999}
  .crop-reference-table th,.crop-reference-table td{padding:1.5mm 2mm;border-color:#aaa}
  .optional-doc:not(.print-selected){display:none!important}
  .uploaded-original-print-pages{display:block}
  .uploaded-original-page{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:297mm;
    padding:8mm;
    margin:0;
    break-before:page;
    page-break-before:always;
    break-after:page;
    page-break-after:always;
    overflow:hidden;
  }
  .uploaded-original-title{
    display:none!important;
  }
  .uploaded-original-page img{
    flex:1 1 auto;
    width:100%;
    height:100%;
    object-fit:contain;
    filter:grayscale(1);
  }
  .uploaded-original-page:first-child{
    break-before:auto;
    page-break-before:auto;
  }
  .generated-checklist-print-pages{display:block}
  .generated-checklist-page{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:297mm;
    padding:8mm;
    margin:0;
    break-before:page;
    page-break-before:always;
    break-after:page;
    page-break-after:always;
    overflow:hidden;
  }
  .generated-checklist-page img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .page-break-avoid{break-inside:avoid}
  a{color:#111;text-decoration:none}

  .sheet-header{
    align-items:flex-end;
    margin:0 0 3mm;
    padding:5mm 8mm 3mm;
    border-bottom:1px solid #e3e8f2;
  }
  .sheet-header h2{font-size:18pt;line-height:1.15;margin:1mm 0 0}
  .eyebrow{font-size:8pt}
  .sheet-meta{font-size:9pt}
  .print-section{
    margin:0 0 3mm;
    padding:4mm 8mm;
    page-break-inside:auto;
  }
  .print-section h3{
    margin:0 0 3mm;
    padding-bottom:1.5mm;
    font-size:13pt;
    border-bottom:1px solid #e3e8f2;
  }
  .print-section h4{margin:0 0 2mm;font-size:10pt}
  .summary-grid{grid-template-columns:repeat(4,1fr);gap:2mm}
  .summary-span-2{grid-column:span 2}
  .summary-item,.object-card,.doc-item,.weather-card,.crop-card,.request-group{
    padding:2mm;
    border:1px solid #cfd7e6;
    border-radius:1.5mm;
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .crop-card{
    break-inside:auto !important;
    page-break-inside:auto !important;
  }
  .crop-card > h4:first-child,
  .crop-subsection h4{
    break-after:avoid-page;
    page-break-after:avoid;
  }
  .crop-subsection{
    margin-top:2.5mm;
    break-inside:auto;
    page-break-inside:auto;
  }
  .crop-subsection h4 + *,
  .crop-card > h4:first-child + *{
    break-before:avoid-page;
    page-break-before:avoid;
  }
  .phase-list,
  .truss-list{
    overflow:visible;
  }
  .summary-item span{font-size:8pt;margin-bottom:.7mm}
  .summary-item b{font-size:9.5pt;line-height:1.25}
  .object-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}
  .analysis-card,.call-memo-card{margin-top:2mm;padding:2mm;line-height:1.35}
  .object-detail-summary{margin-top:2mm}
  .object-detail-table{font-size:6.9pt;table-layout:fixed}
  .object-detail-table th{padding:1.1mm .6mm;white-space:nowrap;line-height:1.12}
  .object-detail-table td{padding:1mm .6mm;white-space:normal;overflow-wrap:break-word;word-break:keep-all;line-height:1.14}
  .object-detail-table .col-seq{width:4%}
  .object-detail-table .col-house{width:14%}
  .object-detail-table .col-num{width:5%}
  .object-detail-table .col-structure{width:7%}
  .object-detail-table .col-form{width:17%}
  .object-detail-table .col-cover{width:8%}
  .object-detail-table .col-date{width:9%}
  .object-detail-table .col-crop{width:22%}
  .object-detail-table td.col-house,
  .object-detail-table td.col-num,
  .object-detail-table td.col-date{white-space:nowrap;overflow-wrap:normal;word-break:normal}
  .object-detail-table .text-fit{font-size:6.3pt;line-height:1.1}
  .crop-link-row{display:none}
  .weather-daily-print-block,
  .weather-alert-print-block{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .weather-alert-print-block.is-weather-long{
    break-before:auto;
    page-break-before:auto;
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-daily-print-block.is-weather-extended{
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-alert-print-block.is-weather-extended{
    break-before:auto;
    page-break-before:auto;
    break-inside:auto;
    page-break-inside:auto;
  }
  .weather-range-wrap{
    overflow:visible;
    border-color:#cfd7e6;
  }
  .weather-range-table{
    width:100%;
    table-layout:fixed;
    font-size:6.2pt;
  }
  .weather-daily-print-block.is-weather-extended .weather-range-table{
    font-size:5.8pt;
  }
  .weather-range-table thead{
    display:table-header-group;
  }
  .weather-range-table tr{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .weather-range-table .weather-col-date{width:11%}
  .weather-range-table .weather-col-offset{width:5%}
  .weather-range-table .weather-col-phase{width:27%}
  .weather-range-table.has-temp-limit .weather-col-date{width:9%}
  .weather-range-table.has-temp-limit .weather-col-offset{width:4.5%}
  .weather-range-table.has-temp-limit .weather-col-phase{width:22%}
  .weather-range-table .weather-col-stress{width:8.5%}
  .weather-range-table.has-temp-limit .weather-col-rain{width:7.5%}
  .weather-range-table.has-temp-limit .weather-col-temp{width:8%}
  .weather-range-table.has-temp-limit .weather-col-gust{width:11.5%}
  .weather-range-table.has-temp-limit .weather-col-alert{width:21%}
  .weather-range-table .weather-col-rain{width:8%}
  .weather-range-table .weather-col-temp{width:8.5%}
  .weather-range-table .weather-col-gust{width:12.5%}
  .weather-range-table .weather-col-alert{width:19.5%}
  .weather-range-table th,
  .weather-range-table td{
    padding:1mm .7mm;
    line-height:1.15;
  }
  .weather-range-table th{
    white-space:normal;
  }
  .weather-range-table td{
    white-space:nowrap;
  }
  .weather-range-table .weather-phase-cell,
  .weather-range-table .weather-alert-cell,
  .weather-range-table .weather-stress-cell{
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:break-word;
  }
  .weather-stress-cell span{
    border:0;
    background:transparent;
    padding:0;
    margin:0;
  }
  .weather-alert-print-block.is-weather-long{
    padding-top:2mm;
  }
  .weather-alert-print-block .weather-alert-certificate{
    overflow:visible;
    margin:1mm 0 0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .weather-alert-print-block .weather-alert-table{
    table-layout:fixed;
    width:100%;
    font-size:8pt;
    border:1px solid #9ca6b5;
  }
  .weather-alert-print-block .weather-alert-table .alert-col-area{width:12mm}
  .weather-alert-print-block .weather-alert-table .alert-col-type{width:32mm}
  .weather-alert-print-block .weather-alert-table .alert-col-date{width:31mm}
  .weather-alert-print-block .weather-alert-table .alert-col-datetime{width:auto}
  .weather-alert-print-block .weather-alert-table th,
  .weather-alert-print-block .weather-alert-table td{
    padding:1.7mm 1.2mm;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:keep-all;
    line-height:1.22;
  }
  .weather-alert-print-block .weather-alert-table td.alert-change-text{
    font-weight:800;
    text-align:center;
  }
  .weather-alert-print-block .weather-alert-heading{margin-top:0;margin-bottom:2mm}
  .pest-candidate-subsection,
  .physiological-candidate-subsection{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .physiological-candidate-subsection{
    break-before:page;
    page-break-before:always;
    padding-top:4mm;
  }
  .period-risk-list,.crop-candidate-grid{gap:2mm;break-inside:auto;page-break-inside:auto}
  .period-risk-card,.crop-candidate-card{padding:1.8mm;break-inside:avoid-page;page-break-inside:avoid}
  .period-risk-card p,.crop-candidate-card p{font-size:8pt;line-height:1.32;margin:1mm 0 0}
  .pest-material-grid{
    grid-template-columns:1fr 1fr;
    gap:2mm;
    align-items:start;
    break-inside:auto;
    page-break-inside:auto;
  }
  .pest-material-card{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .pest-material-card img{height:36mm}
  .pest-photo-caption{padding:1mm 1.5mm;font-size:8pt;line-height:1.25}
  .pest-photo-caption strong{font-size:8.5pt}
  .pest-photo-source{padding:0 1.5mm 1mm;font-size:7pt}
  .floorplan-front-page{
    height:297mm;
    padding:12mm 12mm 10mm;
    margin:0;
  }
  .floorplan-front-page .field-sheet-label{margin-bottom:2mm}
  .floorplan-front-page .section-head-block{margin-bottom:3mm}
  .floorplan-front-page h3{margin-bottom:3mm}
  .floorplan-frame,
  .floorplan-frame.view-locked{
    flex:0 0 172mm;
    height:172mm;
    max-height:172mm;
  }
  .floorplan-memo{margin-top:4mm;min-height:38mm}
}
