*{box-sizing:border-box}:root{--paper: #F4F1EA;--card: #FBF9F4;--raised: #FFFDF8;--panel: #F9F7F2;--band: #EFEADF;--line: #DED7C7;--line-soft: #E4DECF;--line-strong: #B4A99A;--ink: #1B1A17;--ink-2: #4A4639;--ink-3: #6E6858;--ink-4: #8C8677;--ink-5: #A39C8B;--accent: #B4381F;--accent-dark: #94290F;--accent-tint: #F7E9E4;--accent-line: #E8CBC0;--good: #2E7D32;--good-ink: #2E5A2B;--good-tint: #E7EFE6;--good-line: #C9DCC6;--danger: #B4381F;--danger-soft: #F7E9E4;--text: var(--ink-2);--muted: var(--ink-4);--border: var(--line);--border-soft: var(--line-soft);--bg: var(--band);--surface: var(--raised);--accent-soft: var(--accent-tint);--success: var(--good-ink);--success-soft: var(--good-tint);--radius: 10px;--shadow-sm: none;--sans: "Instrument Sans", system-ui, -apple-system, sans-serif;--serif: "Instrument Serif", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--ink-2);background:var(--paper);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--ink);margin:0 0 4px;font-weight:600}h3{font-size:16px}p{margin:0 0 12px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline}::selection{background:#f2c9be}.muted{color:var(--muted)}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{max-width:1180px;margin:0 auto;padding:16px 24px 0}.brand-row{margin-bottom:0;display:flex;align-items:baseline;gap:10px}.eyebrow{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-line);padding:3px 6px;border-radius:4px;margin-bottom:0;order:2}.brand-copy{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.brand-copy h1{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.01em;line-height:1;order:1}.brand-copy p{display:none}.mode-switch{display:flex;gap:4px;border-top:1px solid var(--line-soft);margin-top:14px}.mode-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-4);font-size:13.5px;font-weight:500;padding:11px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:6px}.mode-switch button:hover{color:var(--ink)}.mode-switch button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.mode-count{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-4);background:var(--band);border:1px solid var(--line);border-radius:999px;padding:1px 7px}.mode-switch button.active .mode-count{color:var(--accent);background:var(--accent-tint);border-color:transparent}main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:20px 24px 48px}.card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:none;padding:20px 22px;margin-bottom:18px}label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin:14px 0 5px}label:first-of-type{margin-top:0}input[type=text],input[type=number],input[type=date],input[type=password],input:not([type]),select{width:100%;font-size:14px;font-family:var(--sans);color:var(--ink-2);background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:8px 10px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}input[type=file].file-drop{border:1px dashed var(--line);background:var(--band);padding:14px 10px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;margin:8px 0}.checkbox-row input{width:auto}.type-checkboxes{display:flex;flex-direction:column}button{font-family:var(--sans);cursor:pointer}button.primary{display:inline-block;margin-top:16px;background:var(--ink);color:var(--panel);border:1px solid var(--ink);border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600}button.primary:hover{background:var(--accent);border-color:var(--accent)}button.primary:disabled{opacity:.55;cursor:default}.filters{display:flex;flex-wrap:nowrap;align-items:end;gap:8px 10px;padding:10px 12px;background:var(--band);border:1px solid var(--line-soft);border-radius:var(--radius);margin-bottom:12px;overflow-x:auto}.filters .field{display:flex;flex-direction:column;flex:0 0 auto;min-width:110px}.filters .field-narrow{flex-basis:90px;min-width:80px;max-width:100px}.filters .field input,.filters .field select{width:100%}.filters>input,.filters>select{flex:0 0 auto;width:150px}.filters .field label{margin:0 0 3px;font-family:var(--mono);font-size:9.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);white-space:nowrap}.filters input,.filters select{background:var(--raised);padding:5px 8px;font-size:13px}.filters-actions{display:flex;flex:0 0 auto;gap:6px;margin-left:auto}.filters>button.primary,.filters>button.ghost{flex:0 0 auto;margin-left:auto}button.ghost{background:transparent;color:var(--ink-4);border:1px solid var(--line);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600}button.ghost:hover{color:var(--ink);border-color:var(--line-strong);background:var(--raised)}.filters button.primary,.filters-actions button{margin-top:0;padding:6px 14px;font-size:13px;white-space:nowrap}.filters button.ghost{padding:6px 14px;font-size:13px}.status-msg{margin-top:12px;padding:9px 12px;border-radius:8px;font-size:13.5px;background:var(--band);border:1px solid var(--line-soft)}.status-msg.ok{background:var(--good-tint);color:var(--good-ink);border-color:var(--good-line)}.status-msg.err{background:var(--accent-tint);color:var(--accent-dark);border-color:var(--accent-line)}.totals-row{display:flex;gap:18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--ink-4);font-family:var(--mono)}.totals-row strong{color:var(--ink);font-family:var(--sans)}.empty-state{padding:44px 28px;text-align:center;color:var(--ink-3);font-size:13.5px;background:var(--panel);border:1px dashed var(--line-strong);border-radius:12px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0 10px;font-size:13.5px}.data-table th{text-align:left;font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);padding:0 12px 8px;border-bottom:none;white-space:nowrap}.data-table td{padding:14px 12px;border-bottom:1px solid var(--line-soft);border-top:1px solid var(--line-soft);vertical-align:top;background:var(--card)}.data-table td:first-child{border-left:3px solid var(--ink-5);border-top-left-radius:10px;border-bottom-left-radius:10px}.data-table td:last-child{border-right:1px solid var(--line-soft);border-top-right-radius:10px;border-bottom-right-radius:10px}.data-table tbody tr:not(.detail-row){cursor:pointer}.data-table tbody tr:not(.detail-row):hover td{border-color:var(--line-strong);background:var(--raised)}.data-table tr.row-expanded td{background:var(--raised);border-color:var(--line-strong)}.row-title{font-weight:600;color:var(--ink);letter-spacing:-.01em}.row-sub{font-size:12.5px;margin-top:2px;color:var(--ink-3)}.col-price{white-space:nowrap;font-weight:500;font-family:var(--mono);color:var(--ink)}.col-expand{width:32px;text-align:center}.row-toggle{border:none;background:transparent;padding:4px;display:flex;color:var(--ink-4)}.chevron{transition:transform .15s ease}.chevron-open{transform:rotate(180deg)}.detail-row td{background:var(--panel)!important;padding:18px 22px;border-left:3px solid var(--accent)!important}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 20px}.detail-grid .detail-span{grid-column:1 / -1}.field-label{display:block;font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);margin-bottom:3px}.raw-text{font-size:13px;white-space:pre-wrap;margin:0;color:var(--ink-2)}.text-link{font-size:13.5px;font-weight:600}.tag{display:inline-block;font-size:12px;font-weight:500;color:var(--ink-3);background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-right:4px}.tag-soft{background:var(--band)}.tag-accent{color:var(--accent-dark);background:var(--accent-tint);border-color:var(--accent-line)}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.danger-zone{border-color:var(--accent-line);background:var(--panel)}.danger-zone h3{color:var(--accent-dark)}button.danger{display:inline-block;margin-top:4px;background:var(--raised);color:var(--accent-dark);border:1px solid var(--accent);border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600}button.danger:hover{background:var(--accent);color:var(--raised);border-color:var(--accent)}button.danger:disabled{opacity:.55;cursor:default}.login-card{max-width:360px;margin:40px auto}.login-card form{margin-top:8px}@media (max-width: 640px){.header-inner,main{padding-left:14px;padding-right:14px}.mode-switch{overflow-x:auto}}.date-range-field{flex:0 0 auto;min-width:150px}.date-range-row{display:flex;align-items:center;gap:6px}.date-range-row select{min-width:120px;flex:0 0 auto}.date-range-row input[type=date]{width:128px;flex:0 0 auto}.date-to{font-size:12.5px;color:var(--ink-4);white-space:nowrap}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 14px}.row>div{display:flex;flex-direction:column}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:separate;border-spacing:0 10px;font-size:13.5px}.table-wrap th{text-align:left;font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);padding:0 12px 8px;white-space:nowrap}.table-wrap td{padding:14px 12px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);vertical-align:top;background:var(--card)}.table-wrap td:first-child{border-left:3px solid var(--ink-5);border-top-left-radius:10px;border-bottom-left-radius:10px}.table-wrap td:last-child{border-right:1px solid var(--line-soft);border-top-right-radius:10px;border-bottom-right-radius:10px}.table-wrap tbody tr:hover td{border-color:var(--line-strong);background:var(--raised)}.table-wrap .score{font-family:var(--mono);font-weight:700;font-size:16px;color:var(--accent-dark);text-align:center;white-space:nowrap}.badge{display:inline-block;font-size:12px;font-weight:500;color:var(--ink-3);background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}.badge.owner{background:var(--good-tint);color:var(--good-ink);border-color:var(--good-line)}.intent-badge{font-weight:600}.deal-sale{background:var(--accent-tint);color:var(--accent-dark);border-color:var(--accent-line)}.deal-rent{background:var(--band);color:var(--ink-2);border-color:var(--line-strong)}.listed-owner{background:var(--good-tint);color:var(--good-ink);border-color:var(--good-line)}.listed-broker{background:var(--band);color:var(--ink-3);border-color:var(--line)}.property-type{background:var(--panel);color:var(--ink-3);border-color:var(--line)}.seeking-bride,.subject-bride{background:var(--accent-tint);color:var(--accent-dark);border-color:var(--accent-line)}.seeking-groom,.subject-groom{background:var(--band);color:var(--ink-2);border-color:var(--line-strong)}.job-category{background:var(--panel);color:var(--ink-3);border-color:var(--line)}.chat-card{display:flex;flex-direction:column}.chat-examples{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.date-pill{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--ink-3);background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap}.date-pill:hover{border-color:var(--line-strong);color:var(--ink)}.chat-thread{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.chat-msg{display:flex}.chat-msg-user{justify-content:flex-end}.chat-msg-assistant{justify-content:flex-start}.chat-bubble{max-width:640px;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;border:1px solid var(--line-soft)}.chat-msg-user .chat-bubble{background:var(--ink);color:var(--panel);border-color:var(--ink)}.chat-msg-assistant .chat-bubble{background:var(--panel);color:var(--ink-2)}.chat-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:8px;width:100%}.chat-result-card{background:var(--card);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px;font-size:13.5px}.chat-input-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line-soft);padding-top:14px}.chat-input-row input{flex:1}.log-viewer{background:var(--ink);color:#e9e4d8;border-radius:8px;padding:12px 14px;font-family:var(--mono);font-size:12px;line-height:1.6;max-height:420px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.log-viewer .log-empty{color:var(--ink-4);font-style:italic}.log-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.log-toolbar .muted{flex:1}
