@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Medium.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-MediumItalic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--canvas:#eae9e4;--surface:#fff;--ink:#1a1a18;--grey:#6e6e68;--faint:#9a9a93;--hairline-canvas:#d7d6d0;--hairline-white:#e4e3dd;--accent:#5e7b5a;--accent-deep:#4c6549;--red:#c9302a;--font:"Helvetica Neue",Helvetica,Arial,sans-serif;--fs-figure:44px;--fs-heading:24px;--fs-subheading:17px;--fs-body:14px;--fs-meta:12px;--fs-micro:11px;--elevation-1:0 1px 2px rgba(26,26,24,.06),0 2px 6px rgba(26,26,24,.06);--elevation-2:0 2px 6px rgba(26,26,24,.08),0 10px 28px rgba(26,26,24,.14);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--dur-fast:140ms;--dur-base:200ms;--dur-slow:240ms;--ease-out:ease-out}*{box-sizing:border-box}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}body,html{margin:0;padding:0;background:var(--canvas);font-family:var(--font);font-size:var(--fs-body);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,body,html{color:var(--ink)}a{text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--accent-deep)}button,input,select,textarea{font:inherit;color:inherit}.figure{font-size:var(--fs-figure);font-weight:700;line-height:1.1;letter-spacing:-.025em}.heading{font-size:var(--fs-heading);font-weight:700;line-height:1.2;margin:0}.subheading{font-size:var(--fs-subheading);font-weight:600;line-height:1.3;margin:0}.meta{font-size:var(--fs-meta);font-weight:400}.meta,.micro{color:var(--grey)}.micro{font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.grey{color:var(--grey)}.faint{color:var(--faint)}.accent{color:var(--accent-deep)}.red{color:var(--red)}.app{min-height:100vh;display:flex;flex-direction:column}.shell{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--s-6)}.section{padding:var(--s-8) 0}.section+.section{border-top:1px solid var(--hairline-canvas)}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--s-3);border-bottom:2px solid var(--ink);margin-bottom:var(--s-6)}.row{display:flex;gap:var(--s-3);align-items:center}.row.between{justify-content:space-between}.col{gap:var(--s-3)}.col,.stack-2{display:flex;flex-direction:column}.stack-2{gap:var(--s-2)}.stack-4{gap:var(--s-4)}.stack-4,.stack-6{display:flex;flex-direction:column}.grid-2,.stack-6{gap:var(--s-6)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-6)}@media (max-width:720px){.grid-2{grid-template-columns:1fr}}.brand-link{display:inline-flex;margin-left:calc(var(--s-6) * -1)}.topbar{border-bottom:1px solid var(--hairline-canvas);background:var(--canvas)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:56px}.brand{font-size:var(--fs-subheading);font-weight:700;letter-spacing:-.01em}.nav{display:flex;gap:var(--s-6)}.nav a{text-decoration:none;font-size:var(--fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);padding:var(--s-2) 0;border-bottom:2px solid transparent}.nav a.active{border-bottom-color:var(--accent)}.nav a.active,.nav a:hover{color:var(--ink)}.card{background:var(--surface);border:1px solid var(--hairline-white);padding:var(--s-6);box-shadow:var(--elevation-1)}.card.pad-lg{padding:var(--s-8)}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--s-4);border:1px solid transparent;background:transparent;color:var(--ink);font-size:var(--fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;box-shadow:var(--elevation-1)}.btn.primary:hover:not(:disabled){background:var(--accent-deep)}.btn.primary:disabled{box-shadow:none}.btn.secondary{border-color:var(--ink);background:transparent;color:var(--ink)}.btn.secondary:hover:not(:disabled){background:var(--ink);color:var(--surface)}.btn.ghost{background:transparent;color:var(--ink);padding:0 var(--s-2)}.btn.ghost:hover:not(:disabled){color:var(--accent-deep)}.btn.destructive{color:var(--red);border:1px solid var(--red)}.btn.destructive:hover:not(:disabled){background:var(--red);color:#fff}.btn.sm{height:32px;padding:0 var(--s-3);font-size:var(--fs-micro)}.field{display:flex;flex-direction:column;gap:var(--s-2)}.label{font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}.input,.select,.textarea{height:40px;background:var(--surface);border:1px solid var(--hairline-white);padding:0 var(--s-3);border-radius:0;outline:none;color:var(--ink);width:100%}.textarea{height:auto;padding:var(--s-3);min-height:96px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink)}.input.flagged,.select.flagged,.textarea.flagged{border-bottom:2px solid var(--red)}.table-wrap{background:var(--surface);border:1px solid var(--hairline-white);overflow-x:auto;box-shadow:var(--elevation-1)}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.tbl thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);text-align:left;font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);padding:var(--s-3) var(--s-3);border-bottom:1px solid var(--grey);white-space:nowrap;transition:box-shadow var(--dur-fast) var(--ease-out)}.tbl thead[data-stuck] th{box-shadow:var(--elevation-2)}.tbl thead th.num{text-align:right}.tbl tbody td{padding:var(--s-3);border-bottom:1px solid var(--hairline-white);vertical-align:top}.tbl tbody td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl tbody tr:hover td{background:var(--canvas)}.tbl tbody tr.dim td{color:var(--grey)}.copyable{cursor:copy}.copyable:hover{color:var(--accent-deep)}.cell-flag{display:inline-block;margin-left:var(--s-2);padding:0 var(--s-2);font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);height:18px;line-height:16px;background:transparent;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.cell-flag:hover{background:var(--red);color:var(--surface)}.cell-flagged{border-bottom:2px solid var(--red)}.marker{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--ink);position:relative;flex-shrink:0}.marker.captured{background:transparent}.marker.submitted:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--ink) 0 50%,transparent 50% 100%)}.marker.reimbursed{background:var(--ink)}.marker.reimbursed:after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,transparent 35%,#fff 35% 45%,transparent 45% 55%,#fff 55% 70%,transparent 70%)}.marker svg{width:10px;height:10px;color:#fff}.status-pill{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-meta)}.thumb{display:block;width:56px;height:56px;background:var(--canvas);border:1px solid var(--hairline-white);object-fit:cover;cursor:zoom-in}.capture-zone{border:1px dashed var(--ink);background:var(--surface);padding:var(--s-12) var(--s-6);text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);transition:background-color var(--dur-fast) var(--ease-out)}@media (hover:hover){.capture-zone:hover{background:var(--canvas)}}.capture-zone input[type=file]{display:none}.capture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.capture-tile{background:var(--surface);border:1px solid var(--hairline-white);display:flex;flex-direction:column;box-shadow:var(--elevation-1);transition:box-shadow var(--dur-fast) var(--ease-out)}.capture-tile:hover{box-shadow:var(--elevation-2)}.capture-tile .ph{aspect-ratio:3/2;background:var(--canvas);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--hairline-white);overflow:hidden}.capture-tile .ph img{width:100%;height:100%;object-fit:cover}.capture-tile .meta-row{padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-1)}.lightbox{position:fixed;inset:0;background:rgba(26,26,24,.85);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--s-6);animation:lightbox-in var(--dur-base) var(--ease-out)}.lightbox img{max-width:100%;max-height:100%}.lightbox .card,.lightbox img{box-shadow:var(--elevation-2)}.lightbox>.card,.lightbox>img{animation:lightbox-card-in var(--dur-slow) var(--ease-out)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-card-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.owed{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-8);background:var(--surface);border:1px solid var(--hairline-white);border-left:4px solid var(--accent);box-shadow:var(--elevation-1)}.owed .figure{color:var(--accent-deep);font-size:64px;letter-spacing:-.03em}@media (max-width:720px){.owed .figure{font-size:48px}}.fronted-card{background:var(--surface);border:1px solid var(--hairline-white);padding:var(--s-8);box-shadow:var(--elevation-1)}.fronted-grid{display:grid;grid-template-columns:240px 1fr;grid-gap:var(--s-8);gap:var(--s-8);align-items:center;margin-top:var(--s-4)}@media (max-width:720px){.fronted-grid{grid-template-columns:1fr;justify-items:stretch}}.donut-wrap{position:relative;width:240px;height:240px;margin:0 auto}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:var(--s-2);transform:translateY(var(--s-2))}.donut-center .figure{line-height:1;color:#3a3a35}.donut-center .micro{letter-spacing:.08em}.legend-list{list-style:none;margin:0;padding:0}.legend-row{display:grid;grid-template-columns:14px 1fr auto;grid-gap:var(--s-3);gap:var(--s-3);align-items:center;padding:var(--s-3) 0;border-bottom:1px solid var(--hairline-white)}.legend-row:last-child{border-bottom:0}.legend-swatch{width:12px;height:12px;display:inline-block}.legend-label{font-size:var(--fs-body);font-weight:600}.legend-meta{font-size:var(--fs-meta);color:var(--grey)}.legend-amount{font-size:var(--fs-body);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.fronted-footer{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--hairline-white);font-size:var(--fs-body);font-weight:600;color:var(--ink)}.hr{height:1px;background:var(--hairline-canvas);border:0;margin:var(--s-6) 0}.hr.ink{height:2px;background:var(--ink)}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4)}.kbd{font-family:var(--font);font-size:var(--fs-meta);border:1px solid var(--hairline-canvas);padding:0 var(--s-2);height:18px;display:inline-flex;align-items:center}.account-list{margin-top:var(--s-12);border-top:1px solid var(--hairline-canvas)}.account-list a,.account-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--s-4) 0;border:0;border-bottom:1px solid var(--hairline-canvas);background:transparent;text-decoration:none;font-size:var(--fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font)}.account-list a:hover,.account-list button:hover{color:var(--accent-deep)}.account-list .chev{color:var(--faint)}.account-list button.signout,.account-list button.signout:hover{color:var(--red)}.toast{position:fixed;bottom:var(--s-6);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:var(--s-3) var(--s-4);font-size:var(--fs-meta);letter-spacing:.04em;z-index:60;animation:toast-in var(--dur-base) var(--ease-out);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.toast.toast-leaving{opacity:0;transform:translateX(-50%) translateY(6px)}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.spinner{display:inline-block;width:10px;height:10px;border:1px solid var(--faint);border-top-color:var(--ink);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.typeahead-wrap{position:relative}.typeahead-list{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:0;list-style:none;background:var(--surface);border:1px solid var(--hairline-white);box-shadow:var(--elevation-2);max-height:240px;overflow-y:auto;z-index:20;animation:dropdown-in var(--dur-fast) var(--ease-out);transform-origin:top center}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.typeahead-list li{padding:var(--s-2) var(--s-3);cursor:pointer;font-size:var(--fs-body);color:var(--ink)}.typeahead-list li:hover,.typeahead-list li[aria-selected=true]{background:var(--canvas)}.tabs{display:flex;gap:var(--s-6);border-bottom:1px solid var(--hairline-canvas);margin-bottom:var(--s-6);overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;min-height:48px}.tabs::-webkit-scrollbar{display:none}.tab{background:transparent;border:0;padding:var(--s-3) 0;font:inherit;font-size:var(--fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab .tab-count{margin-left:var(--s-2);color:var(--faint);font-weight:400}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab:hover:not([aria-selected=true]){color:var(--ink)}@media (hover:hover){.tab:hover:not([aria-selected=true]){color:var(--ink)}}@media (max-width:720px){.tabs{gap:var(--s-4)}}.action-edit{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);color:var(--accent-deep);text-decoration:none;font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.action-edit:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px}@media (max-width:720px){main{padding:0 var(--s-3)}}.mobile-only{display:none}@media (max-width:720px){.mobile-only{display:inline-flex}.btn,.btn.sm{height:44px}.btn.sm{padding:0 var(--s-3)}.action-edit{height:44px}.section-head{flex-direction:column;align-items:flex-start;gap:var(--s-3)}.section-head.row-mobile{flex-direction:row;align-items:center;gap:var(--s-3)}}@media (max-width:540px){.nav{gap:var(--s-3)}}@media (max-width:720px){.tbl-stack-sm thead{display:none}.tbl-stack-sm,.tbl-stack-sm tbody,.tbl-stack-sm tr{display:block;width:100%}.tbl-stack-sm tr{padding:var(--s-3);border-bottom:1px solid var(--hairline-white)}.tbl-stack-sm tr:last-child{border-bottom:0}.tbl-stack-sm td{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-1) 0;border:0;text-align:left}.tbl-stack-sm td.num{text-align:right}.tbl-stack-sm td[data-label]:before{content:attr(data-label);font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);flex-shrink:0}.tbl-stack-sm td:not([data-label]){justify-content:flex-start}.table-wrap:has(>.tbl-stack-sm),.tbl-stack-sm.table-wrap{overflow-x:visible}}