:root{font-family:system-ui,'Microsoft JhengHei',sans-serif;color:#233a33;background:#f2f5f2;font-size:16px}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;max-width:1100px;padding:28px 24px;margin:auto}h1{font-size:28px;margin:5px 0}h2{font-size:23px;margin:8px 0 18px}h3{margin:28px 0 12px;font-size:19px}p{line-height:1.75}header small,.hint{color:#65766e}.badge{padding:7px 12px;border:1px solid #bacfc2;border-radius:20px;font-size:13px}main{max-width:1100px;margin:0 auto 50px;padding:0 18px}.card{background:white;border:1px solid #dee7df;border-radius:16px;padding:24px;margin-bottom:18px}.narrow{max-width:480px;margin:auto}label{display:block;margin-bottom:14px;font-weight:600}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:11px;border:1px solid #c5d2c8;border-radius:8px;margin-top:7px;background:white;color:inherit}textarea{resize:vertical;line-height:1.7}button{padding:11px 16px;background:#245747;border:1px solid #245747;border-radius:8px;color:white;cursor:pointer}button.secondary,button.tab{background:#eef4ef;color:#245747;border-color:#d2dfd6}button:disabled{opacity:.5;cursor:wait}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar label{margin:0}.grow{flex:1;min-width:190px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#status{color:#245747}#status.error{color:#a13920}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:15px}th,td{padding:11px;border-bottom:1px solid #dce4de;text-align:left;vertical-align:middle}th{background:#f0f5f1;white-space:nowrap}td input{min-width:85px;margin:0}td button{font-size:13px;margin:3px}.quantity-table{min-width:940px}.quantity-table td:first-child{min-width:150px}.quantity-table td:last-child{min-width:130px}.hidden{display:none!important}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:16px}.photo-card{border:1px solid #dce4de;border-radius:10px;padding:12px}.photo-card img{width:100%;height:200px;object-fit:contain;background:#f5f5f5}.report-area{max-width:900px;background:white;margin:20px auto;padding:32px;color:#000}.report-area h1{text-align:center;font-size:25px}.report-area h2{font-size:17px;margin-top:22px}.report-area p{white-space:pre-wrap;overflow-wrap:anywhere}.report-area td,.report-area th{border:1px solid #b6b6b6;padding:8px}.report-area th{background:#eee}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.report-meta p{margin:3px 0}.report-area .photo-grid{grid-template-columns:1fr 1fr}.report-area figure{margin:0;break-inside:avoid}.report-area figure img{width:100%;height:220px;object-fit:contain}.report-area figcaption{padding:8px 0;font-size:14px;white-space:pre-wrap}.report-sign{display:flex;justify-content:space-between;margin-top:40px;gap:20px}.report-actions{max-width:900px;margin:15px auto;display:flex;gap:12px}.report-draft{color:#a13920;text-align:center}@media(max-width:600px){header{padding:22px 18px}h1{font-size:24px}.card{padding:18px}.fields{grid-template-columns:1fr}.report-area{padding:18px}.report-meta{grid-template-columns:1fr}.report-area .photo-grid{grid-template-columns:1fr}.report-sign{font-size:14px}}
@media print{@page{size:A4 portrait;margin:12mm}.no-print{display:none!important}body{background:white}#reportShell{display:block!important}.report-area{display:block!important;margin:0;padding:0;max-width:none;font-size:11pt}.report-area h1{font-size:19pt}.report-area h2{font-size:13pt;break-after:avoid}.report-area table{font-size:9pt}.report-area tr{break-inside:avoid}.report-area thead{display:table-header-group}.report-meta{grid-template-columns:1fr 1fr}.report-area .photo-grid{grid-template-columns:1fr 1fr}.report-area figure img{height:65mm}.report-sign{font-size:11pt}.report-draft{color:black}.report-area p{line-height:1.6}}

.picker{background:#f0f5f1;padding:16px;border-radius:10px;margin:16px 0}#vendorChoices label{display:flex;align-items:center;gap:12px}#vendorChoices input{width:20px;height:20px;margin:0}.manpower-table{min-width:620px}.manpower-table select{min-width:130px}.manpower-table td:last-child{min-width:120px}
