*{box-sizing:border-box}body{margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#14201b;background:#f4f6f5}
.rh{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;background:#0b3d2e;color:#fff;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}
.rh .titles{flex:1;display:flex;flex-direction:column}.rh .muted{color:#b7d3c7;font-size:12px}
.back{color:#fff;text-decoration:none;font-weight:600}.hbtn{background:none;border:1px solid #ffffff55;color:#fff;border-radius:6px;padding:4px 10px;font-size:16px}
.gate{margin:40px auto;max-width:420px;background:#fff;border-radius:10px;padding:20px;text-align:center}
.hidden{display:none!important}main{padding:10px 12px 40px;max-width:1200px;margin:0 auto}
.controls{background:#fff;border-radius:10px;padding:10px;margin-bottom:10px}.row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:6px}
.controls input[type=date],.controls select,input[type=search]{font:inherit;padding:5px 6px;border:1px solid #c9d3cf;border-radius:6px}
.quick button,.tabs button{font:inherit;border:1px solid #c9d3cf;background:#fff;border-radius:6px;padding:4px 8px;margin-right:4px;cursor:pointer}
.tabs{display:flex;gap:4px;margin:6px 0}.tabs button.on{background:#0b3d2e;color:#fff;border-color:#0b3d2e}
.chk{display:inline-flex;gap:4px;align-items:center}.hint{color:#5f6f68;font-size:12px;margin:4px 0}
.tab{background:#fff;border-radius:10px;padding:10px}h3{font-size:14px;margin:16px 0 6px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.card{border:1px solid #e2e8e5;border-radius:8px;padding:8px;border-left:5px solid var(--c,#999);cursor:pointer}.card b{display:block}.card small{color:#5f6f68}
.chart{overflow-x:auto}.chart svg{display:block}.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;margin-top:4px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}
.tblwrap{overflow-x:auto}table{border-collapse:collapse;font-size:12px}th,td{border:1px solid #e2e8e5;padding:3px 6px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}
.day{margin:10px 0 2px;font-weight:700;border-bottom:1px solid #e2e8e5;padding-bottom:2px}
.ev{display:flex;gap:8px;padding:3px 0;border-bottom:1px dashed #eef2f0;align-items:baseline}.ev .t{color:#5f6f68;min-width:58px;white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.ev .rep{flex:none;font-weight:600;width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev .what{flex:1;min-width:0}
.tag{display:inline-block;font-size:11px;border-radius:4px;padding:0 5px;margin-right:4px;color:#fff}
.k-visit{background:#2e7d32}.k-stop{background:#6d4c41}.k-hubspot{background:#ff7a59}.k-app{background:#546e7a}
a{color:#0b5fa5}.full{display:block}.full input{width:100%;margin-top:4px}
.cust-split{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:10px;margin-top:8px}
@media(max-width:700px){.cust-split{grid-template-columns:1fr}.ev .rep{width:80px}}
.cust-list{max-height:70vh;overflow:auto;border:1px solid #e2e8e5;border-radius:8px}
.ci{padding:6px 8px;border-bottom:1px solid #eef2f0;cursor:pointer}.ci:hover,.ci.on{background:#e8f2ee}.ci small{color:#5f6f68}
.more{margin:8px 0}.more button{font:inherit}
