@font-face{font-family:Archivo;src:url('./archivo-latin.woff2') format('woff2');font-display:swap}@font-face{font-family:Instrument;src:url('./instrument-serif-latin.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--bg:#0b1c23;--surface:#162c34;--raised:#203941;--ink:#f2f3ec;--muted:#b0c4c7;--line:#395059;--control-line:#748d91;--accent:#ff9b69;--good:#9ad5be;--warm:#f1c279;--bad:#ffaaa1;--shadow:#031116;--radius:20px;font-family:Archivo,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.4}
:root[data-theme=ivory]{color-scheme:light;--bg:#f0ede4;--surface:#fcf9f1;--raised:#e6e5d9;--ink:#172e34;--muted:#4d6469;--line:#bac6c5;--control-line:#70847f;--accent:#a84317;--good:#1b6850;--warm:#896016;--bad:#a83329;--shadow:#a9b8b6}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,a{min-height:44px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}button{text-align:left}button:hover{background:var(--raised)}[hidden]{display:none!important}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted)}.board{width:min(100%,1920px);margin:auto;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:grid;gap:14px}.topbar,.dayline,.top-actions,.panel-heading,.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{min-height:38px}.brand{display:flex;align-items:center;gap:18px;--brand-size:20px;font-size:var(--brand-size);font-weight:600;letter-spacing:-.06em;color:var(--accent)}.brand>span{font-size:16px;letter-spacing:-.025em;font-weight:400;color:var(--ink);border-left:1px solid var(--line);padding-left:18px}.brand i{font-family:Instrument,Georgia,serif;font-size:22px;color:var(--accent);font-style:normal}.preview{font:10px Archivo,sans-serif;letter-spacing:.1em;border:1px solid var(--line);border-radius:5px;padding:3px 6px;color:var(--accent)}.top-actions{gap:4px;font-size:12px}.top-actions button,.original{padding:10px 12px;border-radius:10px;display:flex;align-items:center}.top-actions [aria-pressed=true]{background:var(--raised);color:var(--accent)}.dayline h1{font-family:Instrument,Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.025em}.source-status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;border-radius:10px;padding:8px}.dot{width:6px;height:6px;background:var(--warm);border-radius:50%;flex:none}.source-status[data-state=good] .dot{background:var(--good)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.kpi{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;min-width:0;transition:background .2s,border-color .2s,transform .2s}.kpi:hover{border-color:var(--accent);transform:translateY(-2px)}.kpi-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.07em;color:var(--muted)}.kpi-name{font-size:15px;margin-top:9px}.kpi-value{display:flex;gap:6px;align-items:baseline;margin-top:auto;padding-top:16px;white-space:nowrap}.kpi-number{font-size:clamp(48px,5vw,84px);font-weight:500;letter-spacing:-.075em;line-height:1;font-variant-numeric:tabular-nums}.kpi-scale{font-size:12px;color:var(--muted)}.score-track{height:3px;background:var(--line);margin:16px 0 10px}.score-fill{display:block;height:100%;width:0;background:var(--good);transition:width 1s cubic-bezier(.22,1,.36,1)}.kpi[data-tone=warm] .score-fill{background:var(--warm)}.kpi[data-tone=bad] .score-fill{background:var(--bad)}.kpi-foot{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;flex-wrap:wrap}.kpi .empty-note{font-size:11px;color:var(--muted);margin-top:7px}.kpi[data-key=removed] .score-fill{width:32px!important}.kpi[data-key=removed][data-tone=neutral] .score-fill{width:0!important}.kpi.updated{animation:updated 1.1s ease}@keyframes updated{30%{border-color:var(--accent);background:var(--raised);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}}
.overview{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;min-width:0}.panel{border-top:1px solid var(--line);padding-top:12px;min-width:0}.panel-heading{gap:8px;min-height:30px}.panel h2{font-size:14px;font-weight:500}.small-link{font-size:11px;color:var(--muted);padding:5px 0;white-space:nowrap}.trend-head{display:flex;align-items:baseline;gap:10px;margin:6px 0 0}.trend-head strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.trend-head span{font-size:11px;color:var(--muted)}.chart-button{display:block;width:100%;padding:0;border-radius:8px;min-height:80px}.chart-button:hover{background:transparent}#trend{width:100%;height:100px;display:block}.chart-axis{stroke:var(--line);stroke-width:1}.chart-line{stroke:var(--accent);stroke-width:2;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart-text{font:11px Archivo,sans-serif;fill:var(--muted)}.chart-point{fill:var(--accent)}.property-short{min-height:69px}.property-row{width:100%;min-height:34px;padding:4px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.property-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.property-row strong{font-weight:400;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.property-short>.muted{padding:10px 0;font-size:12px}.complaints{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.complaints button{padding:0;min-width:0}.complaints span{font-size:11px;color:var(--muted);display:block}.complaints strong{font-size:22px;font-weight:500;margin-right:7px}.complaints small{display:block;font-size:11px;color:var(--muted)}.request-main{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}.request-main button{padding:0}.request-main strong{display:block;font-size:35px;font-weight:500;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.request-main span{font-size:11px;color:var(--muted)}.delivery-strip{display:flex;gap:3px;height:4px;background:var(--line)}.delivery-strip span{background:var(--good)}.delivery-strip span:nth-child(2){background:var(--accent)}.delivery-strip span:nth-child(3){background:var(--warm)}.channel-labels{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-top:8px}.request-alert{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;font-size:12px}.request-alert[data-errors=true]{color:var(--bad)}.request-panel>.muted{font-size:11px}.recent{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 15px;min-width:0;min-height:50px}.recent-title{font-size:12px;white-space:nowrap}.recent-title small{font-size:11px;color:var(--accent);display:block;margin-top:3px}#recent-items{display:flex;gap:24px;color:var(--muted);font-size:12px;min-width:0}#recent-items span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#recent-items b{font-weight:500;color:var(--ink);padding-left:8px}.arrow{color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;padding-top:4px}footer button{font-size:11px;border-radius:8px;padding:6px 10px}.signature{font-family:Instrument,Georgia,serif;font-size:17px;white-space:nowrap}#notice{max-width:70%}
dialog{padding:0;width:min(880px,calc(100vw - 40px));max-height:calc(100svh - 48px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 100px var(--shadow);overflow:auto}dialog::backdrop{background:#031318c9;backdrop-filter:blur(6px)}dialog[open]{animation:sheet-in .38s cubic-bezier(.16,1,.3,1)}@keyframes sheet-in{from{opacity:.45;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sheet-top{position:sticky;top:0;z-index:2;padding:22px 26px;background:var(--surface);border-bottom:1px solid var(--line)}.sheet-top h2{font-family:Instrument,Georgia,serif;font-size:32px;font-weight:400;line-height:1.1}.sheet-top button{border:1px solid var(--line);border-radius:12px;font-size:12px;padding:8px 12px;white-space:nowrap}.sheet-body{padding:22px 26px}.sheet-body h3{font-size:15px;margin:22px 0 8px}.sheet-body p{margin:8px 0;white-space:pre-line}.sheet-body a{display:inline-flex;align-items:center}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:8px 0 16px}.filters label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:4px;flex:1;min-width:110px}.filters input,.filters select,input{border:1px solid var(--control-line);background:var(--bg);color:var(--ink);border-radius:9px;padding:9px;min-height:44px;font-size:16px;min-width:0;width:100%}.filters button,.primary{background:var(--accent);color:var(--bg);border-radius:9px;padding:10px 18px;min-height:44px}.list-status{font-size:12px;color:var(--muted);min-height:24px}.list-row{display:flex;align-items:center;gap:16px;width:100%;border-bottom:1px solid var(--line);padding:15px 0;min-height:70px}.list-score{flex:none;font-size:28px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent)}.list-text{min-width:0;flex:1}.list-text strong{font-size:14px;display:block;font-weight:500}.list-text span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.list-excerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:12px;font-size:12px}.pager button{border:1px solid var(--line);border-radius:8px;padding:8px 12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:16px 0}.stat-box{padding:12px;background:var(--bg);border-radius:10px}.stat-box strong{display:block;font-size:24px;font-weight:500}.stat-box span{font-size:11px;color:var(--muted)}.detail-score{font-size:60px;letter-spacing:-.05em;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--accent)}.detail-copy{font-size:16px;line-height:1.6}.chip{display:inline-block;font-size:11px;border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:4px 8px;margin:4px 6px 4px 0}.chip.good{color:var(--good)}.timeline{list-style:none;padding:0;margin:12px 0}.timeline li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.timeline time{display:block;color:var(--muted);font-size:11px;margin-top:3px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-grid img,.media-grid video{display:block;width:100%;max-height:350px;object-fit:contain;border-radius:10px;background:var(--bg)}.media-grid a{display:block}.alert{color:var(--bad)}.access{min-height:100svh;display:grid;place-items:center;padding:24px}.access-card{width:min(400px,100%);padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.access-card>.preview{display:inline-block;margin-top:25px}.access h1{font:54px/.95 Instrument,Georgia,serif;letter-spacing:-.04em;margin:22px 0}.access p{color:var(--muted);font-size:14px;line-height:1.5;margin:16px 0}.access label{display:block;font-size:12px;margin:22px 0 8px}.access .primary{width:100%;margin-top:12px;text-align:center}.access a{font-size:12px}.access .brand{gap:10px}.access .brand>span{padding-left:10px;font-size:14px}.access .brand i{font-size:18px}
@media(min-width:700px){.board{height:100svh;max-height:1120px;grid-template-rows:auto auto minmax(170px,1fr) minmax(190px,.88fr) auto auto;gap:12px}.dayline h1{font-size:25px}.kpi-number{font-size:clamp(48px,5.5vw,110px)}.kpi-value{padding-top:8px}.overview .panel-heading{min-height:30px}.panel-heading .small-link{min-height:34px}.signature{font-size:15px}}
@media(min-width:700px) and (max-height:730px){.board{gap:8px;padding-top:8px;padding-bottom:8px;grid-template-rows:auto auto minmax(145px,1fr) minmax(min-content,1fr) auto auto}.topbar{min-height:30px}.dayline h1{font-size:22px}.kpi{padding:12px 15px}.kpi-name{margin-top:5px;font-size:13px}.kpi-number{font-size:52px}.score-track{margin:10px 0 8px}.panel{padding-top:6px}.trend-head{margin:0}.trend-head strong{font-size:23px}#trend{height:72px}.request-main{margin-bottom:8px}.request-main strong{font-size:28px}.complaints{padding-top:5px}.recent{min-height:44px;padding:7px 12px}.topbar button,.topbar a,.source-status{min-height:34px}footer button{min-height:30px}}
@media(min-width:700px) and (max-width:850px) and (min-height:850px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-rows:auto auto minmax(350px,1.8fr) minmax(215px,1fr) auto auto}.kpi-number{font-size:64px}.kpi-name{font-size:15px}.overview{gap:15px}.panel h2{font-size:12px}.panel-heading{flex-wrap:wrap;gap:0}.panel-heading .small-link{min-height:28px}.complaints{gap:5px}.complaints small{font-size:11px}}
@media(min-width:1600px){:root{font-size:18px}.board{gap:22px;padding:28px 42px;max-height:none;grid-template-rows:auto auto minmax(220px,1fr) minmax(260px,.85fr) auto auto}.brand{--brand-size:30px;font-size:var(--brand-size)}.brand>span{font-size:24px}.brand i{font-size:32px}.preview{font-size:12px}.dayline h1{font-size:36px}.kpi{padding:28px}.kpi-top,.kpi-foot,.kpi-scale{font-size:17px}.kpi-name{font-size:24px}.kpi-number{font-size:clamp(96px,6.5vw,180px)}.overview{gap:40px}.panel h2{font-size:22px}.small-link,.muted,.request-panel>.muted{font-size:16px}.trend-head strong{font-size:46px}.trend-head span,.property-row,.complaints span,.complaints small,.request-main span,.channel-labels,.request-alert,.recent-title,#recent-items{font-size:18px}.request-main strong{font-size:56px}.complaints strong{font-size:34px}#trend{height:150px}.property-row{min-height:42px}.source-status,.top-actions,footer,.recent-title small{font-size:16px}.recent{min-height:70px}.signature{font-size:24px}}
@media(max-width:699px){.board{padding:12px 16px max(16px,env(safe-area-inset-bottom));gap:12px}.brand{--brand-size:19px;font-size:var(--brand-size);gap:10px}.brand>span{font-size:13px;padding-left:10px}.brand i{font-size:18px}.preview{font-size:8px;padding:3px}.top-actions{font-size:11px}.top-actions button,.original{padding:6px 7px}.original{display:none}.dayline h1{font-size:27px}.source-status{font-size:10px;max-width:160px;min-height:34px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:13px 14px;min-height:170px;border-radius:17px}.kpi-name{font-size:14px;margin-top:6px}.kpi-number{font-size:48px}.kpi-value{padding-top:10px}.kpi-top{font-size:10px;letter-spacing:.03em}.kpi-foot{font-size:11px;gap:3px;display:block}.kpi-foot span{display:block}.kpi-foot .kpi-note{font-size:10px}.score-track{margin:11px 0 8px}.kpi .empty-note{display:none}.overview{grid-template-columns:1fr;gap:24px;margin-top:10px}.panel{padding-top:14px}.trend-head strong{font-size:32px}#trend{height:130px}.property-short{min-height:0}.recent{flex-wrap:wrap;gap:8px}.recent-title{white-space:normal}.recent-title small{display:inline;padding-left:8px}#recent-items{width:100%;order:3;display:block}#recent-items span{display:block}.signature{display:none}.sheet-top{padding:18px}.sheet-top h2{font-size:29px}.sheet-body{padding:18px}dialog{width:calc(100vw - 16px);max-height:calc(100svh - 16px);border-radius:22px;margin:auto auto 8px}.filters{gap:8px}.filters label{min-width:110px}#detail-title{font-size:24px}.media-grid{grid-template-columns:1fr}.access-card{padding:26px}}
@media(max-width:380px){.board{padding-left:12px;padding-right:12px}.brand{gap:8px}.brand>span{padding-left:8px}.preview{display:none}.kpi{padding:11px;min-height:167px}.kpi-number{font-size:44px}.kpi-note{line-height:1.15}.top-actions{gap:0}.dayline h1{font-size:24px}}
:root[data-layout=tv] .board{width:min(100%,calc(100svh * 16 / 9));max-height:none}:root[data-layout=tv] .original{display:flex}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:700px) and (max-height:550px){.board{height:auto;min-height:100svh}}
@media(min-width:700px) and (max-height:650px){.board{grid-template-rows:auto auto minmax(min-content,1fr) minmax(min-content,1fr) auto auto;gap:7px}.kpi-value{padding-top:4px}.score-track{flex-shrink:0;margin:7px 0}.kpi-foot{gap:3px;font-size:10px}.panel-heading .small-link{min-height:26px}.panel-heading{min-height:26px}.property-row{min-height:28px}.property-short>.small-link{min-height:28px}.request-alert{min-height:34px}.chart-button{min-height:70px}.complaints{margin-top:2px;padding-top:4px}}
@media(max-width:699px){.original{display:flex;font-size:10px;padding:6px 5px}.topbar .preview{display:none}.top-actions{gap:0}}

.review-dates{display:grid;gap:0;margin:18px 0;border-top:1px solid var(--line)}.review-dates>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.review-dates dt{color:var(--muted)}.review-dates dd{margin:0;font-variant-numeric:tabular-nums}.list-text .removal-label{font-weight:500;color:var(--ink)}.origin-chip[data-tone=warm],.removal-label[data-tone=warm]{color:var(--warm)}.origin-chip[data-tone=good]{color:var(--good)}

.notification-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notification-examples strong{font-size:15px}.notification-examples p{line-height:1.5}#notifications{white-space:nowrap}@media(max-width:699px){footer{flex-wrap:wrap}footer #notice{flex:1 0 100%}.notification-examples{grid-template-columns:1fr}}

.live-word{font-style:normal;font-size:var(--brand-size);font-weight:600;line-height:1;color:var(--good);display:inline-block}html[data-updating=true] #board .live-word{animation:live-update 1.15s ease-in-out infinite}@keyframes live-update{0%,100%{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){html[data-updating=true] #board .live-word{animation:none}}

.list-text .review-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0}.frs-badge,.list-text .frs-badge{display:inline-flex;align-items:center;gap:5px;flex:none;width:max-content;font-size:10px;font-weight:600;line-height:1.3;letter-spacing:.04em;color:var(--good);background:rgba(66,156,112,.12);border:1px solid var(--good);border-radius:6px;padding:3px 6px;margin:0;vertical-align:middle}.frs-badge::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:currentColor}

/* Motion follows loading and real changes; no movement when the board is idle. */
.score-track{position:relative;overflow:hidden}.score-track::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--ink),transparent);transform:translateX(-110%);opacity:0;pointer-events:none}html[data-updating=true] .score-track::after{animation:loading-sweep 1.45s ease-in-out infinite}html[data-updating=true] .kpi:nth-child(2) .score-track::after{animation-delay:.12s}html[data-updating=true] .kpi:nth-child(3) .score-track::after{animation-delay:.24s}html[data-updating=true] .kpi:nth-child(4) .score-track::after{animation-delay:.36s}@keyframes loading-sweep{0%{transform:translateX(-110%);opacity:0}30%,65%{opacity:.65}100%{transform:translateX(110%);opacity:0}}
.chart-line.is-drawing{stroke-dasharray:1;animation:chart-draw 1.15s cubic-bezier(.22,1,.36,1) both}@keyframes chart-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}.chart-point.is-drawing{transform-box:fill-box;transform-origin:center;animation:point-arrive .45s .7s ease-out both}@keyframes point-arrive{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
.list-row{animation:row-arrive .45s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--row-delay,0ms)}@keyframes row-arrive{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.kpi:active,.recent:active{transform:scale(.98)}.top-actions button,.small-link,.sheet-top button,.pager button,.recent{transition:background .2s,border-color .2s,transform .2s}.sheet-top button:active,.pager button:active{transform:scale(.96)}
html[data-motion-paused=true] *,html[data-motion-paused=true] *::before,html[data-motion-paused=true] *::after{animation-play-state:paused!important}

/* Desktop uses content-sized rows instead of expanding the KPI cards. */
.rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ranking-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;background:var(--surface)}
.ranking-card h2{font-size:16px;font-weight:500}.ranking-caption{font-size:12px;color:var(--muted);margin:0 0 8px}
.ranking-rows{min-height:120px}.ranking-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 125px;align-items:center;gap:12px;min-height:40px;width:100%;border-bottom:1px solid var(--line);font-size:13px;padding:8px 0}.ranking-row:last-child{border-bottom:0}.ranking-row>span:first-child{overflow-wrap:anywhere}.ranking-row strong,.ranking-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.ranking-row strong{color:var(--good)}#properties .ranking-row strong,#teams-worst .ranking-row strong{color:var(--accent)}
.ranking-columns{display:grid;grid-template-columns:minmax(0,1fr) 110px 125px;gap:12px;color:var(--muted);font-size:11px;margin:8px 0}.ranking-columns>span:not(:first-child){text-align:right}.ranking-empty{color:var(--muted);font-size:13px;line-height:1.6;padding:22px 0}.team-period{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.team-period label{display:flex;align-items:center;gap:10px;color:var(--muted)}.team-period select{padding:8px 12px;min-height:44px}.ranking-note{font-size:12px;color:var(--muted);margin-top:10px}
@media(min-width:1000px){:root:not([data-layout=tv]) .board{height:auto;min-height:100svh;max-height:none;grid-template-rows:auto auto auto auto auto auto auto;gap:16px;padding:20px 28px;align-content:start}:root:not([data-layout=tv]) .kpi{min-height:195px;padding:18px 22px}:root:not([data-layout=tv]) .kpi-number{font-size:64px}:root:not([data-layout=tv]) .kpi-name{font-size:17px}:root:not([data-layout=tv]) .kpi-top,:root:not([data-layout=tv]) .kpi-foot,:root:not([data-layout=tv]) .kpi-scale{font-size:12px}:root:not([data-layout=tv]) .overview{gap:24px}:root:not([data-layout=tv]) .overview h2{font-size:16px}:root:not([data-layout=tv]) .small-link,:root:not([data-layout=tv]) .muted{font-size:12px}:root:not([data-layout=tv]) .trend-head strong{font-size:30px}:root:not([data-layout=tv]) #trend{height:95px}:root:not([data-layout=tv]) .request-main strong{font-size:36px}:root:not([data-layout=tv]) .complaints strong{font-size:30px}:root:not([data-layout=tv]) .complaints span,:root:not([data-layout=tv]) .complaints small,:root:not([data-layout=tv]) .request-main span,:root:not([data-layout=tv]) .channel-labels,:root:not([data-layout=tv]) .request-alert{font-size:12px}:root:not([data-layout=tv]) .recent{min-height:62px}:root:not([data-layout=tv]) .recent-title,:root:not([data-layout=tv]) #recent-items{font-size:14px}}
@media(min-width:700px) and (max-width:999px){.board{height:auto;max-height:none;grid-template-rows:none}.ranking-card{padding:12px}.ranking-row,.ranking-columns{grid-template-columns:minmax(0,1fr) 75px 85px;gap:8px}}
:root[data-layout=tv] .board{height:auto;grid-template-rows:none}
@media(max-width:699px){.rankings{grid-template-columns:1fr;gap:14px}.ranking-card{padding:14px}.ranking-row,.ranking-columns{grid-template-columns:minmax(0,1fr) 80px 85px;gap:8px}.ranking-card h2{font-size:15px}.team-period{align-items:flex-start;flex-wrap:wrap}}

/* Reserve iOS status-bar space in the installed app as well as Safari. */
.board{padding-top:calc(env(safe-area-inset-top,0px) + 16px)!important}
.theme-switch{display:grid!important;place-items:center;padding:8px!important;width:44px;height:44px;border-radius:50%!important;flex:none}.theme-switch svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-switch[aria-pressed=true]{color:var(--accent)}
.top-actions{gap:8px}.top-actions .source-status{font-size:12px;white-space:nowrap}.period-selector{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.period-selector button{padding:8px 14px;text-align:center;min-height:36px;border-radius:10px;font-size:13px}.period-selector button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
@media(min-width:700px){.board{height:auto;max-height:none;grid-template-rows:none}}
@media(max-width:699px){.board{padding-top:calc(env(safe-area-inset-top,0px) + 10px)!important}.topbar{gap:8px}.brand{gap:8px;--brand-size:17px}.brand>span{padding-left:8px;font-size:12px}.brand i{font-size:17px}.top-actions{gap:0}.top-actions .source-status{font-size:10px;padding:4px;gap:4px}.theme-switch{width:36px;height:36px;min-height:36px}.dayline{flex-wrap:wrap;gap:8px}.dayline h1{font-size:24px;flex:1 1 150px}.period-selector{padding:3px;gap:2px}.period-selector button{font-size:12px;padding:7px 10px}.source-status .dot{width:5px;height:5px}}
@media(display-mode:standalone) and (max-width:699px){.board{padding-top:calc(max(env(safe-area-inset-top,0px),24px) + 10px)!important}}

.calendar-open{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);background:var(--surface);border-radius:12px;font-size:13px;white-space:nowrap}.calendar-open svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.calendar-dialog{width:min(440px,calc(100vw - 24px));margin:auto;border-radius:22px}.calendar-dialog .sheet-top h2{font-size:28px}.calendar-dialog .period-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.calendar-dialog .period-selector button{padding:8px;min-height:44px}.calendar-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-dates label{min-width:0;font-size:13px;color:var(--muted);display:grid;gap:8px}.calendar-dates input{min-width:0;width:100%;font-size:15px}#calendar-form>.primary{width:100%;text-align:center;margin-top:18px}#calendar-error{margin-top:10px;font-size:12px}

/* A month grid with a continuous date-range highlight. */
.calendar-dialog{font-family:-apple-system,BlinkMacSystemFont,Archivo,sans-serif;width:min(420px,calc(100vw - 24px));background:var(--surface);box-shadow:0 24px 90px #0005}.calendar-dialog .sheet-top{padding:20px 24px 0;border:0}.calendar-dialog .sheet-top h2{font:600 20px/1.3 -apple-system,BlinkMacSystemFont,sans-serif}.calendar-dialog .sheet-body{padding:18px 24px 24px}.calendar-dialog .sheet-top>button{width:32px;min-height:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:50%;background:var(--raised);font-size:22px;color:var(--muted)}
.calendar-dialog .period-selector{border:0;background:var(--raised);padding:3px;border-radius:10px;margin-bottom:18px;gap:3px}.calendar-dialog .period-selector button{min-height:34px;font-size:13px;padding:6px;border-radius:8px}.calendar-dialog .period-selector button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0002}
.calendar-range{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;text-align:center;gap:8px;margin-bottom:18px}.calendar-range>button{display:grid;gap:3px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg)}.calendar-range>button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.calendar-range small{font-size:11px;color:var(--muted)}.calendar-range strong{font-size:13px;font-weight:500}.calendar-range>span{color:var(--muted)}
.month-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.month-heading h3{font-size:17px;font-weight:600;text-transform:capitalize}.month-heading>div{display:flex;gap:8px}.month-heading button{width:36px;min-height:36px;text-align:center;border-radius:50%;font-size:26px;color:var(--accent);padding:0;line-height:1}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:var(--muted);font-size:12px;text-align:center;margin:8px 0}.calendar-days{row-gap:5px}.calendar-day{position:relative;isolation:isolate;min-height:40px;height:40px;text-align:center;padding:0;font-size:15px;z-index:0;background:none;border-radius:0}.calendar-day::before{content:'';position:absolute;inset:0;z-index:-2}.calendar-day.in-range::before{background:color-mix(in srgb,var(--accent) 18%,transparent)}.calendar-day.range-start::before{border-radius:50% 0 0 50%}.calendar-day.range-end::before{border-radius:0 50% 50% 0}.calendar-day.range-start.range-end::before{border-radius:50%}.calendar-day.range-edge::after{content:'';position:absolute;width:36px;height:36px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent);z-index:-1}.calendar-day.range-edge{color:var(--bg);font-weight:600}.calendar-day.is-today:not(.range-edge){color:var(--accent);font-weight:600}.calendar-day:disabled{opacity:.25}.calendar-day:hover:not(:disabled):not(.range-edge){background:var(--raised);border-radius:8px}.calendar-hint{font-size:12px;color:var(--muted);margin-top:16px}.calendar-dialog .primary{border-radius:12px;min-height:44px;font-weight:600}
@media(max-width:380px){.calendar-dialog .sheet-body{padding:16px}.calendar-dialog .sheet-top{padding:16px 16px 0}.calendar-range strong{font-size:12px}}

.issue-legend{display:flex;align-items:center;gap:20px;font-size:11px;color:var(--muted);margin:14px 0 6px}.issue-legend>span{display:flex;align-items:center;gap:6px}.issue-legend i{display:inline-block;width:16px;height:3px;border-radius:2px}.cleaning-key{background:var(--accent)}.maintenance-key{background:var(--good)}#issues-chart{display:block;width:100%;height:110px}.issue-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.issue-line.issue-pulizia{stroke:var(--accent)}.issue-line.issue-manutenzione{stroke:var(--good);stroke-dasharray:5 3}.issue-dot.issue-pulizia{fill:var(--accent)}.issue-dot.issue-manutenzione{fill:var(--good)}

/* Matching summaries and plotting areas across the overview. */
.overview{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview .panel-heading{min-height:44px;flex-wrap:nowrap}
.trend-panel .trend-head,.attention-panel .trend-head{height:44px;margin:6px 0 0;align-items:baseline}
.issue-summary{gap:20px}.issue-summary>button{display:flex;align-items:baseline;gap:8px;padding:0;min-height:44px;white-space:nowrap}.issue-summary span{display:inline-flex;align-items:center}
#issues-chart{height:100px}
@media(min-width:700px) and (max-height:730px){#issues-chart{height:72px}}
@media(min-width:1000px){:root:not([data-layout=tv]) #issues-chart{height:95px}}
@media(max-width:699px){.overview{grid-template-columns:1fr}#issues-chart{height:130px}}
@media(min-width:700px) and (max-width:999px){.issue-summary{gap:10px}.issue-summary>button{gap:4px}.issue-summary span{font-size:10px}}

.trend-panel .chart-button{min-height:0}

/* Shared readable chart geometry; dense periods use lines and a final marker. */
:root:not([data-layout=tv]) #trend,:root:not([data-layout=tv]) #issues-chart{height:140px}
.chart-series{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chart-series.booking-series,.chart-series.issue-pulizia{stroke:var(--accent)}.chart-series.issue-manutenzione{stroke:var(--good);stroke-dasharray:5 3}
.chart-series-dot.booking-series,.chart-series-dot.issue-pulizia{fill:var(--accent)}.chart-series-dot.issue-manutenzione{fill:var(--good)}
.chart-hit{fill:transparent;stroke:transparent;stroke-width:1.5}.chart-hit:hover{fill:var(--surface);stroke:var(--accent)}.chart-hit.issue-manutenzione:hover{stroke:var(--good)}
.chart-missing{fill:var(--muted);opacity:.035}.chart-missing-label{opacity:.65;font-size:10px}.chart-axis{stroke-opacity:.6}
@media(max-width:699px){:root:not([data-layout=tv]) #trend,:root:not([data-layout=tv]) #issues-chart{height:155px}}

.list-search{margin-bottom:12px;display:flex;gap:10px}.list-search>input{flex:1;min-width:0}.list-search>select{max-width:180px}.list-status button{color:var(--accent);padding:0 10px}#list-metrics:empty{display:none}

.brand>.adado-logo{display:block;flex:none;width:82px;height:26px;padding:0;border:0;background:var(--accent);-webkit-mask:url('./logo-adado.png') center/contain no-repeat;mask:url('./logo-adado.png') center/contain no-repeat}.brand>.brand-title{white-space:nowrap}
@media(max-width:699px){.brand>.adado-logo{width:64px;height:21px}}

.team-rating{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.team-rating small{font-size:11px;color:var(--muted);line-height:1.3}

.chart-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.chart-controls .period-selector{margin:0}.chart-controls button{min-width:48px}@media(min-width:1000px){.chart-controls{width:calc((100% - 24px)/3*2)}}@media(max-width:699px){.chart-controls{flex-wrap:wrap}.chart-controls .period-selector{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}}

.apple-segments{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(var(--segments,4),1fr);padding:4px;gap:0;border:0;border-radius:13px;background:var(--raised)}.apple-segments::before{content:"";position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/var(--segments,4));border-radius:10px;background:var(--surface);box-shadow:0 1px 4px #0003;transform:translateX(calc(var(--segment,1)*100%));transition:transform .22s ease,opacity .15s}.apple-segments[data-selected=false]::before{opacity:0}.apple-segments button{background:none;border:0;margin:0;border-radius:10px;min-height:44px;text-align:center;color:var(--muted)}.apple-segments button[aria-pressed=true]{background:none;color:var(--ink);font-weight:600}@media(prefers-reduced-motion:reduce){.apple-segments::before{transition:none}}

.cleaner-controls .period-selector{margin:0;min-width:242px}.cleaner-controls .apple-segments{--segment:1;--segments:5}@media(max-width:699px){.cleaner-controls .period-selector{width:100%}}

.cleaner-card{grid-column:1/-1}.cleaner-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 16px;font-size:12px;color:var(--muted)}.cleaner-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:13px}.cleaner-table th,.cleaner-table td{text-align:right;padding:10px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cleaner-table th{font-size:11px;color:var(--muted);font-weight:500}.cleaner-table th:first-child,.cleaner-table td:first-child{text-align:left;width:46%;padding-left:0}.cleaner-table th:last-child,.cleaner-table td:last-child{padding-right:0}.cleaner-table strong{color:var(--good)}.cleaner-table tr:last-child td{border-bottom:0}.cleaner-name{width:100%;padding:4px 0;min-height:32px;font-size:inherit}.cleaner-table tbody tr:hover{background:var(--raised)}@media(max-width:699px){.cleaner-controls{flex-wrap:wrap}.cleaner-table{font-size:12px}.cleaner-table th,.cleaner-table td{padding:9px 4px}.cleaner-table th{font-size:10px}.cleaner-table th:first-child,.cleaner-table td:first-child{width:37%}.cleaner-name{min-height:44px}}

.cleaner-rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cleaner-rankings h3{font-size:14px}.cleaner-rankings>section{min-width:0}#teams-worst .cleaner-table strong{color:var(--accent)}@media(max-width:699px){.cleaner-rankings{grid-template-columns:1fr;gap:20px}}

.performance-controls{margin-bottom:12px}.performance-controls button{min-width:52px}.performance-heading{font-size:12px;color:var(--muted);margin:14px 0 4px}.complaint-bar{fill:var(--good)}

.performance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}.performance-stats>div{display:flex;flex-direction:column;gap:5px;min-width:0}.performance-stats span,.performance-stats small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.performance-stats strong{font-size:24px}@media(max-width:699px){.performance-stats{gap:8px}.performance-stats span,.performance-stats small{font-size:10px}.performance-stats strong{font-size:21px}}

.overview>.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;min-width:0}.overview{align-items:stretch}.overview .panel-heading{gap:8px}.overview .panel-heading h2{min-width:0}@media(max-width:699px){.overview>.panel{padding:16px 14px}}

.property-card{grid-column:1/-1}.property-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 16px;font-size:12px;color:var(--muted)}.property-controls .period-selector{margin:0;min-width:242px;--segments:5;--segment:1}.property-rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.property-rankings h3{font-size:14px}.property-rankings>section{min-width:0}@media(max-width:699px){.property-controls{flex-wrap:wrap}.property-controls .period-selector{width:100%}.property-rankings{grid-template-columns:1fr;gap:20px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ranking-header{gap:16px;align-items:center;margin-bottom:10px}.ranking-header .property-controls,.ranking-header .cleaner-controls{margin:0}.ranking-header h2{font-size:17px;line-height:1.3}.property-rankings .ranking-row{grid-template-columns:minmax(0,1fr) 82px 82px;gap:10px}.property-card>.ranking-caption,.cleaner-card>.ranking-caption{margin:0 0 8px}.cleaner-rankings .panel-heading,.property-rankings .panel-heading{min-height:40px}.cleaner-rankings h3,.property-rankings h3{font-weight:600}.ranking-header .apple-segments button{padding:6px 12px}@media(min-width:700px){.chart-controls{width:calc((100% - 48px)/3*2 + 24px)}}@media(max-width:699px){.ranking-header{flex-wrap:wrap;gap:12px}.ranking-header .property-controls,.ranking-header .cleaner-controls{width:100%}.ranking-header .apple-segments{width:100%;min-width:0}.ranking-header .apple-segments button{padding:6px 4px}.property-rankings .ranking-row{grid-template-columns:minmax(0,1fr) 64px 65px;gap:8px}.chart-controls{gap:8px}}

.issues-footer{display:flex;align-items:center;gap:8px;min-height:28px;flex-wrap:wrap}.issues-footer .muted{font-size:11px;line-height:1.4}.partial-badge{font-size:10px;line-height:1.3;white-space:nowrap;padding:3px 6px;border-radius:6px;background:var(--raised);color:var(--muted)}.info-button{font:600 12px/1 -apple-system,sans-serif;width:28px;min-height:28px;border:1px solid var(--line);border-radius:50%;padding:0;text-align:center;margin-left:auto}.coverage-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:13px}.coverage-details dt{color:var(--muted)}.coverage-details dd{margin:0}.issue-summary{gap:18px}.issue-summary>button{gap:7px}.issue-summary span{font-size:12px;font-weight:400}.issue-summary strong{font-variant-numeric:tabular-nums}@media(max-width:699px){.issue-summary span{font-size:11px}.issues-footer{gap:6px}.issues-footer .muted{font-size:10px}.info-button{width:32px;min-height:32px}}

.issue-summary span{font-size:14px;line-height:1.3}.issue-summary{gap:20px}.issue-summary>button{gap:8px}@media(max-width:699px){.issue-summary span{font-size:13px}.issue-summary{gap:18px}.issue-summary>button{gap:7px}}@media(min-width:700px) and (max-width:999px){.issue-summary span{font-size:12px}.issue-summary>button{flex-direction:column;gap:0;align-items:flex-start}}

.overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0}.overview-label{font-size:14px;font-weight:500;color:var(--muted)}.overview-period-controls{display:flex;align-items:center;gap:10px}.overview-toolbar .apple-segments{--segments:6;--segment:1;margin:0;min-width:280px}.overview-toolbar .apple-segments button{min-width:52px;padding:6px 10px}.overview-toolbar .calendar-open{min-height:44px;font-size:12px}.overview-toolbar .calendar-open svg{width:18px;height:18px}@media(max-width:699px){.overview-toolbar{flex-wrap:wrap;gap:8px}.overview-period-controls{width:100%;gap:8px}.overview-toolbar .apple-segments{min-width:0;flex:1}.overview-toolbar .apple-segments button{min-width:0;padding:6px 3px;font-size:12px}.overview-toolbar .calendar-open{padding:8px}.overview-toolbar #period-label{display:none}.overview-label{font-size:12px}}

.ranking-threshold{font-size:11px;color:var(--muted);font-weight:400;margin:3px 0 8px;line-height:1.4}

.team-reason{display:block;padding:0 0 5px;min-height:28px;text-align:left;font-size:11px;line-height:1.4;color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;white-space:normal}.team-booking-count{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.3}

.ranking-rules{font-size:13px;margin-bottom:12px}.ranking-rules summary{cursor:pointer;min-height:36px;display:list-item;color:var(--muted)}.ranking-rules[open] summary{margin-bottom:8px}.ranking-rules p+p{margin-top:8px}

/* Period Booking average replaces the delivery-status card. */
.booking-average-panel{display:flex;flex-direction:column}.booking-average-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:20px 0 8px;text-align:left;gap:12px;border-radius:12px}.booking-average-content:hover{background:transparent}.booking-average-value{display:flex;align-items:baseline;gap:7px}.booking-average-value strong{font-size:clamp(52px,5vw,76px);font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.booking-average-value>span{font-size:16px;color:var(--muted)}#booking-average-count{font-size:14px;color:var(--muted)}.booking-average-track{display:block;width:100%;height:4px;background:var(--line);margin-top:8px}.booking-average-track>span{display:block;height:100%;background:var(--good);width:0;transition:width .25s ease}.booking-average-note{font-size:12px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.booking-average-track>span{transition:none}}

.sheet-body>.ranking-rules{margin-top:18px}

:is(.cleaner-rankings,.property-rankings){gap:20px;margin-top:14px}:is(.cleaner-rankings,.property-rankings)>section{--team-tone:var(--good);padding:14px 16px;border:1px solid var(--line);border-top:3px solid var(--team-tone);border-radius:14px;background:color-mix(in srgb,var(--team-tone) 4%,var(--surface))}:is(.cleaner-rankings,.property-rankings)>section+section{--team-tone:var(--bad)}:is(.cleaner-rankings,.property-rankings)>section h3{color:var(--team-tone);font-size:22px;line-height:1.2;font-weight:700}.cleaner-name{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cleaner-name:hover{text-decoration-thickness:2px}@media(max-width:699px){:is(.cleaner-rankings,.property-rankings)>section{padding:12px 10px}:is(.cleaner-rankings,.property-rankings){gap:18px}}

.property-rankings .ranking-row>span:first-child,#sheet-body .ranking-row>span:first-child{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

.daily-selector.apple-segments{--segments:4;--segment:0;margin:0;min-width:380px}.daily-selector button{white-space:nowrap;padding:6px 12px}@media(max-width:699px){.daily-selector.apple-segments{min-width:0;width:100%}.daily-selector button{font-size:12px;padding:6px 3px}}

/* Guest Issues: each label carries the colour of its own series, so the line key is redundant. */
.issue-summary span{font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.issue-summary>button[data-open=pulizia] span{color:var(--accent)}
.issue-summary>button[data-open=manutenzione] span{color:var(--good)}
@media(max-width:699px){.issue-summary span{font-size:17px}}
@media(max-width:380px){.issue-summary span{font-size:13px}.issue-summary{gap:10px}.issue-summary>button{gap:6px}}
@media(min-width:700px) and (max-width:999px){.issue-summary span{font-size:14px}}
@media(min-width:1000px) and (max-width:1199px){.issue-summary span{font-size:clamp(13px,1.35vw,16px)}.issue-summary{gap:12px}.issue-summary>button{gap:6px}}
@media(min-width:1600px){.issue-summary span{font-size:24px}}

.review-list-entry{border-bottom:1px solid var(--line)}.review-list-entry>.list-row{border-bottom:0;padding-bottom:8px}.review-cleaning{padding:0 0 16px 54px;font-size:12px;line-height:1.6;color:var(--muted)}.review-cleaning .cleaner-name{display:inline-block;width:auto;min-height:32px;text-align:left;text-decoration:underline;text-underline-offset:3px}.review-cleaning span{display:inline}

/* Original review scores remain visually distinct from the current series. */
.chart-series.without-frs-series{stroke:var(--muted);stroke-dasharray:5 4}
.chart-series-dot.without-frs-series{fill:var(--muted)}
.trend-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:var(--muted);margin:10px 0}
.trend-legend span{display:inline-flex;align-items:center;gap:6px}
.trend-legend span::before{content:"";width:20px;border-top:2px solid var(--accent)}
.trend-legend .trend-frs::before{border-top:2px dashed var(--muted)}
/* The two averages run within a fraction of a point of each other: the filled
   band between them is what makes the removed reviews visible on the chart. */
.frs-band{fill:var(--accent);fill-opacity:.35;stroke:none}
.trend-legend .trend-band::before{border-top:8px solid var(--accent);opacity:.42}

/* Complete calendar months share the global overview range. */
.overview-month-picker{position:relative;flex:none;border-radius:12px;background:var(--raised);color:var(--muted)}.overview-month-picker select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:44px;padding:8px 32px 8px 12px;border:0;border-radius:12px;background:transparent;font-size:13px;cursor:pointer}.overview-month-picker svg{position:absolute;right:11px;top:calc(50% - 7px);width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.overview-month-picker[data-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.overview-month-picker option{background:var(--surface);color:var(--ink)}
@media(max-width:899px){.overview-toolbar{flex-wrap:wrap;gap:8px}.overview-period-controls{width:100%;gap:8px}.overview-toolbar .apple-segments{flex:1;min-width:0}.overview-toolbar #period-label{display:none}}
@media(max-width:539px){.overview-period-controls{flex-wrap:wrap;justify-content:flex-end}.overview-toolbar .apple-segments{flex:1 0 100%}.overview-month-picker{flex:1}.overview-month-picker select{font-size:12px}}

.trend-panel .trend-head{height:auto;min-height:44px;justify-content:space-between;align-items:baseline;gap:16px}.trend-current{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;min-width:0}.trend-comparison{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;text-align:right}.trend-comparison strong{color:var(--muted)}.trend-comparison span{white-space:nowrap}

/* Secondary counterfactual for the received-day score. */
.kpi-comparison{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.3}.comparison-value{color:var(--ink);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.comparison-delta{white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:699px){.kpi-comparison{gap:2px 5px;margin-top:5px;font-size:10px}.comparison-value{font-size:14px}.comparison-delta{font-size:10px}.kpi[data-key=received] .score-track{margin-top:7px}}
@media(min-width:1600px){.kpi-comparison{font-size:16px;gap:5px 10px}.comparison-value{font-size:23px}.comparison-delta{font-size:14px}}
@media(max-width:380px) and (max-height:600px){.kpi{padding:9px 10px;min-height:160px}.kpi-value{padding-top:6px}.score-track{margin:8px 0 6px}}
