.controls-always .controls-row{display:flex;flex-direction:row;gap:.7rem;align-items:center}@media (max-width: 700px){.controls-always .controls-row{flex-direction:row;gap:.3rem;align-items:stretch}.controls-always label{min-width:0;flex:1 1 0;margin-bottom:0}}.controls-always{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;margin-bottom:.3rem}.controls-always label{margin-bottom:0;margin-right:.2rem}.controls-always .summary,.controls-always .meta{margin-left:.5rem;margin-bottom:0;font-size:.98em}@media (max-width: 700px){.controls-always{flex-direction:column;align-items:stretch;gap:.18rem 0}.controls-always label{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin-bottom:0;margin-right:0}.controls-always label span{margin-right:.3rem;min-width:70px}.controls-always .summary,.controls-always .meta{margin-left:0;text-align:left;font-size:.93em}}.age-indicator{white-space:nowrap;min-width:2.6em}header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:.5rem}header h1{font-size:2.1rem;font-weight:800;letter-spacing:.01em;margin-bottom:.15rem}header p{font-size:1.08rem;color:#666;margin-bottom:.1rem}@media (max-width: 700px){.controls label{display:flex;flex-direction:column;gap:.12rem;margin-bottom:.18rem;font-size:.92em;font-weight:500;color:#333}.controls input,.controls select{border-radius:8px;border:1.5px solid #bbb;padding:.22rem .5rem;font-size:1.01em;background:#f8f8fa;color:#222;margin-top:.05rem;margin-bottom:.05rem;box-shadow:0 1px 4px #00000008;transition:border .2s,box-shadow .2s}.controls input:focus,.controls select:focus{border-color:#1a73e8;outline:none;box-shadow:0 0 0 2px #b3d1fa}.controls button{border-radius:8px;font-size:1.01em;padding:.22rem .7rem;background:linear-gradient(90deg,#1a73e8 60%,#4f8cff);color:#fff;border:none;margin-top:.1rem;margin-bottom:.1rem;box-shadow:0 1px 4px #0000000a;transition:background .2s}.controls button:active{background:#1559b3}.controls .summary,.controls .meta{text-align:center;display:block;width:100%;font-size:.92em;margin-top:.1rem}}@media (max-width: 700px){.controls-mobile-toggle{display:flex;justify-content:center;margin-bottom:.2rem}.controls-toggle-btn{font-size:1.08rem;padding:.22rem 1.1rem;border-radius:999px;border:1.5px solid #bbb;background:linear-gradient(90deg,#f8f8fa 60%,#e3e8f0);color:#1a1a1a;cursor:pointer;margin:.2rem 0;box-shadow:0 1px 4px #0000000a;font-weight:600;letter-spacing:.01em;transition:background .2s,color .2s,border .2s}.controls-toggle-btn:active{background:#e0e0e0;color:#222}}@media (prefers-color-scheme: dark){header p{color:#bbb}@media (max-width: 700px){.controls label{color:#e0e0e0}.controls input,.controls select{background:#23272e;color:#f5f5f5;border:1.5px solid #444;box-shadow:0 1px 4px #0000001f}.controls input:focus,.controls select:focus{border-color:#8ab4f8;box-shadow:0 0 0 2px #2a4365}.controls button{background:linear-gradient(90deg,#1a73e8 60%,#4f8cff);color:#fff}.controls-mobile-toggle{background:none}.controls-toggle-btn{background:linear-gradient(90deg,#23272e 60%,#2a2d33);color:#f5f5f5;border:1.5px solid #444;box-shadow:0 1px 4px #0000002e}.controls-toggle-btn:active{background:#23272e;color:#fff}}}@media (max-width: 700px){.controls-mobile-toggle{display:flex;justify-content:center;margin-bottom:.2rem}.controls-toggle-btn{font-size:1rem;padding:.18rem .7rem;border-radius:6px;border:1px solid #bbb;background:#f5f5f5;color:#333;cursor:pointer;margin:.2rem 0;box-shadow:0 1px 4px #0000000a;transition:background .2s}.controls-toggle-btn:active{background:#e0e0e0}}@media (max-width: 700px){:root main.container{max-width:100vw!important;padding:.15rem .05rem!important;box-shadow:none!important}:root .controls{gap:.2rem!important;margin-bottom:.2rem!important;flex-direction:column!important;align-items:stretch!important}:root .controls label,:root .controls input,:root .controls select,:root .controls button{font-size:.78rem!important;min-width:0!important;padding:.12rem .18rem!important}:root .table-wrapper{margin:0 -.05rem!important}:root table{font-size:.72rem!important;min-width:420px!important}:root th,:root td{padding:.09rem .13rem!important}:root th.sortable button{padding:.09rem .13rem!important;font-size:.72rem!important}:root .row-number-header,:root .row-number-cell,:root .favorite-header,:root .favorite-cell,:root .pass-header,:root .pass-cell,:root .note-header,:root .note-cell{width:1.2rem!important;min-width:1.2rem!important;font-size:.65rem!important;padding-right:.08rem!important}:root .age-indicator,:root .availability-chip{font-size:.6rem!important;padding:.05rem .13rem!important;min-width:1.2rem!important}:root .badge,:root .badge-new,:root .badge-updated{font-size:.6rem!important;padding:.05rem .13rem!important;margin-left:.08rem!important}:root .change-chip{font-size:.52rem!important;padding:.03rem .09rem!important}:root .favorite-toggle{width:1.1rem!important;height:1.1rem!important;font-size:.7rem!important;padding:.01rem!important}:root .pass-toggle{width:1.1rem!important;height:1.1rem!important;font-size:.7rem!important;padding:.01rem!important}:root .note-toggle{width:1.1rem!important;height:1.1rem!important;font-size:.7rem!important;padding:.01rem!important}:root .modal-window{width:99vw!important;min-width:0!important;max-width:100vw!important;padding:.15rem!important}}:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f5f5;color:#222}body{margin:0;min-height:100vh}main.container{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;box-shadow:0 0 24px #0000000d}header h1{margin:0 0 .25rem}header p{margin:0 0 1.5rem;color:#555}.controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.controls label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#444}.controls label.checkbox-control{flex-direction:row;align-items:center;gap:.5rem;font-weight:600}.controls label.checkbox-control input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:#ef5350}.controls input,.controls select{padding:.35rem .5rem;border-radius:4px;border:1px solid #ccc;font-size:.9rem;min-width:120px}.controls button{padding:.45rem 1rem;border:none;border-radius:4px;background:#1a73e8;color:#fff;font-size:.9rem;cursor:pointer;transition:background .2s ease}.controls button[disabled]{cursor:progress;opacity:.75}.controls button:not([disabled]):hover{background:#1559b3}.summary{font-size:.85rem;color:#555}.meta{font-size:.8rem;color:#777}.error{margin:1rem 0;padding:.75rem 1rem;border-radius:6px;background:#fdecea;color:#611a15;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.error button{padding:.4rem .9rem;border:none;border-radius:4px;background:#611a15;color:#fff;cursor:pointer}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{padding:.6rem .75rem;border-bottom:1px solid #ddd;text-align:left}th{background:#fafafa;font-weight:600}th.sortable{padding:0}th.sortable button{display:flex;align-items:center;gap:.35rem;width:100%;padding:.6rem .75rem;background:transparent;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}th.sortable button .indicator{font-size:.75rem;opacity:.6}th.sortable button.sorted .indicator{opacity:.9}th.sortable button.sorted{background:#e8f0ff;color:#0b57d0}.row-number-header,.row-number-cell{width:3rem;text-align:right;padding-right:.75rem;color:#5f6368;font-variant-numeric:tabular-nums}.row-number-cell{font-size:.85rem;position:relative}.favorite-header{width:3.4rem;text-align:center}.favorite-cell{text-align:center;width:3.5rem}.pass-header{width:3.4rem;text-align:center}.pass-cell{text-align:center;width:3.5rem}.note-header{width:3.4rem;text-align:center}.note-cell{text-align:center;width:3.5rem}.availability-header.sortable button{justify-content:center}.availability-cell{text-align:center}.availability-chip{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;text-transform:capitalize;letter-spacing:.02em}.availability-chip-available{background:#e8f5e9;color:#1b5e20;border-color:#c8e6c9}.availability-chip-unavailable{background:#fdecea;color:#b71c1c;border-color:#f5c6cb}.favorite-header.sortable button{justify-content:center;gap:.25rem;font-weight:600}.favorite-header.sortable button.sorted{color:#c62828}.note-header.sortable button{justify-content:center;gap:.25rem;font-weight:600}.age-header.sortable button{justify-content:center;gap:.25rem}.age-cell{text-align:center}.age-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#f3f4f6;color:#374151;border:1px solid rgba(148,163,184,.4)}.age-indicator-new{background:#e8f5e9;color:#1b5e20;border-color:#c8e6c9}.age-indicator-old{background:#fff7ed;color:#c05621;border-color:#fed7aa}.age-indicator-very-old{background:#fdecea;color:#b71c1c;border-color:#f5c6cb}.favorite-toggle{background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;font-size:1.55rem;font-weight:700;color:#8a8f96;cursor:pointer;line-height:1;transition:color .2s ease,transform .2s ease;padding:.1rem}.favorite-toggle:hover{transform:translateY(-1px)}.favorite-toggle.favorite-active{color:#c62828}.favorite-toggle:disabled{color:#c7c9cc;cursor:wait;background:transparent;box-shadow:none}.favorite-toggle:focus-visible{outline:2px solid rgba(239,83,80,.6);outline-offset:2px}.favorite-placeholder{color:#b6b9bd;font-size:1.25rem}.pass-toggle{background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;font-size:1.2rem;font-weight:700;color:#9ca3af;cursor:pointer;line-height:1;transition:color .2s ease,transform .2s ease;padding:.1rem}.pass-toggle:hover{transform:translateY(-1px);color:#d97706}.pass-toggle.pass-active{color:#b91c1c}.pass-toggle:disabled{color:#c7c9cc;cursor:wait}.pass-toggle:focus-visible{outline:2px solid rgba(239,68,68,.6);outline-offset:2px}.pass-placeholder{color:#b6b9bd;font-size:1.1rem}.note-toggle{background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:999px;font-size:1.2rem;font-weight:700;color:#7dff86;cursor:pointer;line-height:1;transition:color .2s ease,transform .2s ease;padding:.1rem}.note-toggle:hover{transform:translateY(-1px);color:#a4ffab}.note-toggle.note-active{color:#fcd619}.note-toggle.note-active:hover{color:#ffe36a}.note-toggle:disabled{color:#c7c9cc;cursor:wait;background:transparent;box-shadow:none}.note-toggle:focus-visible{outline:2px solid rgba(125,255,134,.35);outline-offset:2px}.note-placeholder{color:#b6b9bd;font-size:1.1rem}th.sortable button:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}tr:hover{background:#f0f6ff}.item-promising{background:#f5fff6}.item-promising:hover{background:#e2f6e7}.item-new .row-number-cell:after,.item-updated .row-number-cell:after{content:"";position:absolute;top:6px;bottom:6px;left:calc(100% - 3px);width:4px;border-radius:999px;transform:none;pointer-events:none;z-index:1}.item-new .row-number-cell:after{background:#2e7d32}.item-updated .row-number-cell:after{background:#f57c00}.item-unavailable{opacity:.55}.item-unavailable:hover{background:inherit}a{color:#1a73e8;text-decoration:none}a:hover{text-decoration:underline}.badge{display:inline-block;margin-left:.5rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;background:#e8f5e9;color:#256029;font-weight:600}.badge-new{background:#2e7d32;color:#fff}.badge-updated{background:#fff2cc;color:#a15c00}.change-chip-row{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.change-chip{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.change-chip-status{background:#ede7f6;color:#4527a0;border-color:#d1c4e9}.change-chip-price{background:#fff3e0;color:#e65100;border-color:#ffe0b2}.change-chip-structure{background:#e0f2f1;color:#00695c;border-color:#b2dfdb}.change-chip-location{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.change-chip-metrics{background:#f3e5f5;color:#6a1b9a;border-color:#e1bee7}.change-chip-meta{background:#f1f8e9;color:#33691e;border-color:#dcedc8}td.price-cell{white-space:nowrap;vertical-align:middle;transition:background .2s ease}td.price-cell .price-value{display:inline-flex;align-items:center;gap:.4rem}td.price-cell.has-history{background:#fff7ed;box-shadow:inset 4px 0 #f57c00}.price-history-button{padding:.15rem .55rem;border-radius:999px;border:1px solid #f57c00;background:#fff;color:#f57c00;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.price-history-button:hover,.price-history-button:focus-visible{background:#f57c00;color:#fff;outline:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2121218c;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1100}.modal-window{background:#fff;border-radius:12px;width:min(480px,90vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 18px 40px #0000002e;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem .5rem}.modal-header h2{margin:0;font-size:1.1rem}.modal-close{border:none;background:transparent;font-size:1.4rem;cursor:pointer;color:#666;padding:.15rem .4rem;border-radius:6px;line-height:1}.modal-close:hover,.modal-close:focus-visible{background:#0000000f;outline:none}.modal-subtitle{margin:0 1.5rem 1rem;color:#666;font-size:.9rem}.modal-body{padding:0 1.5rem 1.5rem;overflow-y:auto}.note-modal{width:min(520px,92vw)}.note-modal-meta{display:inline-block;margin-left:.5rem;color:#9ca3af;font-size:.85rem}.note-form{display:flex;flex-direction:column;gap:.9rem}.note-form-label{display:flex;flex-direction:column;gap:.45rem;font-weight:600;color:#374151}.note-form-label span{font-size:.9rem}.note-form-label textarea{border-radius:8px;border:1px solid #cbd5f5;padding:.65rem .8rem;min-height:9rem;font-family:inherit;font-size:.95rem;resize:vertical;transition:border .2s ease,box-shadow .2s ease}.note-form-label textarea:focus-visible{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.note-form-label textarea:disabled{background:#f3f4f6;color:#6b7280}.note-form-error{margin:0;color:#dc2626;font-size:.85rem}.note-form-actions{display:flex;gap:.6rem;justify-content:flex-end}.note-save,.note-cancel{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .2s ease}.note-save{background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 6px 18px #2563eb40}.note-save:disabled{cursor:progress;opacity:.7;box-shadow:none}.note-save:not(:disabled):hover{transform:translateY(-1px)}.note-cancel{background:#e5e7eb;color:#374151}.note-cancel:hover{transform:translateY(-1px)}.note-cancel:disabled{opacity:.6;cursor:progress}.price-history-table{width:100%;border-collapse:collapse;font-size:.9rem}.price-history-table th,.price-history-table td{padding:.55rem .75rem;border-bottom:1px solid #e5e7eb;text-align:left}.price-history-table th{background:#f9fafb;font-weight:600}.price-history-table tbody tr:last-child td{border-bottom:none}.placeholder{text-align:center;color:#777;font-style:italic}@media (prefers-color-scheme: dark){:root{background:#121212;color:#f5f5f5}main.container{background:#1e1e1e;color:#f5f5f5;box-shadow:none}header p{color:#bbb}.controls label{color:#ccc}.controls label.checkbox-control{color:#ddd}.controls label.checkbox-control input[type=checkbox]{accent-color:#f87171}.controls input,.controls select{background:#121212;color:#f5f5f5;border-color:#333}th,td{border-bottom-color:#333}th{background:#222}th.sortable button:focus-visible{outline-color:#8ab4f8}.row-number-header,.row-number-cell{color:#ccd6f6}.favorite-header,.favorite-cell,.pass-header,.pass-cell,.note-header,.note-cell{width:3.75rem}.favorite-toggle{color:#9ca3af;text-shadow:none}.favorite-toggle:hover{color:#c62828;box-shadow:none}.favorite-toggle.favorite-active{color:#c62828;background:transparent;box-shadow:none;text-shadow:none}.favorite-toggle:disabled{color:#4b5563}.favorite-toggle:focus-visible{outline:2px solid rgba(248,113,113,.6)}.favorite-placeholder{color:#4b5563}.favorite-header.sortable button.sorted{background:#f8717133;color:#fca5a5}.pass-toggle{color:#9ca3af;text-shadow:none}.pass-toggle:hover{color:#f97316;box-shadow:none}.pass-toggle.pass-active{color:#f87171;background:transparent;box-shadow:none;text-shadow:none}.pass-toggle:disabled{color:#4b5563}.pass-toggle:focus-visible{outline:2px solid rgba(248,113,113,.6)}.pass-placeholder{color:#4b5563}.pass-header.sortable button.sorted{background:#f8717133;color:#fca5a5}.note-header.sortable button.sorted{background:#3b82f633;color:#bfdbfe}.note-toggle{color:#7dff86;text-shadow:none}.note-toggle:hover{color:#a4ffab}.note-toggle.note-active{color:#fcd619;background:transparent;box-shadow:none;text-shadow:none}.note-toggle.note-active:hover{color:#ffe36a}.note-toggle:disabled{color:#4b5563}.note-toggle:focus-visible{outline:2px solid rgba(125,255,134,.35)}.note-placeholder{color:#4b5563}.note-modal-meta{color:#9ca3af}.note-form-label{color:#e5e7eb}.note-form-label textarea{background:#111827;color:#e5e7eb;border-color:#374151}.note-form-label textarea:disabled{background:#1f2937;color:#94a3b8}.note-save{box-shadow:none}.note-cancel{background:#374151;color:#e5e7eb}.availability-chip-available{background:#15803d40;color:#bbf7d0;border-color:#86efac99}.availability-chip-unavailable{background:#7f1d1d40;color:#fecaca;border-color:#f8717180}tr:hover{background:#1d283a}.item-promising{background:#0f2a12}.item-promising:hover{background:#133617}.item-new .row-number-cell:after{background:#34d399}.item-updated .row-number-cell:after{background:#f59e0b}.item-unavailable{opacity:.5}.badge-new{background:#34d399;color:#0b4222}.badge-updated{background:#ffb84d;color:#2b1900}.change-chip{border-color:#94a3b859;color:#e2e8f0}.change-chip-status{background:#673ab747;color:#d6bcfa;border-color:#9575cd80}.change-chip-price{background:#ff98003d;color:#ffe0b2;border-color:#ffb74d8c}.change-chip-structure{background:#00968840;color:#a7ffeb;border-color:#4db6ac80}.change-chip-location{background:#1e88e53d;color:#bbdefb;border-color:#64b5f680}.change-chip-metrics{background:#9c27b042;color:#e1bee7;border-color:#ba68c88c}.change-chip-meta{background:#43a0473d;color:#c5e1a5;border-color:#81c78480}.age-indicator{background:#94a3b81f;color:#e2e8f0;border-color:#94a3b84d}.age-indicator-new{background:#22c55e38;color:#bbf7d0;border-color:#86efac99}.age-indicator-old{background:#f59e0b47;color:#fde68a;border-color:#fbbf248c}.age-indicator-very-old{background:#dc262652;color:#fecaca;border-color:#f871718c}td.price-cell.has-history{background:#f59e0b2e;box-shadow:inset 4px 0 #f59e0b99}.price-history-button{border-color:#f59e0bcc;background:#f59e0b1f;color:#fcd34d}.price-history-button:hover,.price-history-button:focus-visible{background:#f59e0b59;color:#fff}.modal-backdrop{background:#0f172aa6}.modal-window{background:#1f2937;color:#f9fafb;box-shadow:0 18px 40px #082f4966}.modal-subtitle{color:#9ca3af}.modal-close{color:#e5e7eb}.modal-close:hover,.modal-close:focus-visible{background:#94a3b833}.price-history-table th,.price-history-table td{border-bottom-color:#374151}.price-history-table th{background:#1f2937}.summary{color:#bbb}.meta{color:#999}.error{background:#3b1f1b;color:#ffb4a2}.error button{background:#ffb4a2;color:#3b1f1b}}
