.qps-weather{margin:18px 0;padding:22px;border:1px solid var(--line,#304352);border-radius:18px;background:var(--panel,#122331);color:var(--ink,#eef5fa);min-width:0}.qps-weather[hidden]{display:none}.qps-weather header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.qps-weather h3{margin:4px 0;font-size:1.2rem}.qps-weather-eyebrow{font-size:.68rem;letter-spacing:.15em;color:var(--muted,#a7bacb)}.qps-weather header label{display:flex;align-items:center;gap:8px;font-size:.85rem;max-width:100%}.qps-weather select{max-width:260px;min-width:0;background:var(--panel,#122331);color:inherit;border:1px solid var(--line,#405364);border-radius:8px;padding:8px}.qps-weather-location,.qps-weather-outlook{font-size:.83rem;color:var(--muted,#afc2d0);margin:10px 0}.qps-weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0}.qps-weather-day{border:1px solid var(--line,#334959);border-radius:12px;background:var(--soft,#f3f6fa);min-width:0;overflow:hidden}.qps-weather-day.has-risk{border-color:#b68432;background:color-mix(in srgb,var(--panel,#122331) 92%,#e0a43e 8%)}.qps-weather-day summary{display:flex;flex-direction:column;gap:7px;padding:12px;cursor:pointer;font-size:.77rem;list-style:none;min-height:225px}.qps-weather-day summary::-webkit-details-marker{display:none}.qps-weather-day summary:focus-visible{outline:2px solid #54b9e0;outline-offset:-3px}.qps-weather-day summary>strong{text-transform:capitalize;font-size:.82rem}.qps-weather-icon{font-size:1.9rem}.qps-weather-day b{font-size:1.05rem}.qps-weather-day small{font-weight:400;font-size:.78rem}.qps-weather-day em{font-style:normal;color:var(--ink,#fff);font-size:.7rem;border-left:3px solid #c38d31;padding-left:6px}.qps-weather-detail{padding:0 12px 12px;font-size:.8rem;line-height:1.5}.qps-weather footer{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.7rem;color:var(--muted,#a7bacb)}.qps-weather footer a{color:inherit;text-decoration:underline}.qps-weather-warning{padding:10px;border-left:3px solid #c38d31}#clock-weather{max-width:1140px;margin:20px auto 40px;--panel:#fff;--soft:#f3f6fa;--line:#d7e0e6}#clock-weather [data-weather-refresh]{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--soft);color:inherit}@media(max-width:1180px){#clock-weather{margin-left:16px;margin-right:16px}}@media(max-width:1050px){.qps-weather-days{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.qps-weather{padding:14px}.qps-weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.qps-weather select{max-width:200px}.qps-weather-day summary{min-height:205px}}@media print{.qps-weather{display:none}}
html[data-clock-theme=dark] #clock-weather{--panel:#141f27;--soft:#101820;--line:#334452;--ink:#e5edf5;--muted:#a7b6c6}#clock-weather header label{width:auto}.qps-weather-day summary>span{overflow-wrap:anywhere}
.qps-weather-compact{margin:0 20px 15px;padding:12px;border-radius:10px;background:var(--soft,#f3f6fa)}.qps-weather-compact header{gap:8px}.qps-weather-compact h3{font-size:.8rem;margin:0}.qps-weather-compact header .button{font-size:.68rem;padding:6px 8px;min-height:32px;white-space:normal}.qps-weather-compact [data-weather-body]>p{font-size:.78rem;line-height:1.5;margin:10px 0 0}.qps-weather-today-main{display:flex;align-items:center;gap:10px;margin:12px 0}.qps-weather-today-main>div{display:flex;flex-direction:column;gap:4px;min-width:0}.qps-weather-today-main strong{font-size:1.15rem}.qps-weather-today-main small{font-size:.8rem;font-weight:400;color:var(--muted)}.qps-weather-today-main div>span{font-size:.78rem;overflow-wrap:anywhere;line-height:1.4}.qps-weather-today-metrics{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:.7rem;color:var(--muted)}.qpd-projects.list .qps-weather-compact{grid-column:1/-1;grid-row:2;margin:0 18px 16px}.qps-weather-dialog{box-sizing:border-box;width:min(1180px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:22px;border:1px solid var(--line,#304352);border-radius:20px;background:var(--panel,#122331);color:var(--ink,#eef5fa);box-shadow:0 24px 80px #0007;overflow:auto;overscroll-behavior:contain}.qps-weather-dialog::backdrop{background:#07111bc4;backdrop-filter:blur(5px)}.qps-weather-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.qps-weather-dialog-heading>div{min-width:0}.qps-weather-dialog-heading h2{margin:6px 0 0;font-size:1.3rem;overflow-wrap:anywhere}.qps-weather-dialog-heading>button{flex-shrink:0}.qps-weather-dialog .qps-weather{margin:18px 0 0;padding:0;border:0}.qps-weather-dialog .qps-weather-days{grid-template-columns:repeat(7,minmax(0,1fr))}html:has(.qps-weather-dialog[open]){overflow:hidden}#clock-weather{margin-bottom:20px}@media(max-width:1050px){.qps-weather-dialog .qps-weather-days{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.qps-weather-dialog{padding:16px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.qps-weather-dialog .qps-weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.qps-weather-dialog-heading h2{font-size:1.1rem}}@media print{.qps-weather-dialog{display:none}}

/* Clock: today's forecast beside the project time, with the week in a dialog. */
.clock-project #clock-weather{margin:18px 0;padding:16px;max-width:none;--panel:#173b4c;--soft:#163544;--line:#ffffff30;--ink:#f0f6fa;--muted:#bed1dd;background:var(--panel);color:var(--ink);border-color:var(--line)}
body[data-qps-project-clock] .qps-weather-dialog{--panel:#fff;--soft:#f3f6fa;--line:#d7e0e6;--ink:#102b3d;--muted:#637584}
html[data-clock-theme=dark] body[data-qps-project-clock] .qps-weather-dialog{--panel:#141f27;--soft:#101820;--line:#334452;--ink:#e5edf5;--muted:#a7b6c6}
body[data-qps-project-clock] .qps-weather .button,body[data-qps-project-clock] .qps-weather-dialog .button{border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-height:40px;background:var(--soft);color:var(--ink);font-size:12px;font-weight:650}

/* Keep the Overview's project context together; the full forecast opens on demand. */
.main .open-project-hero.qps-project-overview-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px}
.qps-project-overview-info{min-width:0;overflow-wrap:anywhere}
.qps-project-overview-context{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;min-width:0}
.open-project-hero .qps-project-overview-context>.qps-project-time{margin:0;flex:0 1 360px;width:auto;min-height:70px;align-content:center}
.main .qps-project-overview-context #project-weather{flex:1 1 340px;max-width:490px;margin:0;padding:10px 14px;border-radius:10px;min-width:0;background:var(--soft,#f3f6fa)}
.qps-project-overview-context #project-weather header{gap:8px}
.qps-project-overview-context #project-weather header .button{min-height:36px}
.qps-project-overview-context #project-weather [data-weather-body]{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap}
.qps-project-overview-context #project-weather .qps-weather-today-main{margin:6px 0 0;flex:1 1 170px;gap:10px}
.qps-project-overview-context #project-weather .qps-weather-today-main>div{gap:2px}
.qps-project-overview-context #project-weather .qps-weather-today-metrics{flex-direction:column;gap:4px;padding-top:6px}
.qps-project-overview-context #project-weather .qps-weather-warning{flex-basis:100%;margin:0;padding:5px 8px;font-size:.7rem}
.qps-weather-dialog .qps-weather-dialog-heading h2{font-size:1.3rem}
@media(max-width:760px){
  .main .open-project-hero.qps-project-overview-hero{grid-template-columns:minmax(0,1fr);gap:14px}
  .qps-project-overview-hero>.actions{grid-row:3}
  .qps-project-overview-context{gap:10px}
  .open-project-hero .qps-project-overview-context>.qps-project-time{flex-basis:100%;min-height:0}
  .main .qps-project-overview-context #project-weather{flex-basis:100%;max-width:none}
}
