/* One native, keyboard-accessible file picker across the workshop. */
.workshop-file-field { position:relative; margin-top:18px; }
.workshop-file-picker { display:flex; align-items:center; gap:16px; min-height:96px; margin:0; padding:22px 24px; border:1px dashed #cbd9ee; border-radius:12px; background:#f8faff; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.workshop-file-picker:hover { border-color:#8eafe8; background:#f1f6ff; }
.workshop-file-icon { display:grid; flex:0 0 46px; place-items:center; width:46px; height:46px; border:1px solid #dce7fa; border-radius:12px; background:#edf3ff; color:#3464d8; }
.workshop-file-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:4px; }
.workshop-file-copy strong { color:#25456f; font-size:14px; font-weight:600; }
.workshop-file-copy > span { color:#8493a9; font-size:12px; line-height:1.6; }
.workshop-file-action { display:inline-flex; flex:none; align-items:center; justify-content:center; min-width:104px; min-height:44px; padding:10px 20px; border:1px solid #cdddf8; border-radius:8px; background:#fff; color:#2c60e9; font-size:13px; font-weight:600; line-height:1.5; }
.workshop-file-picker:hover .workshop-file-action { border-color:#2c60e9; background:#2c60e9; color:#fff; }
input.workshop-file-input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.workshop-file-field:focus-within .workshop-file-picker { outline:2px solid #2c60e9; outline-offset:3px; border-color:#8eafe8; }
.workshop-file-info { margin:10px 2px 0!important; color:#8b99ad; font-size:11px!important; line-height:1.7; overflow-wrap:anywhere; }
.has-file .workshop-file-info { color:#536b8c; }
.workshop-file-field:not(.has-file) .workshop-file-info { display:none; }
.pg02-report-editor { margin:24px 0; padding-top:22px; border-top:1px solid #e3e9f2; scroll-margin-top:90px; }
#pg02-report-text { width:100%; min-height:160px; margin-top:8px; resize:vertical; font:inherit; }
.pg02-report-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:16px 0 10px; }
#pg02-report-status { color:#76849b; font-size:12px; }
#pg02-report-status.is-error { color:#ac443f; }
.pg02-saved-report { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e3e9f2; }
.pg02-saved-report small { display:block; margin-top:4px; color:#8493a9; letter-spacing:0; font-size:11px; }
.pg02-saved-report-actions { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:560px) { .workshop-file-picker { flex-wrap:wrap; gap:12px; padding:18px; } .workshop-file-action { width:100%; } .pg02-report-actions > button { width:100%; } }
