@layer tokens{:root{--ink:#1c2530;--ink-soft:#5a6572;--line:#d5dbe2;--line-strong:#b6c0cb;--surface:#fff;--surface-sunken:#f4f6f9;--surface-alert:#fdecec;--accent:#1f6feb;--on-accent:#fff;--selected:#d8e6fd;--selected-edge:#1f6feb;--dirty:#c62828;--pending-row:#d9efe2;--shadow-panel:0 6px 18px #1c25302e;--radius:4px;--row-height:2.125rem;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}}@layer base{*{box-sizing:border-box}body{background:var(--surface-sunken);color:var(--ink);font:14px/1.5 var(--font);margin:0;padding:1.25rem}button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .75rem;display:inline-flex}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em}button:disabled{opacity:.45;cursor:not-allowed}input,select{border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;padding:.25rem .35rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@layer slices{.page{max-width:70rem;margin:0 auto}.page-head h1{margin:0 0 .25rem;font-size:1.35rem}.lede{max-width:60ch;color:var(--ink-soft);margin:0 0 1rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.toolbar-gap{flex:auto}.toolbar .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.toolbar .is-quiet{color:var(--ink-soft)}.banner{border:1px solid var(--dirty);border-radius:var(--radius);background:var(--surface-alert);margin:0 0 .75rem;padding:.5rem .75rem}.grid{border-collapse:collapse;background:var(--surface);table-layout:fixed;width:100%}.grid th,.grid td{height:var(--row-height);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;padding:.4rem .6rem;overflow:hidden}.grid td[data-editing]{padding:0;overflow:visible}.grid td[data-editing] .cell-editor{height:100%}.grid td[data-editing] input,.grid td[data-editing] select{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface);border:0;border-radius:0;height:100%;padding:0 .6rem}.grid col[data-column=company]{width:26%}.grid col[data-column=price]{width:12%}.grid col[data-column=lastChange]{width:14%}.grid col[data-column=industry]{width:16%}.grid col[data-column=note]{width:32%}.grid [data-column=price],.grid [data-column=lastChange]{text-align:right}.grid thead th{background:var(--surface-sunken);text-align:inherit;padding:0}.grid-sort{width:100%;text-align:inherit;background:0 0;border:0;border-radius:0;padding:.4rem .6rem;font-weight:600}.grid tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.grid tr.is-selected td{background:var(--selected)}.grid tr.is-selected td[data-column=company]{box-shadow:inset 3px 0 0 var(--selected-edge)}.grid tr[data-pending=added] td{background:var(--pending-row)}.grid td[data-dirty]{position:relative}.grid td[data-dirty]:before{content:"";border-top:.4rem solid var(--dirty);border-right:.4rem solid #0000;position:absolute;top:0;left:0}.grid-empty{color:var(--ink-soft);text-align:center;padding:1rem}.cell-editor{display:block;position:relative}.cell-editor input,.cell-editor select{width:100%}.date-open{color:var(--ink-soft);background:0 0;border:0;padding:.1rem .25rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.date-open:hover{color:var(--accent)}.grid td[data-editing][data-field=lastChange] input{padding-right:1.9rem}.date-picker{z-index:2;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:15rem;box-shadow:var(--shadow-panel);white-space:normal;padding:.5rem;position:absolute;top:100%;left:0}.date-picker-head{justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.35rem;font-weight:600;display:flex}.date-picker-head button{background:0 0;border:0;justify-content:center;padding:0 .4rem}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.date-picker-weekday,.date-picker-day,.date-picker-blank{justify-content:center;align-items:center;height:1.75rem;display:flex}.date-picker-weekday{color:var(--ink-soft);font-size:.75rem}.date-picker-day{border-radius:var(--radius);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.date-picker-day:hover{background:var(--selected)}.date-picker-day[aria-current=date]{background:var(--accent);color:var(--on-accent)}.date-picker-foot{justify-content:space-between;margin-top:.35rem;display:flex}.date-picker .is-link{color:var(--accent);background:0 0;border:0;padding:0}.cell-error{z-index:1;border:1px solid var(--dirty);border-radius:var(--radius);background:var(--surface-alert);color:var(--dirty);white-space:nowrap;padding:.15rem .4rem;font-size:.8rem;position:absolute;top:100%;left:0}.pager{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.pager-status{color:var(--ink-soft)}.logger{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-panel);margin-top:1rem}.logger-head{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.logger-head h2{flex:auto;margin:0;font-size:1rem}.logger-lines{max-height:16rem;margin:0;padding:0;list-style:none;overflow-y:auto}.logger-lines li{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent);font-family:var(--mono);gap:.75rem;padding:.15rem .6rem;font-size:.8rem;display:flex}.logger-seq{width:3ch;color:var(--ink-soft);text-align:right}.logger-source{width:16ch;color:var(--accent)}.logger-empty{color:var(--ink-soft);margin:0;padding:.75rem}}
