.christmas-install-workflow { max-width: 1080px; margin: 0 auto; color: #163f37; }
.christmas-install-workflow *, .install-profile *, .install-overview * { box-sizing: border-box; }
.install-back { display: inline-block; margin: 0 0 14px; color: #176b55; font-weight: 750; text-decoration: none; }
.install-job-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.install-job-header h2 { margin: 0; font-size: 1.5rem; }
.install-job-header p { margin: 5px 0; color: #556b63; }
.install-status { border: 1px solid #bdd5c9; border-radius: 18px; background: #e4f2e9; padding: 6px 12px; font-weight: 750; font-size: .8rem; }
.install-card, .install-pack, .install-job-notes, .install-profile, .install-overview { min-width: 0; border: 1px solid #cddcd5; border-radius: 12px; padding: 20px; background: white; margin-bottom: 16px; }
.install-card h3, .install-job-notes h3 { margin: 0 0 10px; font-size: 1.12rem; }
.install-card h4 { margin: 14px 0 8px; }
.install-card p { line-height: 1.5; }
.install-job-notes { border-left: 5px solid #17735a; background: #ecf7ee; }
.install-job-notes p, .install-notes { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 0; }
.install-pickup-zone { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; }
.install-pickup-zone strong { font-size: 1.45rem; }
.install-pickup-zone span:last-child { flex: 1 1 100%; white-space: pre-wrap; }
.install-muted { color: #5b7066; font-size: .88rem; }
.install-warning, .install-success { padding: 12px 16px; border-radius: 8px; border: 1px solid #e7c985; background: #fff8e8; color: #754d0b; overflow-wrap: anywhere; }
.install-success { background: #eaf7ee; color: #155c3a; border-color: #b7dac3; }
.christmas-install-workflow label, .install-profile label { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; font-size: .87rem; font-weight: 650; min-width: 0; }
.christmas-install-workflow input:not([type="checkbox"]), .christmas-install-workflow select, .christmas-install-workflow textarea, .install-profile input:not([type="checkbox"]), .install-profile select, .install-profile textarea { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #bdcdc4; border-radius: 7px; padding: 10px 12px; font: inherit; background: #fff; color: #163f37; }
.christmas-install-workflow textarea, .install-profile textarea { resize: vertical; }
.christmas-install-workflow input:focus, .christmas-install-workflow textarea:focus, .christmas-install-workflow select:focus, .install-profile input:focus { outline: 3px solid #b3dcc8; outline-offset: 1px; }
.christmas-install-workflow .install-check, .install-profile .install-check { flex-direction: row; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #d6e2d9; border-radius: 8px; font-size: .95rem; line-height: 1.35; cursor: pointer; }
.install-check input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: #187351; }
.install-check:has(input:checked) { background: #edf8ef; border-color: #9acbab; }
.install-grid, .install-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.install-material-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(120px, 1fr); align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid #e0e8e2; }
.install-material-row label { margin-bottom: 0; }
.install-material-row strong, .install-usage-row strong { font-size: .92rem; overflow-wrap: anywhere; }
.install-material-row small, .install-usage-row small { display: block; color: #61776a; font-size: .8rem; font-weight: 500; margin-top: 4px; }
.install-usage-row { border: 1px solid #d6e2d9; border-radius: 8px; padding: 14px; margin-bottom: 10px; }
.install-quantity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 10px; }
.install-quantity-grid label { margin: 0; }
.install-pack-list { padding: 0; margin: 12px 0; list-style: none; }
.install-pack-list li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #e0e8e2; font-size: .9rem; }
.install-pack-list li > * { min-width: 0; overflow-wrap: anywhere; }
.install-pack-list small { color: #61776a; }
.christmas-install-workflow summary, .install-profile > summary, .install-overview > summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 750; }
.install-area { border-top: 1px solid #d6e2d9; padding: 8px 0 16px; }
.install-field-steps .install-area > summary, .install-usage-row > summary { overflow-wrap: anywhere; }
.install-field-steps .install-area > summary > span, .install-usage-row > summary > span { display: block; margin-top: 4px; font-size: .85rem; font-weight: 500; }
.install-field-steps .install-material-step, .install-field-steps .install-finish-step { margin: 12px 0; }
.install-overview > label { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; max-width: 360px; }
.install-overview select { min-height: 44px; width: 100%; border: 1px solid #bdcdc4; border-radius: 7px; padding: 10px; font: inherit; color: inherit; background: inherit; }
.install-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-bottom: 14px; }
.install-photo-grid a { color: #176b55; text-decoration: none; font-size: .78rem; }
.install-photo-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 4px; }
.install-reference-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin-bottom: 16px; }
.install-reference-grid a { min-width: 0; color: #176b55; overflow-wrap: anywhere; text-decoration: none; }
.install-reference-grid img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; border-radius: 8px; margin-bottom: 8px; background: #edf3ef; }
.install-reference-grid img[hidden], .install-reference-grid [hidden] { display: none; }
.install-evidence form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: end; border: 1px dashed #aec8b9; border-radius: 8px; padding: 12px; background: #f7faf7; margin-bottom: 16px; }
.install-evidence form label { margin: 0; }
.install-evidence form input[type="file"] { font-size: .84rem; padding: 7px; }
.install-evidence form .install-message { grid-column: 1/-1; grid-row: 2; }
.install-evidence form button { align-self: end; }
.install-message { margin: 8px 0; font-size: .9rem; color: #734c10; overflow-wrap: anywhere; }
.install-message:empty { display: none; }
.install-form-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.install-card button, .install-profile button, .install-overview button { min-height: 44px; white-space: normal; }
.install-profile summary { display: flex; justify-content: space-between; gap: 10px; }
.install-overview-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.install-overview-list a { display: flex; flex-direction: column; gap: 6px; border: 1px solid #d2ded6; border-radius: 8px; padding: 14px; text-decoration: none; color: #163f37; }
.install-overview-list small { color: #63796c; }
@media (max-width: 640px) {
  .install-job-header { flex-direction: column; gap: 9px; }
  .install-job-header h2 { font-size: 1.3rem; }
  .install-card, .install-pack, .install-job-notes, .install-profile, .install-overview { padding: 14px; border-radius: 9px; margin-bottom: 12px; }
  .install-grid, .install-counts, .install-overview-list { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .install-material-row { grid-template-columns: minmax(0, 1fr) minmax(96px, .65fr); gap: 8px; }
  .install-quantity-grid { gap: 8px; }
  .install-quantity-grid input { padding: 9px 6px; }
  .install-evidence form { grid-template-columns: minmax(0, 1fr); }
  .install-evidence form button { grid-row: 3; width: 100%; }
  .install-form-actions { flex-direction: column; }
  .install-form-actions button, .install-card form > button { width: 100%; }
  .install-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .install-pickup-zone strong { font-size: 1.3rem; }
}
