@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(/assets/newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(/assets/newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-vietnamese-500-italic-D26NjlyL.woff2)format("woff2"),url(/assets/newsreader-vietnamese-500-italic-BsTGSz8L.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-ext-500-italic-B83LgwQp.woff2)format("woff2"),url(/assets/newsreader-latin-ext-500-italic-Bz3NsAdg.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-italic-Bsgye1qA.woff2)format("woff2"),url(/assets/newsreader-latin-500-italic-m-xI0GeS.woff)format("woff");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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2efe7;--paper-2:#e9e5da;--ink:#17181a;--ink-2:#55575c;--ink-3:#8a8b8e;--rule:#cfcabd;--rule-strong:#17181a;--accent:#0a6d72;--accent-ink:#f2efe7;--ok:#0a6d72;--warn:#a35a12;--bad:#a1271d;--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--sans:"Schibsted Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure:72rem;--gutter:clamp(1rem, 4vw, 2.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--space-7:3.5rem;--space-8:5.5rem;--radius:3px;--ease-out:cubic-bezier(.23, 1, .32, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#111213;--paper-2:#18191b;--ink:#ebe7dc;--ink-2:#a7a59e;--ink-3:#6f6e6a;--rule:#2c2d2f;--rule-strong:#ebe7dc;--accent:#3fb6ba;--accent-ink:#111213;--ok:#3fb6ba;--warn:#e09a4c;--bad:#ef7a6c}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}img,svg{display:block}ul,ol{list-style:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{max-width:var(--measure);padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display,h1,h2,h3{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;font-weight:500;line-height:1.08}h1{letter-spacing:-.022em;font-size:clamp(2.5rem,6.4vw,4.75rem)}h2{font-size:clamp(1.875rem,3.6vw,2.75rem)}h3{font-size:1.5rem}em{font-style:italic}p{text-wrap:pretty}.mono,.label{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem}.lead{color:var(--ink-2);max-width:38rem;font-size:clamp(1.125rem,1.8vw,1.3125rem)}.btn{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink);min-height:2.875rem;color:var(--paper);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out);align-items:center;gap:.6em;padding:0 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-quiet{color:var(--ink);background:0 0}.btn[disabled]{opacity:.5;cursor:progress}@media (hover:hover){.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}}.btn .arrow{font-family:var(--mono);transition:transform .16s var(--ease-out)}@media (hover:hover){.btn:hover .arrow{transform:translate(3px)}}.field{gap:var(--space-2);display:grid}.field>span{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem}.field input,.field select,.field textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);width:100%;min-height:2.875rem;transition:border-color .16s var(--ease-out);padding:.65rem .75rem;font-size:1rem}.field textarea{resize:vertical;min-height:8rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:none}.form-note{color:var(--ink-2);font-size:.875rem}.form-error{color:var(--bad);font-size:.9375rem}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:.5rem;height:.5rem;display:inline-block}.dot-up{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.dot-down{background:var(--bad)}.dot-warn{background:var(--warn)}.site-header{z-index:10;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.75rem;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.1875rem;font-weight:500;text-decoration:none;display:inline-flex}.wordmark svg{width:1.75rem;height:1.75rem}.wordmark i{color:var(--accent)}.nav{align-items:center;gap:clamp(.75rem,2.5vw,1.75rem);font-size:.9375rem;display:flex}.nav a{color:var(--ink-2);transition:color .16s var(--ease-out);text-decoration:none}@media (hover:hover){.nav a:hover{color:var(--ink)}}.nav .nav-signin{color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:.4rem .8rem}@media (width<=40rem){.nav .nav-section{display:none}}.section{padding-block:var(--space-8);border-top:1px solid var(--rule)}.section-head{gap:var(--space-5);margin-bottom:var(--space-7);grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:baseline;display:grid}.section-head .label{padding-top:.6rem}.section-head p{margin-top:var(--space-4);color:var(--ink-2);max-width:36rem}@media (width<=48rem){.section-head{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:1fr}}.hero{padding-block:clamp(3.5rem, 10vw, 7.5rem) var(--space-8)}.hero-kicker{margin-bottom:var(--space-6);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.live{font-family:var(--mono);color:var(--ink-2);align-items:center;gap:.55rem;font-size:.8125rem;display:inline-flex}.hero h1{max-width:15ch}.hero h1 em{color:var(--accent)}.hero .lead{margin-top:var(--space-5)}.hero-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.ledger{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,20rem);align-items:start;display:grid}.ledger-rows{border-top:1px solid var(--rule-strong)}.ledger-row{align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--rule);padding-block:.85rem;display:flex}.ledger-row dt{flex:none}.ledger-row .leader{border-bottom:1px dotted var(--ink-3);flex:1;min-width:1rem;transform:translateY(-.3em)}.ledger-row dd{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,2.4vw,1.625rem);font-weight:500}.ledger-aside{gap:var(--space-4);color:var(--ink-2);font-size:.9375rem;display:grid}.ledger-stamp{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2);display:grid}.ledger-stamp strong{font-family:var(--mono);color:var(--ink);font-weight:500}@media (width<=48rem){.ledger{gap:var(--space-5);grid-template-columns:1fr}}.billing{border:1px solid var(--rule-strong);border-radius:var(--radius);margin-bottom:var(--space-5);padding:2px;display:inline-flex}.billing button{min-height:2.25rem;font-family:var(--mono);cursor:pointer;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;border-radius:2px;padding:0 .9rem;font-size:.8125rem}.billing button[aria-checked=true]{background:var(--ink);color:var(--paper)}.plans{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan{gap:var(--space-5);padding:var(--space-6) var(--space-5);flex-direction:column;display:flex}.plan+.plan{border-left:1px solid var(--rule)}.plan-featured{background:var(--paper-2)}.plan-name{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.plan-flag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.6875rem}.plan-price{align-items:baseline;gap:.35rem;display:flex}.plan-price .amount{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(1.875rem,3vw,2.375rem);font-weight:500}.plan-price .per{font-family:var(--mono);color:var(--ink-2);font-size:.8125rem}.plan-features{gap:var(--space-3);flex:1;font-size:.9375rem;display:grid}.plan-features li{gap:var(--space-2);grid-template-columns:1rem 1fr;display:grid}.plan-features li:before{content:"—";font-family:var(--mono);color:var(--ink-3)}.plans-note{margin-top:var(--space-4);color:var(--ink-2);font-size:.875rem}@media (width<=52rem){.plans{grid-template-columns:1fr}.plan+.plan{border-left:0;border-top:1px solid var(--rule)}}.path{counter-reset:hop;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.hop{padding:var(--space-5) var(--space-5) var(--space-5) 0;counter-increment:hop;position:relative}.hop:before{content:counter(hop, decimal-leading-zero);font-family:var(--mono);color:var(--ink-3);margin-bottom:var(--space-4);font-size:.75rem;display:block}.hop-node{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex;position:relative}.hop-node .pin{border:1.5px solid var(--ink);background:var(--paper);z-index:1;border-radius:50%;flex:none;width:.75rem;height:.75rem}.hop:last-child .pin{background:var(--accent);border-color:var(--accent)}.hop:not(:last-child) .hop-node:after{content:"";left:.75rem;right:calc(-1 * var(--space-5));border-top:1.5px dashed var(--ink-3);position:absolute;top:50%}.hop h3{font-size:1.3125rem}.hop p{color:var(--ink-2);font-size:.9375rem}.path-foot{gap:var(--space-2) var(--space-5);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;font-size:.8125rem;display:flex}@media (width<=52rem){.path{grid-template-columns:1fr}.hop{padding:0 0 var(--space-5);grid-template-columns:2.5rem 1fr;display:grid}.hop:before{grid-row:span 3;margin:.2rem 0 0}.hop-node{display:none}}.services{border-top:1px solid var(--rule-strong)}.service{gap:var(--space-5);padding-block:var(--space-5);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,16rem) minmax(0,1fr) auto;align-items:baseline;display:grid}.service h3{font-size:1.375rem}.service p{color:var(--ink-2)}@media (width<=48rem){.service{gap:var(--space-2);grid-template-columns:1fr}}.contact{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);display:grid}.contact-paths{gap:var(--space-5);align-content:start;display:grid}.contact-path{padding-top:var(--space-4);border-top:1px solid var(--rule-strong)}.contact-path p{margin:var(--space-2) 0 var(--space-4);color:var(--ink-2)}.contact-form{gap:var(--space-4);display:grid}.contact-form .row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.honeypot{position:absolute;left:-9999px}@media (width<=48rem){.contact,.contact-form .row{grid-template-columns:1fr}}.sent{padding:var(--space-5);border:1px solid var(--rule-strong);border-radius:var(--radius)}.sent h3{margin-bottom:var(--space-2)}.site-footer{padding-block:var(--space-6) var(--space-7);border-top:1px solid var(--rule-strong)}.site-footer .wrap{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.footer-meta{gap:var(--space-2) var(--space-5);font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;font-size:.8125rem;display:flex}.footer-meta a{text-decoration:none}.prose{max-width:40rem;padding-block:var(--space-8)}.prose h1{margin-bottom:var(--space-5);font-size:clamp(2.25rem,5vw,3.25rem)}.prose h2{margin:var(--space-6) 0 var(--space-3);font-size:1.5rem}.prose p,.prose li{color:var(--ink-2);margin-bottom:var(--space-3)}.prose ul{padding-left:1.5rem;list-style:"— "}.portal-entry{padding-block:clamp(3.5rem, 9vw, 6.5rem) var(--space-8)}.portal-entry h1,.portal-section h1{margin:var(--space-4) 0 var(--space-4);max-width:18ch;font-size:clamp(2.25rem,5vw,3.5rem)}.signin-box{gap:var(--space-5);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--rule-strong);justify-items:start;max-width:32rem;display:grid}.signin-fine{margin-top:var(--space-6)}.google-button{min-height:44px}.dev-signin{gap:var(--space-3);width:100%;padding:var(--space-4);border:1px dashed var(--warn);border-radius:var(--radius);display:grid}.dev-signin .label{color:var(--warn)}.portal{padding-bottom:var(--space-8)}.portal-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--rule);display:flex}.portal-who{align-items:center;gap:var(--space-3);min-width:0;display:flex}.portal-who img{border-radius:50%}.portal-who div{min-width:0;display:grid}.portal-who .mono{color:var(--ink-2);text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.portal-section{padding-top:var(--space-7)}.onboarding{gap:var(--space-4) var(--space-5);max-width:48rem;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;display:grid}.onboarding-wide{grid-column:1/-1}@media (width<=40rem){.onboarding{grid-template-columns:1fr}}.dash-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=52rem){.dash-grid{grid-template-columns:1fr}}.panel,.renewal{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius);align-content:start;display:grid}.renewal{border-top:3px solid var(--ok)}.renewal-warn{border-top-color:var(--warn)}.renewal-bad{border-top-color:var(--bad)}.renewal-days{align-items:baseline;gap:var(--space-3);display:flex}.renewal-days .mono{letter-spacing:-.03em;font-size:clamp(3rem,7vw,4.5rem);font-weight:500;line-height:1}.renewal-warn .renewal-days .mono{color:var(--warn)}.renewal-bad .renewal-days .mono{color:var(--bad)}.facts{gap:var(--space-3) var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;display:grid}.facts dt{color:var(--ink-2);font-size:.8125rem}.sites{gap:var(--space-4);display:grid}.sites li{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.sites a{font-size:1rem}.site-detail{color:var(--ink-2);font-size:.875rem;display:block}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th{text-align:left;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:0 var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--rule-strong);font-size:.6875rem;font-weight:400}.table td{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--rule);vertical-align:top}.table td.mono{white-space:nowrap}.table-scroll{overflow-x:auto}.table .num{text-align:right}.table .msg{white-space:pre-wrap;max-width:28rem}.portal-section>.table-scroll{margin-top:var(--space-5)}.tag{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border:1px solid;border-radius:2px;padding:.05rem .4rem;font-size:.6875rem;display:inline-block}.tag-paid{color:var(--ok)}.tag-sent{color:var(--warn)}.tag-onboarding{color:var(--accent)}.worklog{gap:var(--space-4);display:grid}.worklog li{gap:var(--space-3);grid-template-columns:7.5rem 1fr;font-size:.9375rem;display:grid}.worklog .mono{color:var(--ink-2);padding-top:.1rem;font-size:.8125rem}.admin{padding-bottom:var(--space-8)}.admin-loading{padding-block:var(--space-7)}.admin-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-4);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.admin-tabs{gap:var(--space-1);display:flex}.admin-tabs a{border-radius:var(--radius);color:var(--ink-2);padding:.4rem .8rem;font-size:.9375rem;text-decoration:none}.admin-tabs a.active{background:var(--ink);color:var(--paper)}.admin-section{padding-top:var(--space-6)}.admin-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.admin-head h1{font-size:clamp(1.875rem,4vw,2.5rem)}.admin-note{margin-bottom:var(--space-5)}.chips{border:1px solid var(--rule-strong);border-radius:var(--radius);padding:2px;display:inline-flex}.chips button{min-height:2rem;font-family:var(--mono);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:0 .75rem;font-size:.8125rem}.chips button[aria-checked=true]{background:var(--ink);color:var(--paper)}.btn-small{min-height:2.25rem;padding:0 .85rem;font-size:.875rem}.enquiries{border-top:1px solid var(--rule-strong)}.enquiry{gap:var(--space-3) var(--space-5);padding-block:var(--space-4);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.enquiry-who{align-items:baseline;gap:var(--space-3);display:flex}.enquiry-meta{margin-top:var(--space-1);color:var(--ink-2);overflow-wrap:anywhere;font-size:.8125rem}.enquiry-message{margin-top:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere;max-width:44rem}.enquiry-actions{align-items:flex-start;gap:var(--space-2);display:flex}.convert-form{grid-column:1/-1}@media (width<=40rem){.enquiry{grid-template-columns:1fr}}.inline-select select{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);min-height:2.25rem;font-family:var(--mono);padding:0 .5rem;font-size:.8125rem}.admin-form{gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));align-items:end;display:grid}.admin-form .field input,.admin-form .field select,.admin-form .field textarea{min-height:2.5rem;padding:.45rem .6rem}.admin-form .field textarea{min-height:5.5rem}.field-wide,.admin-form-actions{grid-column:1/-1}.admin-form-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-form-actions .form-error{flex-basis:100%}.check{align-items:center;gap:var(--space-2);min-height:2.5rem;font-size:.9375rem;display:flex}.check input{width:1rem;height:1rem;accent-color:var(--accent)}.field input[aria-invalid=true]{border-color:var(--bad)}.saved{color:var(--ok)}.plan-editors{gap:var(--space-5);display:grid}.plan-editor-head{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.plan-slug{color:var(--ink-2);font-size:.875rem}.plan-inactive .admin-form{opacity:.7}.admin-open{margin-top:var(--space-5)}.new-client{margin-bottom:var(--space-5)}.admin-table td a{font-weight:500}.admin-table .tag{margin-left:var(--space-2)}.tone-warn{color:var(--warn)}.tone-bad,.tag-bad,.tag-overdue,.tag-void{color:var(--bad)}.tag-active{color:var(--ok)}.back{margin-bottom:var(--space-4);color:var(--ink-2);font-size:.8125rem;text-decoration:none;display:inline-block}.block{padding-block:var(--space-5);border-top:1px solid var(--rule-strong)}.block-title{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);font-size:1.5rem;display:flex}.block-count{color:var(--ink-3);font-size:.8125rem}.block-note{margin-bottom:var(--space-3)}.rows{margin-bottom:var(--space-4)}.row{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--rule);overflow-wrap:anywhere;display:flex}.row:first-child{border-top:1px solid var(--rule)}.row .tag{margin-left:var(--space-2)}.row-stack{align-items:stretch;gap:var(--space-2);flex-direction:column}.row-line{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.row-sub{color:var(--ink-2);font-size:.875rem}.row-date{min-width:7rem;color:var(--ink-2);font-size:.8125rem;display:inline-block}.row-amount{white-space:nowrap}.row-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.payments{gap:var(--space-1);padding-left:var(--space-4);border-left:2px solid var(--rule);color:var(--ink-2);font-size:.8125rem;display:grid}.link-button{color:var(--ink-2);text-underline-offset:.2em;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.875rem;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover){.link-button:hover{color:var(--ink)}}.link-danger{color:var(--bad)}@media (width<=40rem){.row,.row-line{gap:var(--space-2);flex-direction:column}}
