:root{--bg-primary:#111827;--bg-secondary:#1f2937;--bg-card:#1f2937;--bg-card-hover:#273548;--bg-input:#253352;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent:#60a5fa;--accent-hover:#93bbfd;--green:#34d399;--yellow:#fbbf24;--red:#f87171;--orange:#fb923c;--blue:#60a5fa;--purple:#a78bfa;--pink:#f472b6;--border:#ffffff14;--border-strong:#ffffff26;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}a:active{opacity:.7}.container{max-width:800px;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));min-height:calc(100vh - 52px);margin:0 auto}.header{padding:10px 16px;padding-top:calc(10px + var(--safe-top));background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:16px;display:flex}.header h1{letter-spacing:-.3px;font-size:17px;font-weight:700}.header nav{gap:4px;display:flex}.header nav a{color:var(--text-muted);border-radius:var(--radius);padding:5px 12px;font-size:14px;font-weight:500;transition:all .15s}.header nav a:hover{color:var(--text-secondary);background:#ffffff0d}.header nav a.active{color:var(--text-primary);background:#ffffff1a}.header-actions{align-items:center;gap:8px;display:flex}.logout-btn{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:3px 10px;font-size:12px;transition:all .15s}.logout-btn:hover{color:var(--text-secondary);border-color:var(--border-strong)}.page-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:12px;font-size:13px;font-weight:600}.search-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-size:15px;transition:border-color .15s}.search-bar:focus{border-color:var(--accent)}.search-bar::placeholder{color:var(--text-muted)}.chips{flex-wrap:wrap;gap:6px;padding:10px 0;display:flex}.chip{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:16px;padding:5px 12px;font-size:13px;font-weight:500;transition:all .15s}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:8px;padding:12px 14px;transition:all .15s}.card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.card:active{transform:scale(.995)}.card-header{align-items:center;gap:8px;margin-bottom:3px;display:flex}.card-name{font-size:15px;font-weight:600}.card-meta{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.card-detail{color:var(--text-muted);align-items:center;gap:12px;margin-top:6px;font-size:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.badge-account{color:var(--blue);background:#60a5fa26}.badge-contact{color:var(--green);background:#34d39926}.badge-pattern{color:var(--yellow);background:#fbbf2426}.badge-project{color:var(--purple);background:#a78bfa26}.badge-person{color:var(--pink);background:#f472b626}.badge-skill{color:#6ee7b7;background:#34d3991a}.badge-process{color:#c4b5fd;background:#a78bfa1a}.health{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.health-active{color:var(--green);background:#34d39926}.health-prospecting{color:var(--yellow);background:#fbbf2426}.health-stale{color:var(--red);background:#f8717126}.health-at-risk{color:var(--orange);background:#fb923c26}.health-new{color:var(--blue);background:#60a5fa26}.account-list{flex-direction:column;gap:8px;display:flex}.account-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:12px 14px;transition:all .15s}.account-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.account-card:active{transform:scale(.995)}.account-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.account-card-bottom{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.account-card-bottom .industry{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.account-stat{white-space:nowrap;align-items:center;gap:3px;display:flex}.account-touch{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;overflow:hidden}.days-stale{color:var(--red);font-weight:600}.days-warning{color:var(--orange);font-weight:500}.days-ok{color:var(--green)}.sort-bar{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0 12px;font-size:12px;display:flex}.sort-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:14px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s}.sort-btn:hover{border-color:var(--border-strong);color:var(--text-secondary)}.sort-btn.active{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff14}.dashboard-table{display:none}@media (width>=640px){.account-list{display:none}.dashboard-table{border-collapse:collapse;width:100%;font-size:14px;display:table}.dashboard-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:8px 10px;font-size:11px;font-weight:600}.dashboard-table th:hover{color:var(--text-secondary)}.dashboard-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.dashboard-table tr{cursor:pointer;transition:background .1s}.dashboard-table tr:hover{background:var(--bg-card-hover)}.sort-bar{display:none}}.detail-header{margin-bottom:16px}.detail-header h2{letter-spacing:-.3px;flex-wrap:wrap;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.detail-description{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.5}.detail-section{margin-bottom:20px}.detail-section h3{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:12px;font-weight:600}.metadata-grid{grid-template-columns:auto 1fr;gap:4px 16px;font-size:14px;display:grid}.metadata-grid dt{color:var(--text-muted);white-space:nowrap;font-weight:500}.metadata-grid dd{color:var(--text-primary)}.content-body{color:var(--text-secondary);font-size:14px;line-height:1.6}.content-body h1,.content-body h2,.content-body h3,.content-body h4{color:var(--text-primary);margin:16px 0 8px;line-height:1.3}.content-body h1{font-size:18px}.content-body h2{font-size:16px}.content-body h3{font-size:15px}.content-body p{margin-bottom:8px}.content-body strong,.content-body b{color:var(--text-primary)}.content-body ul,.content-body ol{margin-bottom:8px;padding-left:20px}.content-body li{margin-bottom:4px}.content-body code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:13px}.content-body pre{border-radius:var(--radius);background:#0000004d;margin-bottom:8px;padding:12px;overflow-x:auto}.content-body table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}.content-body th,.content-body td{border:1px solid var(--border);text-align:left;padding:6px 10px}.content-body th{color:var(--text-primary);background:#ffffff0d;font-weight:600}.content-body a{color:var(--accent)}.content-body hr{border:none;border-top:1px solid var(--border);margin:16px 0}.obs-item{border-bottom:1px solid var(--border);padding:8px 0}.obs-item:last-child{border-bottom:none}.obs-header{align-items:center;gap:8px;margin-bottom:3px;display:flex}.obs-date{color:var(--text-muted);font-size:12px;font-weight:500}.obs-source{color:var(--text-muted);background:#ffffff0d;border-radius:3px;padding:1px 6px;font-size:10px}.obs-content{color:var(--text-secondary);font-size:14px;line-height:1.5}.rel-item{align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.rel-arrow{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.login-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:80vh;display:flex}.login-container h2{letter-spacing:-.5px;font-size:24px;font-weight:700}.login-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;margin-top:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:all .15s;display:inline-block}.login-btn:hover{background:var(--accent-hover);color:#fff}.back-link{color:var(--text-secondary);-webkit-tap-highlight-color:transparent;align-items:center;gap:4px;margin-bottom:12px;padding:4px 0;font-size:14px;display:inline-flex}.back-link:hover{color:var(--text-primary)}.loading{text-align:center;color:var(--text-muted);padding:32px;font-size:14px}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state p{margin-top:8px;font-size:14px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
