:root{color:#16181d;background:#f7f8fa;font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background:#f7f8fa;margin:0}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:700}:root{--color-primary:#3454d1;--color-primary-hover:#2841ab;--color-primary-light:#eef1fc;--color-text:#16181d;--color-text-muted:#62676f;--color-border:#e3e5ea;--color-surface:#fff;--color-bg:#f7f8fa;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-md:0 4px 10px #10182812, 0 2px 4px #1018280f;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{background:var(--color-bg)}.app-shell{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg)}.app-loading,.app-error{font-family:var(--font-sans);padding:2rem 1rem}.app-header{background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:1;padding:1rem;position:relative}.app-header h1{letter-spacing:-.01em;color:var(--color-text);margin:0;font-size:1.05rem;font-weight:800}.tabs{background:var(--color-surface);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;gap:.25rem;padding:0 .5rem;display:flex;overflow-x:auto}.tab{cursor:pointer;font-family:var(--font-sans);color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:.75rem .9rem;font-size:.88rem;font-weight:500;transition:color .15s}.tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:700}.main-panel{max-width:100%;padding:1rem}.tab-content h2{margin-top:0}.caption{color:var(--color-text-muted);font-size:.85rem}.warning{color:#9a3412;border-radius:var(--radius-sm);background:#fff7ed;border:1px solid #fed7aa;padding:.75rem 1rem}.info{background:var(--color-primary-light);color:#1e3a8a;border-radius:var(--radius-sm);border:1px solid #c7d2f7;padding:.75rem 1rem}.overview-filters{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.overview-filters label{font-size:.85rem;font-weight:600}.overview-filters select{width:100%;margin-top:.3rem;padding:.5rem;font-size:.95rem;display:block}.metrics-row{flex-wrap:wrap;gap:1.25rem;margin:1rem 0;display:flex}.metric{min-width:140px}.metric-label{color:var(--color-text-muted);font-size:.8rem}.metric-value{letter-spacing:-.02em;color:var(--color-text);font-size:1.35rem;font-weight:700}.metric-delta{color:var(--color-danger);font-size:.8rem}.table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:1rem 0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.55rem .7rem}.data-table tr:last-child td{border-bottom:none}.data-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;background:#fafbfc;font-size:.78rem;font-weight:600}.range-inputs{gap:.5rem;margin-top:.3rem;display:flex}.explorer-controls,.all-communes-controls,.eval-form{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1rem;display:flex}.checkbox-group{flex-wrap:wrap;gap:1rem;display:flex}.checkbox-label{align-items:center;gap:.3rem;font-size:.85rem;font-weight:400;display:flex}.eval-form input,.explorer-controls select,.all-communes-controls select{width:100%;font-size:.95rem;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:.3rem;padding:.55rem;display:block}button{font-family:var(--font-sans)}.eval-form button{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;border:none;height:fit-content;padding:.65rem 1.1rem;font-weight:600;transition:background .15s,box-shadow .15s,transform 50ms}.eval-form button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.eval-form button:active:not(:disabled){transform:translateY(1px)}.eval-form button:disabled{opacity:.55;cursor:default;box-shadow:none}.result-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--color-surface);margin-top:1rem;padding:1.1rem 1.25rem}.result-card h3{margin-top:0}.login-screen{background:var(--color-bg);min-height:100vh;font-family:var(--font-sans);justify-content:center;align-items:center;padding:1rem;display:flex}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;gap:1rem;width:100%;max-width:320px;padding:2rem 1.5rem;display:flex}.login-form h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.25rem;font-weight:800}.login-form input{font-size:1rem;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem .75rem}.login-form input:focus-visible,.analyze-form input:focus-visible,.chat-input-form input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.login-form button{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;border:none;padding:.7rem;font-size:1rem;font-weight:600;transition:background .15s,box-shadow .15s}.login-form button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.login-form button:disabled{opacity:.55;cursor:default;box-shadow:none}.analyze-form{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.analyze-form input{font-size:.95rem;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem .8rem}.analyze-form button,.chat-input-form button,.suggested-questions-row button{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;border:none;padding:.65rem 1.1rem;font-weight:600;transition:background .15s,box-shadow .15s,transform 50ms}.analyze-form button:hover:not(:disabled),.chat-input-form button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.analyze-form button:disabled,.chat-input-form button:disabled{opacity:.55;cursor:default;box-shadow:none}.listing-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--color-surface);flex-direction:column;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.listing-image{object-fit:cover;border-radius:var(--radius-sm);width:100%;max-height:280px}.chat{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-bubble{border-radius:var(--radius-md);white-space:pre-wrap;max-width:88%;padding:.65rem .95rem;font-size:.92rem;line-height:1.45}.chat-message.user .chat-bubble{background:var(--color-primary);color:#fff;border-bottom-right-radius:3px}.chat-message.assistant .chat-bubble{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-bottom-left-radius:3px}.suggested-questions{margin:1rem 0}.suggested-questions-row{flex-wrap:wrap;gap:.5rem;display:flex}.suggested-questions-row button{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);box-shadow:none;font-size:.85rem}.suggested-questions-row button:hover:not(:disabled){background:var(--color-primary-light);box-shadow:none}.chat-input-form{gap:.5rem;margin-top:.5rem;display:flex}.chat-input-form input{min-width:0;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:20px;flex:1;padding:.65rem .9rem}.price-band-mobile{margin-top:.75rem}.pbm-signal{border-radius:var(--radius-md);background:var(--color-surface);border:1.5px solid;align-items:center;gap:.75rem;margin-bottom:1.1rem;padding:.85rem 1rem;display:flex}.pbm-signal-icon{font-size:1.5rem;line-height:1}.pbm-signal-label{font-size:1rem;font-weight:700}.pbm-signal-gap{color:var(--color-text-muted);margin-top:.15rem;font-size:.82rem}.pbm-row{margin-bottom:1rem}.pbm-row-head{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.pbm-row-label{color:var(--color-text-muted);font-size:.82rem;font-weight:500}.pbm-row-value{letter-spacing:-.01em;font-size:1rem;font-weight:700}.pbm-bar-track{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;height:8px;position:relative;overflow:hidden}.pbm-bar-fill{border-radius:4px;height:100%;transition:width .2s}.pbm-range-fill{background:#93afd4;border-radius:4px;height:100%;position:absolute;top:0}.pbm-caption{margin-top:1.25rem}@media (width>=900px){.app-header{padding:1.25rem 2rem}.app-header h1{font-size:1.4rem}.tabs{padding:0 2rem}.main-panel{max-width:1100px;margin:0 auto;padding:1.5rem 2rem}.overview-filters{border-bottom:none;flex-direction:row;align-items:flex-end;gap:1.5rem;padding-bottom:0}.overview-filters label{flex:1;max-width:260px}.metric{min-width:160px}.metric-value{font-size:1.55rem}.explorer-controls,.all-communes-controls,.eval-form{flex-flow:wrap;align-items:flex-end}.eval-form input,.explorer-controls select,.all-communes-controls select{width:auto}.analyze-form{flex-direction:row}.analyze-form input{flex:1}.chat-bubble{max-width:70%}.login-form{padding:2.5rem}}
