@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.0h_qcmzvudf58.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.0i4j_a8lim1a-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.300rpl789hft0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.3_enilo7h9-3t.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.1c6_4mawwj-hb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lagoon-950:#04262e;--lagoon-900:#05303a;--lagoon-700:#0a5866;--teal-600:#087f8e;--teal-500:#0b9dae;--teal-100:#d9f0f2;--teal-50:#edf8f9;--ink:#1d2327;--ink-2:#4a585e;--ink-3:#78878c;--porcelain:#f2f6f6;--surface:#fff;--line:#dbe5e6;--line-strong:#c3d1d3;--brass-600:#94661b;--brass-100:#f7ecd7;--danger-600:#b3362b;--danger-100:#fbe9e7;--ok-100:#dff3ea;--ok-700:#17694a;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm:8px;--r-md:12px;--r-lg:18px;--rail:236px;--shadow-tile:0 1px 0 #05303a0a, 0 12px 32px -18px #05303a59}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--porcelain);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.15}h1{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem)}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}a{color:var(--teal-600);text-underline-offset:3px}a:hover{color:var(--lagoon-700)}:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:.87rem}.num{font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100vh}.rail{width:var(--rail);background:var(--lagoon-900);color:#cfe6e9;z-index:20;flex-direction:column;padding:22px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;padding:0 8px 22px;font-size:1.12rem;font-weight:600;text-decoration:none;display:flex}.brand:hover{color:#fff}.brand img{width:34px;height:34px}.brand span span{color:#7fd3dd;font-weight:500}.nav{flex-direction:column;gap:2px;display:flex}.nav a{border-radius:var(--r-sm);color:#cfe6e9;align-items:center;gap:11px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav a svg{opacity:.85;flex:none;width:18px;height:18px}.nav a:hover{color:#fff;background:#ffffff12}.nav a[aria-current=page]{color:var(--lagoon-900);background:#fff}.rail-foot{border-top:1px solid #ffffff1f;margin-top:auto;padding:12px 8px 0;font-size:.87rem}.rail-foot .who{color:#fff;font-weight:600}.linkish{font:inherit;color:#9fd7de;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.linkish:hover{color:#fff}.main{margin-left:var(--rail);max-width:calc(1240px + var(--rail));padding:34px clamp(18px,3.5vw,48px) 72px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;margin-bottom:26px;display:flex}.page-head p{max-width:62ch;margin-top:6px}.crumb{margin-bottom:10px;font-size:.87rem;text-decoration:none;display:inline-block}.topbar,.tabbar{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}.panel>h2{margin-bottom:14px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.grid{gap:18px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.detail{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start}.stack{flex-direction:column;gap:18px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.headline{background:var(--lagoon-900);color:#fff;border-radius:var(--r-lg);grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:end;gap:20px 44px;padding:26px 28px 24px;display:grid}.headline .label{color:#a9dbe1;font-weight:500}.headline .figure{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(3.2rem,2rem + 5vw,5.4rem);font-weight:650;line-height:.95}.headline .note{color:#a9dbe1;margin-top:10px;font-size:.87rem}.facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 26px;margin:0;display:grid}.facts div{border-top:1px solid #ffffff2e;padding-top:10px}.facts dt{color:#a9dbe1;font-size:.87rem}.facts dd{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.45rem;font-weight:600}.facts dd.text{font-size:1.02rem;font-family:var(--font-body);letter-spacing:0;padding-top:5px}.facts.light div{border-top-color:var(--line)}.facts.light dt{color:var(--ink-2)}.tile{box-shadow:var(--shadow-tile);background:#fff;border-radius:4px;margin:14px;padding:18px;position:relative}.tile svg{width:100%;height:auto;display:block}.tile:before,.tile:after,.tile>i:before,.tile>i:after{content:"";border:0 solid var(--line-strong);width:12px;height:12px;position:absolute}.tile:before{border-bottom-width:1px;border-right-width:1px;top:-14px;left:-14px}.tile:after{border-bottom-width:1px;border-left-width:1px;top:-14px;right:-14px}.tile>i:before{border-top-width:1px;border-right-width:1px;bottom:-14px;left:-14px}.tile>i:after{border-top-width:1px;border-left-width:1px;bottom:-14px;right:-14px}.thumb{border:1px solid var(--line);background:#fff;border-radius:6px;flex:none;width:56px;height:56px;padding:3px;display:block}.thumb svg{width:100%;height:100%;display:block}.btn{border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--lagoon-700);color:var(--lagoon-900)}.btn.primary{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.btn.primary:hover{background:var(--lagoon-700);border-color:var(--lagoon-700);color:#fff}.btn.danger{color:var(--danger-600);border-color:#e6bdb8}.btn.danger:hover{background:var(--danger-100);border-color:var(--danger-600);color:var(--danger-600)}.btn.sm{min-height:32px;padding:4px 12px;font-size:.87rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:progress}.field{flex-direction:column;gap:6px;display:flex}.field label,.field .label{font-weight:600}.field .hint{color:var(--ink-2);font-size:.87rem}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;padding:9px 12px}.textarea{resize:vertical;min-height:84px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--teal-500);outline-offset:0;border-color:var(--teal-500)}.form{flex-direction:column;gap:18px;max-width:620px;display:flex}.alert{border-radius:var(--r-sm);padding:10px 14px;font-weight:500}.alert.error{background:var(--danger-100);color:#7d231b}.alert.ok{background:var(--ok-100);color:var(--ok-700)}.alert.info{background:var(--teal-50);color:var(--lagoon-700);border:1px solid var(--teal-100)}.copyfield{border:1px solid var(--line);background:var(--porcelain);border-radius:var(--r-sm);align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.copyfield code{min-width:0;font-family:var(--font-body);overflow-wrap:anywhere;flex:1;font-weight:600}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge.active{background:var(--ok-100);color:var(--ok-700)}.badge.paused{background:var(--brass-100);color:var(--brass-600)}.badge.archived{color:var(--ink-2);background:#e8edee}.tag{background:var(--teal-50);border:1px solid var(--teal-100);color:var(--lagoon-700);border-radius:6px;padding:1px 8px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-block}.table-wrap{border-top:1px solid var(--line);margin:0 -22px -22px;overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:720px}table.data th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fbfb;padding:10px;font-size:.84rem;font-weight:600}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px}table.data tr:last-child td{border-bottom:0}table.data th:first-child,table.data td:first-child{padding-left:22px}table.data th:last-child,table.data td:last-child{padding-right:22px}table.data td.right,table.data th.right{text-align:right}table.compact{min-width:0}.qr-cell{align-items:center;gap:12px;min-width:0;display:flex}.qr-cell .name{color:var(--ink);font-weight:600;text-decoration:none}.qr-cell .name:hover{color:var(--teal-600)}.scans-big{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}details.menu{position:relative}details.menu>summary{cursor:pointer;list-style:none}details.menu>summary::-webkit-details-marker{display:none}details.menu[open]>summary{border-color:var(--lagoon-700)}.menu-list{z-index:10;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#fff;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px -20px #05303a73}.menu-list a,.menu-list button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;text-decoration:none;display:block}.menu-list a:hover,.menu-list button:hover{background:var(--teal-50)}.menu-list .danger{color:var(--danger-600)}.menu-list form{margin:0}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar .input,.toolbar .select{width:auto;min-height:38px}.toolbar .grow{flex:220px}.seg{background:#e4ecec;border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg a{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:5px 13px;font-size:.9rem;font-weight:600;text-decoration:none}.seg a:hover{color:var(--ink)}.seg a[aria-current=true]{color:var(--lagoon-900);background:#fff;box-shadow:0 1px 2px #05303a26}.range{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:18px;display:flex}.range form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.range .input{width:auto;min-height:34px;padding:4px 8px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .bar{fill:var(--teal-500)}.chart .bar.on{fill:var(--lagoon-700)}.chart .hit{fill:#0000}.chart .grid-line{stroke:var(--line);stroke-width:1px}.chart text{fill:var(--ink-3);font-size:11px;font-family:var(--font-body)}.chart-tip{background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:8px;padding:5px 10px;font-size:.82rem;position:absolute;top:0;transform:translate(-50%)}.chart-tip b{font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--ink-2);padding:36px 16px}.empty h3{color:var(--ink);margin-bottom:6px}.empty .btn{margin-top:16px}.bd{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.bd li{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;font-size:.93rem;display:grid}.bd .meter{background:#e8efef;border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.bd .meter i{background:var(--teal-500);border-radius:3px;height:100%;display:block}.steps{counter-reset:step;color:var(--ink-3);flex-wrap:wrap;gap:6px 8px;margin:0 0 22px;padding:0;font-size:.9rem;list-style:none;display:flex}.steps li{counter-increment:step;align-items:center;gap:8px;display:flex}.steps li:before{content:counter(step);width:22px;height:22px;color:var(--ink-2);background:#e4ecec;border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.steps li+li{margin-left:6px}.steps li[aria-current=step]{color:var(--ink);font-weight:600}.steps li[aria-current=step]:before,.steps li.done:before{background:var(--teal-600);color:#fff}.steps li.done{color:var(--ink-2)}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100vh;display:grid}.auth-side{background:var(--lagoon-900);color:#fff;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(28px,5vw,64px);display:flex}.auth-side h1{letter-spacing:-.03em;max-width:13ch;font-size:clamp(2rem,1.2rem + 2.6vw,3.2rem);line-height:1.04}.auth-side p{color:#a9dbe1;max-width:40ch;margin-top:16px}.auth-main{place-items:center;padding:32px 22px;display:grid}.auth-card{width:100%;max-width:400px}.auth-card h2{margin-bottom:6px;font-size:1.5rem}.auth-card .form{margin-top:24px}@media (max-width:1080px){.split,.cols-3,.headline{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.rail{display:none}.main{padding:20px 16px calc(92px + env(safe-area-inset-bottom));margin-left:0}.topbar{background:var(--lagoon-900);z-index:20;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.topbar .brand{padding:0;font-size:1.02rem}.topbar .brand img{width:28px;height:28px}.tabbar{z-index:20;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--ink-2);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:.74rem;font-weight:600;text-decoration:none;display:flex}.tabbar a svg{width:21px;height:21px}.tabbar a[aria-current=page]{color:var(--teal-600);background:var(--teal-50)}.cols-2,.detail,.auth{grid-template-columns:minmax(0,1fr)}.auth-side{gap:18px;padding:28px 22px}.auth-side .fineprint{display:none}.panel{padding:18px}.table-wrap{margin:0 -18px -18px}}@media (max-width:1240px){table.cards{min-width:0}table.cards thead{display:none}table.cards,table.cards tbody,table.cards tr,table.cards td{width:100%;display:block}table.cards tr{border-bottom:1px solid var(--line);padding:14px 18px}table.cards tr:last-child{border-bottom:0}table.cards td,table.cards td:first-child,table.cards td:last-child{text-align:left;border:0;padding:3px 0}table.data.cards td.right{text-align:left}table.cards td[data-label]:before{content:attr(data-label) ": ";color:var(--ink-3);font-size:.87rem}table.cards .actions{flex-wrap:wrap;justify-content:flex-start;padding-top:8px}table.cards .menu-list{left:0;right:auto}}@media (prefers-reduced-motion:no-preference){.btn,.nav a,.seg a{transition:background-color .12s,border-color .12s,color .12s}}@media (min-width:1241px){table.cards .qr-cell{min-width:205px}table.cards td.num{white-space:nowrap}table.cards td.wrap-ok{white-space:normal;min-width:96px}}
