.farm-v2{font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:#222}
.farm-v2 *{box-sizing:border-box}
.farm-v2-titlebar{min-height:90px;margin-bottom:15px;padding:26px 40px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.farm-v2-titlebar h2{margin:0;font-size:24px;font-weight:800;line-height:1.25}
.farm-v2-titlebar p{margin:8px 0 0;color:#777;font-size:14px}
.farm-v2-admin-link{padding:10px 14px;border:1px solid #e9ecef;border-radius:999px;color:#535353;background:#fff;font-size:13px;text-decoration:none}
.farm-v2-admin-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.farm-v2-admin-link.is-primary{border-color:#008a5f;background:#008a5f;color:#fff;font-weight:800}
.farm-v2-card{padding:40px;border-radius:10px;background:#fff}
.farm-v2-head{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.farm-v2-head-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#2c5129;color:#fff;font-size:24px;font-weight:800}
.farm-v2-head h3{margin:0;font-size:28px;font-weight:800;line-height:1.25}
.farm-v2-head p{margin:4px 0 0;color:#535353;font-size:15px}
.farm-v2-guide{margin-left:auto;padding:12px 20px;border:1px solid #e9ecef;border-radius:999px;color:#535353;background:#fff;font-size:14px;font-weight:700;text-decoration:none}
.farm-v2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px}
.farm-v2-stat{min-height:83px;padding:18px;border:1px solid #e9ecef;border-radius:12px;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.05);display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}
.farm-v2-stat-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(95,176,69,.12);color:#3e8e41;font-size:20px}
.farm-v2-stat span:nth-child(2){display:grid;gap:4px;min-width:0}
.farm-v2-stat em{font-style:normal;color:#535353;font-size:13px}
.farm-v2-stat strong{font-size:24px;font-weight:800;line-height:1}
.farm-v2-stat small{margin-left:4px;color:#9c9c9c;font-size:16px;font-weight:400}
.farm-v2-stat b{margin-left:auto;padding:4px 10px;border:1px solid #e9ecef;border-radius:4px;background:#f7f9fb;color:#535353;font-size:12px;font-weight:500;white-space:nowrap}
.farm-v2-stat.is-total .farm-v2-stat-icon{background:rgba(8,157,115,.12);color:#089d73}
.farm-v2-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:start}
.farm-v2.is-sangan .farm-v2-main{grid-template-columns:minmax(0,712px) minmax(320px,370px);justify-content:center}
.farm-v2-map-card,.farm-v2-info article,.farm-v2-table-card{border:1px solid #e9ecef;border-radius:12px;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.04)}
.farm-v2-map-card{padding:24px}
.farm-v2-map-title{margin:0 0 12px;color:#008a5f;font-size:22px;font-weight:800;line-height:1.25;text-align:center}
.farm-v2-map-title small{margin-left:8px;color:#5f7469;font-size:15px;font-weight:700}
.farm-v2-map-year-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 16px}
.farm-v2-map-year-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;padding:0 12px;border:1px solid #cfe4da;border-radius:999px;background:#fff;color:#3d5a4d;font-size:13px;font-weight:700;text-decoration:none}
.farm-v2-map-year-nav a.is-active,.farm-v2-map-year-nav a:hover{border-color:#008a5f;background:#008a5f;color:#fff}
.farm-v2-map-image{margin:0;text-align:center}
.farm-v2-map-stage{position:relative;width:min(100%,641px);margin:0 auto}
.farm-v2-map-image img{display:block;width:100%;height:auto;margin:0;border-radius:10px}
.farm-v2-map-image.is-sangan .farm-v2-map-stage{width:min(100%,712px)}
.farm-v2-map-image.is-sangan img{border-radius:13px}
.farm-v2-map-image.is-chail .farm-v2-map-stage:before{position:absolute;left:34%;top:60.5%;z-index:1;width:31%;height:28.5%;background:#fff;content:""}
.farm-v2-lower-bed-bg{position:absolute;left:35.05%;top:47.2%;z-index:2;width:28.45%;height:33.2%;border-radius:5px;background-repeat:no-repeat;background-position:48.6% 82.4%;background-size:351.5% 492%;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.farm-v2-lower-bed-title{position:absolute;left:35.05%;top:43.2%;z-index:2;width:28.45%;color:#07863b;font-size:clamp(9px,1.7vw,17px);font-weight:800;line-height:1;text-align:center}
.farm-v2-map-lot{position:absolute;top:var(--plot-top);z-index:2;display:flex;align-items:center;gap:5px;height:3.45%;margin:0;padding:0 7px;overflow:hidden;border:1px solid rgba(0,138,95,.78);border-radius:4px;background:rgba(247,255,250,.9);box-shadow:0 1px 3px rgba(0,0,0,.1);color:#174d38;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.farm-v2-map-lot.is-b{left:3.3%;width:28.35%}
.farm-v2-map-lot.is-a-top{left:67.05%;width:28.55%}
.farm-v2-map-lot.is-a-bottom{left:35.05%;width:28.45%}
.farm-v2-map-lot strong{flex:0 0 auto;min-width:18px;color:inherit;font-size:clamp(8px,1.15vw,12px);font-weight:800;line-height:1;text-align:center}
.farm-v2-map-lot-info{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-start;gap:5px;overflow:hidden;color:inherit;line-height:1;white-space:nowrap}
.farm-v2-map-lot-info em,.farm-v2-map-lot-info small{display:block;width:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.farm-v2-map-lot-info em{flex:0 1 auto;max-width:42%;font-size:clamp(8px,1vw,10px);font-style:normal;font-weight:800;text-align:left}
.farm-v2-map-lot-info em:only-child{max-width:100%}
.farm-v2-map-lot-info small{flex:1 1 auto;font-size:clamp(7px,.9vw,9px);font-weight:700;text-align:right}
.farm-v2-map-lot-info.is-status{justify-content:flex-end}
.farm-v2-map-lot-info.is-status em{max-width:100%;font-size:clamp(7px,1vw,10px);text-align:right}
.farm-v2-map-lot.is-open:hover,.farm-v2-map-lot.is-open:focus-visible{border-color:#00a875;background:#dff7ec;box-shadow:0 0 0 3px rgba(0,168,117,.2);outline:0}
.farm-v2-map-lot.is-pending{border-color:#e8a42c;background:rgba(255,241,204,.94);color:#815500;cursor:not-allowed}
.farm-v2-map-lot.is-done{border-color:#317a3a;background:rgba(66,139,74,.92);color:#fff;cursor:not-allowed}
.farm-v2-map-lot:disabled{opacity:1}
.farm-v2-facility{position:absolute;top:82%;z-index:3;display:flex;align-items:center;justify-content:center;height:4.1%;border:1px solid rgba(33,94,67,.35);border-radius:6px;background:rgba(240,249,243,.94);color:#24593e;font-size:clamp(7px,1.35vw,12px);font-weight:800;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.farm-v2-facility.is-tools{left:35.1%;width:13.4%}
.farm-v2-facility.is-water{left:50.1%;width:13.4%;background:rgba(232,247,251,.95);border-color:rgba(24,124,153,.35);color:#17677f}
.farm-v2-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;position:relative;align-items:start}
.farm-v2-bed{padding:14px;border-radius:12px;background:#f8fbf6;border:1px solid #dfe8dc}
.farm-v2-bed h4{margin:0 0 12px;text-align:center;color:#008a5f;font-size:16px;font-weight:800}
.farm-v2-lots{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:6px}
.farm-v2-lot-form{margin:0}
.farm-v2-lot{width:100%;height:34px;border:1px solid #6e9f48;border-radius:4px;background:#f8fff0;color:#2c5129;font-weight:800;cursor:pointer}
.farm-v2-lot.is-pending{border-color:#f5b64a;background:#fff3e0;color:#d17800}
.farm-v2-lot.is-done{border-color:#9f8b6f;background:#c6a982;color:#fff;cursor:not-allowed}
.farm-v2-lot:disabled{opacity:.9}
.farm-v2-center{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:14px;min-height:78px;border:1px dashed #c9d8c5;border-radius:12px;background:#f3f8ef;color:#2c5129}
.farm-v2-center strong{font-size:18px}
.farm-v2-center span{padding:8px 12px;border-radius:8px;background:#fff;color:#555}
.farm-v2-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:#555;font-size:13px}
.farm-v2-legend span{display:flex;align-items:center;gap:6px}
.farm-v2-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.farm-v2-legend .is-open{background:#f8fff0;border:1px solid #6e9f48}
.farm-v2-legend .is-pending{background:#fff3e0;border:1px solid #f5b64a}
.farm-v2-legend .is-done{background:#c6a982;border:1px solid #9f8b6f}
.farm-v2-warning{margin:14px 0 0;color:#e4462f;font-size:13px;font-weight:700}
.farm-v2-info{display:grid;gap:16px}
.farm-v2-info article{padding:22px}
.farm-v2.is-sangan .farm-v2-info article{padding:32px;border-color:#e2e8f0;border-radius:16px;box-shadow:0 10px 10px rgba(0,0,0,.04)}
.farm-v2-info h4{margin:0 0 14px;color:#008a5f;font-size:18px;font-weight:800}
.farm-v2.is-sangan .farm-v2-info h4{position:relative;margin:0 0 18px;padding-left:16px;color:#1e293b;font-size:24px;font-weight:800}
.farm-v2.is-sangan .farm-v2-info h4:before{position:absolute;left:0;top:3px;width:4px;height:24px;border-radius:2px;background:#16a34a;content:""}
.farm-v2-info dl{display:grid;grid-template-columns:auto 1fr;gap:10px 6px;margin:0;font-size:14px;line-height:1.45;align-items:start}
.farm-v2.is-sangan .farm-v2-info dl{grid-template-columns:auto 1fr;gap:0 6px;margin:0;font-size:14px}
.farm-v2.is-sangan .farm-v2-info dt,.farm-v2.is-sangan .farm-v2-info dd{min-height:52px;padding:16px 0;border-bottom:1px solid #e2e8f0;line-height:1.5}
.farm-v2-info dt{color:#555;font-weight:800;white-space:nowrap}
.farm-v2-info dt:after{content:' :'}
.farm-v2.is-sangan .farm-v2-info dt{color:#64748b}
.farm-v2-info dd{margin:0;color:#333;min-width:0}
.farm-v2.is-sangan .farm-v2-info dd{color:#1e293b}
.farm-v2-info ol{margin:0;padding-left:18px;color:#444;font-size:14px;line-height:1.7}
.farm-v2-admin-note p{margin:0;color:#e4462f;font-size:13px;line-height:1.6}
.farm-v2-recent-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.farm-v2-recent-head h4{margin:0}
.farm-v2-recent-head small{margin-left:4px;color:#777;font-size:12px;font-weight:500}
.farm-v2-recent-head a{color:#888;font-size:13px;text-decoration:none;white-space:nowrap}
.farm-v2-recent ol{margin:0;padding:0;list-style:none}
.farm-v2-recent li{display:grid;grid-template-columns:28px minmax(72px,.8fr) minmax(48px,.6fr) minmax(78px,.7fr) auto;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #edf0f0;color:#333;font-size:13px}
.farm-v2-recent li:last-child{border-bottom:0}
.farm-v2-recent-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#52ad4c;color:#fff;font-weight:800}
.farm-v2-recent strong{font-size:14px;font-weight:800;white-space:nowrap}
.farm-v2-recent em{font-style:normal;white-space:nowrap}
.farm-v2-recent time{color:#999;white-space:nowrap}
.farm-v2-recent b{justify-self:end;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:800;white-space:nowrap}
.farm-v2-recent b.is-open{background:#eef7ee;color:#3e8e41}
.farm-v2-recent b.is-pending{background:#fff3e0;color:#ff9800}
.farm-v2-recent b.is-done{background:#ebf5eb;color:#3e8e41}
.farm-v2-recent-empty{display:block!important;padding:14px 0;color:#999;text-align:center}
.farm-v2-primary-apply{display:flex;align-items:center;justify-content:center;width:100%;height:50px;margin-top:18px;border:0;border-radius:8px;background:#0aa06f;color:#fff;font-size:16px;font-weight:800;text-decoration:none;cursor:pointer}
.farm-v2-primary-apply.is-disabled{background:#d3d8d6;color:#777;cursor:default}
.farm-v2-table-card{margin-top:26px;padding:22px;min-width:0;max-width:100%;overflow:hidden}
.farm-v2-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.farm-v2-table-head h3{margin:0;font-size:20px;font-weight:800}
.farm-v2-year-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.farm-v2-year-chip{display:inline-flex;align-items:stretch;border:1px solid #dfe5e2;border-radius:6px;overflow:hidden;background:#fff}
.farm-v2-year-chip.is-active{border-color:#008a5f}
.farm-v2-year-chip a{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 12px;border:0;border-radius:0;background:transparent;color:#555;font-size:13px;font-weight:700;text-decoration:none}
.farm-v2-year-chip.is-active a{background:#008a5f;color:#fff}
.farm-v2-year-chip-delete{display:inline-flex;margin:0}
.farm-v2-year-chip-delete button{height:36px;padding:0 10px;border:0;border-left:1px solid #e5ebe8;background:#fff7f7;color:#b42318;font:800 12px/1 Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;cursor:pointer}
.farm-v2-year-chip.is-active .farm-v2-year-chip-delete button{border-left-color:rgba(255,255,255,.35);background:#b42318;color:#fff}
.farm-v2-year-tip{display:inline;margin-left:6px;color:#b42318;font-size:13px;font-weight:700}
.farm-v2-year-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:36px;padding:0 14px;border:1px solid #dfe5e2;border-radius:6px;background:#fff;color:#555;font-size:13px;font-weight:700;text-decoration:none}
.farm-v2-year-nav a.active{border-color:#008a5f;background:#008a5f;color:#fff}
.farm-v2-table-subhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding-top:14px;border-top:1px solid #edf0ef}
.farm-v2-table-subhead p{margin:0;color:#777;font-size:13px}
.farm-v2-filter-row{display:flex;justify-content:center;margin:0 0 16px}
.farm-v2-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.farm-v2-filters a{padding:8px 12px;border:1px solid #e9ecef;border-radius:999px;color:#555;background:#fff;font-size:13px;text-decoration:none}
.farm-v2-filters a.active{border-color:#008a5f;background:#008a5f;color:#fff;font-weight:800}
.farm-v2-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:2px solid #234438}
.farm-v2-table{width:100%;border-collapse:collapse;min-width:760px}
.farm-v2-table th{box-sizing:border-box;height:42px;padding:0 6px;border-bottom:1px solid #dfe7e3;background:#f6f9f7;color:#53625b;font-size:12px;font-weight:800;text-align:center;white-space:nowrap}
.farm-v2-table td{box-sizing:border-box;padding:7px 5px;border-bottom:1px solid #e7ece9;color:#293730;font-size:12px;text-align:center;line-height:1.35;word-break:break-word}
.farm-v2-table tbody tr:hover{background:#f8fbf9}
.farm-v2-table.is-admin{width:100%;min-width:0;table-layout:auto}
.farm-v2-table.is-admin th,.farm-v2-table.is-admin td{padding:6px 8px;font-size:12px;white-space:nowrap;vertical-align:middle}
.farm-v2-table.is-admin th:nth-child(1),.farm-v2-table.is-admin td:nth-child(1){width:56px}
.farm-v2-table.is-admin th:nth-child(2),.farm-v2-table.is-admin td:nth-child(2){width:64px}
.farm-v2-table.is-admin th:nth-child(3),.farm-v2-table.is-admin td:nth-child(3){width:88px}
.farm-v2-table.is-admin th:nth-child(4),.farm-v2-table.is-admin td:nth-child(4){min-width:120px;max-width:180px;white-space:normal;word-break:keep-all}
.farm-v2-table.is-admin th:nth-child(5),.farm-v2-table.is-admin td:nth-child(5){min-width:110px}
.farm-v2-table.is-admin th:nth-child(6),.farm-v2-table.is-admin td:nth-child(6){width:88px}
.farm-v2-table.is-admin th:nth-child(7),.farm-v2-table.is-admin td:nth-child(7){width:78px}
.farm-v2-table.is-admin th:nth-child(8),.farm-v2-table.is-admin td:nth-child(8){width:78px}
.farm-v2-table.is-admin td:nth-child(2){color:#16785f;font-weight:800}
.farm-v2-badge{display:inline-flex;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:800}
.farm-v2-badge.is-open{background:#eef7ee;color:#3e8e41}
.farm-v2-badge.is-pending{background:#fff3e0;color:#ff9800}
.farm-v2-badge.is-done{background:#ebf5eb;color:#3e8e41}
/* 관리: 상태변경 한 줄 + 수정 버튼 아래 줄 → PC에서 잘리지 않게 */
.farm-v2-manage{display:grid;grid-template-columns:auto auto auto;gap:6px;justify-content:center;align-items:center;min-width:210px;white-space:nowrap}
.farm-v2-manage select{width:auto;min-width:84px;max-width:none;height:28px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:12px}
.farm-v2-manage button,.farm-v2-apply{height:28px;padding:0 10px;border:1px solid #008a5f;border-radius:4px;background:#008a5f;color:#fff;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}
.farm-v2-manage .farm-v2-edit{grid-column:1 / -1;justify-self:center;width:auto;min-width:72px;max-width:none;border-color:#ccd8d2;background:#fff;color:#40524a}
.farm-v2-manage>a{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:none;height:28px;padding:0 8px;border:1px solid #d8dedb;border-radius:4px;background:#fff;color:#555;font-size:12px;font-weight:800;text-decoration:none}
.farm-v2-table.is-admin .farm-v2-badge,.farm-v2-table.is-admin .farm-v2-paid{padding:4px 8px;font-size:11px}
.farm-v2-paid-check{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;color:#555;font-size:11px;font-weight:700}
.farm-v2-table.is-admin th:nth-child(9),.farm-v2-table.is-admin td:nth-child(9){min-width:220px;white-space:normal}
.farm-v2-paid-check input{margin:0}
.farm-v2-paid{display:inline-flex;padding:5px 9px;border-radius:4px;background:#f3f4f5;color:#777;font-size:12px;font-weight:800;white-space:nowrap}
.farm-v2-paid.is-paid{background:#e8f6ec;color:#26813b}
.farm-v2-muted{color:#aaa}
.farm-v2-empty{height:80px;color:#999}
.farm-v2-admin-actions{display:flex;justify-content:stretch;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.farm-v2-admin-actions a,.farm-v2-admin-actions button{display:inline-flex;align-items:center;justify-content:center;flex:1;box-sizing:border-box;min-width:0;height:38px;padding:0 12px;border:1px solid #16836a;border-radius:5px;background:#fff;color:#16836a;font:800 12px/1 Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;text-decoration:none;cursor:pointer}
.farm-v2-admin-actions a:first-child{background:#16836a;color:#fff}
.farm-v2-admin-actions .is-print,.farm-v2-admin-actions button{background:#fff;color:#16836a}
.farm-v2-admin-actions .is-year-delete{border-color:#b42318;color:#b42318}
.farm-v2-admin-actions .is-year-delete:hover{background:#b42318;color:#fff}
.farm-v2-year-create-form,.farm-v2-year-delete-form{display:flex;flex:1;min-width:120px;margin:0}
.farm-v2-year-create-form button,.farm-v2-year-delete-form button{width:100%}
.farm-v2-year-create-form{flex:1;min-width:120px;margin:0}
.farm-v2-year-create-form button{width:100%;border-color:#2c5129;background:#2c5129;color:#fff}
.farm-v2-modal[hidden]{display:none}
.farm-v2-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}
.farm-v2-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.54)}
.farm-v2-modal-panel{position:relative;z-index:1;width:min(640px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:30px;border-radius:12px;background:#fff;box-shadow:0 25px 50px rgba(0,0,0,.22);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:#222}
.farm-v2-modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.farm-v2-modal-head h3{margin:0;font-size:24px;font-weight:800;line-height:1.3}
.farm-v2-modal-head button{width:36px;height:36px;border:0;border-radius:50%;background:#f5f6f7;color:#666;font-size:28px;line-height:1;cursor:pointer}
.farm-v2-selected{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:16px 18px;border:1px solid #e6ece8;border-radius:8px;background:#f7fbf8}
.farm-v2-selected span{color:#666;font-size:14px;font-weight:800}
.farm-v2-selected strong{font-size:16px;font-weight:800}
.farm-v2-selected b{margin-left:auto;padding:5px 10px;border-radius:4px;background:#eef7ee;color:#3e8e41;font-size:12px}
.farm-v2-field{display:block;margin-bottom:16px}
.farm-v2-field span{display:block;margin-bottom:8px;color:#222;font-size:14px;font-weight:800}
.farm-v2-field input,.farm-v2-field textarea,.farm-v2-field select{width:100%;border:1px solid #dfe4e1;border-radius:8px;background:#fff;color:#222;font-size:14px;font-family:inherit;outline:0}
.farm-v2-field input{height:46px;padding:0 14px}
.farm-v2-field select{height:46px;padding:0 14px}
.farm-v2-field textarea{padding:13px 14px;resize:vertical}
.farm-v2-field input:focus,.farm-v2-field textarea:focus,.farm-v2-field select:focus{border-color:#0aa06f;box-shadow:0 0 0 3px rgba(10,160,111,.12)}
.farm-v2-edit-paid{display:flex;align-items:center;gap:8px;margin:4px 0 0;color:#315c4f;font-size:14px;font-weight:800;cursor:pointer}
.farm-v2-edit-paid input{width:18px;height:18px;margin:0;accent-color:#0aa06f}
.farm-v2-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.farm-v2-modal-actions button{height:50px;border-radius:8px;font-size:16px;font-weight:800;cursor:pointer}
.farm-v2-cancel{border:1px solid #e1e5e3;background:#fff;color:#555}
.farm-v2-notice-modal{position:fixed;z-index:10020;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.farm-v2-notice-backdrop{position:absolute;inset:0;background:rgba(20,32,27,.58)}
.farm-v2-notice-panel{position:relative;box-sizing:border-box;width:100%;max-width:400px;padding:34px 28px 28px;border-radius:8px;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.25);text-align:center}
.farm-v2-notice-panel>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#16836a;color:#fff;font-size:25px;font-weight:800}
.farm-v2-notice-panel h3{margin:0;color:#15251f;font-size:21px;line-height:1.4;letter-spacing:0}
.farm-v2-notice-panel p{margin:10px 0 24px;color:#596760;font-size:14px;line-height:1.6}
.farm-v2-notice-panel button{min-width:120px;height:42px;border:0;border-radius:5px;background:#16836a;color:#fff;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.farm-v2-submit{border:1px solid #0aa06f;background:#0aa06f;color:#fff}
.farm-v2-modal-open{overflow:hidden}
.farm-v2-write-card{padding:32px 40px;border:1px solid #e9ecef;border-radius:10px;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.farm-v2-write-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.farm-v2-write .farm-v2-field select{width:100%;height:46px;padding:0 12px;border:1px solid #dfe4e1;border-radius:8px;background:#fff;color:#222;font:inherit;outline:0}
.farm-v2-write .farm-v2-field select:focus{border-color:#0aa06f;box-shadow:0 0 0 3px rgba(10,160,111,.12)}
.farm-v2-write-note{margin-top:8px;padding:16px;border-radius:8px;background:#eef9f5;color:#397363;font-size:13px;line-height:1.6}
.farm-v2-write-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.farm-v2-write-actions a,.farm-v2-write-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:46px;border-radius:8px;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer}
.farm-v2-write-actions a{border:1px solid #dfe4e1;background:#fff;color:#555}
.farm-v2-write-actions button{border:1px solid #008a5f;background:#008a5f;color:#fff}
.farm-v2-write-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:1180px){.farm-v2-card{padding:24px}.farm-v2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-v2-main{grid-template-columns:1fr}.farm-v2-head{align-items:flex-start}.farm-v2-guide{margin-left:0}}
@media(max-width:720px){.farm-v2-titlebar{align-items:flex-start;flex-direction:column}.farm-v2-admin-links{justify-content:flex-start}.farm-v2-head{flex-direction:column}.farm-v2-map{grid-template-columns:1fr}.farm-v2-table-head,.farm-v2-table-subhead{align-items:flex-start;flex-direction:column}.farm-v2-info dl{grid-template-columns:auto 1fr;column-gap:6px;align-items:start}.farm-v2-recent li{grid-template-columns:28px 1fr auto}.farm-v2-recent em,.farm-v2-recent time{display:none}.farm-v2-titlebar h2{font-size:21px}.farm-v2-modal{padding:14px}.farm-v2-modal-panel{padding:22px;max-height:calc(100vh - 28px)}.farm-v2-modal-head h3{font-size:20px}.farm-v2-selected{align-items:flex-start;flex-direction:column;gap:8px}.farm-v2-selected b{margin-left:0}.farm-v2-modal-actions{grid-template-columns:1fr}.farm-v2-write-card{padding:22px}.farm-v2-write-grid{grid-template-columns:1fr}.farm-v2-write-actions{display:grid;grid-template-columns:1fr 1fr}.farm-v2-write-actions a,.farm-v2-write-actions button{min-width:0}}
@media(max-width:720px){
  /* 모바일: 하단 표 위 연도 메뉴 숨김(상단 조감도 연도 메뉴만 유지) */
  .farm-v2-table-card .farm-v2-year-nav{display:none!important}
  .farm-v2-titlebar{padding:14px 16px;margin-bottom:10px;min-height:0}
  .farm-v2-titlebar p{margin:4px 0 0}
  .farm-v2-head{margin-bottom:12px;gap:10px}
  .farm-v2-head-icon{width:36px;height:36px;font-size:18px}
  .farm-v2-head h3{font-size:20px}
  .farm-v2-head p{margin:2px 0 0;font-size:13px}
  .farm-v2-stats{
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin-bottom:12px
  }
  .farm-v2-stat{
    min-height:0;
    padding:8px 10px;
    gap:8px;
    border-radius:8px;
    box-shadow:none
  }
  .farm-v2-stat-icon{width:28px;height:28px;font-size:14px}
  .farm-v2-stat span:nth-child(2){gap:1px}
  .farm-v2-stat em{font-size:11px;line-height:1.2}
  .farm-v2-stat strong{font-size:16px}
  .farm-v2-stat small{margin-left:2px;font-size:12px}
  .farm-v2-stat b{padding:2px 6px;font-size:10px}
  .farm-v2-stat.is-total{grid-column:1 / -1;padding:8px 10px}
  .farm-v2-card{padding:14px}
  .farm-v2-recent{display:none}
  .farm-v2-table-card{padding:12px}
  .farm-v2 .farm-v2-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .farm-v2 .farm-v2-table:not(.is-admin){width:100%!important;min-width:0!important;table-layout:fixed}
  .farm-v2-table:not(.is-admin) th:nth-child(4),.farm-v2-table:not(.is-admin) th:nth-child(5),.farm-v2-table:not(.is-admin) th:nth-child(6),.farm-v2-table:not(.is-admin) td:nth-child(4),.farm-v2-table:not(.is-admin) td:nth-child(5),.farm-v2-table:not(.is-admin) td:nth-child(6){display:none}
  .farm-v2-table:not(.is-admin) th,.farm-v2-table:not(.is-admin) td{padding:8px 2px;font-size:11px;line-height:1.3;word-break:break-word}
  .farm-v2-table:not(.is-admin) th:nth-child(1){width:11%}
  .farm-v2-table:not(.is-admin) th:nth-child(2){width:13%}
  .farm-v2-table:not(.is-admin) th:nth-child(3){width:25%}
  .farm-v2-table:not(.is-admin) th:nth-child(7){width:24%}
  .farm-v2-table:not(.is-admin) th:nth-child(8){width:27%}
  .farm-v2-table:not(.is-admin) .farm-v2-badge{padding:4px 3px;font-size:10px;white-space:nowrap}
  .farm-v2-table:not(.is-admin) .farm-v2-apply{width:100%;height:auto;min-height:30px;padding:4px 2px;font-size:10px;line-height:1.2;white-space:normal}
  .farm-v2-table.is-admin{display:table!important;width:100%!important;min-width:0!important;table-layout:auto!important}
  .farm-v2-table.is-admin thead{display:table-header-group!important}
  .farm-v2-table.is-admin tbody{display:table-row-group!important;width:auto}
  .farm-v2-table.is-admin tbody tr{display:table-row!important;padding:0;border:0;gap:0}
  .farm-v2-table.is-admin tbody td{display:table-cell!important;align-items:center;padding:6px 8px!important;border-bottom:1px solid #e7ece9;font-size:11px!important;line-height:1.3!important;text-align:center;vertical-align:middle;white-space:nowrap}
  .farm-v2-table.is-admin tbody td:nth-child(4){white-space:normal;word-break:keep-all;min-width:100px}
  .farm-v2-table.is-admin tbody td:nth-child(9){white-space:normal;min-width:200px}
  .farm-v2-table.is-admin tbody td:not(.farm-v2-empty):before{content:none!important;display:none!important}
  .farm-v2-table.is-admin th{padding:6px 8px!important;font-size:11px!important;height:auto;white-space:nowrap}
  .farm-v2-table.is-admin .farm-v2-manage{display:grid;grid-template-columns:auto auto auto;gap:4px;justify-content:center;white-space:nowrap}
  .farm-v2-table.is-admin .farm-v2-manage select{width:auto;max-width:none;min-width:72px;height:26px;font-size:11px}
  .farm-v2-table.is-admin .farm-v2-manage button,.farm-v2-table.is-admin .farm-v2-manage>a,.farm-v2-table.is-admin .farm-v2-manage .farm-v2-edit{width:auto;max-width:none;height:26px;padding:0 8px!important;font-size:11px}
  .farm-v2-table.is-admin .farm-v2-manage .farm-v2-edit{grid-column:1 / -1;justify-self:center}
  .farm-v2-table.is-admin .farm-v2-paid-check{font-size:11px}
  .farm-v2-admin-actions{margin-bottom:12px}
}
@media print{
  body{background:#fff!important}
  .farm-v2-titlebar,.farm-v2-head,.farm-v2-stats,.farm-v2-info,.farm-v2-admin-actions,.farm-v2-manage,.farm-v2-apply,.farm-v2-modal{display:none!important}
  .farm-v2-card,.farm-v2-map-card,.farm-v2-table-card{border:0!important;box-shadow:none!important;padding:0!important}
  .farm-v2-main{display:block!important}
  .farm-v2-map-card{margin-bottom:24px!important}
  .farm-v2-map-stage{max-width:640px!important}
  .farm-v2-table-card{margin-top:0!important;page-break-before:auto}
  .farm-v2-table-wrap{overflow:visible!important}
  .farm-v2-table{min-width:0!important}
  .farm-v2-table th,.farm-v2-table td{padding:8px 6px!important;font-size:12px!important}
}

/* Unified write form (all boards) */
#bo_w{box-sizing:border-box;width:100%!important;max-width:920px;margin:0 auto 48px;padding:28px 32px 36px;border:1px solid #e1e8e5;border-radius:14px;background:#fff;font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;color:#111;overflow:visible}
#bo_w #container_title{margin:0 0 22px;padding:0 0 16px;border-bottom:1px solid #e6eeea;color:#111;font-size:22px;font-weight:800;line-height:1.35}
#bo_w form{width:100%!important;max-width:100%}
#bo_w .tbl_frm01,#bo_w .tbl_wrap{width:100%;margin:0;overflow:visible;border:0}
#bo_w .tbl_frm01 table{width:100%!important;border-collapse:collapse;table-layout:fixed}
#bo_w .tbl_frm01 th,#bo_w .tbl_frm01 td{padding:14px 0;border:0;border-bottom:1px solid #eef3f0;background:transparent;vertical-align:top;word-break:keep-all}
#bo_w .tbl_frm01 th{width:110px;color:#4a5751;font-size:14px;font-weight:800;text-align:left}
#bo_w .tbl_frm01 td{color:#222}
#bo_w .tbl_frm01 tr:last-child th,#bo_w .tbl_frm01 tr:last-child td{border-bottom:0}
#bo_w .frm_input,#bo_w select,#bo_w textarea{
  box-sizing:border-box;width:100%!important;max-width:100%;min-height:46px;margin:0;
  padding:12px 14px;border:1px solid #d5e2dc;border-radius:8px;background:#fff;
  color:#222;font-size:15px;line-height:1.45;outline:none
}
#bo_w textarea,#bo_w .wr_content textarea{min-height:220px;resize:vertical}
#bo_w .frm_input:focus,#bo_w select:focus,#bo_w textarea:focus{border-color:#009b6b;box-shadow:0 0 0 3px rgba(0,155,107,.12)}
#bo_w .frm_file{padding:10px;background:#f7faf8}
#bo_w .frm_info{margin:8px 0 0;color:#6a7872;font-size:13px;line-height:1.5}
#bo_w #autosave_wrapper{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#bo_w #autosave_wrapper .frm_input{flex:1 1 220px}
#bo_w .btn_frmline,#bo_w #btn_autosave{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;
  border:1px solid #cfdad4;border-radius:8px;background:#f4f8f6;color:#31413b;font-size:13px;font-weight:700;cursor:pointer
}
#bo_w .btn_confirm{display:flex;flex-wrap:wrap;gap:10px;justify-content:stretch;margin-top:24px}
#bo_w .btn_confirm .btn_submit,#bo_w .btn_confirm .btn_cancel,
#bo_w .btn_confirm input.btn_submit,#bo_w .btn_confirm a.btn_cancel{
  flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 16px;border-radius:8px;font-size:16px;font-weight:800;
  line-height:1;text-decoration:none;cursor:pointer;box-sizing:border-box
}
#bo_w .btn_confirm .btn_submit,#bo_w .btn_confirm input.btn_submit{border:0;background:#009b6b;color:#fff}
#bo_w .btn_confirm .btn_cancel,#bo_w .btn_confirm a.btn_cancel{border:1px solid #d5e2dc;background:#fff;color:#31413b}
#bo_w .btn_confirm .btn_submit:hover,#bo_w .btn_confirm input.btn_submit:hover{background:#007f5a}
@media all and (max-width:900px){
  #bo_w{margin:0 0 36px;padding:20px 16px 28px;border-radius:12px;width:100%!important;max-width:100%!important}
  #bo_w #container_title{font-size:18px;margin-bottom:14px;padding-bottom:12px}
  #bo_w .tbl_frm01 th,#bo_w .tbl_frm01 td{display:block;width:100%;padding:8px 0}
  #bo_w .tbl_frm01 th{border:0;padding-bottom:4px;font-size:13px}
  #bo_w .tbl_frm01 td{padding-top:0;padding-bottom:14px;border-bottom:1px solid #eef3f0}
  #bo_w .frm_input,#bo_w select,#bo_w textarea{font-size:16px;min-height:48px}
  #bo_w #autosave_wrapper{display:grid;grid-template-columns:1fr;gap:8px}
  #bo_w .btn_confirm{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
  #bo_w .btn_confirm .btn_submit,#bo_w .btn_confirm .btn_cancel,
  #bo_w .btn_confirm input.btn_submit,#bo_w .btn_confirm input.btn_cancel,
  #bo_w .btn_confirm a.btn_cancel{
    flex:1 1 100%!important;width:100%!important;min-width:0!important;min-height:52px!important;
    height:52px!important;padding:0 16px!important;font-size:17px!important;line-height:52px!important;
    box-sizing:border-box!important;text-align:center
  }
}

