:root{color-scheme:light;--bg: #F4F4F2;--bg-2: #EDEDEA;--panel: #FAFAF8;--panel-2: #F0F0ED;--line: #DCDCD7;--line-2: #C6C6C0;--ink: #1E1E22;--ink-rgb: 30, 30, 34;--ink-dim: #4F4F55;--ink-mute: #6A6A6F;--accent: #D7263D;--accent-rgb: 215, 38, 61;--error: #D7263D;--error-rgb: 215, 38, 61;--red: var(--accent);--on-accent: #FFFFFF;--line-field: rgba(var(--ink-rgb), .5);--ok: var(--ink);--warn: var(--ink-dim);--info: var(--ink-dim);--wash: rgba(30, 30, 34, .035);--wash-2: rgba(30, 30, 34, .07);--grid: rgba(30, 30, 34, .045);--scrim: rgba(30, 30, 34, .56);--surface: var(--panel);--primary: var(--ink);--on-primary: var(--bg);--radius: 2px;--dur-press: 80ms;--dur-fast: .12s;--dur: .18s;--dur-slow: .24s;--dur-reveal: .32s;--stagger: 40ms;--ease-in: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.4, 0, 1, 1);--ease-enter: var(--ease-in);--ease-exit: var(--ease-out);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: "Fraunces", Georgia, serif;--font-prose: "Newsreader", Georgia, serif;--fs-label: 11px;--fs-meta: 12px;--fs-body: 13px;--fs-prose: 16px;--fs-h3: 15px;--fs-h2: 20px;--fs-h1: 32px;--fs-stat: 28px;--fs-hero: 48px;--w-read: 760px;--w-work: 1120px;--w-wide: 1232px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #141416;--bg-2: #1A1A1D;--panel: #1C1C1F;--panel-2: #222226;--line: #2C2C31;--line-2: #3A3A40;--ink: #EDEDEA;--ink-rgb: 237, 237, 234;--ink-dim: #A8A8A4;--ink-mute: #8A8A8E;--accent: #FF3B54;--accent-rgb: 255, 59, 84;--error: #FF3B54;--error-rgb: 255, 59, 84;--on-accent: #141416;--line-field: rgba(var(--ink-rgb), .38);--wash: rgba(237, 237, 234, .035);--wash-2: rgba(237, 237, 234, .07);--grid: rgba(237, 237, 234, .035);--scrim: rgba(10, 10, 12, .84)}}:root[data-theme=dark]{color-scheme:dark;--bg: #141416;--bg-2: #1A1A1D;--panel: #1C1C1F;--panel-2: #222226;--line: #2C2C31;--line-2: #3A3A40;--ink: #EDEDEA;--ink-rgb: 237, 237, 234;--ink-dim: #A8A8A4;--ink-mute: #8A8A8E;--accent: #FF3B54;--accent-rgb: 255, 59, 84;--error: #FF3B54;--error-rgb: 255, 59, 84;--on-accent: #141416;--line-field: rgba(var(--ink-rgb), .38);--wash: rgba(237, 237, 234, .035);--wash-2: rgba(237, 237, 234, .07);--grid: rgba(237, 237, 234, .035);--scrim: rgba(10, 10, 12, .84)}@media (prefers-reduced-motion: reduce){:root{--dur-slow: .12s;--dur-reveal: .12s;--dur: .12s;--stagger: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;min-height:100vh}body{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}::selection{background:var(--ink);color:var(--bg)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none}input::placeholder,textarea::placeholder{color:var(--ink-mute);opacity:1}textarea{resize:vertical}a{color:var(--ink);text-decoration:underline 1px var(--line-2);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-enter)}a:hover{text-decoration-color:var(--ink)}button,input,select,textarea,section,[data-field],[role=dialog],[role=alertdialog],[role=status],[role=alert],[role=menu],table,details,.chip,.tag{border-radius:var(--radius)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line)}::-webkit-scrollbar-thumb:hover{background:var(--line-2)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes enterup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes flashonce{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scrimin{0%{opacity:0}to{opacity:1}}@keyframes dialogin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toastin{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes toastout{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}@keyframes countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes checkin{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-iteration-count:1!important;scroll-behavior:auto!important}.spinner{display:none!important}[data-motion=slide]{animation-name:fade!important}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}[data-field] input:focus-visible,[data-field] select:focus-visible{outline:none}[data-field]:focus-within,textarea.ctl:focus-visible,select.ctl:focus-visible{outline:none;border-color:var(--ink)!important;box-shadow:0 0 0 3px rgba(var(--ink-rgb),.14)}[data-invalid] [data-field],[data-invalid] textarea.ctl,[data-invalid] select.ctl{border-color:var(--error)!important}[data-invalid] [data-field]:focus-within,[data-invalid] textarea.ctl:focus-visible,[data-invalid] select.ctl:focus-visible{box-shadow:0 0 0 3px rgba(var(--error-rgb),.18)}input,textarea{caret-color:var(--ink)}.ctl-h{height:36px}@media (pointer: coarse){.ctl-h{height:40px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;white-space:nowrap;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--dur-fast) var(--ease-enter),border-color var(--dur-fast) var(--ease-enter),color var(--dur-fast) var(--ease-enter),transform var(--dur-press) var(--ease-enter)}.btn--sm{height:28px;padding:0 10px;font-size:11px}.btn--lg{height:44px;padding:0 20px}@media (pointer: coarse){.btn--md{height:44px}}.btn:not(:disabled):active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn--primary:not(:disabled):hover{background:color-mix(in srgb,var(--ink) 88%,var(--bg))}.btn--secondary{background:var(--panel);color:var(--ink);border-color:var(--line-field)}.btn--secondary:not(:disabled):hover{border-color:var(--ink)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn--ghost:not(:disabled):hover{border-color:var(--ink)}.btn--danger{background:transparent;color:var(--ink-dim);border-color:var(--line-2)}.btn--danger:not(:disabled):hover,.btn--danger:not(:disabled):focus-visible{color:var(--error);border-color:var(--error)}.btn--destructive{background:var(--red);color:var(--on-accent);border-color:var(--red)}.btn--destructive:not(:disabled):hover{background:color-mix(in srgb,var(--red) 88%,var(--ink))}.btn:disabled:not([aria-busy]){background:var(--bg-2);color:var(--ink-mute);border-color:var(--line);cursor:not-allowed}.btn[aria-busy]{cursor:progress}.btn__label{display:inline-grid}.btn__label>*{grid-area:1 / 1;transition:opacity var(--dur-fast) var(--ease-enter)}.linkbtn{color:var(--ink);text-decoration:underline 1px var(--line-2);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-enter)}.linkbtn:hover{text-decoration-color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--line-2);background:var(--panel);color:var(--ink-dim);font-size:12px;font-weight:400;letter-spacing:.02em;text-align:left;transition:border-color var(--dur-fast) var(--ease-enter),background-color var(--dur-fast) var(--ease-enter),color var(--dur-fast) var(--ease-enter)}.chip:hover{border-color:var(--ink-dim);color:var(--ink)}.chip[aria-pressed=true],.chip[aria-checked=true]{border-color:var(--ink);background:var(--wash-2);color:var(--ink);font-weight:700}.chip__mark{width:10px;flex-shrink:0;opacity:0}.chip[aria-pressed=true] .chip__mark,.chip[aria-checked=true] .chip__mark{opacity:1;animation:checkin var(--dur-fast) var(--ease-enter)}.chip--dense{min-height:28px}@media (pointer: coarse){.chip{min-height:44px}}.chip.qrow{display:flex;align-items:flex-start;width:100%;min-height:36px;padding:9px 12px;border-color:var(--line-field);line-height:1.45}@media (pointer: coarse){.chip.qrow{min-height:44px}}.checkbox{width:14px;height:14px;flex-shrink:0;border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:var(--bg)}.checkbox[data-checked]{background:var(--ink)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-dim)}.tag--strong{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}.tag--outline{background:transparent;border-color:var(--line-2);color:var(--ink-dim);font-weight:400}.tag--plain{background:transparent;border-color:transparent;color:var(--ink-mute);font-weight:400;padding:0}.menu{position:absolute;z-index:50;min-width:200px;padding:4px;background:var(--panel);border:1px solid var(--line-2);box-shadow:0 12px 32px -12px #0000004d;animation:fadein var(--dur) var(--ease-enter) both}.menu-item:hover,.menu-item:focus-visible{background:var(--bg-2)}.prose{font-family:var(--font-prose);font-size:var(--fs-prose);line-height:1.6;max-width:68ch;color:var(--ink)}.prose--sm{font-size:15px}.h1{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h1);line-height:1.15;letter-spacing:-.02em;margin:0;text-transform:lowercase}.subtitle{margin:6px 0 0;font-size:var(--fs-meta);color:var(--ink-dim)}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width: 719.98px){.toast-viewport{right:8px!important;left:8px;width:auto!important;align-items:stretch!important}}.page{margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);width:100%}.page--read{max-width:calc(var(--w-read) + 2 * var(--gutter))}.page--work{max-width:calc(var(--w-work) + 2 * var(--gutter))}.page--wide{max-width:calc(var(--w-wide) + 2 * var(--gutter))}.inner--read{max-width:var(--w-read)}:root{--gutter: 16px;--gantt-label: 92px;--tall-panel: 320px}@media (min-width: 720px){:root{--gutter: 24px;--gantt-label: 180px}}@media (min-width: 1024px){:root{--tall-panel: 600px;--gantt-label: 240px}}.ascii{margin:0;color:var(--ink-dim);line-height:1.2;letter-spacing:0;white-space:pre;font-size:min(10px,calc((100vw - 2 * var(--gutter) - var(--ascii-inset, 0px)) / (var(--ascii-cols) * .602)));max-width:100%;overflow:hidden}.cols-2,.cols-3,.cols-split,.cols-aside{display:grid;grid-template-columns:minmax(0,1fr)}.cols-2>*,.cols-3>*,.cols-split>*,.cols-aside>*{min-width:0}@media (min-width: 720px){.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}@media (min-width: 1024px){.cols-aside{grid-template-columns:440px minmax(0,1fr)}}.cells{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(var(--cols-sm, 1),minmax(0,1fr))}.cells>*{min-width:0}@media (min-width: 720px){.cells{grid-template-columns:repeat(var(--cols-md, var(--cols)),minmax(0,1fr))}}@media (min-width: 1024px){.cells{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}}@media (max-width: 719.98px){.cells--orphan-sm>:last-child:nth-child(odd){grid-column:1 / -1}}@media (min-width: 720px) and (max-width: 1023.98px){.cells--orphan-md>:last-child:nth-child(odd){grid-column:1 / -1}}.wrap-row{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px}.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.scroll-x>*{flex-shrink:0}.show-sm{display:none!important}@media (max-width: 719.98px){.hide-sm{display:none!important}.show-sm{display:inline!important}}@media (max-width: 1023.98px){.hide-md{display:none!important}}@media (max-width: 359.98px){.hide-xs{display:none!important}}.statusbar{padding:10px var(--gutter);gap:14px}.statusbar__path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 719.98px){.statusbar{gap:10px}}.stepper{padding:10px var(--gutter);gap:14px}.stepper__connector{margin:0 14px}@media (min-width: 720px){.stepper:not(.stepper--compact){padding-top:16px;padding-bottom:16px}}@media (max-width: 719.98px){.stepper{gap:8px}.stepper__connector{margin:0 4px;min-width:6px}.stepper__label{display:none}.stepper__node[aria-current=step] .stepper__label{display:block}}.step-footer{padding:14px var(--gutter);margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));flex-wrap:wrap;row-gap:10px}@media (max-width: 719.98px){.step-footer__status{flex:1 1 auto;min-width:0}.step-footer>:last-child{flex-basis:100%}}.auth{display:grid;grid-template-columns:minmax(0,1fr)}.auth__pane{padding:32px var(--gutter)}.auth__brand{border-top:1px solid var(--line)}@media (max-width: 859.98px){.auth__form{order:-1}}@media (min-width: 860px){.auth{grid-template-columns:repeat(2,minmax(0,1fr))}.auth__pane{padding:64px 56px}.auth__brand{border-top:0;border-right:1px solid var(--line)}}.admin{display:grid;grid-template-columns:minmax(0,1fr)}.admin__side{border-bottom:1px solid var(--line);padding:16px 0 0}.admin__nav{display:flex;flex-direction:row;overflow-x:auto}.admin__main{padding:24px var(--gutter);min-width:0}@media (min-width: 900px){.admin{grid-template-columns:220px minmax(0,1fr)}.admin__side{border-bottom:0;border-right:1px solid var(--line);padding:24px 0}.admin__nav{flex-direction:column;overflow:visible}.admin__main{padding:32px 36px}}.rt-num{text-align:left}@media (min-width: 720px){.rt-num{text-align:right}.projects-row{grid-template-columns:32px 1.6fr .8fr .7fr .7fr .7fr .7fr 36px}.users-row{grid-template-columns:32px 1.6fr 100px 100px .8fr 60px}}@media (max-width: 719.98px){.rt-head{display:none!important}.rt-row{row-gap:8px!important;column-gap:10px!important}.rt-row>*{min-width:0}.rt-row [data-label]:before{content:attr(data-label);display:block;margin-bottom:2px;font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.projects-row{grid-template-columns:22px repeat(4,minmax(0,1fr)) auto;grid-template-areas:"idx  name  name   name  name   del" ".    client client client client ." ".    dur   quote  cost  margin ."}.projects-row>:nth-child(1){grid-area:idx;align-self:start;padding-top:2px}.projects-row>:nth-child(2){grid-area:name}.projects-row>:nth-child(3){grid-area:client}.projects-row>:nth-child(4){grid-area:dur}.projects-row>:nth-child(5){grid-area:quote}.projects-row>:nth-child(6){grid-area:cost}.projects-row>:nth-child(7){grid-area:margin}.projects-row>:nth-child(8){grid-area:del;align-self:start}.users-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 76px;grid-template-areas:"idx user   user  actions" ".   status usage joined"}.users-row>:nth-child(1){grid-area:idx;align-self:start;padding-top:2px}.users-row>:nth-child(2){grid-area:user}.users-row>:nth-child(3){grid-area:status;justify-self:start;align-self:end}.users-row>:nth-child(4){grid-area:usage}.users-row>:nth-child(5){grid-area:joined}.users-row>:nth-child(6){grid-area:actions;align-self:start;justify-content:flex-start!important}}.search-field{width:240px;max-width:100%}@media (max-width: 719.98px){.search-field{width:100%}}@media (pointer: coarse){.menu-item{min-height:44px}}@media (max-width: 719.98px){.gantt-axis[data-dense]>:nth-child(2n){color:transparent}}.scroll-x--bare{scrollbar-width:none}.scroll-x--bare::-webkit-scrollbar{display:none}.toolbar-actions{display:flex;gap:12px;margin-left:auto}@media (max-width: 719.98px){.toolbar-actions{flex-basis:100%;gap:8px}.toolbar-actions>*{flex:1 1 0}}@media (max-width: 719.98px){.actions-row>:last-child{flex-basis:100%}}.dt{width:100%;border-collapse:collapse}.dt th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;border-bottom:1.5px solid var(--ink)}.dt td{height:54px;padding:8px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px}.dt tbody tr:last-child>td{border-bottom:0}.dt tbody tr{transition:background-color var(--dur-fast) var(--ease-enter)}.dt tbody tr:hover{background:var(--wash)}.dt tbody tr:focus-within>:first-child{box-shadow:inset 2px 0 0 var(--ink)}.dt-link{font-size:13px;font-weight:700;color:var(--ink);text-align:left;overflow-wrap:anywhere;text-decoration:underline 1px transparent;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-enter)}.dt-link:hover{text-decoration-color:var(--ink)}.dt-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--ink-mute);font-size:16px;transition:color var(--dur-fast) var(--ease-enter)}.dt-icon:hover,.dt-icon:focus-visible{color:var(--ink)}.dt-icon--del:hover,.dt-icon--del:focus-visible{color:var(--error)}@media (pointer: coarse){.dt-icon{width:44px;height:44px}}@media (min-width: 720px){.dt .rt-num{text-align:right}}@media (max-width: 719.98px){.dt,.dt tbody{display:block}.dt tr.rt-row{display:grid;padding:14px;border-bottom:1px solid var(--line)}.dt tr.rt-row:last-child{border-bottom:0}.dt tr.rt-row>td{height:auto;padding:0;border:0}.dt tbody tr:focus-within>:first-child{box-shadow:none}.dt tbody tr:focus-within{box-shadow:inset 2px 0 0 var(--ink)}}.dash-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;height:100%;padding:20px;text-align:left;background:var(--panel);transition:background-color var(--dur-fast) var(--ease-enter)}.dash-card:hover{background:var(--panel-2)}.dash-search{display:flex;align-items:center;height:36px;padding:0 10px;border:1px solid var(--line-field);background:var(--panel)}.dash-search:focus-within{border-color:var(--ink)}@media (pointer: coarse){.dash-search{height:44px}}.shot-row .ctl-h,.shot-row input{min-width:0}@media (max-width: 719.98px){.stat-trio>:last-child:nth-child(3){grid-column:1 / -1}}
