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