:root{color-scheme:light;--ui-bg: #f4f6f9;--ui-surface: #ffffff;--ui-elevated: #ffffff;--ui-text: #0f172a;--ui-text-soft: #475569;--ui-muted: #64748b;--ui-faint: #94a3b8;--ui-border: #e2e8f0;--ui-border-strong: #cbd5e1;--ui-hover: #f1f5f9;--ui-primary: #2563eb;--ui-primary-strong: #1d4ed8;--ui-primary-text: #ffffff;--ui-primary-soft: #eff6ff;--ui-danger: #dc2626;--ui-success: #16a34a;--ui-warning: #d97706;--ui-purple: #7c3aed;--ui-cyan: #0891b2;--ui-pink: #db2777;--ui-gray: #64748b;--ui-radius-sm: 6px;--ui-radius: 10px;--ui-radius-lg: 14px;--ui-radius-pill: 999px;--ui-shadow-soft: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 12px rgba(15, 23, 42, .05);--ui-shadow: 0 8px 24px rgba(15, 23, 42, .08);--ui-shadow-pop: 0 16px 40px rgba(15, 23, 42, .14);--ui-ring: rgba(37, 99, 235, .28);--ui-ease: cubic-bezier(.22, .61, .36, 1);--ui-dur-fast: .16s;--ui-dur: .24s;--ui-dur-slow: .38s;--ui-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--ui-font-mono: "SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--rail-width: 216px;--topbar-height: 60px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--ui-font);font-size:14px;line-height:1.6;color:var(--ui-text);background:var(--ui-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}::selection{background:var(--ui-primary-soft)}*{scrollbar-width:thin;scrollbar-color:var(--ui-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border:3px solid transparent;border-radius:var(--ui-radius-pill);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ui-muted);background-clip:content-box}.mono{font-family:var(--ui-font-mono);font-size:12.5px;font-variant-numeric:tabular-nums}.is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.is-spinning{animation:spin .9s linear infinite}.is-muted{color:var(--ui-muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ui-scroll-x{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}@keyframes spin{to{transform:rotate(360deg)}}.boot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100vh;color:var(--ui-muted)}.boot__spinner,.state-block__spinner{width:26px;height:26px;border:2px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;animation:spin .72s linear infinite}.login{display:grid;place-items:center;min-height:100vh;padding:24px 16px;background:radial-gradient(120% 120% at 50% 0%,#eef2f9 0%,var(--ui-bg) 60%)}.login__card{display:grid;gap:16px;width:100%;max-width:380px;padding:28px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow)}.login__brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;letter-spacing:-.01em}.login__brand svg{padding:7px;color:var(--ui-primary-text);background:var(--ui-primary);border-radius:var(--ui-radius-sm)}.login__field{display:grid;gap:6px;font-size:13px;color:var(--ui-text-soft)}.login__field input{height:42px;padding:0 12px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);transition:border-color var(--ui-dur-fast) var(--ui-ease),box-shadow var(--ui-dur-fast) var(--ui-ease)}.login__field input:hover{border-color:var(--ui-border-strong)}.login__field input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.login__error{padding:8px 10px;font-size:13px;color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-danger) 22%,transparent);border-radius:var(--ui-radius-sm)}.login__submit{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;font-weight:600;color:var(--ui-primary-text);background:var(--ui-primary);border-radius:var(--ui-radius);transition:filter var(--ui-dur-fast) var(--ui-ease),transform var(--ui-dur-fast) var(--ui-ease)}.login__submit:hover{filter:brightness(1.08)}.login__submit:active{transform:translateY(1px)}.login__submit:disabled{cursor:progress;opacity:.65;filter:none}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:64px 16px;text-align:center}.state-block__title{font-size:15px;font-weight:600}.state-block__desc{max-width:28rem;font-size:13px;color:var(--ui-muted)}.state-block--error .state-block__title{color:var(--ui-danger)}.shell{display:flex;min-height:100vh;align-items:flex-start}.shell__sidebar{position:sticky;top:0;display:flex;flex:none;flex-direction:column;gap:8px;width:var(--rail-width);height:100vh;padding:18px 12px 12px;overflow-y:auto;background:var(--ui-surface);border-right:1px solid var(--ui-border)}.shell__brand{display:flex;align-items:center;gap:9px;padding:0 8px 14px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ui-text)}.shell__brand svg{padding:6px;color:var(--ui-primary-text);background:var(--ui-primary);border-radius:var(--ui-radius-sm)}.shell__nav{display:grid;flex:1;align-content:start;gap:14px}.shell__nav-group{display:grid;gap:2px}.shell__nav-label{padding:0 10px 4px;font-size:11px;font-weight:600;color:var(--ui-faint);letter-spacing:.04em}.shell__nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;color:var(--ui-text-soft);border-radius:var(--ui-radius);transition:background var(--ui-dur-fast) var(--ui-ease),color var(--ui-dur-fast) var(--ui-ease)}.shell__nav-item:hover{color:var(--ui-text);background:var(--ui-hover)}.shell__nav-item.is-active{font-weight:600;color:var(--ui-primary);background:var(--ui-primary-soft)}.shell__logout{display:flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 10px;font-size:13px;color:var(--ui-muted);border-radius:var(--ui-radius);transition:color var(--ui-dur-fast) var(--ui-ease),background var(--ui-dur-fast) var(--ui-ease)}.shell__logout:hover{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 7%,transparent)}.shell__main{display:flex;flex:1;min-width:0;flex-direction:column}.shell__topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-height:var(--topbar-height);padding:10px 20px;background:color-mix(in srgb,var(--ui-surface) 88%,transparent);border-bottom:1px solid var(--ui-border);-webkit-backdrop-filter:saturate(1.6) blur(10px);backdrop-filter:saturate(1.6) blur(10px)}.shell__topbar-left{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.shell__menu,.shell__backdrop{display:none}.shell__brand-mobile{display:none;align-items:center;gap:8px;font-size:15px;font-weight:600}.shell__field{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ui-muted)}.shell__field select{height:34px;max-width:220px;padding:0 28px 0 10px;font-size:13px;background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);transition:border-color var(--ui-dur-fast) var(--ui-ease),box-shadow var(--ui-dur-fast) var(--ui-ease)}.shell__field select:hover{border-color:var(--ui-border-strong)}.shell__field select:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.shell__site-link{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12.5px;color:var(--ui-muted);border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);transition:color var(--ui-dur-fast) var(--ui-ease),border-color var(--ui-dur-fast) var(--ui-ease)}.shell__site-link:hover{color:var(--ui-primary);border-color:color-mix(in srgb,var(--ui-primary) 40%,transparent)}select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ui-muted) 50%),linear-gradient(135deg,var(--ui-muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% + 1px),calc(100% - 8px) calc(50% + 1px);background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.shell__content{flex:1;padding:20px;min-width:0}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start;animation:page-in var(--ui-dur) var(--ui-ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.card{min-width:0;padding:16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-soft)}.card__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:14px}.card__head h2{font-size:15px;font-weight:600;letter-spacing:-.01em}.card__hint{font-size:12.5px;color:var(--ui-muted)}.card__tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.card__more{display:inline-flex;align-items:center;gap:3px;margin-left:auto;font-size:12.5px;color:var(--ui-primary);transition:filter var(--ui-dur-fast) var(--ui-ease)}.card__more:hover{filter:brightness(.85)}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.two-columns>.card{margin-bottom:0}.two-columns--start{align-items:start}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(178px,100%),1fr));gap:12px;min-width:0}.metric-card{display:grid;gap:6px;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-soft);transition:box-shadow var(--ui-dur) var(--ui-ease),transform var(--ui-dur) var(--ui-ease)}.metric-card:hover{box-shadow:var(--ui-shadow);transform:translateY(-1px)}.metric-card__head{display:flex;align-items:center;gap:8px}.metric-card__icon{display:grid;place-items:center;width:26px;height:26px;color:var(--accent, var(--ui-primary));background:color-mix(in srgb,var(--accent, var(--ui-primary)) 12%,transparent);border-radius:var(--ui-radius-sm)}.metric-card__label{font-size:12.5px;color:var(--ui-muted)}.metric-card__value{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric-card__hint{font-size:11.5px;color:var(--ui-faint)}.metric-card--blue{--accent: var(--ui-primary)}.metric-card--green{--accent: var(--ui-success)}.metric-card--purple{--accent: var(--ui-purple)}.metric-card--orange{--accent: var(--ui-warning)}.metric-card--cyan{--accent: var(--ui-cyan)}.metric-card--pink{--accent: var(--ui-pink)}.metric-card--gray{--accent: var(--ui-gray)}.metric-card__delta{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-muted);background:var(--ui-hover);border-radius:var(--ui-radius-pill)}.metric-card__delta-row{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ui-faint)}.metric-card__delta.is-up{color:var(--ui-success);background:color-mix(in srgb,var(--ui-success) 11%,transparent)}.metric-card__delta.is-down{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 11%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;font-size:14px;font-weight:500;white-space:nowrap;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);transition:background var(--ui-dur-fast) var(--ui-ease),border-color var(--ui-dur-fast) var(--ui-ease),transform var(--ui-dur-fast) var(--ui-ease)}.btn:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{font-weight:600;color:var(--ui-primary-text);background:var(--ui-primary);border-color:var(--ui-primary)}.btn--primary:hover{background:var(--ui-primary-strong);border-color:var(--ui-primary-strong);filter:brightness(1.04)}.btn--danger{color:var(--ui-danger);border-color:color-mix(in srgb,var(--ui-danger) 38%,transparent)}.btn--danger:hover{color:var(--ui-primary-text);background:var(--ui-danger);border-color:var(--ui-danger)}.btn--small{height:30px;padding:0 10px;font-size:12.5px}input[type=text],input[type=password],input[type=number],input[type=date],textarea{height:38px;padding:0 12px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);transition:border-color var(--ui-dur-fast) var(--ui-ease),box-shadow var(--ui-dur-fast) var(--ui-ease)}textarea{height:auto;padding:9px 12px}input:hover,textarea:hover{border-color:var(--ui-border-strong)}input:focus,textarea:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.filter-select{height:32px;font-size:13px;background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);transition:border-color var(--ui-dur-fast) var(--ui-ease),box-shadow var(--ui-dur-fast) var(--ui-ease)}.filter-select:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.inline-input{width:100%;min-width:0;height:30px;padding:0 8px;font-size:13px;background:var(--ui-surface);border:1px solid transparent;border-radius:var(--ui-radius-sm)}.inline-input:hover{border-color:var(--ui-border)}.inline-input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.form-field{display:grid;gap:5px;font-size:12.5px;color:var(--ui-text-soft)}.form-error{padding:8px 10px;font-size:13px;color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 8%,transparent);border-radius:var(--ui-radius-sm)}.site-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;padding:14px;margin-bottom:16px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.site-form .form-error,.site-form .btn{grid-column:1 / -1}.search-box{position:relative;display:inline-flex;align-items:center;width:min(260px,100%)}.search-box__icon{position:absolute;left:9px;color:var(--ui-faint);pointer-events:none}.search-box__input{width:100%;height:32px;padding:0 28px 0 30px;font-size:13px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill)}.search-box__input::placeholder{color:var(--ui-faint)}.search-box__input:hover{border-color:var(--ui-border-strong)}.search-box__input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.search-box__clear{position:absolute;right:6px;display:grid;place-items:center;width:20px;height:20px;color:var(--ui-faint);border-radius:50%;transition:color var(--ui-dur-fast) var(--ui-ease),background var(--ui-dur-fast) var(--ui-ease)}.search-box__clear:hover{color:var(--ui-text);background:var(--ui-hover)}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--ui-text-soft);background:var(--ui-hover);border-radius:var(--ui-radius-pill)}.tag--gray{color:var(--ui-muted);background:color-mix(in srgb,var(--ui-gray) 13%,transparent)}.tag--blue{color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 13%,transparent)}.tag--green{color:var(--ui-success);background:color-mix(in srgb,var(--ui-success) 14%,transparent)}.tag--orange{color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 15%,transparent)}.tag--purple{color:var(--ui-purple);background:color-mix(in srgb,var(--ui-purple) 13%,transparent)}.tag--cyan{color:var(--ui-cyan);background:color-mix(in srgb,var(--ui-cyan) 14%,transparent)}.table-wrap{margin:0 -16px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table{font-size:13px;border-collapse:collapse}.table th{position:sticky;top:0;z-index:1;padding:9px 16px;font-size:12px;font-weight:600;color:var(--ui-muted);text-align:left;white-space:nowrap;background:var(--ui-bg);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.table td{padding:11px 16px;color:var(--ui-text-soft);vertical-align:top;white-space:nowrap;border-bottom:1px solid var(--ui-border)}.table td.is-num{text-align:right}.table tbody tr{transition:background var(--ui-dur-fast) var(--ui-ease)}.table tbody tr:hover{background:var(--ui-bg)}.table tbody tr:last-child td{border-bottom:none}.table .is-dim{color:var(--ui-faint)}.cell-path{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:var(--ui-text)}.table th.is-sortable{padding:0}.table th.is-sortable button{display:inline-flex;align-items:center;gap:4px;width:100%;padding:9px 16px;font:inherit;color:inherit;text-align:inherit;white-space:inherit;transition:color var(--ui-dur-fast) var(--ui-ease)}.table th.is-sortable button:hover{color:var(--ui-primary)}.table th.is-sortable.is-active button{color:var(--ui-primary);font-weight:600}.table th.is-sortable.is-num button{justify-content:flex-end}.sort-caret{flex:none;opacity:.5}.table th.is-sortable.is-active .sort-caret{opacity:1}.row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.row-actions__confirm{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ui-danger)}.detail-row>td{padding:0 16px 14px;background:var(--ui-bg)}.detail-hint{padding:14px 0;font-size:12.5px;color:var(--ui-muted);text-align:center}.event-feed{display:grid;gap:1px;overflow:hidden;background:var(--ui-border);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.event-feed__item{display:grid;grid-template-columns:96px 120px minmax(0,1fr) 118px;gap:10px;align-items:center;padding:7px 10px;font-size:12.5px;background:var(--ui-surface)}.event-feed__item:hover{background:var(--ui-bg)}.event-feed__time{color:var(--ui-muted);font-variant-numeric:tabular-nums}.event-feed__ip,.event-feed__visitor{overflow:hidden;color:var(--ui-faint);text-overflow:ellipsis}.event-feed__path{overflow:hidden;color:var(--ui-text-soft);text-overflow:ellipsis}.event-feed--detail{max-height:320px;overflow-y:auto}.rank-list{display:grid;gap:2px}.rank-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:9px 10px;border-radius:var(--ui-radius);transition:background var(--ui-dur-fast) var(--ui-ease)}.rank-list__item:hover{background:var(--ui-bg)}.rank-list__name{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ui-text)}.rank-list__value{font-size:12.5px;font-weight:600;color:var(--ui-text);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-list__sub{grid-column:1 / -1;font-size:11.5px;color:var(--ui-faint)}.rank-list__item--bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;background:var(--ui-surface);border-radius:var(--ui-radius)}.rank-list__item--bar .rank-list__name,.rank-list__item--bar .rank-list__value{position:relative;z-index:1}.rank-list__bar{position:absolute;inset:0 auto 0 0;width:calc(var(--ratio, 0) * 100%);background:color-mix(in srgb,var(--ui-primary) 9%,transparent);border-radius:var(--ui-radius);transition:width var(--ui-dur-slow) var(--ui-ease)}.rank-list__rank{position:relative;z-index:1;display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;font-size:11px;font-weight:600;color:var(--ui-faint)}.rank-list__item--bar:nth-child(-n+3) .rank-list__rank{color:var(--ui-primary-text);background:var(--ui-primary);border-radius:50%}.rank-list__main{display:flex;min-width:0;align-items:center}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:12px;margin-top:4px;font-size:12.5px;color:var(--ui-muted);border-top:1px solid var(--ui-border)}.pagination__total{font-variant-numeric:tabular-nums;white-space:nowrap}.pagination__actions{display:flex;align-items:center;gap:4px;margin-left:auto}.pagination__pages{display:flex;align-items:center;gap:2px}.pagination button{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;font-size:12.5px;color:var(--ui-text-soft);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);transition:background var(--ui-dur-fast) var(--ui-ease),border-color var(--ui-dur-fast) var(--ui-ease),color var(--ui-dur-fast) var(--ui-ease)}.pagination button:hover:not(:disabled){color:var(--ui-primary);border-color:color-mix(in srgb,var(--ui-primary) 40%,transparent)}.pagination button:disabled{cursor:not-allowed;opacity:.45}.pagination button.is-current{font-weight:600;color:var(--ui-primary-text);background:var(--ui-primary);border-color:var(--ui-primary)}.pagination__ellipsis{min-width:18px;color:var(--ui-faint);text-align:center}.pagination__current{padding:0 4px;font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.pagination__size{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pagination__size select{height:30px;font-size:12.5px;background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.pagination__size select:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ring);outline:none}.pagination--single{display:flex;justify-content:flex-end;padding-top:12px;font-size:12.5px;color:var(--ui-muted);border-top:1px solid var(--ui-border)}.trend-chart{display:grid;gap:10px}.trend-chart__legend{display:flex;flex-wrap:wrap;gap:6px}.trend-chart__legend-item{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:12.5px;color:var(--ui-text-soft);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);transition:border-color var(--ui-dur-fast) var(--ui-ease),color var(--ui-dur-fast) var(--ui-ease),background var(--ui-dur-fast) var(--ui-ease)}.trend-chart__legend-item:hover{border-color:var(--ui-border-strong)}.trend-chart__legend-item.is-off{color:var(--ui-faint);background:var(--ui-bg)}.trend-chart__legend-item.is-off .trend-chart__dot{opacity:.35}.trend-chart__dot{width:8px;height:8px;border-radius:50%}.trend-chart__plot{position:relative}.trend-chart__svg{display:block;width:100%;height:auto;overflow:visible}.trend-chart__grid{stroke:var(--ui-border);stroke-width:1;stroke-dasharray:3 4}.trend-chart__axis{font-size:10.5px;fill:var(--ui-faint);font-variant-numeric:tabular-nums}.trend-chart__hit{fill:transparent;cursor:crosshair}.trend-chart__cursor{stroke:var(--ui-border-strong);stroke-width:1;stroke-dasharray:3 3}.chart-empty{display:grid;place-items:center;min-height:180px;font-size:13px;color:var(--ui-muted);background:var(--ui-bg);border-radius:var(--ui-radius)}.chart-tip{position:absolute;z-index:5;padding:8px 10px;min-width:132px;font-size:12px;color:var(--ui-text);pointer-events:none;background:var(--ui-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);transform:translate(-50%,-100%)}.chart-tip__title{margin-bottom:4px;font-weight:600;color:var(--ui-muted)}.chart-tip__row{display:flex;align-items:center;gap:6px;justify-content:space-between;font-variant-numeric:tabular-nums}.chart-tip__label{display:inline-flex;align-items:center;gap:5px;color:var(--ui-text-soft)}.heatmap{display:grid;gap:6px;overflow-x:auto;padding-bottom:2px}.heatmap__grid{display:grid;grid-template-columns:34px repeat(24,minmax(18px,1fr));gap:3px;min-width:520px}.heatmap__cell{aspect-ratio:1 / 1;background:color-mix(in srgb,var(--ui-primary) calc(var(--ratio, 0) * 82%),var(--ui-hover));border-radius:3px;transition:transform var(--ui-dur-fast) var(--ui-ease)}.heatmap__cell:hover{transform:scale(1.22)}.heatmap__cell[data-empty="1"]{background:var(--ui-hover)}.heatmap__label{display:flex;align-items:center;justify-content:flex-end;padding-right:4px;font-size:11px;color:var(--ui-faint)}.heatmap__hours{display:grid;grid-template-columns:34px repeat(24,minmax(18px,1fr));gap:3px;min-width:520px;font-size:9.5px;color:var(--ui-faint);text-align:center;font-variant-numeric:tabular-nums}.heatmap__legend{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ui-muted)}.heatmap__legend span{width:26px;height:8px;border-radius:var(--ui-radius-pill);background:linear-gradient(90deg,var(--ui-hover),var(--ui-primary))}.mixbar{display:flex;gap:2px;height:10px;overflow:hidden;background:var(--ui-hover);border-radius:var(--ui-radius-pill)}.mixbar__seg{height:100%;border-radius:var(--ui-radius-pill);transition:width var(--ui-dur-slow) var(--ui-ease)}.mixbar__seg--new{background:var(--ui-primary)}.mixbar__seg--returning{background:var(--ui-success)}.mixbar-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:12.5px;color:var(--ui-muted)}.mixbar-legend b{font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.mixbar-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.mixbar-legend__pct{color:var(--ui-faint)}.mixbar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.mixbar-legend i.new{background:var(--ui-primary)}.mixbar-legend i.returning{background:var(--ui-success)}.mixbar__seg--direct,.mixbar-legend i.direct{background:var(--ui-gray)}.mixbar__seg--internal,.mixbar-legend i.internal{background:var(--ui-primary)}.mixbar__seg--search,.mixbar-legend i.search{background:var(--ui-success)}.mixbar__seg--social,.mixbar-legend i.social{background:var(--ui-purple)}.mixbar__seg--external,.mixbar-legend i.external{background:var(--ui-cyan)}.mixbar-legend span{display:inline-flex;align-items:center;white-space:nowrap}.realtime-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-soft)}.realtime-head__online{display:flex;align-items:center;gap:9px}.realtime-head__pulse{width:9px;height:9px;background:var(--ui-success);border-radius:50%;box-shadow:0 0 color-mix(in srgb,var(--ui-success) 55%,transparent);animation:pulse 1.9s var(--ui-ease) infinite}@keyframes pulse{70%{box-shadow:0 0 0 9px transparent}}.realtime-head__count{font-size:24px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.realtime-head__label{font-size:12.5px;color:var(--ui-muted)}.realtime-head__actions{display:flex;align-items:center;gap:10px;margin-left:auto}.realtime-head__toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ui-muted);cursor:pointer}.realtime-head__toggle input{accent-color:var(--ui-primary)}.snippet-box{display:grid;gap:8px;padding:14px;margin-bottom:14px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.snippet-box__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--ui-muted)}.code-block{padding:11px 12px;margin:0;overflow-x:auto;font-family:var(--ui-font-mono);font-size:12px;line-height:1.7;color:#17263d;word-break:break-all;white-space:pre-wrap;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.hint-list{display:grid;gap:7px;font-size:13px;color:var(--ui-text-soft)}.hint-list li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px}.hint-list li:before{width:5px;height:5px;margin-top:9px;content:"";background:var(--ui-primary);border-radius:50%}.help-hero{display:grid;gap:8px;padding:26px 24px;color:var(--ui-primary-text);background:linear-gradient(135deg,#1d4ed8,#2563eb 52%,#4f7cff);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow)}.help-hero h1{font-size:22px;font-weight:600;letter-spacing:-.02em}.help-hero p{max-width:60ch;font-size:13.5px;opacity:.9}.help-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.help-pages .tag{color:var(--ui-primary-text);background:#ffffff2e}.help-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;min-width:0}.help-step{display:grid;gap:8px;padding:16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-soft)}.help-step__num{display:inline-grid;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;color:var(--ui-primary);background:var(--ui-primary-soft);border-radius:50%}.help-step h3{font-size:14px;font-weight:600}.help-step p{font-size:13px;color:var(--ui-muted)}.help-card-body{display:grid;gap:12px;font-size:13.5px;color:var(--ui-text-soft)}.help-card-body h3{font-size:14px;font-weight:600;color:var(--ui-text)}.help-code{position:relative}.help-code__copy{position:absolute;top:6px;right:6px}.help-faq{display:grid;gap:8px}.help-faq__item{overflow:hidden;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.help-faq__item summary{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;font-weight:500;cursor:pointer;list-style:none}.help-faq__item summary::-webkit-details-marker{display:none}.help-faq__item summary:after{margin-left:auto;color:var(--ui-faint);content:"+"}.help-faq__item[open] summary:after{content:"−"}.help-faq__item[open] summary{border-bottom:1px solid var(--ui-border);background:var(--ui-bg)}.help-faq__body{display:grid;gap:10px;padding:14px;font-size:13px;color:var(--ui-text-soft)}.help-link{color:var(--ui-primary);text-decoration:underline;text-underline-offset:2px}.help-link:hover{color:var(--ui-primary-strong)}.help-note{padding:10px 12px;font-size:12.5px;color:var(--ui-text-soft);background:var(--ui-primary-soft);border:1px solid color-mix(in srgb,var(--ui-primary) 16%,transparent);border-radius:var(--ui-radius)}@media(max-width:900px){.shell__sidebar{position:fixed;top:0;left:0;z-index:60;width:min(278px,84vw);height:100dvh;padding-top:18px;background:var(--ui-surface);border-right:1px solid var(--ui-border);box-shadow:none;transform:translate(-100%);transition:transform var(--ui-dur) var(--ui-ease),box-shadow var(--ui-dur) var(--ui-ease)}.shell.is-nav-open .shell__sidebar{transform:translate(0);box-shadow:var(--ui-shadow-pop)}.shell__backdrop{display:block;position:fixed;inset:0;z-index:50;background:#0f172a6b;opacity:0;pointer-events:none;transition:opacity var(--ui-dur) var(--ui-ease)}.shell.is-nav-open .shell__backdrop{opacity:1;pointer-events:auto}.shell__menu{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--ui-text-soft);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.shell__brand-mobile{display:flex}.shell__topbar{gap:8px 10px;padding:8px 14px}.shell__field{flex:1 1 auto}.shell__field select{flex:1;max-width:none}.shell__site-link{display:none}.shell__content{padding:14px}.two-columns{grid-template-columns:minmax(0,1fr)}.card{padding:14px}.table-wrap{margin-inline:-14px}.table th,.table td{padding-inline:14px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card__value{font-size:21px}.card__tools{flex:1 1 100%;margin-left:0}.search-box{flex:1 1 160px;width:auto}.event-feed__item{grid-template-columns:82px minmax(0,1fr);gap:4px 10px}.pagination__actions{margin-left:0}.col-soft{display:none}}@media(max-width:640px){body{font-size:13.5px}input[type=text],input[type=password],input[type=number],input[type=date],select,textarea{font-size:16px}.shell__content{padding:12px}.metrics-grid{gap:8px}.metric-card{padding:12px}.metric-card__value{font-size:19px}.metric-card__hint,.metric-card__delta-hint{display:none}.site-form{grid-template-columns:minmax(0,1fr)}.card__head h2{font-size:14.5px}.pagination{gap:6px 10px}.pagination__pages,.pagination__edge{display:none}.pagination button{min-width:34px;height:34px}.help-hero{padding:20px 18px}.help-hero h1{font-size:19px}.realtime-head__actions{flex:1 1 100%;justify-content:space-between;margin-left:0}.col-min{display:none}.table th,.table td,.table th.is-sortable button{padding-inline:10px}.cell-path{max-width:148px}.table th:last-child,.table td:last-child{position:sticky;right:0;z-index:2;background:var(--ui-surface)}.table th:last-child{background:var(--ui-bg)}.table tbody tr:hover td:last-child{background:var(--ui-hover)}.heatmap__grid,.heatmap__hours{grid-template-columns:24px repeat(24,minmax(0,1fr));gap:2px;min-width:0}.heatmap__hours span:not(:nth-child(4n+2)){visibility:hidden}.heatmap__cell{border-radius:2px}.heatmap__label{font-size:10px;padding-right:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
