:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;--blue:#0a36a4;--blue-light:#edf3ff;--muted:#5e6c80;--border:#dce2ea;background:#f4f6f9;font-family:Arial,Helvetica,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #3973e5}svg{flex-shrink:0}h1,h2,h3,p{margin:0}p{line-height:1.5}::selection{background:#dce8ff}.button{white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.button:hover{text-decoration:none}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:#082b83}.button.secondary{color:#334155;background:#fff;border-color:#ccd4df}.button.secondary:hover{background:#f1f5f9}.button.small{min-height:32px;padding:6px 9px;font-size:12px}.icon-button{color:#475569;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:hover{background:var(--blue-light);color:var(--blue);text-decoration:none}.text-link{color:var(--blue);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.text-link:hover{text-decoration:underline}.brand{color:#162c57;letter-spacing:-.8px;white-space:nowrap;align-items:center;font-size:22px;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand-symbol{object-fit:contain;flex-shrink:0;width:30px;height:30px;margin-right:8px;display:block}.brand-thin{font-weight:400}.brand-dot{color:var(--blue)}.login-page{place-items:center;min-height:100svh;padding:24px;display:grid}.login-main{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;max-width:380px;padding:30px}.login-main>.brand{margin-bottom:28px}.login-form h1{margin-bottom:22px;font-size:19px}.login-form label{margin-bottom:16px}.login-form .button{width:100%;margin-top:4px}.login-privacy{text-align:center;color:var(--muted);margin-top:24px;font-size:12px;display:block}.password-input{position:relative}.password-input input{padding-right:42px}.password-input button{width:38px;color:var(--muted);background:0 0;border:0;border-radius:4px;place-items:center;display:grid;position:absolute;inset:1px 1px 1px auto}.session-loading{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:24px;display:flex}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:30;background:#fff;flex-direction:column;width:208px;padding:22px 12px 12px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;align-items:center;margin:0 8px 28px;display:flex}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#435166;border-radius:4px;align-items:center;gap:10px;min-height:40px;padding:10px 12px;font-size:14px;display:flex}.sidebar nav a:hover{background:#f4f6f9;text-decoration:none}.sidebar nav a.selected{color:var(--blue);background:#eaf0fc;font-weight:600}.sidebar nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-site{color:var(--muted);padding:10px;font-size:12px;display:block}.user-box{border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 4px 8px;display:flex}.user-box>div{flex:1;min-width:0}.user-box strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.user-box small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.avatar{color:#35568b;background:#eaf0fc;border-radius:4px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:grid}.logout{min-height:36px;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:8px;font-size:12px;display:inline-flex}.logout:hover{color:var(--blue)}.app-main{min-width:0;margin-left:208px}.workspace{max-width:1800px;margin:auto;padding:24px}.mobile-only,.mobile-topbar,.sidebar-scrim{display:none}.page-header{justify-content:space-between;align-items:center;gap:16px;min-height:36px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.4px;font-size:24px;font-weight:600}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:5px;min-width:0;padding:16px}.metric>div{color:#475569;justify-content:space-between;align-items:center;gap:6px;font-size:13px;display:flex}.metric-icon{color:#61738d;display:flex}.metric>strong{font-variant-numeric:tabular-nums;margin:10px 0 5px;font-size:28px;font-weight:600;line-height:1.2;display:block}.metric>small{color:var(--muted);font-size:12px;line-height:1.4;display:block}.panel{border:1px solid var(--border);background:#fff;border-radius:5px;min-width:0}.panel-heading{justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.panel h2{font-size:14px;font-weight:600}.panel-heading p{color:var(--muted);margin-top:4px;font-size:12px}.overview-charts{grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px;display:grid}.traffic-chart{padding:0 16px 16px}.chart-total{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin-bottom:8px;font-size:22px;font-weight:600;display:flex}.chart-total span{color:var(--muted);font-size:12px;font-weight:400}.traffic-chart svg{width:100%;height:150px;display:block}.device-chart{justify-content:center;align-items:center;gap:20px;min-height:210px;padding:16px;display:flex}.donut{border-radius:50%;flex-shrink:0;width:128px;height:128px;padding:12px}.donut>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.donut strong{font-size:23px;font-weight:600}.donut span{color:var(--muted);margin-top:3px;font-size:11px}.device-legend{flex-direction:column;gap:14px;min-width:150px;display:flex}.device-legend strong{color:#1e293b;margin-left:auto;padding-left:8px;font-size:12px}.device-legend i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.desktop-dot{background:#0a36a4}.mobile-dot{background:#6e9de5}.other-dot{background:#dce5f4}.report-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:flex}.report-filters>label{flex:140px;min-width:0}.report-filters>.checkbox-label{flex:none;min-height:36px}.breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.breakdown-panel{padding:16px}.breakdown-heading{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.breakdown-heading h2{margin:0}.breakdown-details .breakdown-list span[title]{white-space:normal;overflow-wrap:anywhere}.breakdown-list>div{margin-top:12px}.breakdown-list span[title]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breakdown-list strong{font-variant-numeric:tabular-nums}.bar-track{background:#eef2f7;border-radius:2px;height:4px;overflow:hidden}.bar-track span{background:#6e9de5;height:100%;display:block}.recent-panel{margin-top:16px}.report-footnote{color:var(--muted);align-items:flex-start;gap:8px;margin-top:16px;font-size:12px;display:flex}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{border-block:1px solid var(--border);color:#475569;white-space:nowrap;background:#f8fafc;padding:10px 14px;font-size:12px;font-weight:600}.table-scroll>table>thead>tr>th{border-top:0}.panel-heading+.table-scroll th{border-top:1px solid var(--border)}td{vertical-align:middle;border-bottom:1px solid #e8edf3;padding:12px 14px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8faff}td strong{font-weight:600}.right{text-align:right}.tabular{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.destination{color:#475569;font-size:12px}a.destination:hover{color:var(--blue)}.link-identity{min-width:160px;max-width:320px}.link-identity strong{overflow-wrap:anywhere;margin-bottom:4px;display:block}.link-identity a{overflow-wrap:anywhere;align-items:center;gap:3px;font-size:12px;display:flex}.link-identity a svg{margin-left:2px}.cell-note,.legacy-note{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.date-cell{white-space:nowrap;color:#475569;font-size:12px}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;display:flex}.badge{white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.badge.active{color:#0a36a4;background:#eaf1ff}.badge.inactive,.badge.neutral{color:#5b6574;background:#edf0f4}.link-toolbar{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:14px;display:flex}.search-input{align-items:center;gap:8px;max-width:620px;display:flex}.search-input>svg{color:var(--muted)}.search-input input{flex:1;min-width:0}.search-input button{background:#f8fafc;border:1px solid #ccd4df;border-radius:4px;min-height:36px;padding:7px 14px;font-size:12px;font-weight:600}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters select{width:auto;max-width:280px;font-size:12px}.pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.pagination>div{gap:4px;display:flex}.under-note{color:var(--muted);margin:12px 0;font-size:12px}.domains-table{min-width:750px}.domains-table td:first-child{overflow-wrap:anywhere;max-width:340px}.roles-table{min-width:750px}.roles-table td:first-child{min-width:160px}.permission-summary{color:#475569;max-width:560px;font-size:12px;line-height:1.6}.protected-role{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.person-cell{align-items:center;gap:9px;display:flex}.role-label{font-size:12px}label{color:#334155;font-size:13px;font-weight:500;display:block}input:not([type=checkbox]),select,textarea{color:#1e293b;background:#fff;border:1px solid #cbd3df;border-radius:4px;width:100%;min-width:0;min-height:36px;padding:8px 10px}input::placeholder,textarea::placeholder{color:#7a8799;opacity:1}input:disabled,select:disabled{color:#68788f;background:#f1f4f8}textarea{resize:vertical}label>input:not([type=checkbox]),label>select,label>textarea,label>.password-input,label>.slug-input{margin-top:6px;display:block}label>small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:400;line-height:1.4;display:block}.optional{color:var(--muted);font-size:11px;font-weight:400}.checkbox-label{flex-direction:row;align-items:center;gap:8px;font-weight:400;display:flex}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);flex-shrink:0;margin:0}.modal{border:1px solid var(--border);color:#1e293b;background:#fff;border-radius:6px;width:min(600px,100vw - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 12px 48px #13213a26}.modal::backdrop{background:#0f172a66}.modal-head{z-index:1;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex;position:sticky;top:0}.modal-head h2{font-size:17px;font-weight:600}.form-content{flex-direction:column;gap:16px;padding:20px;display:flex}.form-content>p{font-size:13px}.form-footer{border-top:1px solid var(--border);background:#f8fafc;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex;position:sticky;bottom:0}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid>*{min-width:0}.form-note{color:var(--muted);line-height:1.5;font-size:12px!important}.slug-input{position:relative}.slug-input input{padding-right:60px}.slug-input button{border:0;border-left:1px solid var(--border);color:var(--blue);background:#f8fafc;border-radius:0 3px 3px 0;padding:0 10px;font-size:12px;position:absolute;inset:1px 1px 1px auto}.link-preview{border:1px solid var(--border);overflow-wrap:anywhere;background:#f8fafc;border-radius:4px;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.permissions-field{border:1px solid var(--border);border-radius:4px;padding:14px}.permissions-field legend{padding:0 5px;font-size:13px;font-weight:600}.permissions-field label+label{margin-top:12px}.notice{color:#334b72;background:#f2f6ff;border:1px solid #d5e1f5;border-radius:4px;align-items:flex-start;gap:9px;margin-bottom:16px;padding:12px;font-size:13px;line-height:1.5;display:flex}.notice svg{margin-top:1px}.notice.error{color:#9f2828;background:#fff5f5;border-color:#f0c7c7}.notice.error>span{flex:1}.notice.error button{color:inherit;background:0 0;border:0;font-size:12px;text-decoration:underline}.form-content .notice{margin-bottom:0}.login-form .notice{margin-top:12px}.empty{text-align:center;color:var(--muted);padding:30px 16px}.empty h3{font-size:13px;font-weight:500}.empty p{margin-top:6px;font-size:12px}.empty .button{margin-top:12px}.loading{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:28px 16px;font-size:13px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.public-nav,.public-footer{justify-content:space-between;align-items:center;gap:20px;max-width:960px;margin:auto;padding:24px;display:flex}.public-footer{border-top:1px solid var(--border);font-size:12px}.privacy{max-width:760px;margin:auto;padding:32px 24px 64px}.privacy h1{margin-bottom:20px;font-size:26px}.privacy h2{margin:28px 0 12px;font-size:18px}.privacy p{color:#475569;margin-top:12px;line-height:1.7}@media (width<=1150px){.workspace{padding:20px}.overview-charts{grid-template-columns:1.3fr 1fr}.device-chart{gap:12px}.donut{width:104px;height:104px;padding:10px}.metric{padding:14px}.metric>div{font-size:12px}}@media (width<=950px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-charts{grid-template-columns:1fr}.device-chart{justify-content:flex-start;gap:30px;min-height:150px}.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.sidebar{visibility:hidden;width:240px;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:translate(0)}.sidebar-brand{margin-bottom:24px}.sidebar nav a{min-height:44px}.mobile-only{display:inline-flex}.sidebar-scrim{z-index:20;background:#0f172a66;border:0;display:block;position:fixed;inset:0}.mobile-topbar{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:10px;min-height:56px;padding:8px 16px;display:flex}.mobile-topbar .brand{font-size:20px}.mobile-topbar .brand-symbol{width:26px;height:26px}.app-main{margin-left:0}.workspace{padding:16px}.page-header{margin-bottom:16px}.page-header h1{font-size:22px}.button,.icon-button{min-height:40px}.icon-button{width:40px}.filters select{flex:140px;max-width:100%}input:not([type=checkbox]),select,textarea{min-height:40px;font-size:16px}.filters select{font-size:13px}.search-input{max-width:none}.search-input>svg{display:none}.search-input button{min-height:40px}.report-filters{padding:12px}.panel-heading{padding:14px}.public-nav .brand{font-size:20px}.public-nav>a:last-child{font-size:12px}}@media (width<=480px){.login-page{padding:16px}.login-main{padding:24px}.metrics{gap:8px}.metric{padding:12px}.metric>div{align-items:flex-start}.metric-icon svg{width:15px;height:15px}.metric>strong{font-size:25px}.metric>small{font-size:11px}.breakdown-grid,.form-grid{grid-template-columns:1fr}.device-chart{justify-content:space-between;gap:12px}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.form-content{padding:16px}.pagination{align-items:flex-start}.report-footnote>svg{display:none}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.list-toolbar{justify-content:flex-end;align-items:center;padding:10px 14px;display:flex}.list-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.inactive-toggle{color:#475569;cursor:pointer;white-space:nowrap;align-items:center;gap:8px;min-height:36px;font-size:12px;font-weight:400;display:inline-flex}.inactive-toggle input[type=checkbox]{appearance:none;cursor:pointer;background:#e2e8f0;border:1px solid #94a3b8;border-radius:10px;width:32px;height:18px;margin:0;position:relative}.inactive-toggle input[type=checkbox]:after{content:"";background:#64748b;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px}.inactive-toggle input[type=checkbox]:checked{border-color:var(--blue);background:var(--blue)}.inactive-toggle input[type=checkbox]:checked:after{background:#fff;transform:translate(14px)}.report-filters>.inactive-toggle{flex:none}@media (width<=760px){.inactive-toggle{min-height:40px}.panel-heading:has(.list-actions){flex-wrap:wrap}.panel-heading .list-actions{justify-content:space-between;gap:10px;width:100%}}.overview-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.overview-actions label{gap:4px;font-size:12px;display:grid}@media (width<=700px){.page-header:has(.overview-actions){flex-direction:column;align-items:stretch}.overview-actions label{flex:1;min-width:130px}}.analytics-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-chip{overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:12px}.breakdown-choice{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:5px 0}.breakdown-choice>div:first-child{justify-content:space-between;gap:10px;margin-bottom:5px;font-size:12px;display:flex}.breakdown-choice:hover{background:#f0f5ff}.breakdown-choice:focus-visible,.range-calendar button:focus-visible{outline-offset:2px;outline:2px solid #0a36a4}.device-legend>button{color:#475569;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:12px;display:flex}.device-legend>button:hover{background:#f0f5ff}.traffic-chart svg{height:auto;overflow:visible}.chart-label{fill:#60718c;font-size:12px}.chart-hover{pointer-events:none}.date-range-modal{width:min(800px,100vw - 32px);max-width:800px}.range-inputs{border-bottom:1px solid var(--border);align-items:end;gap:12px;padding:16px 20px;display:flex}.range-inputs label{gap:5px;min-width:0;font-size:12px;display:grid}.range-inputs input{width:100%}.range-inputs>span{color:var(--muted);margin-left:auto;padding-bottom:12px;font-size:12px}.range-body{display:flex}.range-presets{border-right:1px solid var(--border);flex-direction:column;gap:4px;min-width:146px;padding:16px 12px;display:flex}.range-presets button{text-align:left;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:10px}.range-presets button:hover{color:#0a36a4;background:#edf3ff}.range-calendars{flex:1;min-width:0;padding:10px 20px 20px}.range-navigation{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.calendar-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.range-calendar h3{text-align:center;text-transform:capitalize;margin:12px 0 16px;font-size:13px}.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px;display:grid}.calendar-grid>span{color:var(--muted);min-height:26px;font-size:11px}.calendar-grid button{color:#334155;cursor:pointer;background:0 0;border:0;min-height:34px;font-size:12px}.calendar-grid button[aria-pressed=true]{color:#0a36a4;background:#e8efff}.calendar-grid button.range-edge{color:#fff;background:#0a36a4;border-radius:6px}.calendar-grid button[aria-current=date]{text-underline-offset:4px;text-decoration:underline}.range-footer{border-top:1px solid var(--border);justify-content:end;align-items:center;gap:10px;padding:16px 20px;display:flex}.range-footer>span{color:var(--muted);margin-right:auto;font-size:12px}@media (width<=650px){.range-body{flex-direction:column}.range-presets{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;gap:0;padding:8px}.range-presets button{padding:8px;font-size:12px}.range-inputs{gap:8px;padding:12px}.range-inputs>span{display:none}.range-calendars{padding:8px 12px 12px}.calendar-pair{grid-template-columns:1fr}.range-calendar:nth-child(2){display:none}.range-footer{flex-wrap:wrap;padding:12px}}.traffic-chart svg:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #0a36a4}
