:root{--bg: #f5f5f7;--card: #ffffff;--ink: #1a1a1a;--muted: #6b7280;--line: #e6e6ea;--accent: #4f46e5;--accent-ink: #ffffff;--radius: 14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}.center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.muted{color:var(--muted)}.error{color:#c0392b;font-size:14px}.hint{color:var(--muted);font-size:13px}.brand{font-weight:800;letter-spacing:-.3px}.brand-lg{font-size:22px;margin-bottom:16px}.brand-sub{color:var(--accent);font-weight:700}.shell{max-width:none;margin:0 auto;padding:0 28px}.topbar{display:flex;align-items:center;gap:18px;padding:16px 4px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}.nav{display:flex;gap:6px;flex:1}.nav-link{padding:6px 12px;border-radius:999px;color:var(--muted);font-weight:600;font-size:14px}.nav-link.active{background:var(--ink);color:#fff}.who{display:flex;align-items:center;gap:10px;font-size:14px}.who-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#eef2f7}.who-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.who-name{font-weight:600}.content{padding:20px 4px 60px}.page h1{font-size:24px;margin:4px 0 14px;letter-spacing:-.4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0}.card h3{margin:0 0 12px;font-size:15px}.empty{padding:40px 0;text-align:center}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer}.btn:hover{background:#fafafa}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.05)}.btn.danger-ghost{color:#c0392b;border-color:#f0c4bd}.btn:disabled{opacity:.5;cursor:default}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;padding:0}.link-btn.danger{color:#c0392b}input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:#fff}input[type=time],select{width:auto}textarea{resize:vertical}.auth-card{width:360px;max-width:100%;text-align:left}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card h2{margin:6px 0;font-size:18px}.tabs{display:flex;gap:6px;margin-bottom:8px}.tab{border:none;background:none;padding:8px 14px;border-radius:999px;color:var(--muted);font-weight:600;cursor:pointer;font-size:14px}.tab.active{background:#ececf1;color:var(--ink)}.count{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;background:var(--accent);color:#fff;border-radius:999px;font-size:12px;text-align:center}.list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:8px 0}.row:hover{border-color:#d6d6dd}.row-title{font-weight:700}.row-sub{color:var(--muted);font-size:13px;margin-top:2px}.row-note{font-size:13px;margin-top:4px;color:#3a3a3a}.pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.pill-amber{background:#fef3c7;color:#92600a}.pill-blue{background:#e0e7ff;color:#3730a3}.pill-green{background:#d1fae5;color:#065f46}.pill-red{background:#fee2e2;color:#991b1b}.pill-gray{background:#ececed;color:#555}.back{color:var(--muted);font-size:14px;display:inline-block;margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.detail-main{min-width:0}.detail-side{position:sticky;top:84px}.chat-card{display:flex;flex-direction:column;max-height:calc(100vh - 108px)}.chat-card .thread{overflow-y:auto;flex:1}@media (max-width: 820px){.detail-grid{grid-template-columns:1fr}.detail-side{position:static}.chat-card{max-height:none}}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;margin:0}.kv dt{color:var(--muted);font-size:14px}.kv dd{margin:0}.notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.notes-label{color:var(--muted);font-size:13px;margin-bottom:4px}.actions .action-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.propose label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.propose-row{display:flex;gap:8px;align-items:center}.thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.msg{max-width:85%;padding:8px 12px;border-radius:12px}.msg-who{font-size:12px;font-weight:700;margin-bottom:2px}.msg.mine{align-self:flex-end;background:#eef2ff}.msg.mine .msg-who{color:var(--accent)}.msg.buyer{align-self:flex-start;background:#f2f2f4}.msg.ai{align-self:flex-start;background:#fff;border:1px solid var(--line)}.msg.ai .msg-who{color:var(--muted)}.compose{display:flex;gap:8px}.field{margin:10px 0}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.blocks{margin:12px 0;display:flex;flex-direction:column;gap:8px}.block{display:flex;align-items:center;gap:8px}.block .dash{color:var(--muted)}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.listing-media{padding:0;overflow:hidden}.gallery{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 4px;-webkit-overflow-scrolling:touch}.gallery-img{height:110px;min-width:150px;border-radius:9px;object-fit:cover;background:#eef2f7;flex-shrink:0}.specs{padding:2px 14px 0;color:var(--muted);font-size:13px;font-weight:600}.specs-pad{padding-bottom:12px}.map-tile{position:relative;height:110px;min-width:150px;border-radius:9px;overflow:hidden;border:1px solid var(--line);flex-shrink:0;background:#eef2f7}.map-frame{width:100%;height:100%;border:0;display:block}.map-link{position:absolute;bottom:6px;right:6px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;box-shadow:0 2px 8px #0000001a}.dossier{display:flex;flex-direction:column;gap:4px}.d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.d-id{display:flex;align-items:center;gap:12px}.d-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#eef2f7;flex-shrink:0}.d-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;font-size:20px}.d-name{font-weight:800;font-size:17px}.d-meta{color:var(--muted);font-size:13px;margin-top:2px}.d-brief{background:#f6f7ff;border:1px solid #e0e3ff;border-radius:10px;padding:12px 14px;margin:12px 0 4px;font-size:14.5px;line-height:1.55}.engagement{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 2px}.engagement .stats{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}.engagement .stats b{color:var(--ink)}.coach{background:#f4faf6;border:1px solid #cdeed8;border-radius:12px;padding:14px 16px;margin:12px 0 4px}.coach h4{margin:0 0 10px;font-size:14px;font-weight:800}.coach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:start}.coach-block{background:#fff;border:1px solid #d9ecdf;border-radius:10px;padding:10px 12px}.coach-label{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.coach-good{color:#0a6b3d}.coach-warn{color:#9c6a09}.coach-talk{color:#4f46e5}.coach ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5}.coach li{margin:2px 0}.d-section{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.d-section h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);display:flex;align-items:center;gap:8px}.d-row{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;padding:3px 0}.d-label{color:var(--muted);font-size:13px}.d-val{font-size:14px}.d-topline{font-size:14.5px;line-height:1.5;margin:0 0 8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#eef0f3;border-radius:8px;padding:3px 9px;font-size:13px}.chip-good{background:#e7f7ee;color:#0a6b3d}.chip-bad{background:#fdecec;color:#9c2a2a}.chip-link{color:var(--accent);font-weight:600;cursor:pointer}.chip-link:hover{background:#e6e9ff;text-decoration:underline}.archetypes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.archetype-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.archetype-art{aspect-ratio:1 / 1;background:#eef2f7}.archetype-art img{width:100%;height:100%;object-fit:cover;display:block}.archetype-meta{padding:14px 16px 16px}.archetype-title{font-weight:800;font-size:18px;letter-spacing:-.3px}.archetype-body{font-size:14px;color:#555;line-height:1.5;margin-top:5px}.archetype-places{font-size:12.5px;color:var(--muted);margin-top:10px}.cells{margin:0 0 8px;padding-left:18px;font-size:14px;line-height:1.5}.cells li{margin:2px 0}.links{display:flex;flex-direction:column;gap:6px}.link{font-size:13.5px;line-height:1.45}.link-tag{display:inline-block;background:#ede9fe;color:#5b21b6;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;margin-right:4px}.nmatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.nmatch-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.nmatch-card:hover{border-color:#c7d2fe}.nmatch-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#eef2f7;display:block}.nmatch-noimg{background:linear-gradient(135deg,#eef2f7,#e3e8f0)}.nmatch-meta{padding:8px 10px 10px}.nmatch-name{font-weight:700;font-size:13.5px;color:var(--ink)}.nmatch-rating{color:#b8860b;font-weight:700;font-size:12.5px}.nmatch-echoes{font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}.saved{margin:0;padding-left:18px;font-size:14px}.saved li{margin:2px 0}.saved-link{color:var(--accent);font-weight:600}.saved-link:hover{text-decoration:underline}@media (max-width: 640px){.coach-grid{grid-template-columns:1fr}}@media (max-width: 560px){.grid2{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:10px}.kv{grid-template-columns:110px 1fr}}.share-card{width:420px;max-width:100%;text-align:left}.share-card form{display:flex;flex-direction:column;gap:10px;margin-top:4px}.share-title{margin:6px 0 8px;font-size:20px;line-height:1.3}.share-sub{font-size:14px;margin:0 0 14px}.share-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.share-locked{display:flex;flex-direction:column;gap:8px;padding:14px;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius);background:repeating-linear-gradient(135deg,#fafafe,#fafafe 10px,#f3f3f8 10px,#f3f3f8 20px)}.share-lock-row{color:var(--muted);font-weight:600;font-size:14px}.share-gate{font-weight:700;margin:4px 0}.sc-listings{display:flex;flex-direction:column;gap:8px}.sc-listing{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px}.sc-thumb{width:64px;height:48px;border-radius:8px;object-fit:cover;flex:none;background:#f0f0f4}.sc-thumb-empty{display:block}.sc-listing-body{min-width:0}.sc-listing-addr{font-weight:600;font-size:14px}.sc-listing-meta{color:var(--muted);font-size:13px}.shared-section{margin-bottom:28px}.view-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.seg button{border:none;background:none;padding:8px 14px;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--muted);font-family:inherit}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--ink);color:#fff}input.search-input{width:250px;margin-left:auto}.board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:24px}.board-col{flex:1 0 230px;min-width:230px;max-width:360px;background:#ececf1;border-radius:var(--radius);padding:10px}.board-col.droppable{background:#e4e8ff;outline:2px dashed var(--accent);outline-offset:-2px}.board-col.inert{opacity:.55}.bcol-head{display:flex;align-items:baseline;gap:8px;padding:2px 4px 10px;font-weight:700;font-size:13.5px}.bcol-hint{font-size:11.5px;color:var(--muted);font-weight:500;margin-left:auto}.bcol-empty{font-size:13px;text-align:center;padding:12px 0;margin:0}.bcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:grab}.bcard:hover{border-color:#c7d2fe}.bcard.dragging{opacity:.45}.bcard.busy{opacity:.55;pointer-events:none}.bcard-link{display:block}.bcard-title{font-weight:700;font-size:14px}.bcard-sub{color:var(--muted);font-size:12.5px;margin-top:2px}.bcard-note{font-size:12.5px;margin-top:4px;color:#3a3a3a}.bcard-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--muted)}.rtable-wrap{overflow-x:auto}.rtable{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rtable th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:#fafafb;white-space:nowrap}.rtable th button{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;font-weight:700;display:inline-flex;align-items:center;gap:4px}.rtable th button:hover{color:var(--ink)}.rtable td{padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.rtable tr:last-child td{border-bottom:none}.rtable tbody tr{cursor:pointer}.rtable tbody tr:hover{background:#fafafe}.rtable .num{text-align:right}.rtable-listing{font-weight:600}.rtable-listing:hover{color:var(--accent)}.rtable-note{font-size:12.5px;color:var(--muted);margin-top:2px;max-width:320px;overflow:hidden;text-overflow:ellipsis}.leads-section{margin-top:34px}.lane-title{font-size:18px;margin:0 0 2px;letter-spacing:-.3px}.leads-section>.muted{margin:0 0 12px;font-size:13.5px}.bcard-contacts{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12.5px}.bcard-contacts a{color:var(--accent);font-weight:600}.bcard-contacts a:hover{text-decoration:underline}.bcard-actions{display:flex;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.bcard-actions .link-btn{font-size:13px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;padding:16px;background:#14141e59;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:var(--radius);padding:18px;width:400px;max-width:100%;box-shadow:0 18px 50px #0000002e}.modal h3{margin:0 0 4px;font-size:16px}.modal .hint{margin:0 0 12px}.modal input{margin-bottom:4px}.modal input[type=datetime-local]{width:100%}.cal-head{display:flex;align-items:center;gap:8px;margin:4px 0 12px}.cal-title{font-weight:800;font-size:16px;min-width:150px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{text-align:center;font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.cal-cell{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:96px;padding:6px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:3px;position:relative}.cal-cell:hover{border-color:#c7d2fe}.cal-cell.out{background:transparent;border-style:dashed;opacity:.6}.cal-cell.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-daynum{font-size:12px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cal-cell.today .cal-daynum{background:var(--accent);color:#fff}.cal-chip{font-size:11.5px;font-weight:600;border-radius:6px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cal-more{font-size:11px;color:var(--muted)}.cal-count{display:none;position:absolute;top:6px;right:6px;min-width:18px;padding:0 5px;border-radius:999px;text-align:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.cal-agenda{margin-top:16px}.cal-agenda-title{font-size:15px;margin:14px 0 6px}.cal-unscheduled{margin-top:8px}@media (max-width: 640px){.cal-cell{min-height:52px}.cal-chip,.cal-more{display:none}.cal-count{display:block}input.search-input{width:100%;margin-left:0}}
