/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}.container{width:100%}.grid{display:grid}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}:root{--background:210 40% 98%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--muted:214 32% 91%;--muted-foreground:215 16% 47%;--border:214 32% 91%;--input:214 32% 91%;--ring:199 89% 48%;--primary:199 89% 48%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222 47% 11%;--destructive:0 84% 60%;--destructive-foreground:210 40% 98%;--chart-1:199 89% 48%;--chart-2:162 74% 44%;--sidebar:224 71% 4%;--sidebar-card:222 47% 11%;--radius:12px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background:radial-gradient(circle at top left,#0da2e71f,transparent 32rem),hsl(var(--background));color:hsl(var(--foreground));letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.boot-screen{min-height:100vh;color:hsl(var(--muted-foreground));place-items:center;display:grid}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex}.button svg{width:16px;height:16px}.button:active{transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-default{background:linear-gradient(135deg,hsl(var(--primary)),#3c83f6);color:hsl(var(--primary-foreground));box-shadow:0 10px 28px hsl(var(--primary) / .22)}.button-default:hover{box-shadow:0 14px 34px hsl(var(--primary) / .28)}.button-secondary,.button-outline,.button-ghost{color:hsl(var(--foreground))}.button-secondary{background:hsl(var(--secondary))}.button-outline{background:hsl(var(--card));border-color:hsl(var(--border))}.button-ghost{background:0 0}.button-ghost:hover,.button-outline:hover,.button-secondary:hover{background:hsl(var(--secondary))}.button-destructive{color:hsl(var(--destructive));background:#ef43431a;border-color:#ef434329}.button-destructive:hover{background:#ef434329}.button-md{min-height:40px}.button-sm{min-height:34px;padding:0 10px}.button-icon{width:40px;min-height:40px;padding:0}.switch{border:1px solid hsl(var(--border));background:hsl(var(--muted));cursor:pointer;border-radius:999px;justify-content:flex-start;align-items:center;width:42px;height:26px;min-height:26px;padding:2px;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.switch span{background:hsl(var(--card));border-radius:999px;width:20px;height:20px;transition:transform .16s;transform:translate(0);box-shadow:0 1px 4px #0f17292e}.switch-checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.switch-checked span{transform:translate(16px)}.switch:focus-visible{box-shadow:0 0 0 4px hsl(var(--ring) / .16);outline:none}.switch:disabled{opacity:.55;cursor:not-allowed}.input,.select{border:1px solid hsl(var(--input));background:hsl(var(--card));width:100%;min-height:40px;color:hsl(var(--foreground));border-radius:10px;outline:none;padding:8px 11px;transition:border-color .16s,box-shadow .16s}.input:focus,.select:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 4px hsl(var(--ring) / .16)}.label{color:hsl(var(--muted-foreground));gap:8px;font-size:13px;font-weight:650;display:grid}.card{background:hsl(var(--card) / .92);color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 2px #0f17290d,0 20px 55px #0f172912}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.card-content{padding:0 20px 20px}.card-title{margin:0;font-size:18px;font-weight:800;line-height:1.2}.card-description{color:hsl(var(--muted-foreground));margin:6px 0 0;font-size:13px}.badge{border-radius:999px;align-items:center;min-height:24px;padding:2px 9px;font-size:12px;font-weight:800;display:inline-flex}.status-online{color:#0b835b;background:#36d39924}.status-stale{color:#a65907;background:#f59f0a26}.status-offline{color:hsl(var(--destructive));background:#ef434321}.status-pending{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.auth-layout{grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:48px;width:min(1120px,100vw - 40px);min-height:100vh;margin:0 auto;display:grid}.auth-brand{align-items:center;gap:18px;display:flex}.brand-mark{background:hsl(var(--sidebar));width:58px;height:58px;color:hsl(var(--primary));box-shadow:0 20px 55px hsl(var(--primary) / .22);border-radius:18px;place-items:center;display:grid}.brand-mark svg{width:28px;height:28px}.auth-brand h1{letter-spacing:0;margin:0;font-size:clamp(32px,5vw,56px)}.auth-brand p{color:hsl(var(--muted-foreground));margin:8px 0 0;font-size:16px}.auth-card{width:100%}.auth-form{gap:14px;display:grid}.form-error{color:hsl(var(--destructive));margin:0;font-size:13px}.app-shell{grid-template-columns:316px minmax(0,1fr);height:100vh;min-height:0;display:grid;overflow:hidden}.sidebar{overscroll-behavior:contain;background:radial-gradient(circle at top left,hsl(var(--primary) / .22),transparent 20rem),hsl(var(--sidebar));color:#f8fafc;height:100vh;min-height:0;padding:18px;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sidebar h2,.section-title h2{margin:2px 0 0;font-size:20px}.eyebrow{color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:11px;font-weight:900}.host-create-form{grid-template-columns:minmax(0,1fr) 40px;gap:10px;margin-bottom:16px;display:grid}.sidebar .input{background:hsl(var(--sidebar-card) / .86);color:#fff;border-color:#2e3d52}.sidebar .button-ghost{color:#fff}.host-list{gap:10px;display:grid}.host-row{background:hsl(var(--sidebar-card) / .54);color:#fff;text-align:left;cursor:pointer;border:1px solid #2e3d52;border-radius:14px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px 10px;width:100%;padding:13px;display:grid}.host-row:hover,.host-row.is-active{border-color:hsl(var(--primary));background:#3c83f62e}.host-row-main{gap:3px;min-width:0;display:grid}.host-row-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.host-row-main span{color:#a3b0c2;font-size:12px}.status-dot{background:currentColor;border-radius:999px;width:8px;height:8px}.workspace{overscroll-behavior:contain;min-width:0;height:100vh;min-height:0;padding:22px;overflow-y:auto}.workspace-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.workspace-topbar h1{margin:0;font-size:24px}.workspace-topbar p,.muted{color:hsl(var(--muted-foreground));margin:4px 0 0;font-size:13px}.detail-stack,.section-stack,.chart-grid{gap:14px;display:grid}.hero-card .card-header{align-items:center}.hero-title{align-items:center;gap:14px;min-width:0;display:flex}.hero-title>div:last-child{min-width:0}.hero-icon{background:hsl(var(--primary) / .1);width:46px;height:46px;color:hsl(var(--primary));border-radius:14px;place-items:center;display:grid}.hero-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.hero-meta span{color:hsl(var(--muted-foreground));font-size:13px}.hero-name-row{align-items:center;gap:8px;min-width:0;display:flex}.hero-name-row .card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hero-name-row .button{border-radius:8px;flex:0 0 32px;width:32px;min-height:32px}.hero-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.host-rename-form{grid-template-columns:minmax(0,1fr) 40px 40px;gap:8px;width:min(420px,100%);display:grid}.command-bar{color:#f1f5f9;background:#090e1a;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:12px 14px;display:flex}.command-bar code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.section-title{justify-content:space-between;align-items:end;gap:16px;display:flex}.target-toolbar{justify-content:flex-end;align-items:center;gap:12px;display:flex}.hidden-file-input{display:none}.layout-toggle{border:1px solid hsl(var(--border));background:hsl(var(--card) / .78);border-radius:10px;align-items:center;gap:2px;padding:2px;display:inline-flex}.layout-toggle .button{width:34px;min-height:34px;box-shadow:none;border-radius:8px}.target-create-form{grid-template-columns:minmax(0,1.2fr) 140px minmax(220px,.8fr) 40px;gap:10px;display:grid}.bulk-edit-bar{border:1px solid hsl(var(--border));background:hsl(var(--card) / .82);border-radius:12px;grid-template-columns:40px auto 140px minmax(240px,1fr) auto 40px;align-items:center;gap:10px;min-height:54px;padding:8px;display:grid}.target-list{gap:10px;display:grid}.target-list-grid{grid-template-columns:repeat(auto-fit,minmax(430px,1fr));align-items:start;gap:12px}.target-card .card-header{padding:14px 16px 10px}.target-select{width:18px;height:18px;accent-color:hsl(var(--primary));flex:0 0 18px;margin-top:2px}.target-card-copy{gap:4px;min-width:0;display:grid}.target-card-copy .card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.target-card-body{grid-template-columns:minmax(440px,520px) minmax(360px,1fr);align-items:start;gap:18px;padding:0 16px 16px;display:grid}.target-card-grid .card-header,.target-card-grid .target-card-body{grid-template-columns:1fr}.target-card-grid .chart-card-head{align-items:flex-start}.target-card-controls{grid-template-columns:132px minmax(260px,1fr) 40px 40px 40px;gap:8px;display:grid}.target-card-grid .target-card-controls{grid-template-columns:minmax(118px,1fr) 40px 40px 40px}.target-card-grid .target-user-agent-input{grid-column:1/-1}.target-card-summary{gap:8px;min-width:0;display:grid}.target-stats{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:750;display:flex}.target-stats span{background:hsl(var(--secondary));border-radius:999px;align-items:center;min-height:24px;padding:2px 9px;display:inline-flex}.target-stats .target-stat-danger{color:hsl(var(--destructive));background:hsl(var(--destructive) / .08)}.chart-card-head{align-items:center}.chart-card-head>div:first-child{min-width:0}.chart-card .card-title{overflow-wrap:anywhere}.chart-card-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.chart-metric{color:hsl(var(--primary));align-items:center;gap:10px;display:flex}.chart-metric strong{color:hsl(var(--foreground));font-size:26px}.chart-card-compact .card-content{padding-bottom:16px}.chart-canvas{height:300px}.chart-canvas-compact{height:128px}.recharts-cartesian-grid line{stroke:hsl(var(--border))}.recharts-text{fill:hsl(var(--muted-foreground));font-size:12px}.chart-tooltip{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:10px;gap:8px;padding:9px 11px;display:grid;box-shadow:0 14px 35px #0f17291f}.chart-tooltip span{color:hsl(var(--muted-foreground));font-size:12px}.chart-tooltip ol,.top-ip-sample ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chart-tooltip li,.top-ip-sample li{min-width:210px;color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;gap:14px;font-size:12px;display:flex}.chart-tooltip code,.top-ip-sample code{color:hsl(var(--foreground));font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.top-ip-timeline{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px;display:grid}.top-ip-sample{border:1px solid hsl(var(--border));background:hsl(var(--secondary) / .62);border-radius:12px;padding:12px}.top-ip-time{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.top-ip-time strong{font-size:13px}.top-ip-time span{color:hsl(var(--primary));font-size:12px;font-weight:800}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f17296b;place-items:center;padding:22px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.detail-dialog{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(860px,100vh - 44px);display:grid;overflow:hidden;box-shadow:0 28px 90px #0f172947}.detail-dialog-head{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 14px;display:flex}.detail-dialog-head h3{overflow-wrap:anywhere;margin:4px 0 6px;font-size:20px;line-height:1.25}.detail-dialog-head span{color:hsl(var(--muted-foreground));font-size:13px}.detail-dialog-body{min-height:0;padding:18px 20px 20px;overflow:auto}.detail-metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.detail-metric-row div{border:1px solid hsl(var(--border));background:hsl(var(--secondary) / .56);border-radius:12px;align-content:center;gap:4px;min-height:74px;padding:12px;display:grid}.detail-metric-row span{color:hsl(var(--muted-foreground));font-size:12px}.detail-metric-row strong{font-size:22px;line-height:1.1}.failure-summary{border:1px solid hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin-bottom:14px;padding:12px;display:grid}.failure-summary svg{width:20px;height:20px;margin-top:2px}.failure-summary div{gap:5px;min-width:0;display:grid}.failure-summary span,.failure-sample-meta{color:hsl(var(--muted-foreground));font-size:12px;font-weight:700}.failure-summary strong{color:hsl(var(--foreground));overflow-wrap:anywhere;font-size:13px;line-height:1.45}.failure-timeline{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px;display:grid}.failure-sample{border:1px solid hsl(var(--border));background:hsl(var(--secondary) / .62);border-radius:12px;gap:8px;padding:12px;display:grid}.failure-sample-head,.failure-sample-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.failure-sample-head strong{font-size:13px}.failure-sample-head span{color:hsl(var(--destructive));font-size:12px;font-weight:800}.failure-sample p{color:hsl(var(--foreground));overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.empty-chart,.empty-state{min-height:280px;color:hsl(var(--muted-foreground));align-content:center;place-items:center;gap:10px;display:grid}.empty-chart-compact{min-height:128px}.empty-state svg,.empty-chart svg{width:34px;height:34px;color:hsl(var(--primary))}@media(max-width:980px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:auto;max-height:42vh}.workspace{height:auto;overflow:visible}}@media(max-width:1180px){.target-card-body{grid-template-columns:1fr}}@media(max-width:720px){.auth-layout{grid-template-columns:1fr;align-content:center}.target-create-form,.bulk-edit-bar,.target-card-body,.target-list-grid{grid-template-columns:1fr}.hero-card .card-header,.workspace-topbar,.section-title,.target-toolbar,.chart-card-head,.chart-card-actions,.detail-dialog-head{flex-direction:column;align-items:stretch}.detail-metric-row{grid-template-columns:1fr}.dialog-backdrop{padding:10px}.detail-dialog{max-height:calc(100vh - 20px)}.command-bar code{white-space:normal;word-break:break-all}.target-card-controls{grid-template-columns:minmax(118px,1fr) repeat(3,40px)}.target-user-agent-input{grid-column:1/-1}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
