.attic-photo-workspace { display: grid; gap: 16px; }
.attic-photo-drop { display: grid; gap: 8px; padding: 20px; border: 2px dashed #8bc5b3; border-radius: 14px; background: #f1faf6; color: #125143; cursor: pointer; }
.attic-photo-drop input { max-width: 100%; }
.attic-photo-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 12px; }
.attic-photo-card { border: 1px solid #d3e2dd; border-radius: 12px; overflow: hidden; background: #fff; }
.attic-photo-card img { display: block; width: 100%; height: 145px; object-fit: cover; }
.attic-photo-card label { display: flex; align-items: center; gap: 8px; padding: 10px; }
.attic-photo-card input { width: auto; }
.attic-photo-share { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid #d3e2dd; }
.attic-photo-share label { display: grid; gap: 8px; }
.attic-photo-share textarea { min-height: 120px; width: 100%; overflow-wrap: anywhere; }
.attic-photo-share small { display: block; line-height: 1.5; }
.installer-photo-page { margin: 0; padding: 24px; background: #f3f7f5; font: 16px/1.5 system-ui,sans-serif; color: #213f36; }
.installer-photo-page main { max-width: 1000px; margin: 24px auto; background: white; padding: 24px; border-radius: 18px; }
.installer-photo-page header img { width: 64px; height: 64px; object-fit: contain; }
.installer-photo-page h1 { margin: 8px 0; }
.installer-photo-page button { padding: 12px 18px; border: 0; border-radius: 9px; background: #12634e; color: white; font: inherit; cursor: pointer; }
.installer-photo-page a { color: #12634e; display: block; padding: 8px; }
.installer-photo-page .attic-photo-card img { height: 220px; }
