*{box-sizing:border-box}body{margin:0;background:#f4f6f5;color:#24312b;font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif}header{background:#205b43;color:#fff;padding:14px max(16px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}header a{color:white;text-decoration:none;font-weight:600}main{max-width:1100px;margin:24px auto;padding:0 16px}h1,h2,h3{color:#205b43}.hero,.notice,form{background:#fff;border:1px solid #dce5df;border-radius:12px;padding:20px}.hero{text-align:center;padding:44px 20px}.btn,button{display:inline-block;border:0;border-radius:8px;background:#286d4d;color:#fff;padding:10px 16px;text-decoration:none;font:inherit;cursor:pointer}.secondary{background:#e8efeb;color:#205b43}label{display:block;margin:14px 0;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #cbd7cf;border-radius:8px;padding:11px;font:inherit;background:#fff}button{margin-top:8px}.filters{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filters input{max-width:320px}.filters select{width:auto}.tablewrap{overflow:auto;background:#fff;border-radius:10px}table{border-collapse:collapse;width:100%;background:#fff;font-size:14px}th,td{padding:10px;border-bottom:1px solid #e5ebe7;text-align:left;vertical-align:top}th{background:#edf3ef;white-space:nowrap}td a{color:#205b43}.error{color:#b42318}.notice{text-align:center}.grid{background:#fff;border:1px solid #dce5df;border-radius:12px;padding:18px;margin-bottom:16px}.signature-box{margin-top:16px;padding:12px;border:1px solid #dce5df;border-radius:10px;background:#fafcfa}.sig-title{font-weight:700;margin-bottom:8px}.signature-box canvas{width:100%;height:220px;border:1px dashed #7a8b82;background:#fff;touch-action:none}.signature-box .secondary{margin-top:6px;border:0}@media(min-width:700px){form:not(.filters){max-width:800px}}@media print{header,.filters,button,.btn{display:none!important}body{background:#fff}main{max-width:none;margin:0}.tablewrap{overflow:visible}table{font-size:10pt}}

.attachment-preview{margin:10px 0 16px;padding:10px;border:1px solid #ddd;border-radius:8px;background:#fafafa}.preview-image{display:block;max-width:100%;max-height:480px;margin-top:8px;object-fit:contain}.preview-pdf{width:100%;height:560px;border:1px solid #ccc;margin-top:8px}
