:root{--paper:#eef3f2;--surface:#fff;--sunk:#f5f8f7;--ink:#12343b;--ink-2:#2a4d55;--muted:#587076;--line:#d3dfdd;--accent:#f2b33d;--accent-ink:#3b2a00;--accent-soft:#fcefd2;--good:#23825a;--good-soft:#ddf1e7;--warn:#a86400;--warn-soft:#fbebd3;--bad:#bc3b33;--bad-soft:#f8e1df;--shadow:0 1px 2px #12343b0f, 0 8px 24px -12px #12343b2e;--display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0d1a1d;--surface:#14262a;--sunk:#102024;--ink:#e4efee;--ink-2:#c3d5d4;--muted:#93aaae;--line:#26403f;--accent:#f5c25a;--accent-ink:#2a1e00;--accent-soft:#3a2f14;--good:#5cc08a;--good-soft:#163a2a;--warn:#e5a445;--warn-soft:#3a2b12;--bad:#f07a70;--bad-soft:#3e1d1b;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--body);flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;text-wrap:balance;margin:0}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:1100px;margin:0 auto;padding-inline:16px}.narrow{max-width:460px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:30;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar .wrap{flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:60px;padding-block:8px;display:flex}.brand{font:700 19px/1 var(--display);letter-spacing:-.02em;align-items:center;gap:9px;margin-right:auto;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px}.nav{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.nav a.navlink{color:var(--ink-2);border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none}.nav a.navlink:hover,.nav a.navlink[aria-current=page]{background:var(--sunk);color:var(--ink)}.plan-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-accent:hover{border-color:var(--accent-ink)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;padding:6px 10px}.btn-ghost:hover{background:var(--sunk);color:var(--ink);border-color:#0000}.btn-danger{color:var(--bad)}.btn-danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn-lg{border-radius:12px;padding:13px 22px;font-size:16px}.btn-sm{padding:6px 11px;font-size:13px}.btn-block{width:100%}.linkish{color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.field{gap:6px;display:grid}.field label,.label{color:var(--ink-2);font-size:13px;font-weight:600}.input,.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;min-height:42px;padding:10px 12px}.field textarea{resize:vertical;min-height:96px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.hint{color:var(--muted);font-size:12.5px}.form{gap:14px;display:grid}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.alert{border-radius:10px;padding:10px 14px;font-size:14px}.alert-error{background:var(--bad-soft);color:var(--bad)}.alert-good{background:var(--good-soft);color:var(--good)}.alert-info{background:var(--accent-soft);color:var(--ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 18px;display:flex}.panel-head h2{font-size:18px}.panel-head .sub{color:var(--muted);font-size:13px}.panel-head .actions{gap:6px;margin-left:auto;display:flex}.panel-body{padding:6px 18px 16px}.empty{color:var(--muted);padding:16px 0;font-size:14px}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.p-good{background:var(--good-soft);color:var(--good)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-mute{background:var(--sunk);color:var(--muted);border-color:var(--line)}select.pill{appearance:none;cursor:pointer;min-height:28px;padding-right:12px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;padding-block:clamp(40px,8vw,88px) 40px;display:grid}.eyebrow{font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:18px;height:2px}.hero h1{letter-spacing:-.035em;margin:16px 0 18px;font-size:clamp(42px,7vw,76px);line-height:.98}.hero h1 em{background:linear-gradient(transparent 62%, var(--accent) 62%, var(--accent) 90%, transparent 90%);padding-inline:2px;font-style:normal}.hero .lede{color:var(--ink-2);max-width:32em;font-size:clamp(17px,2vw,20px)}.cta-row{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.fineprint{color:var(--muted);margin-top:14px;font-size:13px}.tag-preview{position:relative;transform:rotate(-2.5deg)}.tag-preview .string{background:var(--muted);opacity:.5;width:2px;height:46px;position:absolute;top:-34px;left:52px;transform:rotate(18deg)}.section{padding-block:56px}.section-head{gap:10px;max-width:640px;margin-bottom:28px;display:grid}.section-head h2{font-size:clamp(28px,4vw,40px);line-height:1.05}.how{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.how-step{border-top:3px solid var(--ink);background:var(--surface);border-radius:0 0 12px 12px;align-content:start;gap:8px;padding:20px;display:grid}.how-step .num{font:600 12px var(--mono);color:var(--muted)}.how-step h3{font-size:19px}.how-step p{color:var(--muted);font-size:14.5px}.pricing{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:820px;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-content:start;gap:16px;padding:26px;display:grid;position:relative}.plan.featured{border:2px solid var(--ink);box-shadow:var(--shadow)}.plan .flag{background:var(--accent);color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:-12px;left:24px}.plan h3{font-size:22px}.price{align-items:baseline;gap:6px;display:flex}.price b{font:700 44px/1 var(--display);letter-spacing:-.03em}.price span{color:var(--muted)}.checks{gap:9px;margin:0;padding:0;list-style:none;display:grid}.checks li{grid-template-columns:20px 1fr;align-items:start;gap:8px;font-size:15px;display:grid}.checks li:before{content:"";background:var(--good-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%2323825a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-radius:50%;width:16px;height:16px;margin-top:3px}.demo-callout{background:var(--ink);color:var(--paper);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.demo-callout h3{font-size:22px}.demo-callout p{opacity:.8}.foot{border-top:1px solid var(--line);color:var(--muted);font-size:13px}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding-block:20px;display:flex}.foot a{color:var(--muted)}.auth{justify-items:center;padding-block:48px 64px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:16px;gap:18px;padding:28px;display:grid}.auth-card h1{font-size:28px}.auth-alt{text-align:center;color:var(--muted);font-size:14px}.pagehead{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;padding-block:32px 20px;display:flex}.pagehead h1{font-size:clamp(30px,4.5vw,44px);line-height:1.05}.pagehead .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.crumb{color:var(--muted);align-items:center;gap:6px;padding-top:22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.crumb:hover{color:var(--ink)}.trip-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.trip-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:14px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.trip-card:hover{border-color:var(--muted);box-shadow:var(--shadow);transform:translateY(-1px)}.trip-card h3{overflow-wrap:anywhere;font-size:20px;line-height:1.15}.trip-card .when{color:var(--muted);font-size:13.5px}.trip-card .top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.trip-card .facts{flex-wrap:wrap;gap:6px;display:flex}.countdown{font:600 12px var(--mono);color:var(--ink-2);background:var(--sunk);border:1px solid var(--line);border-radius:6px;padding:2px 7px}.group-label{font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px}.new-card{text-align:center;border:2px dashed var(--line);color:var(--muted);border-radius:14px;place-items:center;gap:8px;min-height:160px;padding:28px 18px;font-weight:600;text-decoration:none;display:grid}.new-card:hover{border-color:var(--muted);color:var(--ink)}.upsell{background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-bottom:8px;padding:14px 18px;display:flex}.upsell p{flex:260px}.ring{flex:none;position:relative}.ring svg{display:block;transform:rotate(-90deg)}.ring .n{text-align:center;font-family:var(--display);place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.ring .n small{font:600 9.5px/1.2 var(--body);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;display:block}@media (prefers-reduced-motion:no-preference){.ring .arc{transition:stroke-dashoffset .6s}}.ticket{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:20px 22px 20px 34px;display:grid;position:relative}.ticket:before{content:"";border-left:2px dashed var(--line);position:absolute;top:16px;bottom:16px;left:14px}.ticket:after{content:"";background:var(--paper);border:1px solid var(--line);border-left:0;border-radius:0 12px 12px 0;width:13px;height:24px;margin-top:-12px;position:absolute;top:50%;left:-1px}.meters{gap:8px;min-width:0;font-size:13px;display:grid}.meter{grid-template-columns:72px minmax(90px,1fr) 40px;align-items:center;gap:8px;display:grid}.meter>span:first-child{color:var(--muted)}.track{background:var(--sunk);border:1px solid var(--line);border-radius:4px;height:7px;overflow:hidden}.track>div{background:var(--ink);border-radius:4px;height:100%}.meter .v{font:500 12px var(--mono);text-align:right;font-variant-numeric:tabular-nums}.trip-hero{grid-template-columns:minmax(0,1fr) minmax(340px,auto);align-items:center;gap:24px;padding-block:10px 24px;display:grid}.trip-hero h1{overflow-wrap:anywhere;margin:10px 0;font-size:clamp(30px,5vw,48px);line-height:1.02}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.meta b{color:var(--ink);font-weight:600}.board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:48px;display:grid}.span2{grid-column:1/-1}.outstanding{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:16px 18px;display:grid}.oi{background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.oi strong{font:700 15.5px/1.3 var(--display);display:block}.oi p{color:var(--ink-2);margin-top:4px;font-size:13.5px}.oi[data-k=bad]{background:var(--bad-soft);border-color:#0000}.oi[data-k=warn]{background:var(--warn-soft);border-color:#0000}.oi[data-k=good]{background:var(--good-soft);border-color:#0000}.rows{display:grid}.row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 0;display:grid}.row:last-child{border-bottom:0}.r-att,.r-pay{grid-template-columns:minmax(0,1fr) auto auto}.r-task{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 96px auto auto}.who{overflow-wrap:anywhere;font-weight:600}.who small{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.due{font:500 12.5px var(--mono);color:var(--muted);white-space:nowrap}.due.late{color:var(--bad)}.sumline{color:var(--muted);flex-wrap:wrap;gap:6px 16px;padding:12px 0 6px;font-size:13.5px;display:flex}.sumline b{color:var(--ink);font-family:var(--mono);font-weight:500}.paybar{background:var(--sunk);border:1px solid var(--line);border-radius:5px;height:9px;overflow:hidden}.paybar div{background:var(--good);height:100%}.toggle{cursor:pointer;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.toggle input{width:18px;height:18px;accent-color:var(--good);cursor:pointer}.scroller{margin-inline:-18px;padding-inline:18px;overflow-x:auto}table.pack{border-collapse:collapse;min-width:100%;font-size:13.5px}table.pack th,table.pack td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:9px 8px}table.pack th{color:var(--muted);vertical-align:bottom;font-size:12.5px;font-weight:600}table.pack th:first-child,table.pack td:first-child{text-align:left;background:var(--surface);position:sticky;left:0}table.pack td.cnt{font-family:var(--mono);font-variant-numeric:tabular-nums}table.pack input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}.itemhead{align-items:center;gap:2px;display:inline-flex}.itemhead button{padding:0 5px;font-size:15px;line-height:1}.locked{justify-items:start;gap:12px;padding:18px 0 6px;display:grid}.locked p{color:var(--ink-2);max-width:34em;font-size:14px}.banner{background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px;padding:12px 16px;font-size:14px;display:flex}.banner p{flex:240px}.scrim{z-index:50;background:#050f1280;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);width:min(480px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:16px;gap:14px;padding:22px;display:grid;overflow:auto}.modal h3{font-size:21px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-actions .left{margin-right:auto}.modal textarea.message{min-height:220px;font:13px/1.55 var(--mono)}.modal-wide{width:min(640px,100%)}.seg{background:var(--sunk);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 10px;font-size:14px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #12343b1f}.recips{border:1px solid var(--line);border-radius:10px;gap:2px;max-height:220px;padding:4px;display:grid;overflow:auto}.recip{cursor:pointer;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;display:grid}.recip:hover{background:var(--sunk)}.recip input{width:18px;height:18px;accent-color:var(--ink);margin-top:2px}.recip.off{cursor:default;opacity:.6}.inline-select{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:auto;min-height:0;padding:2px 6px;font-weight:600;display:inline-block}.email-preview{border:1px solid var(--line);background:#eef3f2;border-radius:12px;width:100%;height:520px}.toast{z-index:60;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);border-radius:10px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.error{background:var(--bad);color:#fff}.stack{gap:16px;max-width:640px;padding-bottom:48px;display:grid}.kv{grid-template-columns:140px minmax(0,1fr);gap:8px 16px;font-size:14.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}@media (max-width:820px){.hero{grid-template-columns:1fr;gap:40px}.tag-preview{max-width:440px}.how,.trip-hero,.board{grid-template-columns:1fr}}@media (max-width:560px){.meter{grid-template-columns:72px minmax(40px,1fr) 40px}.pricing,.row2{grid-template-columns:1fr}.ticket{grid-template-columns:1fr;justify-items:center;padding-left:22px}.ticket:before,.ticket:after{display:none}.meters{width:100%}.r-task{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.r-task .owner,.r-task .due{grid-column:1;font-size:12.5px}.r-task .st{grid-area:1/2}.r-task .ed{grid-area:2/2/span 2;justify-self:end}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}.brand{font-size:17px}}
