@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Figtree:wght@400;500;600&display=swap");:root{--paper:#f6f7f4;--paper-2:#eceee9;--ink:#1f2a24;--ink-2:#4b5852;--muted:#7a877f;--line:#d7ddd7;--line-2:#c3cbc4;--teal:#1e6b5c;--teal-2:#175446;--teal-soft:#dfeee9;--amber:#d99a3c;--amber-soft:#f7ecd8;--rose:#b4443c;--rose-soft:#f5e1df;--white:#ffffff;--serif:"Fraunces",Georgia,serif;--sans:"Figtree",system-ui,-apple-system,sans-serif;--radius:6px;--maxw:1080px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0;letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.125rem}p{margin:0 0 .75rem}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topbar{border-bottom:1px solid var(--line);background:var(--paper)}.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;height:56px;gap:20px}.topbar-inner,.wordmark{display:flex;align-items:center}.wordmark{white-space:nowrap;flex-shrink:0;font-family:var(--serif);font-size:1.25rem;color:var(--ink);font-weight:600;gap:8px}.wordmark:hover{text-decoration:none}.wordmark i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.nav{display:flex;gap:2px;flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{color:var(--ink-2);padding:6px 9px;border-radius:var(--radius);font-weight:500;white-space:nowrap;flex:0 0 auto}.nav a:hover{background:var(--paper-2);text-decoration:none;color:var(--ink)}.nav a.active{color:var(--teal-2);background:var(--teal-soft)}.nav .count{display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;background:var(--amber);color:var(--ink);border-radius:9px;font-size:.75rem;font-weight:600;text-align:center}.topbar-user{color:var(--ink-2);font-size:.9rem;display:flex;align-items:center;gap:12px;white-space:nowrap;flex-shrink:0}@media (max-width:1180px){.topbar-user>span:first-child{display:none}}.topbar-user .tz{color:var(--muted)}main.page{max-width:var(--maxw);margin:0 auto;padding:32px 20px 72px}main.narrow{max-width:560px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head p{color:var(--ink-2);margin:6px 0 0;max-width:60ch}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field .label,.field label{font-weight:500}.field .hint{color:var(--muted);font-size:.875rem}.field input[type=date],.field input[type=email],.field input[type=number],.field input[type=password],.field input[type=text],.field input[type=time],.field input[type=url],.field select,.field textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line-2);border-radius:var(--radius);padding:9px 11px;width:100%}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-soft)}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:600px){.row{grid-template-columns:1fr}}.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.check input{margin-top:4px;accent-color:var(--teal);width:16px;height:16px}.check .desc{color:var(--muted);font-size:.875rem;display:block}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0}.chip span{display:inline-block;padding:5px 11px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);color:var(--ink-2);font-size:.9rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip input:checked+span{background:var(--teal);border-color:var(--teal);color:var(--white)}.chip input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:500;cursor:pointer;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--teal);background:var(--teal);color:var(--white);white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--teal-2)}.btn.secondary{background:var(--white);color:var(--teal-2);border-color:var(--line-2)}.btn.secondary:hover{background:var(--paper-2)}.btn.quiet{background:transparent;color:var(--ink-2);border-color:transparent;padding-left:8px;padding-right:8px}.btn.quiet:hover{background:var(--paper-2)}.btn.danger{background:var(--white);color:var(--rose);border-color:var(--line-2)}.btn.danger:hover{background:var(--rose-soft)}.btn.sm{padding:5px 10px;font-size:.875rem}.btn:disabled{opacity:.5;cursor:default}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.alert{padding:12px 14px;border-radius:var(--radius);margin-bottom:18px;border:1px solid}.alert.error{background:var(--rose-soft);border-color:#e4b6b2;color:#7a2b26}.alert.ok{background:var(--teal-soft);border-color:#bcd8cf;color:var(--teal-2)}.alert.warn{background:var(--amber-soft);border-color:#ead3a8;color:#6e4a10}.list{border-top:1px solid var(--line)}.list>*{border-bottom:1px solid var(--line);padding:16px 0}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.section{margin-top:36px}.section>h2{margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:.875rem}.stack{display:flex;flex-direction:column;gap:8px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:500;background:var(--paper-2);color:var(--ink-2)}.tag.teal{background:var(--teal-soft);color:var(--teal-2)}.tag.amber{background:var(--amber-soft);color:#6e4a10}.tag.rose{background:var(--rose-soft);color:#7a2b26}.bolt{color:var(--amber);font-weight:600}.empty{padding:40px 20px;text-align:center;color:var(--ink-2);border:1px dashed var(--line-2);border-radius:var(--radius)}.empty h3{margin-bottom:6px}.slot-ribbon{display:flex;flex-wrap:wrap;gap:8px}.slot-chip{display:inline-flex;flex-direction:column;align-items:flex-start;padding:7px 11px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:.9rem;line-height:1.25;text-decoration:none}.slot-chip:hover{border-color:var(--teal);text-decoration:none}.slot-chip b{font-weight:600}.slot-chip .when{color:var(--ink-2);font-size:.8rem}.slot-chip.instant{border-color:var(--amber);background:var(--amber-soft)}.slot-chip.booked,.slot-chip.held{background:var(--paper-2);color:var(--muted);border-style:dashed}.member{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.member .head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.member .name{font-family:var(--serif);font-size:1.2rem;font-weight:500}.member .meta{color:var(--muted);font-size:.875rem}.member .headline{color:var(--ink-2)}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:14px 0 22px}.filters .field{margin:0;min-width:150px}.filters .field input,.filters .field select{padding:7px 9px}.progress-track{display:grid;grid-template-columns:repeat(25,1fr);grid-gap:4px;gap:4px;margin:12px 0 6px}.progress-track i{display:block;height:14px;border-radius:2px;background:var(--paper-2);border:1px solid var(--line)}.progress-track i.done{background:var(--amber);border-color:var(--amber)}.big-number{font-family:var(--serif);font-size:3rem;line-height:1;font-weight:500}.big-number small{font-family:var(--sans);font-size:1rem;color:var(--muted);margin-left:8px;font-weight:400}table.table{width:100%;border-collapse:collapse;font-size:.925rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-weight:600;color:var(--ink-2);font-size:.85rem}.week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}@media (max-width:760px){.week{grid-template-columns:repeat(2,1fr)}}.day{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:120px}.day h4{margin:0 0 8px;font-weight:600;font-size:.9rem;color:var(--ink-2)}.day .n{color:var(--muted);font-weight:400}.day .slot{font-size:.85rem;padding:4px 6px;border-radius:4px;margin-bottom:4px;background:var(--teal-soft);color:var(--teal-2);display:flex;justify-content:space-between;gap:6px}.day .slot.instant{background:var(--amber-soft);color:#6e4a10}.day .slot.booked{background:var(--paper-2);color:var(--ink-2)}.day .slot.held{background:var(--paper-2);color:var(--muted);border:1px dashed var(--line-2)}.day .slot button{font:inherit;background:none;border:none;color:inherit;cursor:pointer;padding:0;opacity:.7}.day .slot button:hover{opacity:1}.day .slot button.ib[aria-pressed=false]{opacity:.3;filter:grayscale(1)}.hero{padding:56px 0 32px;max-width:640px}.hero h1{font-size:2.8rem;margin-bottom:16px}.hero p{font-size:1.125rem;color:var(--ink-2)}.how{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-top:40px}@media (max-width:700px){.how{grid-template-columns:1fr}}.how h3{margin-bottom:6px}.how p{color:var(--ink-2)}@media (max-width:1040px){.topbar-inner{height:auto;flex-wrap:wrap;padding:10px 20px 0;gap:6px 16px}.topbar-user{margin-left:auto}.nav{order:3;flex:1 0 100%;margin:0 -20px;padding:4px 20px 10px}}@media (max-width:760px){.topbar-inner{padding:10px 16px 0}.nav{margin:0 -16px;padding:4px 16px 10px}main.page{padding:24px 16px 60px}h1{font-size:1.6rem}.filters .field{min-width:calc(50% - 6px);flex:1 1}}