/* Explicit, scoped foreground/surface pairs for the weekly sheet. */
.cw-dialog{--cw-bg:#f0f9ff;--cw-card:#fff;--cw-ink:#03045e;--cw-muted:#49647c;--cw-line:#bedee9;--cw-tint:#caf0f8;--cw-blue:#0077b6;width:min(440px,calc(100% - 24px));max-height:calc(90dvh - env(safe-area-inset-bottom,0px));overflow-y:auto;padding:24px!important;background:var(--cw-bg)!important;color:var(--cw-ink)!important;border:1px solid var(--cw-line);border-radius:20px;font-family:'Plus Jakarta Sans',sans-serif}
:root[data-theme=dark] .cw-dialog{--cw-bg:#141b3d;--cw-card:#1e2a4d;--cw-ink:#e8ecf5;--cw-muted:#c0cddd;--cw-line:#425679;--cw-tint:#203f60;--cw-blue:#005f92}
.cw-dialog :is(h2,h3,p,span,strong,td,th,label,summary,small,button){color:var(--cw-ink)!important;-webkit-text-fill-color:var(--cw-ink)!important}
.cw-dialog h2{font-size:1.5rem;margin:0 28px 8px 0;line-height:1.25;text-align:left}
.cw-dialog h3{font-size:1.05rem;margin:0 0 6px}
.cw-dialog :is(h2,h3){font-family:inherit!important;font-weight:700;overflow-wrap:anywhere}
.cw-dialog p{margin:0 0 10px;line-height:1.5;text-align:left!important}
.cw-dialog .cw-muted{font-size:.8rem;color:var(--cw-muted)!important;-webkit-text-fill-color:var(--cw-muted)!important}
.cw-tabs{display:flex;gap:4px;padding:4px;background:var(--cw-tint);border-radius:12px;margin:18px 0}
.cw-dialog button{font:600 .85rem 'Plus Jakarta Sans',sans-serif;min-height:44px;padding:10px 12px;border-radius:9px;cursor:pointer}
.cw-dialog .cw-tabs button{flex:1;border:0;background:transparent!important}
.cw-dialog .cw-tabs button[aria-selected=true]{background:var(--cw-card)!important}
.cw-highlight{background:var(--cw-blue);border-radius:16px;padding:18px;margin:0 0 18px}
.cw-dialog .cw-highlight :is(p,strong,span){color:#fff!important;-webkit-text-fill-color:#fff!important}
.cw-highlight strong{font-size:2rem;font-weight:700;display:block}
.cw-highlight strong span{font-size:1rem}
.cw-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.85rem;margin:12px 0}
.cw-table :is(td,th){padding:10px 5px;border-bottom:1px solid var(--cw-line);text-align:right;background:var(--cw-bg);color:var(--cw-ink)!important}
.cw-table :is(td,th):nth-child(2){text-align:left;overflow-wrap:anywhere}
.cw-table :is(td,th):first-child{text-align:center;width:24px}
.cw-table th{font-size:.75rem}
.cw-table .cw-you td{background:var(--cw-tint)}
.cw-table .cw-member{border:0;background:transparent;padding:0;text-align:left;text-decoration:underline;text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
.cw-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.cw-stat{padding:16px;background:var(--cw-card);border:1px solid var(--cw-line);border-radius:14px}
.cw-stat strong{display:block;font-size:1.6rem}
.cw-profile{padding:16px;background:var(--cw-card);border:1px solid var(--cw-line);border-radius:14px;margin:16px 0}
.cw-stamps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.cw-stamps span{padding:8px;border:1px dashed var(--cw-line);border-radius:6px;background:var(--cw-tint);font-size:.8rem}
.cw-settings{border-top:1px solid var(--cw-line);margin-top:18px;padding-top:16px}
.cw-settings label{display:block;margin:10px 0;line-height:1.5}
.cw-settings input[type=text]{box-sizing:border-box;width:100%;padding:12px;background:var(--cw-card);color:var(--cw-ink);border:1px solid var(--cw-line);border-radius:8px;font-size:16px}
.cw-dialog .cw-action{width:100%;border:1px solid var(--cw-line);background:var(--cw-card);margin-top:8px}
.cw-dialog .cw-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:1.4rem}
.cw-dialog [hidden]{display:none!important}
.cw-dialog :focus-visible{outline:3px solid #008eb8;outline-offset:3px}
@media(max-width:360px){.cw-dialog{padding:18px!important}.cw-table :is(td,th){padding:8px 3px}}

.cw-comparison{display:grid;gap:10px;margin:12px 0 18px;font-variant-numeric:tabular-nums}
.cw-compare-row{display:grid;gap:5px;padding:14px;background:var(--cw-card);border:1px solid var(--cw-line);border-radius:12px;overflow-wrap:anywhere}
.cw-compare-row span,.cw-compare-row small{font-size:.8rem;line-height:1.5}
