:root{color-scheme:dark;font-family:Inter,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#e8eaed;background:#0f1115}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1a2233,#0f1115 45%)}button{font:inherit;cursor:pointer}.app-shell{max-width:1200px;margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.topbar h1{margin:0;font-size:1.5rem}.topbar p{margin:4px 0 0;color:#9aa0a6;font-size:.9rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px}.card-label{color:#9aa0a6;font-size:.85rem}.card-value{margin-top:8px;font-size:1.6rem;font-weight:600}.panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px;margin-bottom:24px}.panel h2{margin:0 0 16px;font-size:1.1rem}.panel h3{margin:24px 0 12px;font-size:1rem;font-weight:600}.panel-actions{margin:16px 0 0}.panel-note{margin:0 0 16px;color:#9aa0a6;font-size:.9rem}.chart-legend-note{margin:8px 0 0;color:#9aa0a6;font-size:.82rem;line-height:1.45}.btn{border:none;border-radius:10px;padding:10px 16px;background:#4c8bf5;color:#fff}.btn-secondary{background:#ffffff14}.login-card{max-width:420px;margin:120px auto;text-align:center}.login-card p{color:#9aa0a6}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem}th{color:#9aa0a6;font-weight:500}.error-banner{background:#ea433526;border:1px solid rgba(234,67,53,.35);color:#ffb4a9;border-radius:10px;padding:12px 16px;margin-bottom:16px}.loading{color:#9aa0a6}.loading-with-spinner{display:inline-flex;align-items:center;gap:10px}.spinner{width:18px;height:18px;border:2px solid rgba(154,160,166,.35);border-top-color:#9aa0a6;border-radius:50%;animation:spinner-spin .7s linear infinite;flex-shrink:0}@keyframes spinner-spin{to{transform:rotate(360deg)}}.chart-wrap{width:100%;height:280px}.chart-wrap-tall{height:340px}.retention-panel h3{margin:24px 0 12px;font-size:.95rem;color:#c4c7c5}.retention-summary{margin-bottom:8px}.retention-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.retention-chart-block{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px}.retention-heatmap-wrap{overflow-x:auto}.retention-heatmap{min-width:520px}.retention-heatmap th,.retention-heatmap td{text-align:center}.retention-heatmap td:first-child,.retention-heatmap th:first-child,.retention-heatmap td:nth-child(2),.retention-heatmap th:nth-child(2){text-align:left}.retention-heatmap-cell{font-weight:600}.retention-table td:last-child,.retention-table th:last-child{text-align:right}.topbar-actions{display:flex;gap:10px;flex-wrap:wrap}.btn:disabled{opacity:.6;cursor:not-allowed}.table-scroll{overflow-x:auto}.table-scroll-bounded{max-height:min(480px,65vh);overflow:auto}.table-scroll-bounded thead th{position:sticky;z-index:1;background:#161b24;box-shadow:0 1px #ffffff14}.table-scroll-bounded thead tr:first-child th{top:0}.table-scroll-bounded thead tr:nth-child(2) th{top:41px}.table-scroll-bounded .recent-events-table td:last-child{max-width:360px;white-space:pre-wrap;word-break:break-word;font-size:.82rem;color:#bdc1c6}.metrics-table{min-width:720px}.metrics-table th,.metrics-table td.num{text-align:right}.metrics-table td:first-child,.metrics-table th:first-child{text-align:left}.metrics-group-head{text-align:center!important}.table-sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0}.table-sort-btn:hover{color:#8ab4f8}.admin-feedback-table{min-width:1120px}.domains-cell{max-width:240px;font-size:.85rem}.feedback-cell{max-width:320px;white-space:pre-wrap;word-break:break-word;text-align:left!important}.user-id-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;word-break:break-all;text-align:left!important}.pagination-bar{display:flex;align-items:center;gap:12px;margin-top:16px}.pagination-label{color:#9aa0a6;font-size:.9rem}.topbar-actions a.btn{display:inline-flex;align-items:center;text-decoration:none}@media(max-width:720px){.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%}.topbar-actions .btn{flex:1}}
