/* HVAC-1B: scoped UI built on the existing CRM cards, forms and central modal. */
.hvac-invalid-panel{border-color:#c73939;box-shadow:0 0 0 1px #c73939}.hvac-validation-summary button{padding:2px 0;border:0;background:transparent;color:#8d2020;text-align:left;text-decoration:underline;cursor:pointer}.hvac-validation-summary li+li{margin-top:5px}
.hvac-bundle-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.hvac-bundle-heading .field{flex:1}.hvac-bundle-row+[data-hvac-add-bundle-component]{margin-top:10px}
.hvac-filter-panel{padding:12px 15px;margin-bottom:14px}.hvac-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hvac-filters select{min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit}.hvac-installations-table tr{cursor:pointer}.hvac-installations-table tr:hover{background:var(--green2)}.hvac-installations-table td small,.hvac-device-card small,.hvac-simple-list small{display:block;margin-top:4px;color:var(--muted)}.hvac-empty,.hvac-loading{text-align:center;padding:34px}.hvac-detail-page{padding-bottom:34px}.hvac-section{margin-top:14px}.hvac-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.hvac-section>header small,.hvac-project-section header small{font-size:8px;font-weight:800;color:var(--green)}.hvac-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hvac-detail-grid dd .text-btn{padding:0;font:inherit;text-align:left}.hvac-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}.hvac-device-card{min-height:124px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:left;cursor:pointer}.hvac-device-card:hover{border-color:var(--green);background:var(--green2)}.hvac-device-card b{display:block;margin:9px 0 2px;font-size:12px}.hvac-device-card .status{float:right}.hvac-simple-list{padding:5px 14px}.hvac-simple-list article{position:relative;min-height:56px;padding:10px 0;border-bottom:1px solid var(--line)}.hvac-simple-list article:last-child{border-bottom:0}.hvac-simple-list b,.hvac-simple-list span{display:block}.hvac-simple-list b{font-size:11px}.hvac-simple-list span{margin-top:3px;font-size:10px;color:var(--muted)}.hvac-simple-list p{margin:6px 0 0;font-size:11px;line-height:1.45}.hvac-simple-list article>div{position:absolute;right:0;top:10px}.text-btn.danger{color:var(--red)}.hvac-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px}.hvac-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.hvac-photo-grid a{display:block;aspect-ratio:4/3;background:#eef2ef}.hvac-photo-grid img{display:block;width:100%;height:100%;object-fit:cover}.hvac-photo-grid figcaption{padding:8px 9px}.hvac-photo-grid b,.hvac-photo-grid small{display:block;font-size:10px}.hvac-photo-grid small{margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.hvac-device-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.hvac-device-heading p{margin:0;font-size:9px;font-weight:800;color:var(--green)}.hvac-device-heading h3{margin:4px 0;font-size:17px}.hvac-device-heading span{font-size:11px;color:var(--muted)}.hvac-device-heading>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.hvac-device-data{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.hvac-components{margin-top:16px}.hvac-project-section{margin-top:14px}.hvac-project-installations{padding:5px 14px}.hvac-project-installations button{display:flex;width:100%;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.hvac-project-installations button:last-child{border-bottom:0}.hvac-project-installations button:hover{background:var(--green2)}.hvac-project-installations b,.hvac-project-installations small{display:block}.hvac-project-installations b{font-size:11px}.hvac-project-installations small{margin-top:3px;font-size:9px;color:var(--muted)}.hvac-project-installations i{font-style:normal}.hvac-module-setting{margin-top:18px;padding:16px}.hvac-module-setting h3{margin:5px 0 7px}.hvac-module-setting p{margin:0 0 12px;font-size:11px;line-height:1.5;color:var(--muted)}.hvac-toggle{display:flex;align-items:center;gap:9px;min-height:38px;font-weight:700;cursor:pointer}.hvac-toggle input{width:18px;height:18px;accent-color:var(--green)}
@media(max-width:900px){.hvac-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.hvac-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hvac-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hvac-detail-grid,.hvac-device-data{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hvac-filters,.hvac-device-grid,.hvac-photo-grid,.hvac-detail-grid,.hvac-device-data{grid-template-columns:1fr}.hvac-section>header,.hvac-device-heading{align-items:flex-start;flex-direction:column}.hvac-device-heading>div:last-child{justify-content:flex-start}.hvac-installations-table{min-width:900px}.hvac-photo-grid{padding:10px}.hvac-device-grid{padding:10px}.hvac-detail-page .record360-header{align-items:flex-start;flex-direction:column}.hvac-detail-page .record360-actions{justify-content:flex-start}}
.hvac-device-card-shell{display:grid;grid-template-rows:1fr auto;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.hvac-device-card-shell .hvac-device-card{width:100%;min-height:124px;border:0;border-radius:0}.hvac-device-card-actions{display:flex;justify-content:flex-end;gap:12px;padding:8px 12px;border-top:1px solid var(--line);background:#f8faf8}.hvac-device-card-actions .text-btn{min-height:32px}
.hvac-form-section{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.hvac-form-section>h3,.hvac-form-section>summary{margin:0 0 12px;font-size:13px;font-weight:800}.hvac-form-section>summary{cursor:pointer}.hvac-template-results{position:relative;z-index:3;display:grid;max-height:240px;overflow:auto;margin-top:4px;border-radius:6px;background:#fff;box-shadow:0 8px 24px rgba(19,40,28,.16)}.hvac-template-results:empty{display:none}.hvac-template-results button{display:grid;gap:3px;padding:10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.hvac-template-results button:hover{background:var(--green2)}.hvac-template-results small,.hvac-template-summary small{display:block;color:var(--muted)}.hvac-template-summary:not(:empty){padding:10px;border-left:3px solid var(--green);background:var(--green2)}.hvac-template-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;margin:8px 0 0}.hvac-template-summary dl div{display:flex;justify-content:space-between;gap:8px}.hvac-template-summary dt{color:var(--muted)}.hvac-template-summary dd{margin:0;text-align:right;font-weight:700}.hvac-bundle-row{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f8faf8}.hvac-template-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hvac-template-choice{display:flex;gap:8px;padding:9px;border:1px solid var(--line);border-radius:6px}.hvac-template-choice small{display:block;color:var(--muted)}.hvac-validation-summary{margin:12px 0;padding:12px;border:1px solid #c73939;border-radius:7px;background:#fff1f1;color:#8d2020}.hvac-validation-summary b,.hvac-validation-summary a{display:block}.hvac-validation-summary a{margin-top:6px;color:#8d2020}.field.hvac-invalid input,.field.hvac-invalid select,.field.hvac-invalid textarea{border-color:#c73939;box-shadow:0 0 0 1px #c73939}.field.hvac-invalid small{color:#8d2020}
@media(max-width:600px){.hvac-template-choices{grid-template-columns:1fr}.hvac-form-section{padding:11px}.hvac-template-results button{min-height:48px}}
