/* Installation profiles extend the existing app palette and square controls. */
.installation-profile-summary{margin:0 16px 20px;padding-top:16px;border-top:1px solid var(--border,#39565c);color:var(--text-primary,#f4f7f3);font-family:var(--font);}
.installation-schedules-host{margin:0 16px 16px;}
.installation-schedules{margin:12px 0;border:1px solid var(--border,#39565c);border-radius:8px;color:var(--text-primary,#f4f7f3);font:14px/1.5 var(--font);overflow-wrap:anywhere;}
.installation-schedules>summary{padding:12px;min-height:44px;box-sizing:border-box;cursor:pointer;font-weight:700;}
.installation-schedule-content{padding:0 12px 12px;}
.installation-schedule-content p{margin:8px 0;}
.installation-schedule-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 0;border-top:1px solid var(--border,#39565c);}
.installation-schedule-row strong{font-size:16px;}
.installation-schedule-updated,.installation-schedule-note,.installation-schedule-row small{color:var(--text-secondary,#c0d0cb);font-size:12px;}
.installation-schedule-refresh{min-height:44px;padding:8px 12px;background:var(--card-bg,#183e38);color:var(--text-primary,#f4f7f3);border:1px solid var(--border,#39565c);border-radius:6px;font:inherit;cursor:pointer;}
.installation-schedules :focus-visible{outline:3px solid var(--action-primary,#ffd02a);outline-offset:2px;}
.installation-profile-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px;font-size:13px;line-height:1.5;color:inherit;}
.installation-profile-status>span:last-child:not(:first-child){margin-left:auto;color:var(--text-secondary,#c0d0cb);font-size:12px;}
.installation-header-status{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:7px;color:var(--text-primary,#f4f7f3);font:600 13px/1.4 var(--font);}
.installation-status-symbol{display:inline-block;flex:none;width:9px;height:9px;border:2px solid currentColor;border-radius:2px;}
[data-profile-status="removed"] .installation-status-symbol{border-radius:50%;background:linear-gradient(45deg,transparent 42%,currentColor 43%,currentColor 57%,transparent 58%);}
[data-profile-status="decommissioning"] .installation-status-symbol{border-style:dashed;}
[data-profile-status="stopped"] .installation-status-symbol{border-radius:0;background:linear-gradient(90deg,currentColor 0 30%,transparent 30% 70%,currentColor 70%);}
[data-profile-status="producing"] .installation-status-symbol{background:currentColor;width:6px;height:6px;}
.installation-profile-intro{margin:0 0 16px;font-size:15px;line-height:1.65;overflow-wrap:break-word;}
.installation-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;}
.installation-profile-facts>div{min-width:0;padding:8px 10px;border:1px solid var(--border,#39565c);border-radius:6px;}
.installation-profile-facts dt{margin:0 0 3px;color:var(--text-secondary,#c0d0cb);font-size:11px;line-height:1.3;}
.installation-profile-facts dd{margin:0;color:inherit;font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:break-word;}
.installation-profile-more{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--action-primary,#ffd02a);border-radius:6px;background:transparent;color:var(--action-primary,#ffd02a);font:700 14px var(--font);text-align:left;cursor:pointer;}
.installation-profile-more svg,.installation-profile-head svg{flex:none;width:18px;height:18px;}
.installation-profile-sources{margin-top:12px;color:var(--text-secondary,#c0d0cb);font-size:12px;line-height:1.6;}
.installation-profile-sources summary{min-height:44px;display:list-item;padding:12px 0;box-sizing:border-box;cursor:pointer;}
.installation-profile-sources summary>span{font-size:11px;}
.installation-profile-sources ul{margin:0;padding-left:18px;}
.installation-profile-sources li{margin:0 0 12px;overflow-wrap:anywhere;}
.installation-profile-sources li>span{display:block;margin-top:2px;}
.installation-profile-sources a{color:var(--text-primary,#f4f7f3);text-decoration:underline;text-underline-offset:3px;}
.installation-profile-sources p{margin:8px 0 0;}
.installation-profile-view{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:var(--app-bg,#073f3b);color:var(--text-primary,#f4f7f3);font-family:var(--font);overflow:hidden;}
.installation-profile-view[open]{display:flex;flex-direction:column;}
.installation-profile-view::backdrop{background:#04131dcc;}
.installation-profile-head{display:flex;align-items:center;gap:16px;flex:none;min-height:56px;padding:calc(10px + var(--safe-area-top,0px)) calc(14px + var(--safe-area-right,0px)) 10px calc(14px + var(--safe-area-left,0px));border-bottom:1px solid var(--border,#39565c);}
.installation-profile-head button{display:flex;align-items:center;gap:4px;min-height:44px;padding:9px 10px;border:0;border-radius:6px;background:var(--action-primary,#ffd02a);color:var(--action-text,#14231d);font:750 14px var(--font);cursor:pointer;}
.installation-profile-head h2{min-width:0;margin:0 0 0 auto;text-align:right;font:800 clamp(19px,5.5vw,27px)/1.2 var(--font);color:var(--action-primary,#ffd02a);overflow-wrap:break-word;}
.installation-profile-reader{width:100%;max-width:720px;align-self:center;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:22px max(18px,var(--safe-area-right,0px)) calc(28px + var(--safe-area-bottom,0px)) max(18px,var(--safe-area-left,0px));scrollbar-color:var(--text-secondary,#c0d0cb) var(--app-bg,#073f3b);}
.installation-profile-reader .installation-profile-intro{font-size:17px;line-height:1.7;}
.installation-profile-photo{margin:20px 0;color:var(--text-secondary,#c0d0cb);font-size:12px;line-height:1.6;}
.installation-profile-photo img{display:block;width:330px;max-width:100%;height:auto;border-radius:6px;}
.installation-profile-photo figcaption{margin-top:8px;}
.installation-profile-photo figcaption>span{display:block;}
.installation-profile-photo summary{min-height:44px;padding:12px 0;box-sizing:border-box;cursor:pointer;}
.installation-profile-photo p{margin:0 0 8px;overflow-wrap:anywhere;}
.installation-profile-photo a{color:var(--text-primary,#f4f7f3);text-underline-offset:3px;}
.installation-profile-reader .installation-profile-facts{margin-top:22px;}
.installation-profile-reader .installation-profile-facts dd{font-size:14px;}
.installation-profile-reader h3{margin:28px 0 10px;font:750 18px/1.35 var(--font);}
.installation-profile-details p,.installation-profile-state p{font-size:16px;line-height:1.75;margin:0 0 12px;}
.installation-profile-state .installation-profile-date{color:var(--text-secondary,#c0d0cb);font-size:13px;}
.installation-profile-reader .installation-profile-sources{border-top:1px solid var(--border,#39565c);margin-top:24px;padding-top:10px;font-size:13px;}
.installation-profile-summary :focus-visible,.installation-profile-view :focus-visible{outline:3px solid var(--action-primary,#ffd02a);outline-offset:3px;}
.installation-profile-view ::selection{background:var(--action-primary,#ffd02a);color:var(--action-text,#14231d);}
.wx-profile-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 0;margin:0 0 8px;border:0;border-bottom:1px solid #3a505e;border-radius:0;background:transparent;color:#ffdb45;font:650 14px var(--font);text-align:left;cursor:pointer;}
.wx-profile-entry>span:last-child{font:400 12px var(--font);color:#c7dbe4;}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status]{position:relative;}
/* Both MAP circles and SAT diamonds gain a shape cue, without moving coordinates/hit areas. */
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="removed"]{width:9px;height:9px;background:#172d38!important;border:2px solid #d4dbe0!important;border-radius:50%!important;box-shadow:0 1px 2px #071c2a!important;transform:none;}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="removed"]::after{content:"";position:absolute;left:0;top:4px;width:9px;height:1.5px;background:#d4dbe0;transform:rotate(-45deg);}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="decommissioning"]{width:9px;height:9px;background:#172d38!important;border:2px dashed #e2c381!important;border-radius:0!important;box-shadow:0 1px 2px #071c2a!important;transform:rotate(45deg);}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="stopped"]{width:9px;height:9px;background:linear-gradient(90deg,#e2c381 0 28%,#172d38 28% 72%,#e2c381 72%)!important;border:1px solid #e2c381!important;border-radius:0!important;box-shadow:0 1px 2px #071c2a!important;transform:none;}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status].is-selected{box-shadow:0 0 0 3px #ae84d2,0 0 0 4px #182634!important;}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol:is([data-installation-status="removed"],[data-installation-status="stopped"]).is-selected{transform:none;}
@media(prefers-reduced-motion:no-preference){html[data-theme] body #map .marker-hit-area .marker-installation-symbol:is([data-installation-status="removed"],[data-installation-status="stopped"]).is-selected{animation-name:selected-installation-status-pulse;}}
@keyframes selected-installation-status-pulse{0%,100%{transform:scale(1);filter:brightness(.9);}50%{transform:scale(1.4);filter:brightness(1.35);}}
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="producing"].is-selected,
html[data-theme] body #map .marker-hit-area .marker-installation-symbol[data-installation-status="unknown"].is-selected{box-shadow:0 0 0 3px #ae84d2,0 0 0 4px #182634!important;}
@media(min-width:600px){.installation-profile-reader{padding-top:30px;}.installation-profile-reader .installation-profile-facts{grid-template-columns:repeat(3,minmax(0,1fr));}.installation-profile-head{padding-right:24px;padding-left:24px;}}
