/* Critical Dates styles (layered on styles.css) */
body{overflow-x:hidden}
.top .right .badge{background:#fff3d6;color:#7a5a12}
.cd-sub .tab{border-radius:16px}
.cd-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-bottom:12px}
.cd-filters label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px;flex:1 1 150px;min-width:0}
.cd-filters select{padding:7px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff;color:var(--ink);max-width:100%}
.cd-filters .cd-admin em{font-style:normal;font-size:10px;background:#f1ecec;color:var(--maroon-dk);border-radius:8px;padding:0 6px;margin-left:4px}
.cd-filters label.cd-admin{border:1px dashed var(--gold);border-radius:8px;padding:4px 6px}
.cd-note{flex-basis:100%;margin:0;color:var(--muted)}
.cd-next{margin-bottom:12px}
.cd-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sc{position:relative;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;border-left:5px solid;text-decoration:none;color:var(--ink);min-width:0}
.sc .w{font-size:12px;text-transform:uppercase;letter-spacing:.03em}.sc .e{font-weight:600;line-height:1.25}.sc .dt{font-size:12px}.sc .a{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc.r{background:#fbe3e0;border-color:var(--red)}.sc.r .w{color:var(--red)}
.sc.o{background:#fdecd8;border-color:#e07b16}.sc.o .w{color:#a5520a}
.sc.y{background:#fff7cc;border-color:#d8b400}.sc.y .w{color:#7a6400}
.sc.g{background:#f3f3f3;border-color:#a0a4a8}.sc.g .w{color:var(--muted)}
.qq{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#f0b429;color:#4a3500;font-size:11px;font-weight:700}
.cd-key{color:var(--muted);margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.cd-key .k{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:6px}.k.r{background:var(--red)}.k.o{background:#e07b16}.k.y{background:#d8b400}.k.g{background:#a0a4a8}
.cd-deals{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:1000px){.cd-deals{grid-template-columns:1fr 1fr}.cd-next .cd-strip{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}
.cd-card{border-top:4px solid var(--navy);min-width:0}
.cd-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cd-id{min-width:0}.cd-addr{font-size:16px;font-weight:700;color:var(--navy);line-height:1.25}.cd-meta{color:var(--muted);font-size:13px;margin:2px 0 6px}.cd-meta b{color:var(--ink)}
.cd-ext{background:#fdf0dd;color:#9a5c10;font-weight:600;white-space:normal}
.cd-count{flex:0 0 auto;text-align:center;background:#f8eeee;border:1px solid #ecd6d6;border-radius:10px;padding:6px 10px;min-width:84px}
.cd-count b{display:block;font-size:34px;line-height:1;color:var(--navy);font-family:Georgia,serif}.cd-count span{font-size:11px;color:var(--muted)}
.cd-count.soon{background:#fdecd8;border-color:#f0c79a}.cd-count.soon b{color:#a5520a}
.cd-sec{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 4px;color:var(--ink)}.cd-sec em{font-style:normal;color:var(--muted);margin-right:4px}
.tl{position:relative;height:64px;margin:6px 10px 0}
.tline{position:absolute;left:0;right:0;top:30px;height:4px;border-radius:2px;background:#e3dcd4}
.tclose{position:absolute;top:22px;width:3px;height:20px;margin-left:-1px;background:var(--navy);border-radius:2px}
.ttoday{position:absolute;top:8px;bottom:4px;border-left:2px dashed var(--blue)}.ttoday span{position:absolute;top:-8px;left:-16px;font-size:10px;color:var(--blue);font-weight:600}
.tdot{position:absolute;top:24px;width:16px;height:16px;margin-left:-8px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.18);cursor:pointer;font-size:10px;font-weight:700;line-height:12px;color:#4a3500}
.tdot.l1{top:42px}.tdot.l2{top:6px}
.tdot.met{background:var(--green)}.tdot.up{background:#a0a4a8}.tdot.soon{background:#e07b16}.tdot.miss{background:var(--red)}.tdot.conf{background:#f0b429}.tdot.na{background:#fff;box-shadow:0 0 0 2px #c4c7ca}
.tdot:focus-visible{outline:3px solid var(--blue)}
.ttip{position:absolute;top:64px;z-index:5;width:240px;max-width:100%;background:#fff;border:1px solid var(--gold);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:3px}
.ttip .pill{align-self:flex-start}
.tl-ends{display:flex;justify-content:space-between;color:var(--muted);margin:2px 0 8px}
.cd-t{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.cd-t th{font-size:11px;text-transform:uppercase;color:var(--muted);text-align:left;padding:4px;border-bottom:1px solid var(--line)}
.cd-compact th:nth-child(1){width:34%}.cd-compact th:nth-child(2){width:22%}.cd-compact th:nth-child(3){width:19%}
.cd-t td{padding:6px 4px;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.cd-t .ev{font-weight:600}.cd-t .sg{font-size:12px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;background:#faf7f2;border-radius:6px;padding:6px 8px;font-size:12px}
.dgrid em{display:block;font-style:normal;color:var(--muted);font-size:10px;text-transform:uppercase}.dgrid .wide{grid-column:1/-1}
.rps{display:flex;gap:4px;flex-wrap:wrap}.rp{font-size:11px;padding:1px 7px;border-radius:10px;background:#eef1f6;color:var(--muted)}.rp.ok{background:#e1f3e8;color:var(--green);font-weight:600}.rp.na{opacity:.5}
.cd-more{margin-top:8px;color:var(--navy);font-size:13px;min-height:36px}
.cd-pend{background:#e3edf8;color:var(--blue)}.cd-met{background:#e1f3e8;color:var(--green)}.cd-miss{background:#fbe3e0;color:var(--red);font-weight:700}.cd-conf{background:#fff1c7;color:#7a5a00;font-weight:600}.cd-na{background:#f1f1f1;color:#7b7f83}
.cd-legend{margin:12px 0 0}.dotk{display:inline-grid;place-items:center;width:12px;height:12px;border-radius:50%;margin-left:8px;font-size:9px;font-weight:700}
.dotk.met{background:var(--green)}.dotk.up{background:#a0a4a8}.dotk.soon{background:#e07b16}.dotk.miss{background:var(--red)}.dotk.conf{background:#f0b429}.dotk.na{background:#fff;box-shadow:0 0 0 2px #c4c7ca}
.cd-bnav a.on span{color:var(--navy);font-weight:700}.cd-bnav a.on{background:#f8eeee}
@media(max-width:700px){
 .cd-next .cd-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
 .cd-next .sc{flex:0 0 150px;scroll-snap-align:start}
 .cd-filters{padding:10px 12px}.cd-filters label{flex:1 1 40%}
 .cd-compact{font-size:12px}
 .cd-compact th:nth-child(1){width:42%}.cd-compact th:nth-child(2){width:32%}.cd-compact th:nth-child(3){width:26%}
 .crmhead p{margin-bottom:8px}
 .tl{margin:6px 8px 0}
}
/* r2: layout refinements */
.tcb{display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:10px;letter-spacing:.04em;border-radius:4px;padding:1px 5px;vertical-align:1px}
.cd-conf{background:var(--red)!important;color:#fff!important;font-weight:700;letter-spacing:.03em}
.cd-miss{background:#fbe3e0;color:var(--red);font-weight:700;border:1px solid var(--red)}
.sc .csrc{font-size:10.5px;color:var(--muted)}
.cd-tag{background:var(--navy);color:#fff;font-weight:600;display:inline-block;margin-bottom:6px}
h4.cd-addr{margin:0;text-transform:none;font-size:16px;font-weight:700;color:var(--navy);line-height:1.25}
.cd-count small{display:block;font-size:10px;color:var(--muted);line-height:1.2;margin-top:2px;max-width:110px}
.cd-sec i{font-style:normal;color:var(--muted);font-size:11px}
.cd-dep{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;background:#faf7f2;border-radius:6px;padding:6px 8px;margin:6px 0 2px}
.cd-prop{background:#fffaf0;border:1px solid var(--gold);border-radius:8px;padding:8px 10px;margin:0 0 12px}
.cd-t td small{display:block;font-size:10.5px;color:var(--muted);margin-top:1px}
.cd-fullwrap{display:none}.cd-card.open .cd-fullwrap{display:block}.cd-card.open .cd-compact{display:none}
.cd-full{table-layout:auto;font-size:12px}.cd-full th{white-space:nowrap}
.cd-full th:nth-child(n){width:auto}
.cd-card.open{grid-column:1/-1}
.ttip em{font-style:normal;color:var(--muted);font-size:10px;text-transform:uppercase;margin-right:2px}.ttip small{color:var(--muted)}
@media(max-width:700px){
 .cd-full thead{display:none}.cd-full tr{display:block;border-top:2px solid var(--line);padding:6px 0}
 .cd-full td{display:grid;grid-template-columns:118px 1fr;gap:8px;border:0;padding:2px 0}
 .cd-full td::before{content:attr(data-l);color:var(--muted);font-size:11px}
 .cd-full td.ev{font-size:14px;color:var(--navy)}
 .cd-t.cd-compact td.sg,.cd-t.cd-compact th:nth-child(4){display:none}
}
/* r3 fixes from screenshot review */
.cd-fbox{margin-bottom:12px;padding:10px 14px}.cd-fbox summary{cursor:pointer;color:var(--navy)}.cd-fbox[open] summary{margin-bottom:8px}
.cd-fbox .cd-filters{margin:0;border:0;padding:0}
.cd-filters label.cd-admin em{align-self:flex-start}
@media(max-width:700px){.cd-full td>span{min-width:0}.cd-full td .pill{justify-self:start}.cd-fbox{padding:10px 12px}.cd-next .sc{flex-basis:160px}}
@media(max-width:700px){.cd-key{font-size:11px;gap:3px 4px}.cd-key .k{margin-left:3px}.pr-banner{padding:6px 10px;font-size:13px}.crmhead h2{font-size:22px}}
@media(max-width:700px){.cd-compact .pill{white-space:normal;display:inline-block;max-width:100%;letter-spacing:0;font-size:10.5px;text-align:center}}
