:root{--bg:#f6f7f4;--card:#fff;--ink:#1d2a1f;--muted:#5f6b61;--brand:#2f6b3a;--brand-ink:#fff;--line:#dfe3dc;--danger:#b3261e}@media(prefers-color-scheme:dark){:root{--bg:#121712;--card:#1b231c;--ink:#e8efe8;--muted:#a3b0a5;--brand:#6fbf7d;--brand-ink:#0d1a0f;--line:#2c372e;--danger:#ff8a80}}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--ink)}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1rem;margin:0 0 .75rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}form.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}input,select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);min-width:0}button{font:inherit;padding:.5rem .9rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}button.danger{color:var(--danger)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.85rem}td.actions{white-space:nowrap;text-align:right}.error{color:var(--danger)}.muted{color:var(--muted)}.thumbs{display:flex;gap:.4rem;flex-wrap:wrap}.thumbs img{height:48px;width:48px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.stat{font-size:1.6rem;font-weight:700}.canvas-box{position:relative;height:280px}.two-col{display:grid;gap:1rem;grid-template-columns:minmax(260px,320px) 1fr;align-items:start}@media(max-width:860px){.two-col{grid-template-columns:1fr}}form.stack{display:grid;gap:.75rem}form.stack input,form.stack select{width:100%}.filters th{padding-top:0}.filters input,.filters select{width:100%;padding:.3rem .4rem;font-size:.85rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}.filter-grid input,.filter-grid select{width:100%}@media(max-width:600px){.filter-grid{grid-template-columns:1fr 1fr}}:root{color-scheme:light dark}@media(prefers-color-scheme:dark){input[type=date]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8;cursor:pointer}}button.thumbs{display:flex;align-items:center;gap:.4rem;padding:.25rem;min-height:34px;background:transparent}.btn{display:inline-block;font:inherit;padding:.5rem .9rem;border-radius:6px;border:1px solid var(--line);background:var(--card);cursor:pointer}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.shots-dialog{width:min(900px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:1rem}.shots-dialog::backdrop{background:#0009}.shots-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:1rem 0}.shots-grid figure{margin:0;display:grid;gap:.5rem}.shots-grid img{width:100%;height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.shots-grid figcaption{display:flex;gap:.5rem;justify-content:space-between}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:50vh;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.5s}}label.check{flex-direction:row;align-items:center;gap:.5rem;color:var(--ink);font-size:.95rem}label.check input{width:auto}fieldset{border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem .75rem;display:grid;gap:.5rem}fieldset legend{color:var(--muted);font-size:.85rem;padding:0 .25rem}fieldset>button{justify-self:start;padding:.2rem .6rem;font-size:.85rem}fieldset .checks{display:grid;gap:.25rem;max-height:220px;overflow:auto}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.tabs button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.status-behind{color:var(--danger);font-weight:600}.status-ahead,.status-ok{color:var(--brand)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.small{font-size:.85rem}details.all-investors{margin-top:1rem;border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}details.all-investors>summary{cursor:pointer;font-weight:600;padding:.25rem 0}details.investor{border-top:1px solid var(--line);padding:.4rem 0}details.investor:first-of-type{margin-top:.5rem}details.investor>summary{cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}details.investor>summary .iname{font-weight:500}details.investor table{margin:.5rem 0 .25rem;font-size:.9rem}ul.plain{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.25rem;color:var(--muted)}tr.more-row td{text-align:center;padding:.25rem}button.link{background:none;border:none;color:var(--brand);padding:.4rem .75rem;text-decoration:underline;cursor:pointer}form.row.wide{align-items:end}form.row.wide>h2{flex:1 1 100%;margin:0}form.row.wide label{flex:1 1 170px}form.row.wide label.check{flex:0 0 auto}form.row.wide fieldset{flex:1 1 100%}form.row.wide fieldset .checks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));max-height:none}form.row.wide fieldset{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}form.row.wide fieldset .checks{flex:1 1 100%;display:grid}.collapsible{padding:0}.collapse-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:10px;font-weight:600;font-size:1rem;text-align:left}.collapse-body{padding:0 1rem 1rem}.collapse-body[hidden]{display:none}th.sel,td.sel{width:2.25rem}th.sel input,td.sel input{width:auto}
