@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');:root{font-family:'Noto Sans JP',system-ui,sans-serif;color:#26322d;background:#f4f5ef;font-size:14px}*{box-sizing:border-box}body{margin:0}.app{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}aside{background:#173b30;color:#f3f5e9;padding:28px 19px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:8px 12px 30px}.brand strong{display:block;font-size:18px;letter-spacing:.04em}.brand small{display:block;color:#adc9b8;font-size:11px;margin-top:4px}.mark{width:40px;height:40px;background:#c3db9d;border-radius:13px;color:#1a4833;display:grid;place-items:center;font-size:25px}nav{display:grid;gap:5px}nav button{border:0;text-align:left;background:transparent;color:#cbdcd0;padding:13px 16px;border-radius:10px;cursor:pointer;font:inherit}nav button.active,nav button:hover{background:#2d5947;color:white}.side-note{margin:auto 10px 5px;color:#9cbaa8;font-size:12px;line-height:1.8}main{padding:42px 52px;max-width:1400px;width:100%;margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:34px}.eyebrow{color:#788f65;font-size:10px;letter-spacing:.18em;font-weight:700;margin:0 0 11px}h1{font-size:29px;letter-spacing:.02em;margin:0 0 10px;font-weight:700}header p:not(.eyebrow){margin:0;color:#69786d}.date{color:#6e806e;background:#e9eddf;border-radius:99px;padding:10px 16px;white-space:nowrap}h2{margin:0;font-size:20px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.card,.panel{background:#fff;border:1px solid #e5e9de;border-radius:18px;box-shadow:0 6px 20px #26322d08}.card{padding:22px}.card small{color:#7b897f}.card strong{display:block;font-size:30px;margin:12px 0 4px}.card span{font-size:12px;color:#72946c}.panel{padding:24px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.panel-head p{color:#738175;margin:5px 0 0}.primary{background:#29694d;color:white;border:0;padding:11px 19px;border-radius:10px;cursor:pointer;font:inherit;font-weight:600}.primary:hover{background:#1e503b}.ghost,.danger{background:#f2f5ee;color:#2c513d;border:0;padding:9px 12px;border-radius:8px;cursor:pointer;font:inherit}.danger{color:#a44843;background:#fbefed}.empty{padding:40px;text-align:center;color:#809084;background:#f8faf6;border-radius:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-weight:600;color:#879488;font-size:12px;border-bottom:1px solid #e9eee5;padding:11px 9px}td{border-bottom:1px solid #edf0e9;padding:15px 9px;vertical-align:top}tr:last-child td{border:0}.badge{background:#edf4e6;color:#527a48;padding:5px 9px;border-radius:99px;font-size:11px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick button{border:1px solid #dae5d4;background:#f8faf5;text-align:left;padding:18px;border-radius:12px;cursor:pointer;color:#315b41;font:inherit;font-weight:600}.quick small{display:block;color:#879889;font-weight:400;margin-top:6px}.hint{line-height:1.8;color:#657769}.export-actions{display:flex;gap:10px;flex-wrap:wrap}dialog{border:0;border-radius:20px;padding:0;box-shadow:0 22px 80px #17291e44;width:min(520px,calc(100vw - 30px))}dialog::backdrop{background:#12231c88}dialog form{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.icon{border:0;background:none;font-size:26px;cursor:pointer;color:#819084}.field{display:block;margin:14px 0;color:#536b58;font-weight:600}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;border:1px solid #d6e0d3;border-radius:9px;padding:11px;font:inherit;color:#25362a;background:#fff}.field textarea{min-height:92px;resize:vertical}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media(max-width:900px){.app{display:block}aside{padding:15px}.brand{padding:3px 5px 15px}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:9px 12px}.side-note{display:none}main{padding:25px 17px}.grid{grid-template-columns:repeat(2,1fr)}header{display:block}.date{display:inline-block;margin-top:16px}.quick{grid-template-columns:1fr}}
.location-block{margin-top:18px;border-top:1px solid #e5ebdf;padding-top:18px}.location-top{display:flex;justify-content:space-between;align-items:center}.map-status{font-size:12px;line-height:1.6;color:#718171}.field-map{height:0;overflow:hidden;border-radius:12px}.field-map.visible{height:240px;margin:12px 0}.location-block small{color:#849487;line-height:1.6}.location-block a,.map-card a{color:#376d53}.location-block select{width:100%;padding:9px;border:1px solid #d6e0d3;border-radius:8px;background:#fff}.field-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.map-card{margin:0}.map-card strong,.map-card small{display:block}.map-card small{color:#819083;margin:4px 0 12px}.saved-map{height:190px;border-radius:10px;overflow:hidden;margin-bottom:10px}.map-card a{font-size:12px}@media(max-width:700px){.field-map-grid{grid-template-columns:1fr}.field-map.visible{height:210px}}
dialog{max-height:calc(100vh - 30px);overflow:auto}
.field-summary{margin:0}.field-summary-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:15px}.field-summary-head p{margin:6px 0 0;color:#718174;font-size:12px}.field-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.field-facts span{font-size:11px;color:#849487}.field-facts strong{display:block;font-size:13px;color:#2e4334;margin-top:4px;overflow-wrap:anywhere}.field-history{color:#637666;font-size:12px;line-height:1.6;border-top:1px solid #e8eee5;padding-top:12px}.map-placeholder{height:100%;display:grid;place-items:center;text-align:center;background:#edf3ea;color:#7b8c7d;font-size:12px;padding:16px}.field-summary>a{font-size:12px;color:#376d53}@media(max-width:550px){.field-facts{grid-template-columns:1fr 1fr}}
.delete-dialog{padding:26px}.delete-dialog p{color:#6d796f}.delete-dialog .actions{margin-top:22px}
.boundary-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.boundary-tools button:disabled{opacity:.5;cursor:not-allowed}.boundary-tools [hidden]{display:none}.field-map.visible{height:300px}
.demo-action{margin-top:14px}.demo-action button{border:1px solid #bdd7b9;color:#29694d;background:#fff}
.quick{grid-template-columns:repeat(4,minmax(0,1fr))}.quick button{min-width:0}@media(max-width:1100px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.quick{grid-template-columns:1fr}}
.field[hidden]{display:none}
.grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.photo-block{margin-top:20px;border-top:1px solid #e5ebdf;padding-top:18px}.photo-block strong{color:#36533d}.photo-drop{border:2px dashed #b7cdb7;background:#f7faf5;border-radius:14px;padding:18px;text-align:center;color:#496e50;transition:background .15s,border-color .15s}.photo-drop.drag-over{background:#e7f3e4;border-color:#368151}.photo-drop input{display:block;width:100%;margin-top:10px}.photo-preview,.photo-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.photo-tile{width:106px;position:relative}.photo-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718171}.photo-thumb{width:100px;height:76px;object-fit:cover;border-radius:9px;border:1px solid #dbe5d9;display:block}.photo-tile button{position:absolute;top:4px;right:4px;padding:1px 7px;border-radius:50%;background:#fff;color:#9a3d38;box-shadow:0 1px 5px #0003}.row-actions~.photo-thumb{margin:0}.table-wrap td .photo-thumb{width:42px;height:42px;display:inline-block;vertical-align:middle;margin-right:8px}
.calendar-panel{overflow-x:auto}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.calendar-toolbar p{margin:5px 0 0;color:#778978}.calendar-controls{display:flex;align-items:center;gap:8px;white-space:nowrap}.calendar-controls strong{min-width:110px;text-align:center}.calendar-controls button{font-size:16px;min-width:34px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:560px}.calendar-weekday{text-align:center;color:#78917a;font-size:12px;padding:7px 0}.calendar-blank{min-height:88px;background:#f8faf6;border-radius:9px}.calendar-day{min-height:88px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border:1px solid #e6ede3;border-radius:9px;background:#fbfcf9;text-align:left;color:#2b4232;font:inherit;cursor:pointer;overflow:hidden}.calendar-day:hover{border-color:#80ad83;background:#f1f8ef}.calendar-day.selected{border:2px solid #2f8151;background:#edf7eb}.calendar-day.today .calendar-number{background:#2f8151;color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.calendar-number{font-weight:700}.calendar-count{font-size:11px;color:#417849;font-weight:700}.calendar-summary{font-size:11px;line-height:1.25;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-entry{padding:15px 0;border-top:1px solid #e7ede4}.work-entry strong{margin-right:8px}.work-entry p{margin:8px 0;color:#586e5c}.work-note{white-space:pre-wrap}.work-actions{display:flex;justify-content:flex-end;gap:7px}@media(max-width:700px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-day{min-height:76px}.calendar-blank{min-height:76px}}
.app{grid-template-columns:290px minmax(0,1fr)}.brand-copy{min-width:0;flex:1}.brand-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 3px}.brand-line strong{font-size:16px;line-height:1.4}.brand-line span{font-size:12px;color:#d6edc6;overflow-wrap:anywhere}.producer-edit{display:block;border:0;background:none;color:#bde0c2;text-decoration:underline;cursor:pointer;padding:4px 0;font:inherit;font-size:11px;text-align:left}.producer-edit:hover{color:#fff}.number-badge{display:inline-block;background:#eaf3e5;color:#397143;padding:4px 8px;border-radius:7px;font-size:11px;margin-top:6px}@media(max-width:900px){.app{display:block}}
.app{grid-template-columns:320px minmax(0,1fr)}.brand-line strong{font-size:15px;white-space:nowrap}@media(max-width:900px){.app{display:block}}
.advanced-nav{display:none}.detail-mode .advanced-nav{display:block}.mode-box{border-top:1px solid #42634f;margin:22px 7px 0;padding:18px 8px;color:#e8f1e6}.mode-box label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}.mode-box input{accent-color:#b9d996;width:17px;height:17px}.mode-box small{display:block;color:#a9c4ae;line-height:1.6;margin:8px 0 0}.row-actions{white-space:nowrap}.row-actions button{margin:2px}.check-list{line-height:1.8;padding-left:22px;color:#8a5537}.report-pages{background:white;padding:30px;border-radius:18px}.report-pages h2{margin-bottom:12px}.report-section{border-top:1px solid #dfe7df;padding:16px 0}.report-section h3{margin:0 0 9px;font-size:16px}.report-section p{color:#809084}.report-record{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0;border-bottom:1px solid #eef1eb;font-size:12px}.report-record b{color:#637965}.report-record span{overflow-wrap:anywhere}.field input[type=file]{padding:8px}.mode-box+ .side-note{margin-top:auto}@media(max-width:900px){.mode-box{margin:10px 0 0;padding:10px 4px}.mode-box small{display:none}}@media print{aside,header,.no-print,dialog{display:none!important}.app{display:block}main{padding:0;max-width:none}.report-pages{padding:0}.report-section{break-inside:avoid}.report-record{break-inside:avoid}body{background:white;color:black}}
.field-card-actions,.quick-links{display:flex;gap:8px;flex-wrap:wrap}.field-card-actions{justify-content:flex-end}.timeline-item{border-top:1px solid #e5ebdf;padding:16px 0}.timeline-item:first-of-type{margin-top:14px}.timeline-item>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.timeline-item time{color:#748674;font-size:12px}.timeline-item strong{font-size:15px}.timeline-item p{margin:8px 0;color:#5e7062;line-height:1.6}.snapshot-list{margin:12px 0}.snapshot-list .field{max-width:420px}
.trace-guide{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;color:#315b41;font-weight:700}.trace-guide span{background:#edf4e6;border-radius:10px;padding:10px 14px}.trace-guide b{color:#8ca58a}.trace-card{border-left:5px solid #8caf69}.trace-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.trace-head p{margin:5px 0 0;color:#718174}.trace-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.trace-step{border:1px solid #e2e9df;background:#f8faf6;border-radius:12px;padding:13px;min-height:76px;color:#859187}.trace-step.done{border-color:#c5ddbd;background:#f1f8ee;color:#315b41}.trace-step b,.trace-step span{display:block}.trace-step span{font-size:12px;margin-top:6px;overflow-wrap:anywhere}.trace-harvest{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e8eee5}.trace-harvest>span:nth-child(2){flex:1;color:#586e5c}@media(max-width:600px){.trace-steps{grid-template-columns:1fr}.trace-head{align-items:flex-start;flex-direction:column}}
.trace-work-list{margin:16px 0;border-top:1px solid #e5ebdf;padding-top:12px}.trace-work-list h3{font-size:15px;margin:0 0 8px}.trace-work-list>div{display:grid;grid-template-columns:110px 160px 1fr;gap:10px;padding:9px 0;border-top:1px solid #f0f2ee;align-items:start}.trace-work-list time{font-size:12px;color:#748674}.trace-work-list span{color:#68776b;white-space:pre-wrap}@media(max-width:650px){.trace-work-list>div{grid-template-columns:1fr;gap:3px}}
