:root{--bg:#f6f8f4;--panel:#ffffff;--ink:#17211c;--muted:#64706a;--line:#dce3dc;--line-strong:#c4cec4;--green:#177245;--green-soft:#dff2e7;--amber:#a85f00;--amber-soft:#fff0d3;--red:#a83232;--red-soft:#ffe2df;--blue:#265c8f;--blue-soft:#e4eef8;--shadow:0 14px 40px rgba(32,49,40,0.1)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:18px}.toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(150px,.9fr) repeat(2,minmax(140px,.8fr)) repeat(3,minmax(112px,.6fr));grid-gap:12px;gap:12px;align-items:flex-end;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-block h1,.detail-drawer h2,.drawer-section h3,.section-heading h2{margin:0;letter-spacing:0}.brand-block h1{font-size:26px;line-height:1.05}.eyebrow{margin:0 0 4px;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}.control{display:grid;grid-gap:6px;gap:6px;min-width:0}.control span,.legend,.metric-label,.section-heading span,.source-banner span{color:var(--muted);font-size:12px;font-weight:700}.control input,.control select{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:6px;padding:0 10px;background:#fff;color:var(--ink)}.borough-strip{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{min-height:36px;border:1px solid var(--line-strong);border-radius:999px;padding:0 14px;background:#fff;color:var(--ink);font-weight:700}.chip.active{border-color:var(--green);background:var(--green);color:#fff}.best-list,.calendar-panel,.source-banner,.summary-band,.warnings{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.source-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px;padding:12px 14px}.empty-state,.muted,.source-banner p,.warnings p{margin:0;color:var(--muted)}.source-banner.sample{border-color:#e3c27b;background:#fff9ed}.source-banner.live{border-color:#9dceb4;background:#f2fbf5}.source-banner.mixed{border-color:#9fbedb;background:#f3f8fd}.warnings{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px;padding:10px 14px;border-color:#e3c27b;background:#fff9ed}.summary-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;margin-bottom:14px}.summary-band>div{min-height:82px;padding:16px;background:#fff}.summary-band strong{display:block;margin-top:6px;font-size:24px}.best-list,.calendar-panel{margin-top:14px;padding:14px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px}.section-heading h2{font-size:18px}.match-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));grid-gap:10px;gap:10px}.match-card{display:grid;grid-gap:4px;gap:4px;min-height:104px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.match-card:hover{border-color:var(--green)}.field-cell small,.match-card small,.match-card span{color:var(--muted);font-size:12px}.match-card strong{line-height:1.2}.calendar-heading{align-items:center}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item:before{content:"";width:10px;height:10px;border-radius:999px}.legend-item.available:before{background:var(--green)}.legend-item.partial:before{background:var(--amber)}.legend-item.unavailable:before{background:var(--red)}.calendar-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px}.calendar-grid{display:grid;min-width:max-content}.date-header,.day-cell,.field-cell,.grid-corner{min-height:76px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.date-header,.grid-corner{position:-webkit-sticky;position:sticky;top:0;z-index:5;min-height:58px;background:#f1f5ef}.field-cell,.grid-corner{position:-webkit-sticky;position:sticky;left:0;z-index:6}.grid-corner{z-index:8;display:flex;align-items:center;padding:0 14px;font-weight:800}.date-header{display:grid;place-items:center;padding:8px;text-align:center}.date-header span{color:var(--muted);font-size:12px;font-weight:800}.date-header strong{font-size:14px}.field-cell{display:grid;align-content:center;grid-gap:3px;gap:3px;padding:10px 14px}.field-cell small,.field-cell span,.field-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-cell span{color:var(--muted);font-size:13px}.day-cell{display:grid;place-items:center;grid-gap:0;gap:0;width:96px;border-top:0;border-left:0;padding:8px 6px;color:var(--ink)}.day-cell strong{font-size:20px;line-height:1}.day-cell small,.day-cell span{font-size:11px;font-weight:800}.day-cell.available{background:var(--green-soft);color:#0e4e2d}.day-cell.partial{background:var(--amber-soft);color:#6d3d00}.day-cell.unavailable{background:var(--red-soft);color:#722020}.day-cell.unknown{background:#eef1f0;color:#4b5550}.day-cell:hover{outline:2px solid var(--blue);outline-offset:-2px}.empty-state{padding:28px;text-align:center}.detail-drawer{position:fixed;top:18px;right:18px;bottom:18px;z-index:40;width:min(420px,calc(100vw - 36px));overflow:auto;border:1px solid var(--line-strong);border-radius:8px;padding:18px;background:#fff;box-shadow:0 24px 70px rgba(20,31,25,.22)}.close-button{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-weight:900}.detail-drawer h2{max-width:calc(100% - 44px);margin-bottom:16px;font-size:24px;line-height:1.12}.detail-drawer dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:0 0 18px}.detail-drawer dl div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.detail-drawer dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.detail-drawer dd{margin:3px 0 0;font-weight:800}.drawer-section{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.drawer-section h3{font-size:15px}.time-pill{display:flex;justify-content:space-between;gap:10px;margin:0;border-radius:6px;padding:10px 12px;font-weight:800}.time-pill.open{background:var(--green-soft);color:#0e4e2d}.time-pill.booked{background:var(--red-soft);color:#722020}.time-pill span{white-space:nowrap}@media (max-width:1180px){.toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-block{grid-column:1/-1}.match-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:720px){.app-shell{padding:10px}.toolbar{position:static;grid-template-columns:1fr 1fr}.control:first-of-type{grid-column:1/-1}.match-grid,.summary-band{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.detail-drawer{inset:auto 10px 10px;max-height:82vh;width:auto}.detail-drawer dl{grid-template-columns:1fr}}