:root{--bg: #F6F5F1;--surface: #FFFFFF;--surface-alt: #EFEDE6;--ink: #17223B;--ink-soft: #4C5568;--ink-faint: #868EA0;--line: #E2DFD5;--line-strong: #CDC8B6;--accent: #8A6A2E;--accent-ink: #6B5122;--accent-soft: #E4D5AC;--accent-soft-bg: #F8F1DE;--danger: #9C4A30;--danger-soft: #F1DDD3;--sidebar-bg: #101A30;--sidebar-bg-alt: #17233F;--sidebar-line: #263352;--sidebar-ink: #E9ECF3;--sidebar-ink-faint: #8792AC;--sidebar-active-bg: #1D2B4C;--sidebar-accent: #CBA43D;--stage-new: #868EA0;--stage-contacted: #2E5F86;--stage-interested: #8A6A2E;--stage-deposit: #2E7591;--stage-sold: #2F6E4E;--stage-lost: #9C4A30;--radius-sm: 5px;--radius-md: 7px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(23, 34, 59, .06);--shadow-md: 0 6px 18px rgba(23, 34, 59, .09);--shadow-lg: 0 16px 40px rgba(23, 34, 59, .16)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;font-size:14.5px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;margin:0;color:var(--ink);font-weight:600;letter-spacing:-.01em}code,.mono{font-family:IBM Plex Mono,ui-monospace,monospace}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--accent-ink)}::selection{background:var(--accent-soft);color:var(--accent-ink)}.app-shell{display:flex;height:100%}.sidebar{width:218px;flex:none;background:var(--sidebar-bg);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:20px 14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 26px}.sidebar-mark{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--sidebar-line);display:flex;align-items:center;justify-content:center;color:var(--sidebar-accent);flex:none}.sidebar-brand-name{font-family:Fraunces;font-size:15.5px;font-weight:600;line-height:1.15;color:var(--sidebar-ink)}.sidebar-brand-sub{font-size:10.5px;letter-spacing:.14em;color:var(--sidebar-ink-faint);text-transform:uppercase;margin-top:1px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav-label{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--sidebar-ink-faint);font-weight:600;padding:14px 12px 4px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--sidebar-ink-faint);text-decoration:none;font-size:13.5px;font-weight:600;border-left:2px solid transparent;transition:background .12s,color .12s}.sidebar-link-icon{display:flex;opacity:.85}.sidebar-link:hover{background:var(--sidebar-bg-alt);color:var(--sidebar-ink)}.sidebar-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-ink);border-left-color:var(--sidebar-accent)}.sidebar-user{display:flex;align-items:center;gap:9px;border-top:1px solid var(--sidebar-line);padding-top:14px;margin-top:10px}.sidebar-user-avatar{width:30px;height:30px;border-radius:50%;flex:none;background:var(--sidebar-active-bg);border:1px solid var(--sidebar-line);display:flex;align-items:center;justify-content:center;font-family:Fraunces;font-weight:600;font-size:13px;color:var(--sidebar-accent)}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--sidebar-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:11px;color:var(--sidebar-ink-faint);text-transform:capitalize}.sidebar-logout{background:none;border:1px solid var(--sidebar-line);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--sidebar-ink-faint);cursor:pointer;flex:none;transition:color .12s,border-color .12s}.sidebar-logout:hover{color:var(--sidebar-ink);border-color:var(--sidebar-ink-faint)}.page{flex:1;overflow:auto;padding:30px 34px 56px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-head h2{font-size:25px}.page-head-sub{color:var(--ink-faint);font-size:13.5px;margin:4px 0 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}.panel-title{font-size:15.5px;margin-bottom:16px}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 28px 32px;box-shadow:var(--shadow-md);border-top:3px solid var(--accent)}.login-mark{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);margin-bottom:16px}.login-card h1{font-size:21px;margin-bottom:4px}.login-card p.sub{color:var(--ink-faint);font-size:13px;margin:0 0 22px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-size:12px;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;background:var(--surface);color:var(--ink);transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.field textarea{resize:vertical;min-height:60px}.btn{border:none;border-radius:var(--radius-sm);padding:10px 17px;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);transition:filter .12s,transform .05s}.btn:hover{filter:brightness(1.1)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:var(--surface-alt);color:var(--ink);box-shadow:none}.btn.danger{background:var(--danger)}.btn.block{width:100%}.error-text{color:var(--danger);font-size:13px;margin:6px 0 0}.stats-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:13px 18px;min-width:122px;box-shadow:var(--shadow-sm);border-top:2.5px solid var(--line-strong)}.stat-card .n{font-family:Fraunces;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-card .l{font-size:11.5px;color:var(--ink-faint);font-weight:500;margin-top:1px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.filter-bar input,.filter-bar select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 11px;background:var(--surface);color:var(--ink);font-size:13.5px;transition:border-color .12s}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--accent)}.filter-bar input[type=text]{min-width:200px}.filter-bar .clear{font-size:12.5px;color:var(--ink-faint);background:none;border:none;cursor:pointer;text-decoration:underline}.filter-bar .clear:hover{color:var(--ink-soft)}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.board-col{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px;width:254px;flex:none;display:flex;flex-direction:column;gap:8px;min-height:120px}.board-col.drag-over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft-bg)}.board-col-head{display:flex;align-items:center;gap:8px;padding:4px 5px 8px}.board-col-head .dot{width:8px;height:8px;border-radius:50%;flex:none}.board-col-head .name{font-weight:600;font-size:12.5px;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.board-col-head .count{margin-left:auto;font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.board-col-body{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 280px);overflow-y:auto;padding:2px}.lead-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--card-stage, var(--line-strong));border-radius:var(--radius-sm);padding:10px 12px;cursor:grab;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow-sm);transition:box-shadow .12s,border-color .12s}.lead-card:active{cursor:grabbing}.lead-card:hover{box-shadow:var(--shadow-md)}.lead-card .top-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.lead-card .name{font-weight:600;font-size:13.5px;color:var(--ink)}.lead-card .when{font-size:10.5px;color:var(--ink-faint);white-space:nowrap}.lead-card .meta{font-size:12px;color:var(--ink-soft)}.lead-card .badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:1px}.badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--surface-alt);color:var(--ink-soft);white-space:nowrap;border:1px solid var(--line)}.badge.whatsapp{background:#e3f1e9;color:#276b48;border-color:#cbe6d6}.badge.assignee{background:var(--accent-soft-bg);color:var(--accent-ink);border-color:var(--accent-soft)}.badge.paid{background:#f3e6d8;color:#8a4e1f;border-color:#e6cbac}.badge.organic{background:#e1ebe0;color:#3c6b45;border-color:#c9dcc7}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--line)}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);background:var(--surface-alt);font-weight:600}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer;transition:background .1s}tr.clickable:hover{background:var(--surface-alt)}tr.selected-row{background:var(--accent-soft-bg)}tr.selected-row:hover{background:var(--accent-soft)}.when-cell{white-space:nowrap}.when-cell .when-relative{font-weight:600;color:var(--ink)}.when-cell .when-absolute{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.view-toggle{display:flex;gap:2px;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-md);padding:3px}.view-toggle button{border:none;background:none;padding:6px 15px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .12s,color .12s}.view-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101a3052;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--surface);border-left:1px solid var(--line);z-index:21;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:19px}.drawer-head .close{background:none;border:none;font-size:20px;color:var(--ink-faint);cursor:pointer;line-height:1}.drawer-head .close:hover{color:var(--ink)}.drawer-body{flex:1;overflow-y:auto;padding:20px 22px}.drawer-section{margin-bottom:24px}.drawer-section h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:11px;font-weight:600;font-family:"Source Sans 3"}.kv-grid{display:grid;grid-template-columns:92px 1fr;gap:9px 10px;font-size:13.5px}.kv-grid dt{color:var(--ink-faint)}.kv-grid dd{margin:0;color:var(--ink);word-break:break-word}.kv-grid dd.empty{color:var(--ink-faint);font-style:italic}.ref-code{display:inline-block;background:var(--accent-soft-bg);color:var(--accent-ink);font-family:IBM Plex Mono;font-size:12px;padding:2px 9px;border-radius:var(--radius-sm);border:1px solid var(--accent-soft)}.notes-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.note-item{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.note-item .note-meta{font-size:11px;color:var(--ink-faint);margin-bottom:4px;font-weight:600}.note-item .note-text{font-size:13.5px;color:var(--ink)}.empty-hint{color:var(--ink-faint);font-size:12.5px;font-style:italic}.note-form{display:flex;gap:8px}.note-form textarea{flex:1}.loading,.empty-state{color:var(--ink-faint);padding:34px 0;text-align:center;font-size:13.5px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
