.cps-grid{border:1px solid var(--border);background:var(--card);border-radius:.375rem;outline:none;max-height:380px;font-size:.8125rem;position:relative;overflow:auto}.cps-header{z-index:2;background:var(--muted);border-bottom:1px solid var(--border);height:40px;display:flex;position:sticky;top:0}.cps-th{border-right:1px solid var(--border);box-sizing:border-box;white-space:nowrap;flex:none;align-items:center;padding:0 10px;font-weight:500;display:flex}.cps-canvas{position:relative}.cps-row{display:flex;position:absolute;left:0;right:0}.cps-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);box-sizing:border-box;white-space:nowrap;flex:none;align-items:center;padding:0 10px;display:flex;position:relative;overflow:hidden}.cps-cell-period{color:var(--muted-foreground);justify-content:flex-start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cps-cell-price{font-variant-numeric:tabular-nums;justify-content:flex-end}.cps-cell-editable{cursor:cell}.cps-cell-editable:hover{background:color-mix(in srgb, var(--primary) 8%, transparent)}.cps-cell-selected{background:color-mix(in srgb, var(--primary) 14%, transparent)!important}.cps-cell-focused{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.cps-cell-edge-top{box-shadow:inset 0 2px 0 0 var(--primary)}.cps-cell-edge-bottom{box-shadow:inset 0 -2px 0 0 var(--primary)}.cps-cell-edge-left{box-shadow:inset 2px 0 0 0 var(--primary)}.cps-cell-edge-right{box-shadow:inset -2px 0 0 0 var(--primary)}.cps-cell-empty:after{content:"";width:100%;display:block}.cps-empty{color:var(--muted-foreground);opacity:.5}.cps-editor{background:var(--card);width:100%;height:100%;color:inherit;font:inherit;text-align:right;font-variant-numeric:tabular-nums;border:none;outline:none;padding:0 10px}.cps-fill-handle{background:var(--primary);border:1px solid var(--card);cursor:crosshair;z-index:2;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.cps-fill-preview{background:color-mix(in srgb, var(--primary) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 40%, transparent)}
