@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#26352f;background:#f4f5f1;font-synthesis:none;font-weight:400;--ink: #172623;--green: #1e5945;--line: #e0e5df;--muted: #68766d;--accent: #d3ed75;--chart-p50: #6fb08a;--chart-p95: #3f8a66;--chart-p99: #1e5945}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;font-weight:600;font-size:14px;min-height:42px;gap:8px}button:hover,.button:hover{background:#edf2e9;border-color:#b3c2b5}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#164632;color:#fff}.full{width:100%;margin-top:24px}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #75a850;outline-offset:3px}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink)}h1{font-size:36px;line-height:1.2;font-weight:800;margin:8px 0 12px}h2{font-size:25px;margin:0 0 20px}h3{font-size:18px}p{line-height:1.6}label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}input,select,textarea{width:100%;background:#fff;color:var(--ink);border:1px solid #cfd8cf;border-radius:7px;padding:11px 13px;min-height:44px}input::placeholder{color:#8a958e}textarea{min-height:180px;resize:vertical}input[type=file]{font-size:12px;padding:8px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a14235}.muted{color:var(--muted);font-size:13px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin:0}.brand{position:relative;display:flex;align-items:center;gap:9px;font-family:Manrope,sans-serif;font-weight:800;font-size:22px;letter-spacing:-.07em;padding-bottom:24px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:var(--ink);width:34px;height:34px;transform:skew(-9deg);border-radius:6px;font-size:23px;font-style:italic}.brand-sub{position:absolute;top:37px;left:43px;font-family:DM Sans,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:500;font-size:9px;color:#bac9bd}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex-shrink:0;background:var(--ink);color:#e6ece4;padding:35px 24px 25px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.nav-label{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#8ca194;margin:48px 0 14px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:14px;color:#bdcbc1;text-decoration:none;padding:13px 16px;border-radius:8px;font-size:14px}.sidebar nav a span{font-size:22px;line-height:20px}.sidebar nav a.active{background:#304337;color:var(--accent)}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom p{font-size:12px;color:#a4b5a8;overflow-wrap:anywhere}.sidebar-bottom button{border-color:#405348;background:transparent;color:#dce6d9;width:100%;font-size:12px}.environment{display:inline-flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.environment:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}.environment.prod:before{background:#f3be70}.content{padding:52px 48px 72px;margin-left:250px;width:calc(100% - 250px);max-width:1650px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-header p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #26352f03}.quiet-badge{font-size:11px;background:#e7ece3;border-radius:5px;padding:8px 12px;color:#58705b;white-space:nowrap}.toolbar{display:flex;align-items:center;gap:12px;padding:22px 24px;border-bottom:1px solid var(--line)}.toolbar input{max-width:380px}.toolbar select{max-width:210px}.toolbar label{margin:0;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf8;text-transform:uppercase;font-size:10px;color:var(--muted);letter-spacing:.07em;padding:17px 24px;font-weight:600}td{font-size:13px;border-top:1px solid #edf0e9;padding:20px 24px}td:nth-child(n+2){color:#66766a}tr:hover td{background:#fcfdf9}.profile-link{display:flex;gap:12px;align-items:center;color:var(--ink);font-weight:600;text-decoration:none}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;background:#eef0e2;border-radius:50%;color:#5c7243;font-size:13px}.avatar.large{width:64px;height:64px;font-size:24px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:16px}.pagination button{font-size:12px;min-height:34px;padding:6px 10px}.empty-state{text-align:center;padding:65px 24px;color:var(--muted)}.empty-state h2{font-size:19px}.empty-icon{display:block;font-size:50px;color:#9ba995;margin-bottom:16px}.badge{font-size:11px;padding:6px 10px;border-radius:5px;font-weight:600}.badge.draft{background:#f4efdf;color:#927027}.badge.published{background:#e4efdc;color:#3e703a}.badge.archived{background:#edf0ed;color:#6c776d}.badge.queued,.badge.preparing{background:#f4efdf;color:#927027}.badge.running,.badge.stop_requested{background:#e7eef7;color:#315d88}.badge.completed{background:#e4efdc;color:#3e703a}.badge.failed,.badge.interrupted,.badge.cancelled{background:#f6e8e3;color:#843c29}.event-link{color:var(--ink);font-weight:600;text-decoration:none}.event-link:hover,.profile-link:hover{text-decoration:underline}.back{font-size:12px;text-decoration:none;display:inline-block;margin-bottom:24px}.detail{padding:30px}.identity{display:flex;align-items:center;gap:20px;margin-bottom:28px}.identity h2{margin:0}dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}dl>div{padding:17px 0;border-top:1px solid var(--line)}dt{font-size:11px;color:var(--muted);margin-bottom:9px}dd{margin:0;font-size:14px;overflow-wrap:anywhere}.editor{padding:30px}.editor fieldset{padding:0;border:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{min-width:0;display:flex;flex-direction:column;gap:4px}.field label{margin-bottom:4px}.field.wide{grid-column:1/-1}.field-error{font-size:12px;color:#a14235;margin-top:4px}.editor-actions{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.alert,.success,.notice{border:1px solid #ead5c5;border-radius:8px;padding:14px 18px;font-size:13px;margin:0 0 22px}.alert{color:#843c29;background:#fff6ef}.alert p{margin:0}.alert button{margin-top:12px}.success{background:#edf6e6;border-color:#dce9cc;color:#426b3a}.notice{background:#f6f5e9;border-color:#e9e6cc;color:#716939}.event-preview{padding:32px;max-width:760px;margin:auto}.event-preview h2{font-size:30px;margin:14px 0}.cover{width:100%;max-height:320px;object-fit:cover;border-radius:9px;margin-bottom:24px}.description{white-space:pre-wrap;overflow-wrap:anywhere}.editor-cover:empty{display:none}.editor-cover .cover{display:block;height:200px;object-fit:contain;margin:0}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:28px}.scenario-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.scenario-card.disabled{background:#f7f8f5;color:var(--muted)}.scenario-title{display:flex;align-items:start;justify-content:space-between;gap:16px}.scenario-title h2{font-size:20px;margin:0}.scenario-card h3{font-size:13px;margin:22px 0 10px}.scenario-card ul{margin:0 0 22px;padding-left:18px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.load-test-editor{min-width:0;padding:30px}.load-test-agent-enrollment,.load-test-infrastructure{margin-bottom:28px;padding:30px}.load-test-infrastructure .scenario-title>div>p{color:var(--muted);margin:-8px 0 24px}.infrastructure-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:18px}.infrastructure-capacity,.infrastructure-controls>button{margin:0}.infrastructure-details{margin-top:20px}.infrastructure-actions{display:flex;align-items:center;gap:16px;margin-top:24px}.infrastructure-actions p{margin:0}.infrastructure-confirmation{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.infrastructure-confirmation>div{display:flex;flex-wrap:wrap;gap:12px}.badge.infra-ready{background:#e4efdc;color:#3e703a}.badge.infra-creating,.badge.infra-bootstrapping,.badge.infra-deleting{background:#f4efdf;color:#927027}.badge.infra-busy{background:#e7eef7;color:#315d88}.badge.infra-absent{background:#edf0ed;color:#6c776d}.badge.infra-error{background:#f6e8e3;color:#843c29}.load-test-agent-enrollment>p{color:var(--muted);margin:-8px 0 24px}.load-test-agent-enrollment .alert{margin:22px 0 0}.agent-token{display:grid;gap:14px;margin-top:24px;padding:18px;border:1px solid #ead5c5;border-radius:8px;background:#fff6ef;color:#843c29}.agent-token p,.agent-token .success{margin:0}.agent-token code{padding:12px;border-radius:6px;background:#fff;color:var(--ink);overflow-wrap:anywhere}.agent-token button{justify-self:start}.load-test-form{min-width:0;width:100%;max-width:1000px}.load-test-quote{border:1px solid var(--line);border-radius:10px;margin-top:24px;padding:20px}.load-test-quote h3{margin:0 0 14px}.load-test-quote>p:last-child{margin-bottom:0}.load-test-costs .notice{margin:18px 0 0}.choice-fieldset,.hourly-fieldset{border:0;margin:0;min-width:0;padding:0}.choice-fieldset legend,.hourly-fieldset legend{font-size:13px;font-weight:600;margin-bottom:12px}.choice-fieldset{display:flex;flex-wrap:wrap;gap:16px}.choice-fieldset legend{width:100%}.choice-fieldset label{display:inline-flex;align-items:center;gap:8px;margin:0}.choice-fieldset input{min-height:auto;width:auto}.hourly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;width:100%}.hourly-grid .field,.hourly-grid input{min-width:0;width:100%}.metric-field{justify-content:end;border:1px solid var(--line);border-radius:7px;padding:10px 13px}.metric-field span{color:var(--muted);font-size:12px}.load-test-metric{background:#edf6e6;border-radius:8px;color:#426b3a;font-weight:600;margin:0;padding:14px 18px}.load-test-form>.notice{margin-top:24px}.load-test-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.load-test-wide,.load-test-overview{grid-column:1 / -1}.load-test-overview progress{width:100%;height:12px;margin:4px 0 24px;accent-color:var(--green)}.load-test-totals{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.timeline-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;padding:0;list-style:none;font-size:13px;color:var(--muted)}.timeline-legend li,.timeline-tooltip p{display:flex;align-items:center;gap:8px}.key.bar{width:10px;height:12px;border-radius:3px;background:var(--green)}.key.line{width:16px;height:0;border-top:2px solid var(--green)}.key.line.p50{border-color:var(--chart-p50)}.key.line.p95{border-color:var(--chart-p95)}.key.line.p99{border-color:var(--chart-p99)}.timeline-plot{position:relative}.timeline-plot svg{display:block;width:100%;height:auto;overflow:visible}.timeline-plot .grid{stroke:var(--line);stroke-width:1}.timeline-plot .grid.dashed{stroke-dasharray:3 4}.timeline-plot .bar{fill:var(--green)}.timeline-plot .bar.unavailable{fill:var(--line)}.timeline-plot .bar.active{fill:var(--ink)}.timeline-plot .series polyline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.timeline-plot .series.p50 polyline{stroke:var(--chart-p50)}.timeline-plot .series.p95 polyline{stroke:var(--chart-p95)}.timeline-plot .series.p99 polyline{stroke:var(--chart-p99)}.timeline-plot .direct-label,.timeline-plot .tick,.timeline-plot .axis-title{font-size:11px;fill:var(--muted)}.timeline-plot .crosshair{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3;pointer-events:none}.timeline-plot .hit{fill:transparent;cursor:crosshair;outline:none}.timeline-plot .hit:focus-visible{fill:#1726230f}.timeline-tooltip{position:absolute;top:0;transform:translate(-50%);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 6px 20px #1726231f;font-size:13px;pointer-events:none;white-space:nowrap}.timeline-tooltip p{margin:2px 0}.timeline-tooltip .when{color:var(--muted);margin-bottom:6px}.timeline-tooltip span:not(.key){color:var(--muted)}.timeline-table{margin-top:12px;font-size:13px}.timeline-table summary{cursor:pointer;color:var(--muted)}.comparison-picker{padding:28px;margin-bottom:24px}.comparison-picker .primary{margin-top:22px}.comparison-picker .alert{margin:18px 0 0}.comparison-warning{margin-top:0}.comparison-warning ul{margin-bottom:0}.comparison-parameters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.comparison-parameters pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.event-date{font-size:13px;color:var(--green);font-weight:600}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:var(--ink);color:#e5edde;padding:45px 60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:before{content:"";position:absolute;width:600px;height:600px;border:1px solid #8da87425;border-radius:50%;left:-230px;bottom:-440px;box-shadow:0 0 0 50px #8da87407,0 0 0 100px #8da87407,0 0 0 150px #8da87407;pointer-events:none}.login-story h1{color:#e5edde;font-size:clamp(38px,4.2vw,62px);max-width:540px;margin:18px 0 25px;line-height:1.15}.login-story p:not(.eyebrow){color:#a7b7aa;max-width:390px;font-size:15px;line-height:1.8}.login-story .eyebrow{color:var(--accent)}.story-line{height:4px;width:55px;background:var(--accent);margin-bottom:10px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:100%;max-width:360px}.login-card h2{font-size:32px;margin:12px 0 35px}.login-card .actions{margin-top:20px;display:flex;justify-content:space-between;gap:8px}.login-card .actions button{font-size:11px;padding:7px 10px}.login-card input{margin-bottom:20px}.splash{min-height:100vh;display:grid;place-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.sidebar{width:210px;padding:28px 18px}.content{margin-left:210px;width:calc(100% - 210px);padding:40px 26px}.brand{font-size:20px}.page-header{align-items:flex-start}h1{font-size:30px}.login-story{padding:35px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;padding:20px}.sidebar .brand{padding-bottom:24px}.nav-label{display:none}.sidebar nav{display:flex;margin-top:12px}.sidebar nav a{padding:10px 14px}.sidebar-bottom{position:absolute;right:20px;top:24px;padding:0;max-width:45%;display:flex;align-items:center;gap:12px}.sidebar-bottom p{display:none}.sidebar-bottom button{font-size:10px;width:auto;padding:8px}.load-test-detail-grid,.comparison-parameters{grid-template-columns:1fr}.load-test-wide,.load-test-overview{grid-column:auto}.content{width:100%;margin:0;padding:30px 16px}.page-header{flex-wrap:wrap;gap:15px;margin-bottom:22px}.page-header p:not(.eyebrow){line-height:1.7}.toolbar{padding:16px;flex-wrap:wrap}.toolbar input{flex:1;min-width:140px}td,th{padding:16px}dl,.form-grid{grid-template-columns:1fr}.editor,.detail,.load-test-editor,.load-test-agent-enrollment,.load-test-infrastructure{padding:20px}.infrastructure-controls{grid-template-columns:1fr}.pagination{gap:14px;padding:14px}.pagination>div{gap:8px}.pagination>span{display:none}.login{grid-template-columns:1fr}.login-story{min-height:270px;padding:28px}.login-story h1{font-size:32px;margin:12px 0}.login-story p:not(.eyebrow){display:none}.login-story .brand{margin-bottom:30px}.story-line{display:none}.login-panel{padding:40px 25px}.login-card h2{font-size:27px}.event-preview{padding:22px}}@media(max-width:600px){.hourly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
