:root{--bg:oklch(97.5% .009 65);--surface:oklch(100% .005 65);--fg:oklch(14% .012 260);--muted:oklch(50% .015 260);--border:oklch(88% .008 65);--border-h:oklch(78% .01 65);--accent:oklch(52% .17 28);--accent-bg:color-mix(in oklch, var(--accent) 8%, transparent);--green:oklch(55% .15 145);--amber:oklch(62% .17 75);--blue:oklch(55% .15 235);--red:oklch(52% .2 15);--sans:"Bricolage Grotesque", system-ui, sans-serif;--ease:cubic-bezier(.2, 0, 0, 1);--nav:60px;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5}a{color:inherit;text-decoration:none}.loading-full{min-height:100dvh;color:var(--muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-primary{font-family:var(--sans);color:#fff;background:var(--accent);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{font-family:var(--sans);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--fg);border-color:var(--border-h)}.btn-ghost:disabled{opacity:.4;cursor:default}.error-text{color:var(--red);font-size:.8rem}.navbar{z-index:50;height:var(--nav);background:color-mix(in oklch, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.navbar-logo{letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.navbar-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.navbar-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.navbar-avatar{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.auth-page{justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex}.auth-logo{align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.auth-logo-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.auth-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.auth-sub{color:var(--muted);font-size:.875rem}.btn-google{font-family:var(--sans);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.btn-google:hover{border-color:var(--border-h);background:var(--bg)}.btn-google:disabled{opacity:.5;cursor:default}.auth-error{color:var(--red);font-size:.8rem}.auth-note{color:var(--muted);text-align:center;font-size:.75rem}.board-page{flex-direction:column;min-height:100dvh;display:flex}.board-content{flex-direction:column;flex:1;gap:1rem;padding:1rem 1.5rem;display:flex;overflow:hidden}.board-loading{color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:.875rem;display:flex}.add-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.add-bar-input{font-family:var(--sans);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:240px;color:var(--fg);outline:none;flex:1;padding:.6rem .9rem;font-size:.9rem;transition:border-color .15s}.add-bar-input:focus{border-color:var(--accent)}.add-bar-input::placeholder{color:var(--muted)}.kanban-board{flex:1;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.kanban-column{flex-direction:column;flex:0 0 300px;gap:.5rem;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;padding:.5rem .25rem;display:flex}.kanban-column-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.kanban-column-count{color:var(--muted);background:var(--border);border-radius:10px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.kanban-column-body{flex-direction:column;flex:1;gap:.5rem;min-height:100px;display:flex}.kanban-column-empty{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--border-h);padding:1.5rem;font-size:.75rem}.property-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:hidden}.property-card:hover{border-color:var(--border-h);box-shadow:0 2px 10px color-mix(in oklch, var(--fg) 6%, transparent)}.property-card--warned{border-color:color-mix(in oklch, var(--amber) 40%, var(--border))}.card-img{object-fit:cover;background:var(--border);width:100%;height:140px;display:block}.card-img--placeholder{color:var(--muted);justify-content:center;align-items:center;font-size:.75rem;display:flex}.card-body{flex-direction:column;gap:.3rem;padding:.75rem;display:flex}.card-address{font-size:.825rem;font-weight:700;line-height:1.3}.card-location{color:var(--muted);font-size:.72rem}.card-price-row{justify-content:space-between;align-items:center;margin-top:.1rem;display:flex}.card-price{letter-spacing:-.015em;font-size:1rem;font-weight:800}.card-meta{color:var(--muted);gap:.4rem;font-size:.7rem;display:flex}.card-badges{flex-wrap:wrap;gap:.25rem;display:flex}.card-metrics{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-top:.5rem;padding-top:.6rem;display:grid}.metric-tile{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.1rem;padding:.45rem .5rem;display:flex}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.6rem;font-weight:600;line-height:1.2}.metric-value{letter-spacing:-.01em;color:var(--fg);font-size:.8rem;font-weight:700;line-height:1.2}.metric-sub{color:var(--green);font-size:.6rem;font-weight:600}.property-card--pending{cursor:default}.card-skeleton-img{background:var(--border);width:100%;height:140px;animation:1.5s ease-in-out infinite pulse}.card-skeleton-line{background:var(--border);border-radius:4px;height:10px;animation:1.5s ease-in-out infinite pulse}.card-skeleton-line--long{width:75%}.card-skeleton-line--short{width:45%;margin-top:4px}.card-skeleton-metrics{background:var(--border);border-radius:6px;height:56px;margin-top:8px;animation:1.5s ease-in-out infinite pulse}.card-pending-label{color:var(--muted);padding:.4rem .75rem;font-size:.7rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.badge{border-radius:4px;padding:.12rem .4rem;font-size:.6rem;font-weight:700}.badge--green{background:color-mix(in oklch, var(--green) 12%, transparent);color:var(--green)}.badge--amber{background:color-mix(in oklch, var(--amber) 15%, transparent);color:oklch(52% .17 65)}.badge--blue{background:color-mix(in oklch, var(--blue) 12%, transparent);color:var(--blue)}.badge--red{background:color-mix(in oklch, var(--red) 12%, transparent);color:var(--red)}.modal-overlay{background:color-mix(in oklch, var(--fg) 45%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:900px;max-height:90dvh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);gap:1rem;padding:1rem;display:flex;position:relative}.modal-hero{object-fit:cover;border-radius:6px;flex-shrink:0;width:120px;height:80px}.modal-header-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.modal-address{letter-spacing:-.01em;font-size:1rem;font-weight:700}.modal-location{color:var(--muted);font-size:.8rem}.modal-price-row{align-items:baseline;gap:.75rem;margin-top:.2rem;display:flex}.modal-price{letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.modal-spec{color:var(--muted);font-size:.8rem}.modal-close{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:color .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{color:var(--fg)}.modal-tabs{border-bottom:1px solid var(--border);padding:0 1rem;display:flex}.modal-tab{font-family:var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:color .15s}.modal-tab:hover{color:var(--fg)}.modal-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.roi-calc{flex-wrap:wrap;gap:2rem;display:flex}.roi-col{flex-direction:column;flex:1;gap:.75rem;min-width:260px;display:flex}.roi-col--output{min-width:220px}.roi-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:.5rem;font-size:.65rem;font-weight:700}.slider-row{flex-direction:column;gap:.25rem;display:flex}.slider-label{justify-content:space-between;font-size:.8rem;display:flex}.slider-label strong{font-weight:600}.slider{width:100%;accent-color:var(--accent);cursor:pointer}.roi-output-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.roi-kpi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem}.roi-kpi--highlight{background:var(--accent-bg);border-color:color-mix(in oklch, var(--accent) 25%, transparent)}.roi-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem;font-size:.62rem}.roi-kpi-value{letter-spacing:-.01em;font-size:1rem;font-weight:700}.roi-kpi-value--neg{color:var(--red)}.btn-save{width:100%;margin-top:1rem}.checklist{flex-direction:column;gap:1.25rem;display:flex}.check-group{flex-direction:column;gap:.35rem;display:flex}.check-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.65rem;font-weight:700}.check-item{cursor:pointer;align-items:center;gap:.6rem;padding:.25rem 0;display:flex}.check-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:15px;height:15px}.check-label{flex:1;font-size:.875rem}.check-meta{color:var(--muted);white-space:nowrap;font-size:.7rem}.checklist-empty{color:var(--muted);font-size:.875rem}.checklist-add{gap:.5rem;margin-top:.5rem;display:flex}.checklist-add-input{font-family:var(--sans);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);outline:none;flex:1;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.checklist-add-input:focus{border-color:var(--accent)}.discussion{flex-direction:column;gap:1rem;height:100%;min-height:300px;display:flex}.discussion-list{flex-direction:column;flex:1;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.discussion-empty{color:var(--muted);font-size:.875rem}.comment-bubble{align-items:flex-start;gap:.6rem;display:flex}.comment-bubble--own{flex-direction:row-reverse}.comment-avatar{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex}.comment-content{flex-direction:column;gap:.15rem;max-width:75%;display:flex}.comment-meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.comment-bubble--own .comment-meta{flex-direction:row-reverse}.comment-name{color:var(--fg);font-weight:600}.comment-delete{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.comment-delete:hover{color:var(--red)}.comment-text{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.comment-bubble--own .comment-text{background:var(--accent-bg);border-color:color-mix(in oklch, var(--accent) 25%, transparent)}.discussion-compose{align-items:flex-end;gap:.5rem;display:flex}.discussion-input{font-family:var(--sans);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);resize:none;outline:none;flex:1;padding:.6rem .75rem;font-size:.875rem;transition:border-color .15s}.discussion-input:focus{border-color:var(--accent)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
