:root{font-family:"Microsoft JhengHei",system-ui,sans-serif;color:#172d3b;background:#f3f6f8;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#113442;color:white;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-weight:700;font-size:21px;color:white;text-decoration:none}.brand span{display:block;font-size:12px;letter-spacing:2px;color:#9dc3d1;margin-top:3px}#account{display:flex;gap:12px;align-items:center;font-size:14px}.shell{display:grid;grid-template-columns:200px minmax(0,1fr);max-width:1500px;margin:auto}nav{padding:26px 16px}nav a{display:block;padding:12px 16px;margin-bottom:6px;border-radius:8px;color:#405a67;text-decoration:none}nav a.active{background:#dcebef;color:#113442;font-weight:700}main{padding:30px;min-width:0}h1{font-size:28px;margin:0 0 8px}h2{font-size:20px;margin:0 0 16px}h3{font-size:17px}p{line-height:1.7}.muted{color:#6a7d85;font-size:14px}.card{background:white;border:1px solid #dce5e9;border-radius:12px;padding:24px;margin:20px 0}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}input,textarea,select{font:inherit;width:100%;border:1px solid #c2d1d8;border-radius:7px;padding:10px;background:white;color:#172d3b}textarea{min-height:110px;resize:vertical}button,.button{display:inline-block;border:0;background:#176978;color:white;font:inherit;padding:10px 16px;border-radius:7px;cursor:pointer;text-decoration:none}button.secondary,.button.secondary{background:#e8eff2;color:#244454}button.danger{background:#ad3c3c}button:disabled{opacity:.6;cursor:wait}a{color:#176978}.tools{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e6edf0;padding:12px;vertical-align:top}th{background:#f5f8fa;color:#60727c;white-space:nowrap}td{max-width:330px;overflow-wrap:anywhere}.badge{display:inline-block;padding:4px 10px;background:#e2f1f3;color:#176978;border-radius:20px;font-size:12px;white-space:nowrap}.badge.done{background:#e3efdf;color:#406432}.message{padding:14px;border-radius:8px;background:#fff0ec;color:#923d2c;margin-bottom:20px;white-space:pre-wrap}.message.success{background:#e5f2e8;color:#276039}.login{max-width:450px;margin:50px auto}.login label{margin-top:15px}.login button{margin-top:20px;width:100%}.facts{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:16px 0}.facts dt{color:#6a7d85}.facts dd{margin:0;overflow-wrap:anywhere}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.photos{display:flex;flex-wrap:wrap;gap:12px}.photos figure{margin:0}.photos img{width:160px;height:130px;object-fit:cover;border-radius:7px}.photos figcaption{font-size:12px;padding:5px}.timeline{border-left:2px solid #d6e6eb;padding-left:20px}.timeline p{margin:8px 0 20px}dialog{border:1px solid #c5d8e0;border-radius:12px;padding:24px;max-width:650px;width:95%;max-height:90vh;overflow:auto}dialog::backdrop{background:#172d3b88}.label{border:1px solid #ccc;width:80mm;padding:7mm;margin:10px;page-break-inside:avoid;background:white;text-align:center;color:black}.label strong{font-size:20px}.label .qr{display:flex;justify-content:center;margin:14px}.label .qr img{max-width:45mm}.label p{margin:4px;font-size:13px}.labels{display:flex;flex-wrap:wrap}.error-list{max-height:400px;overflow:auto}.stat{background:#e4f0f3;padding:15px;border-radius:8px;min-width:130px}.stat b{font-size:24px;display:block}.full{width:100%}@media(max-width:760px){header{padding:16px}.brand{font-size:18px}.shell{display:block}nav{display:flex;overflow:auto;padding:10px}nav a{white-space:nowrap;padding:9px}main{padding:16px}.grid{grid-template-columns:1fr}.card{padding:18px}.facts{grid-template-columns:90px 1fr}#account{font-size:12px;flex-wrap:wrap}}@media print{header,nav,#alert,.no-print,.tools{display:none!important}.shell{display:block}main{padding:0}.labels{display:block}.label{display:inline-block;vertical-align:top;margin:3mm;break-inside:avoid}.label .qr canvas{display:none}.label .qr img{display:block!important}body{background:white}}
