.attachment-body{padding:0 24px 24px;min-width:0}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.media-card{min-width:0;border:1px solid var(--border,#dde5e1);border-radius:14px;overflow:hidden;background:#fff}.media-preview{background:#edf2f0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-preview>a{display:block;width:100%;height:100%}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:contain;display:block;background:#172b2b}.media-caption{padding:14px}.media-caption strong,.media-caption small{display:block;overflow-wrap:anywhere}.media-caption strong{font-size:14px;font-weight:600}.media-caption small{margin-top:7px;color:#70817b;font-size:12px}.media-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.media-actions .button{min-height:36px;padding:6px 14px}.media-upload{margin-top:24px;padding-top:22px;border-top:1px solid #e4ebe7}.media-upload h3{font-size:15px;margin:0 0 14px}.media-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.media-choices .button{padding:10px 4px}.media-submit{margin:16px 0 10px}.media-upload .helper{line-height:1.8}.media-local-preview{margin-top:18px;max-width:360px}.media-local-preview img,.media-local-preview video{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:#142d30}.media-selection p{overflow-wrap:anywhere;font-size:14px}.media-selection small{font-size:12px;color:#64776e}.media-progress{padding-top:18px}.media-progress progress{width:100%;accent-color:#287d60;height:12px}.media-progress p{font-size:13px;color:#287d60}.media-empty{padding-bottom:10px}.media-error{padding:0 14px 14px}.record-qr{width:min(220px,100%);margin:20px auto}.record-qr svg{width:100%;height:auto;display:block}.qr-actions{display:grid;gap:10px;margin-bottom:12px}.identifier-panel>.button{width:100%}.identifier-panel .helper{font-size:12px;line-height:1.7}.share-fields{border:1px solid #dde6e0;padding:18px;border-radius:12px;margin:20px 0 0}.share-fields legend{font-size:14px;font-weight:600;padding:0 8px}.share-fields .inline-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.6}.share-fields input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#287d60;margin-top:2px}.scan-page{min-height:100vh;background:#f3f6f2;color:#183832}.scan-header{max-width:880px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px}.scan-header a{text-decoration:none}.scan-header .brand-logo{display:flex;gap:10px;align-items:center;font-size:20px}.scan-main{max-width:820px;margin:12px auto 0;padding:0 24px}.scan-intro{padding:14px 0 26px}.scan-intro h1{font-size:clamp(26px,5vw,36px);line-height:1.45;overflow-wrap:anywhere;margin:16px 0}.scan-main>.panel{margin-bottom:24px}.scan-fields dd{white-space:pre-wrap;overflow-wrap:anywhere}.scan-media{padding:0 24px 24px}.scan-gate{max-width:500px;margin:10vh auto 20px!important;padding:36px}.scan-gate h1{font-size:25px;line-height:1.4}.scan-gate p{color:#687b71;line-height:1.9;margin:16px 0 24px}.scan-gate form label{display:block;font-size:14px;margin-bottom:8px}.scan-gate form input{width:100%;min-height:48px;font-size:16px}.scan-gate .button{width:100%;margin-top:12px}.scan-gate small{display:block;line-height:1.7;color:#687b71;margin-top:22px}.scan-gate>.text-link{display:block;text-align:center;margin-top:22px}.scan-lock{font-size:44px;color:#267b5c}.scan-note,.scan-footer{text-align:center;color:#78887d;font-size:12px;line-height:1.9}.scan-footer{padding:30px 16px max(30px,env(safe-area-inset-bottom))}.share-fields[hidden]{display:none}
@media(min-width:1400px){.detail-main .media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.media-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-body{padding:0 16px 20px}.media-grid{gap:12px}.media-caption{padding:12px}.media-actions .button{flex:1}.scan-header{padding:20px}.scan-main{padding:0 16px}.scan-gate{padding:24px;margin-top:6vh!important}.scan-media{padding:0 16px 16px}.scan-fields{grid-template-columns:1fr}.media-submit{width:100%}}
@media(max-width:420px){.media-grid{grid-template-columns:1fr}.scan-intro{padding-top:6px}.share-fields{padding:14px}}
