:root{--color-background:#fff;--color-background-soft:#f8f8f8;--color-background-mute:#f2f2f2;--color-border:#3c3c3c1f;--color-heading:#2c3e50;--color-text:#2c3e50;--color-chart:#2a78d6}@media (prefers-color-scheme:dark){:root{--color-background:#181818;--color-background-soft:#222;--color-background-mute:#282828;--color-border:#5454547a;--color-heading:#fff;--color-text:#ebebeba3;--color-chart:#3987e5}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{width:100%;margin:0 auto;padding:2rem}a{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}.container{flex-direction:column;align-items:center;width:100%;display:flex}input,select,textarea{font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#b71c1c;text-align:left;background:#fdecea;border:1px solid #f5c6cb;border-radius:6px;width:100%;padding:10px 16px;font-size:.9rem}.chart-tooltip{border:1px solid var(--color-border);background:var(--color-background);white-space:nowrap;pointer-events:none;border-radius:6px;flex-direction:column;padding:6px 10px;font-size:.8rem;display:flex;position:absolute;box-shadow:0 2px 8px #00000026}.chart-tooltip strong{color:var(--color-heading);font-weight:600}.spinner-container{justify-content:center;margin:20px 0;display:flex}.spinner{border:4px solid var(--color-border);border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.details[data-v-3a4e8065]{text-align:left;flex-direction:column;gap:16px;display:flex}.viewing[data-v-3a4e8065]{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.viewing label[data-v-3a4e8065]{flex-direction:column;gap:4px;font-size:.8rem;display:flex}.viewing input[data-v-3a4e8065]{padding:4px 6px}.viewing button[data-v-3a4e8065]{padding:4px 12px}.facts[data-v-3a4e8065]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 24px;margin:0;display:grid}.facts dt[data-v-3a4e8065]{opacity:.7;font-size:.8rem}.facts dd[data-v-3a4e8065]{margin:0}h3[data-v-3a4e8065]{margin:0 0 6px;font-size:1rem}.price-history[data-v-3a4e8065]{flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;display:flex}.price-history li+li[data-v-3a4e8065]:before{content:"→";margin-right:8px}.history-date[data-v-3a4e8065]{opacity:.7}.description[data-v-3a4e8065]{white-space:pre-line;margin:0}.filters[data-v-2efe777c]{border:1px solid var(--color-border);background:var(--color-background-soft);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;width:90vw;margin-bottom:12px;padding:12px 16px;display:flex}.field[data-v-2efe777c]{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.field>span[data-v-2efe777c]{opacity:.7}.field select[data-v-2efe777c],.field input[type=text][data-v-2efe777c],.field input[type=number][data-v-2efe777c]{padding:6px 8px}.range[data-v-2efe777c]{grid-template-columns:1fr 1fr;column-gap:6px;display:grid}.range>span[data-v-2efe777c]{grid-column:1/-1}.field input[type=number][data-v-2efe777c]{width:90px}.checkbox[data-v-2efe777c]{flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}.checkbox>span[data-v-2efe777c]{opacity:1}.actions[data-v-2efe777c]{gap:8px;margin-left:auto;display:flex}.actions button[data-v-2efe777c]{padding:6px 14px}@media (width<=768px){.filters[data-v-2efe777c]{width:100%}.actions[data-v-2efe777c]{margin-left:0}}.notes[data-v-121bb607]{text-align:left;flex-direction:column;gap:10px;display:flex}.notes-form[data-v-121bb607]{align-items:flex-start;gap:10px;display:flex}.notes-input[data-v-121bb607]{resize:vertical;flex:1;min-width:0;padding:8px}.notes-form button[data-v-121bb607]{white-space:nowrap;padding:8px 16px}.notes-error[data-v-121bb607]{color:#b71c1c;font-size:.9rem}.notes-empty[data-v-121bb607]{opacity:.6;font-style:italic}.notes-list[data-v-121bb607]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.note[data-v-121bb607]{border:1px solid var(--color-border);background:var(--color-background);border-radius:6px;padding:8px 12px}.note-header[data-v-121bb607]{opacity:.7;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.note-action[data-v-121bb607]{color:inherit;cursor:pointer;background:0 0;border:none;font-size:.9rem}.note-edit-form[data-v-121bb607]{flex-direction:column;gap:6px;margin-top:6px;display:flex}.note-edit-actions[data-v-121bb607]{gap:8px;display:flex}.note-edit-actions button[data-v-121bb607]{padding:4px 12px}.note-text[data-v-121bb607]{white-space:pre-wrap;word-break:break-word;margin:4px 0 0}@media (width<=768px){.notes-form[data-v-121bb607]{flex-direction:column;align-items:stretch}.notes-input[data-v-121bb607]{width:100%}}.status-overview[data-v-fe6f8c41]{flex-wrap:wrap;gap:8px;width:90vw;margin:12px 0 4px;display:flex}.chip[data-v-fe6f8c41]{font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);cursor:pointer;border-radius:16px;padding:4px 12px}.chip.active[data-v-fe6f8c41]{background:var(--color-background-mute);border-color:var(--color-heading);font-weight:600}.count[data-v-fe6f8c41]{font-variant-numeric:tabular-nums;opacity:.7;margin-left:4px}.table-wrapper[data-v-98fda585]{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.controls[data-v-98fda585]{justify-content:flex-end;align-items:center;gap:10px;width:90vw;margin-bottom:10px;display:flex}.loading-overlay[data-v-98fda585]{background-color:var(--color-background-mute);opacity:.7;z-index:10;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.table-scroll[data-v-98fda585]{width:90vw;margin:20px 0;overflow-x:auto}table[data-v-98fda585]{border-collapse:collapse;width:100%}th[data-v-98fda585],td[data-v-98fda585]{text-align:left;border:1px solid var(--color-border);vertical-align:top;padding:12px}th[data-v-98fda585]:not(:first-child),td[data-v-98fda585]:not(:first-child){white-space:nowrap}th[data-v-98fda585]:first-child,td[data-v-98fda585]:first-child{white-space:normal;min-width:300px}td[data-label=Location][data-v-98fda585]{white-space:normal}th[data-v-98fda585]{background-color:var(--color-background-mute);color:var(--color-heading);font-weight:700}.notes-toggle[data-v-98fda585],.details-toggle[data-v-98fda585]{padding:4px 12px}.status-select[data-v-98fda585]{padding:4px 6px}.status-error[data-v-98fda585]{color:#b71c1c;margin-bottom:8px}.badge[data-v-98fda585]{white-space:nowrap;vertical-align:middle;border-radius:10px;margin-left:6px;padding:1px 6px;font-size:.75rem;font-weight:600;display:inline-block}.badge-down[data-v-98fda585]{color:#1e7b3c;background:#e3f4e8}.badge-up[data-v-98fda585]{color:#b71c1c;background:#fdecea}.badge-viewing[data-v-98fda585],.badge-unavailable[data-v-98fda585]{background:var(--color-background-mute);color:var(--color-text);font-weight:400}.badge-viewing[data-v-98fda585]{width:fit-content;margin:6px 0 0;display:block}.badge-viewing-soon[data-v-98fda585]{color:#8a5a00;background:#fff4d6;font-weight:600}.badge-viewing-past[data-v-98fda585]{opacity:.6}.row-unavailable td[data-v-98fda585]{color:var(--color-text);opacity:.7}.no-results[data-v-98fda585]{opacity:.6;margin:8px 0 16px;font-style:italic}.notes-row td[data-v-98fda585],.details-row td[data-v-98fda585]{background-color:var(--color-background-soft)}.notes-row td[data-v-98fda585]>*,.details-row td[data-v-98fda585]>*{max-width:calc(90vw - 24px);position:sticky;left:12px}.pagination[data-v-98fda585]{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:20px;display:flex}.pagination button[data-v-98fda585]{padding:8px 16px}@media (width<=768px){table[data-v-98fda585],thead[data-v-98fda585],tbody[data-v-98fda585],th[data-v-98fda585],td[data-v-98fda585],tr[data-v-98fda585]{display:block}thead[data-v-98fda585]{display:none}tr[data-v-98fda585]{border:1px solid var(--color-border);background:var(--color-background);border-radius:8px;margin-bottom:1rem;overflow:hidden;box-shadow:0 2px 4px #0000000d}td[data-v-98fda585]{border:none;border-bottom:1px solid var(--color-border);text-align:right;color:var(--color-text);justify-content:space-between;align-items:center;padding:12px 15px;display:flex;min-width:unset!important;white-space:normal!important}td[data-v-98fda585]:last-child{border-bottom:none}td[data-v-98fda585]:before{content:attr(data-label);text-align:left;color:var(--color-text);opacity:.7;flex-shrink:0;margin-right:20px;font-weight:700}td[data-label=Title][data-v-98fda585]{background-color:var(--color-background-mute);text-align:left;color:var(--color-heading);font-size:1.1rem;font-weight:700;display:block}td[data-label=Title][data-v-98fda585]:before{display:none}.notes-row td[data-v-98fda585],.details-row td[data-v-98fda585]{text-align:left;display:block}.notes-row td[data-v-98fda585]:before,.details-row td[data-v-98fda585]:before{display:none}}.histogram[data-v-6ed0cf18]{--histogram-gutter:2.5em;text-align:left;margin-top:12px;padding-right:1em;transition:opacity .15s}.histogram--loading[data-v-6ed0cf18]{opacity:.5}.histogram-widths[data-v-6ed0cf18]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-bottom:8px;display:flex}.histogram-widths-label[data-v-6ed0cf18]{opacity:.6;margin-right:4px;font-size:.8rem}.histogram-widths button[data-v-6ed0cf18]{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.8rem}.histogram-widths button.is-active[data-v-6ed0cf18]{border-color:var(--color-chart);color:var(--color-heading);font-weight:600}.histogram-x[data-v-6ed0cf18]{height:1.4em;margin:6px 0 0 var(--histogram-gutter);opacity:.6;font-size:.75rem;position:relative}.histogram-x span[data-v-6ed0cf18]{white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;top:0;transform:translate(-50%)}.histogram-body[data-v-6ed0cf18]{display:flex}.histogram-y[data-v-6ed0cf18]{flex:0 0 var(--histogram-gutter);opacity:.6;font-size:.75rem;position:relative}.histogram-y span[data-v-6ed0cf18]{font-variant-numeric:tabular-nums;position:absolute;right:6px;transform:translateY(-50%)}.histogram-plot[data-v-6ed0cf18]{flex:1;min-width:0;height:200px;position:relative}.histogram-plot svg[data-v-6ed0cf18]{width:100%;height:100%;display:block;overflow:visible}.histogram-grid[data-v-6ed0cf18]{stroke:var(--color-border);stroke-width:1px}.histogram-bar[data-v-6ed0cf18]{fill:var(--color-chart)}.histogram-bar--active[data-v-6ed0cf18]{opacity:.75}.histogram-marker[data-v-6ed0cf18]{stroke:var(--color-heading);stroke-width:1.5px}.histogram-marker--dashed[data-v-6ed0cf18]{stroke-dasharray:4 3}.histogram-legend[data-v-6ed0cf18]{flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:10px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.histogram-legend li[data-v-6ed0cf18]{align-items:center;gap:6px;display:flex}.histogram-legend-key[data-v-6ed0cf18]{width:16px;height:14px;overflow:visible}.histogram-legend strong[data-v-6ed0cf18]{color:var(--color-heading);font-variant-numeric:tabular-nums;font-weight:600}.histogram-hit[data-v-6ed0cf18]{fill:#0000;cursor:default;outline:none}.trend[data-v-08e45297]{--trend-gutter:3.5em;text-align:left;margin-top:16px;padding-right:1em}.trend-body[data-v-08e45297]{display:flex}.trend-y[data-v-08e45297]{flex:0 0 var(--trend-gutter);opacity:.6;font-size:.75rem;position:relative}.trend-y span[data-v-08e45297]{white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;right:8px;transform:translateY(50%)}.trend-plot[data-v-08e45297]{flex:1;min-width:0;height:200px;position:relative}.trend-grid[data-v-08e45297]{border-top:1px solid var(--color-border);position:absolute;left:0;right:0}.trend-plot svg[data-v-08e45297]{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trend-line[data-v-08e45297]{fill:none;stroke:var(--color-chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-point[data-v-08e45297]{border-radius:50%;outline:none;width:24px;height:24px;margin:0 0 -12px -12px;position:absolute}.trend-point[data-v-08e45297]:after{content:"";background:var(--color-chart);box-shadow:0 0 0 2px var(--color-background-mute);border-radius:50%;position:absolute;inset:7px}.trend-point--active[data-v-08e45297]:after{inset:5px}.trend-x[data-v-08e45297]{height:1.4em;margin:6px 0 0 var(--trend-gutter);opacity:.6;font-size:.75rem;position:relative}.trend-x span[data-v-08e45297]{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.trend-tooltip[data-v-08e45297]{z-index:1}.dashboard[data-v-ee29f6e6]{flex-direction:column;gap:16px;width:100%;max-width:1240px;display:flex}.kpis[data-v-ee29f6e6]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.kpi[data-v-ee29f6e6],.card[data-v-ee29f6e6]{background:var(--color-background-mute);color:var(--color-text);border-radius:8px}.kpi[data-v-ee29f6e6]{flex-direction:column;gap:2px;padding:12px 16px;display:flex}@media (width<=600px){.kpi--wide[data-v-ee29f6e6]{grid-column:1/-1}}.kpi-label[data-v-ee29f6e6],.kpi-sub[data-v-ee29f6e6]{opacity:.7;font-size:.8rem}.kpi-value[data-v-ee29f6e6]{color:var(--color-heading);font-size:1.5rem;font-weight:600;line-height:1.3}.kpi-unit[data-v-ee29f6e6]{opacity:.7;font-size:.85rem;font-weight:400}.dashboard-row[data-v-ee29f6e6]{flex-wrap:wrap;gap:16px;display:flex}.dashboard-row[data-v-ee29f6e6]:empty{display:none}.card[data-v-ee29f6e6]{flex-direction:column;min-width:0;padding:16px 18px;display:flex}.card--wide[data-v-ee29f6e6]{flex:3 480px}.card--narrow[data-v-ee29f6e6]{flex:2 320px}.card h2[data-v-ee29f6e6]{color:var(--color-heading);margin:0;font-size:1rem;font-weight:600}.card-caption[data-v-ee29f6e6]{opacity:.7;margin:0;font-size:.8rem}.cheapest[data-v-ee29f6e6]{margin:12px 0 0;padding:0;list-style:none}.cheapest li[data-v-ee29f6e6]{border-top:1px solid var(--color-border);align-items:baseline;gap:12px;padding:8px 0;display:flex}.cheapest-sqm[data-v-ee29f6e6]{width:4.5em;color:var(--color-heading);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.cheapest-name[data-v-ee29f6e6]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:0;overflow:hidden}a.cheapest-name[data-v-ee29f6e6],.card-link[data-v-ee29f6e6]{color:#2980b9}.cheapest-details[data-v-ee29f6e6]{opacity:.7;font-variant-numeric:tabular-nums;flex:none;font-size:.8rem}.card-link[data-v-ee29f6e6]{margin-top:auto;padding:10px 0 0;font-size:.85rem;font-weight:500}.last-run[data-v-eec817fe]{text-align:center;opacity:.75;margin:0 0 8px;font-size:.85rem}.runs-content[data-v-f2fb663f]{background:var(--color-background-mute);width:90vw;color:var(--color-text);border-radius:8px;margin-bottom:20px;padding:20px}.runs-table[data-v-f2fb663f]{border-collapse:collapse;width:100%}.runs-table th[data-v-f2fb663f],.runs-table td[data-v-f2fb663f]{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 16px}.runs-table th[data-v-f2fb663f]{background:var(--color-background);color:var(--color-heading);font-weight:600}.run-time[data-v-f2fb663f],.run-status[data-v-f2fb663f]{white-space:nowrap}.run--failed .run-status[data-v-f2fb663f]{color:#b71c1c;font-weight:600}.run-errors[data-v-f2fb663f]{word-break:break-word;margin:0;padding-left:18px;font-size:.9rem}.run-errors-more[data-v-f2fb663f],.runs-count[data-v-f2fb663f]{opacity:.7;margin:6px 0 0;font-size:.85rem}.error[data-v-f2fb663f]{margin-bottom:16px}.pagination[data-v-f2fb663f]{justify-content:center;margin-top:14px;display:flex}.pagination button[data-v-f2fb663f]{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);border-radius:4px;padding:6px 14px;font-size:.95rem}.pagination button[data-v-f2fb663f]:disabled{opacity:.4;cursor:default}.no-data[data-v-f2fb663f]{opacity:.5;margin-top:14px;font-style:italic}header[data-v-9ad90bb0]{z-index:100;background:var(--color-background-soft);border-bottom:1px solid var(--color-border);position:sticky;top:0;box-shadow:0 2px 6px #0000000f}.tab-nav[data-v-9ad90bb0]{justify-content:center;gap:8px;padding:12px 16px;display:flex}.tab-btn[data-v-9ad90bb0]{background:var(--color-background-mute);color:var(--color-text);cursor:pointer;border:2px solid #0000;border-radius:6px;padding:10px 28px;font-size:1rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.tab-btn[data-v-9ad90bb0]:hover{background:var(--color-border);color:var(--color-heading)}.tab-btn.active[data-v-9ad90bb0]{color:#f0f4f8;background:#0d3f5e;border-color:#092e45}
