.assessment-device-capture-entry {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 16px;
  padding: 18px 20px;
  border: 1px solid #9db8f4;
  border-left: 4px solid #1553d7;
  border-radius: 16px;
  background: linear-gradient(120deg,#f4f7ff,#fff);
}
.assessment-device-capture-entry strong { display: block; margin-top: 4px; font-size: 17px; }
.assessment-device-capture-entry p { max-width: 720px; margin: 6px 0 0; color: #61708a; font-size: 12px; }
.assessment-device-capture-entry button { min-height: 44px; white-space: nowrap; }
.device-report-smart-upload {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid #c8d7f4;
  border-radius: 14px;
  background: #f8faff;
}
.device-report-smart-upload label { margin: 0; }
.device-report-smart-upload div { display: flex; align-items: center; gap: 10px; }
.device-report-smart-upload small { max-width: 250px; }
.device-report-smart-upload .device-report-call-note { max-width: 220px; color: #61708a; font-size: 11px; }
.device-report-ai-result {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #9db8f4;
  border-left: 4px solid #1553d7;
  border-radius: 14px;
  background: #fff;
}
.device-report-ai-result > header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.device-report-ai-result h5 { margin: 3px 0; }
.device-report-warning { margin: 0; padding: 9px 11px; border-radius: 9px; background: #fff4d9; color: #805600; }
.device-report-processing-note { margin: 0; padding: 8px 10px; border-radius: 9px; background: #eef5ff; color: #355b92; font-size: 12px; }
.device-report-ai-result.is-failed { border-color: #efc16d; border-left-color: #c47a00; background: #fffdf8; }
.device-report-failure { padding: 14px; border: 1px solid #efcf91; border-radius: 11px; background: #fff8e8; }
.device-report-failure h6 { margin: 0 0 7px; font-size: 14px; }
.device-report-failure p { margin: 5px 0; color: #67542f; }
.device-report-sources { display: grid; gap: 8px; padding: 10px; border-radius: 11px; background: #f5f7fc; }
.device-report-sources > div:first-child { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.device-report-sources > div:first-child small { color: #61708a; }
.device-report-source-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(132px,1fr)); gap: 8px; }
.device-report-source-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid #d6e0f2; border-radius: 10px; background: #fff; color: inherit; }
.device-report-source-link { display: grid; grid-template-rows: 92px auto; color: inherit; text-decoration: none; }
.device-report-source-card img { width: 100%; height: 92px; object-fit: contain; background: #eef2f8; }
.device-report-source-card span { display: grid; gap: 2px; padding: 7px 8px; min-width: 0; }
.device-report-source-card small { overflow: hidden; color: #61708a; text-overflow: ellipsis; white-space: nowrap; }
.device-report-source-fields { display: grid; gap: 7px; padding: 0 8px 9px; }
.device-report-source-fields label { display: grid; gap: 3px; margin: 0; color: #52627b; font-size: 11px; font-weight: 700; }
.device-report-source-fields input, .device-report-source-fields select { min-width: 0; min-height: 34px; padding: 6px 7px; font-size: 12px; }
.device-report-summary textarea { min-height: 78px; }
.device-report-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.device-report-review-grid section { padding: 10px; border-radius: 11px; background: #f5f7fc; }
.device-report-review-grid h6 { margin: 0 0 7px; }
.device-report-review-grid article { display: grid; gap: 5px; padding: 7px 0; border-top: 1px solid #dce4f2; }
.device-report-review-grid article:first-of-type { border-top: 0; }
.device-report-review-grid article p { margin: 0; }
.device-report-review-grid article div { display: flex; align-items: center; gap: 6px; }
.device-report-page { min-height: 26px !important; padding: 3px 7px !important; border-radius: 7px !important; font-size: 11px !important; }
.device-report-metrics > div { display: grid; gap: 6px; margin-top: 8px; }
.device-report-metric { display: grid; grid-template-columns: 28px minmax(160px, 1.5fr) 100px 75px 130px 70px; gap: 6px; align-items: center; }
.device-report-metric input, .device-report-metric select { min-height: 36px; }
.device-report-ai-result > footer { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
.device-report-ai-result > footer span { margin-right: auto; color: #61708a; }
.device-report-ai-result.is-confirmed { border-color: #84c8ad; border-left-color: #16865a; background: #f8fffb; }
.confirmed-device-report-summary { margin: 8px 0; padding: 10px 12px; border-left: 3px solid #16865a; border-radius: 8px; background: #f2fbf7; }
.confirmed-device-report-summary small { color: #16865a; font-weight: 800; }
.confirmed-device-report-summary p { margin: 4px 0 0; }
@media (max-width: 850px) {
  .assessment-device-capture-entry { grid-template-columns: 1fr; }
  .assessment-device-capture-entry button { width: 100%; }
  .device-report-smart-upload, .device-report-review-grid { grid-template-columns: 1fr; }
  .device-report-smart-upload div { align-items: flex-start; flex-direction: column; }
  .device-report-metric { grid-template-columns: 28px 1fr 90px; }
  .device-report-metric > [data-report-metric-unit], .device-report-metric > select, .device-report-metric > span { grid-column: 2 / -1; }
  .device-report-ai-result > header, .device-report-ai-result > footer { align-items: stretch; flex-direction: column; }
  .device-report-sources > div:first-child { align-items: flex-start; flex-direction: column; }
  .device-report-ai-result > footer span { margin-right: 0; }
}
