:root{--bg:#f6f7f9;--surface:#fff;--text:#14171f;--muted:#5d6573;--border:#e2e5ea;--accent:#5b3fe0;--accent-soft:#efecfd;--shadow:0 1px 2px #14171f0f, 0 4px 16px #14171f0a;--success:#1e7a46;--success-bg:#e3f4ea;--info:#2b57c4;--info-bg:#e5ecfb;--warning:#8a5a00;--warning-bg:#fdf0d3;--danger:#b3261e;--danger-bg:#fbe5e3;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#11141a;--surface:#1a1e26;--text:#e8eaee;--muted:#9aa2b1;--border:#2b313c;--accent:#9d8bff;--accent-soft:#272046;--shadow:0 1px 2px #0006, 0 4px 16px #00000040;--success:#6fd09a;--success-bg:#17352533;--info:#8fa8f5;--info-bg:#1b2a4d;--warning:#f0c36b;--warning-bg:#3d2f12;--danger:#f19a94;--danger-bg:#4a1f1c}}body{background:var(--bg);margin:0}h1{letter-spacing:-.02em;font-size:1.75rem}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6a4cf0,#5236d6);border:0;border-radius:999px;padding:.55rem 1.2rem;font-weight:600;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px #5b3fe047}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #5b3fe05c}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem 1.1rem;font-weight:600;text-decoration:none}.page-empty{color:var(--muted)}.avatar{background:hsl(var(--avatar-hue) 70% 90%);color:hsl(var(--avatar-hue) 55% 30%);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.avatar-md{width:2.25rem;height:2.25rem;font-size:.8rem}.avatar-sm{width:1.75rem;height:1.75rem;font-size:.68rem}@media (prefers-color-scheme:dark){.avatar{background:hsl(var(--avatar-hue) 40% 24%);color:hsl(var(--avatar-hue) 80% 85%)}}.app-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);position:sticky;top:0}.app-header-inner{align-items:center;gap:1.5rem;max-width:68rem;margin:0 auto;padding:.7rem 1.5rem;display:flex}.app-brand{color:var(--text);align-items:center;gap:.75rem;text-decoration:none;display:flex}.app-logo{height:1.4rem}.app-nav{gap:.25rem;margin-right:auto;display:flex}.app-nav a{color:var(--muted);border-radius:999px;padding:.4rem .8rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.app-nav a:hover{color:var(--text)}.app-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.app-user{color:var(--muted);align-items:center;gap:.6rem;font-size:.88rem;display:flex}.app-user button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .8rem;font-size:.85rem;transition:background .15s}.app-user button:hover{background:var(--accent-soft)}.app-main{max-width:68rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}@media (prefers-color-scheme:dark){.app-logo{filter:brightness(0)invert()}}@media (width<=44rem){.app-header-inner{flex-wrap:wrap;gap:.5rem 1rem}.app-user-email{display:none}.app-nav{order:3;width:100%}.app-user{margin-left:auto}}.showcase{color:#fff;background:radial-gradient(120% 90% at 20% 0,#2a1a6b 0%,#14103a 45%,#0a0820 100%);place-items:center;display:grid;position:relative;overflow:hidden}.showcase-grid{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 30%,#0000 100%);mask-image:radial-gradient(70% 70%,#000 30%,#0000 100%)}.showcase-orb{filter:blur(70px);opacity:.55;border-radius:50%;animation:22s ease-in-out infinite alternate orb-drift;position:absolute}.showcase-orb-a{background:#5f41e7;width:26rem;height:26rem;top:-8rem;left:-6rem}.showcase-orb-b{background:#8674fb;width:30rem;height:30rem;animation-duration:28s;animation-delay:-8s;bottom:-6rem;right:-8rem}.showcase-orb-c{opacity:.35;background:#9483ff;width:14rem;height:14rem;animation-delay:-14s;top:40%;left:55%}.showcase-stage{box-sizing:border-box;justify-items:center;gap:2rem;width:min(28rem,100%);padding:2rem;display:grid;position:relative}.showcase-card{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff12;border:1px solid #ffffff29;border-radius:18px;width:100%;padding:1.4rem 1.5rem 1.2rem;animation:.7s cubic-bezier(.2,.8,.2,1) both card-in,.6s 9.3s forwards card-out;box-shadow:0 30px 80px #0804288c}.showcase-card-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.showcase-card-head span{color:#ffffffc7}.showcase-card-head strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.showcase-steps{gap:.9rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid;position:relative}.showcase-steps:before{content:"";opacity:.6;transform-origin:top;background:linear-gradient(#7de3a8,#7de3a8) top/100% 100% no-repeat;width:2px;animation:2.8s linear 1.8s both line-grow;position:absolute;top:.6rem;bottom:.6rem;left:calc(.575rem - 1px)}.showcase-step{color:#fff;animation:.5s both step-in;animation-delay:calc(1.8s + var(--step) * 1.4s);align-items:center;gap:.8rem;font-weight:600;display:flex;position:relative}.showcase-dot{color:#06251a;width:1.15rem;height:1.15rem;animation:.5s cubic-bezier(.3,1.6,.5,1) both dot-pop;animation-delay:calc(1.8s + var(--step) * 1.4s);background:#34c27a;border-radius:50%;place-items:center;font-size:.7rem;line-height:1;display:grid}.showcase-dot:after{content:"✓"}.showcase-terminal{color:#b9adff;white-space:nowrap;border-top:1px solid #ffffff1f;margin:0;padding-top:.9rem;font:.85rem/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.showcase-typed{max-width:calc(var(--chars) * 1ch);white-space:nowrap;vertical-align:bottom;animation:type-out calc(var(--chars) * 55ms) steps(var(--chars)) 5.3s both;border-right:2px solid #b9adff;display:inline-block;overflow:hidden}.showcase-rocket{vertical-align:bottom;margin-left:.4rem;font-size:1rem;animation:.7s cubic-bezier(.3,1.5,.5,1) 7.3s both rocket-launch;display:inline-block}.showcase-tagline{color:#ffffffb8;text-align:center;margin:0;font-size:1.05rem}@keyframes orb-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(4rem,3rem)scale(1.18)}}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes card-out{to{opacity:0;transform:translateY(-10px)}}@keyframes step-in{0%{opacity:.3;filter:grayscale()}}@keyframes dot-pop{0%{transform:scale(.6)}}@keyframes line-grow{0%{transform:scaleY(0)}}@keyframes type-out{0%{max-width:0}99%{border-right-color:#b9adff}to{border-right-color:#0000}}@keyframes rocket-launch{0%{opacity:0;transform:translate(-10px,10px)scale(.4)}60%{opacity:1;transform:translate(3px,-4px)scale(1.2)}}@media (prefers-reduced-motion:reduce){.showcase-orb,.showcase-card,.showcase-steps:before,.showcase-step,.showcase-dot,.showcase-typed,.showcase-rocket{animation:none}.showcase-typed{border-right-color:#0000}}@media (width<=52rem){.showcase{min-height:11rem}.showcase-stage{display:none}}.sign-in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.sign-in-panel{background:var(--surface);place-items:center;padding:2rem 1.5rem;display:grid}.sign-in-content{justify-items:start;gap:1rem;width:min(22rem,100%);display:grid}.sign-in-logo{margin-bottom:1.25rem}.sign-in-content h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:2rem;line-height:1.15}.sign-in-prompt{color:var(--muted);margin:0 0 .75rem}.sign-in-button{min-height:44px;transition:filter .2s}.sign-in-button:hover{filter:drop-shadow(0 8px 20px #5f41e759)}.sign-in-rejected{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:.75rem 0 0;padding:.6rem .9rem;font-size:.9rem}.sign-in-domain{color:var(--muted);align-items:center;gap:.45rem;margin:.5rem 0 0;font-size:.875rem;display:flex}.sign-in-domain:before{content:"";background:#34c27a;border-radius:50%;width:.5rem;height:.5rem}@media (prefers-color-scheme:dark){.sign-in-logo{filter:brightness(0)invert()}}@media (width<=52rem){.sign-in{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sign-in-panel{align-items:start;padding-top:2rem}}.field{gap:.35rem;display:grid}.field-label{color:var(--text);font-weight:600}.field-required{color:var(--danger)}.field-hint{color:var(--muted);font-size:.875rem}.field input:not([type=checkbox]),.field textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;min-height:2.75rem;color:var(--text);font:inherit;border-radius:8px;padding:.6rem .8rem}.field textarea{resize:vertical}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.receipt-dropzone{gap:.5rem;display:grid}.dropzone-input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dropzone-target{border:2px dashed var(--border);background:var(--bg);color:var(--muted);text-align:center;border-radius:14px;justify-items:center;gap:.2rem;padding:1.75rem 1rem;transition:border-color .15s,background .15s,transform .15s;display:grid}.dropzone-target strong{color:var(--text)}.dropzone-dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.01)}.dropzone-icon{font-size:1.6rem}.dropzone-formats{font-size:.82rem}.dropzone-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.dropzone-done{border-color:color-mix(in srgb, var(--success) 40%, var(--border))}.dropzone-text{min-width:0;color:var(--muted);flex:1;gap:.2rem;font-size:.88rem;display:grid}.dropzone-text strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.dropzone-progress{background:var(--accent-soft);border-radius:999px;height:.3rem;overflow:hidden}.dropzone-progress:after{border-radius:inherit;background:var(--accent);content:"";width:40%;height:100%;animation:1.1s ease-in-out infinite dropzone-slide;display:block}@keyframes dropzone-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.dropzone-progress:after{opacity:.6;width:100%;animation:none}.dropzone-target{transition:none}}.dropzone-remove{color:var(--danger)}.dropzone-error{color:var(--danger);margin:0;font-size:.9rem}.form-header{max-width:40rem}.form-header h1{margin-bottom:.25rem}.form-header p{color:var(--muted);margin-top:0}.new-reimbursement{gap:1.25rem;max-width:40rem;display:grid}.form-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:1.1rem;padding:1.25rem 1.5rem 1.5rem;display:grid;position:relative}.form-card h2{margin:0;font-size:1.05rem}.char-count{color:var(--muted);justify-self:end;margin-top:-.75rem;font-size:.8rem}.expense-heading{justify-content:space-between;align-items:center;display:flex}.expense-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.1rem;display:grid}.amount-input{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:8px;align-items:center;gap:.5rem;padding-left:.8rem;display:flex}.amount-input:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.field .amount-input input{background:0 0;border:0;outline:none}.add-expense,.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.add-expense{border:1px dashed var(--border);border-radius:8px;justify-self:start;padding:.6rem 1rem;font-weight:600}.add-expense:hover{border-color:var(--accent)}.form-total{background:var(--info-bg);color:var(--info);border-radius:12px;justify-content:space-between;align-items:baseline;padding:.9rem 1.5rem;display:flex}.form-total strong{font-size:1.4rem}.declaration{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.declaration input{width:1.15rem;height:1.15rem;accent-color:var(--accent);margin-top:.2rem}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:0;padding:.75rem 1rem;font-weight:600}.form-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.form-actions .primary-button{padding:.65rem 1.5rem}.form-hint{color:var(--muted);text-align:right;margin:0}.review-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.9rem;max-width:36rem;margin-top:2rem;padding:1.25rem 1.5rem;display:grid}.review-panel h2{margin:0;font-size:1.1rem}.review-panel label{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.review-panel textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:6px;padding:.5rem .7rem}.review-actions{gap:.75rem;display:flex}.danger-button{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem 1.1rem;font-weight:600}.danger-button:disabled{opacity:.45;cursor:not-allowed}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.status-badge-waiting{background:var(--warning-bg);color:var(--warning)}.status-badge-progress{background:var(--info-bg);color:var(--info)}.status-badge-success{background:var(--success-bg);color:var(--success)}.status-badge-danger{background:var(--danger-bg);color:var(--danger)}.back-link{color:var(--muted);font-size:.9rem;text-decoration:none}.detail-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.detail-summary strong{color:var(--text);margin-left:auto;font-size:1.2rem}.review-list{gap:.75rem;padding:0;list-style:none;display:grid}.review-list li{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.75rem 1rem}.review-list li.review-suggestion{border-style:dashed}.review-icon{margin-right:-.4rem}.review-chip{border-radius:999px;padding:.15rem .65rem;font-size:.85rem;font-weight:600}.review-chip-approve{background:var(--success-bg);color:var(--success)}.review-chip-reject{background:var(--danger-bg);color:var(--danger)}.review-chip-undecided{background:var(--warning-bg);color:var(--warning)}.review-heading{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0;display:flex}.review-stage{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:600}.review-meta{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.review-reason{margin:.4rem 0 0}.receipt-link{color:var(--accent);font-weight:600;text-decoration:none}.receipt-link:hover{text-decoration:underline}.review-list li{box-shadow:var(--shadow);border-radius:12px}.approved-export{margin-bottom:1rem}.approved-export summary{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.88rem;font-weight:500;display:inline-block}.approved-export summary:hover,.approved-export[open] summary{color:var(--text)}.approved-export-body{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;margin-top:.75rem;padding:1rem 1.25rem}.approved-export-hint{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.approved-export-fields{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.approved-export-fields label{color:var(--muted);gap:.25rem;font-size:.85rem;display:grid}.approved-export-fields input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:8px;padding:.4rem .6rem}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{margin:0}.page-subtitle{color:var(--muted);margin:.25rem 0 0}.new-button{flex:none;text-decoration:none}.filter-tabs{gap:.4rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.filter-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;flex:none;padding:.4rem .9rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.filter-tab:hover{color:var(--text)}.filter-tab[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000;font-weight:600}.table-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow-x:auto}.reimbursements-table{border-collapse:collapse;width:100%}.reimbursements-table th,.reimbursements-table td{border-bottom:1px solid var(--border);text-align:left;padding:.9rem 1.1rem}.reimbursements-table tbody tr:last-child td{border-bottom:0}.reimbursements-table tbody tr{transition:background .12s}.reimbursements-table tbody tr:hover{background:var(--accent-soft)}.reimbursements-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.reimbursements-table .amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.column-submitted{color:var(--muted);white-space:nowrap;font-size:.9rem}.description-link{color:var(--text);font-weight:600;text-decoration:none}.description-link:hover{color:var(--accent)}.requester{color:var(--muted);align-items:center;gap:.55rem;font-size:.9rem;display:flex}.page-error{color:var(--danger)}.empty-state{border:1px dashed var(--border);text-align:center;border-radius:16px;justify-items:center;gap:.25rem;padding:3.5rem 1rem;display:grid}.empty-state-icon{font-size:2.25rem}.empty-state-title{margin:.5rem 0 0;font-weight:600}.empty-state-hint{color:var(--muted);margin:0}.skeleton-list{gap:.6rem;display:grid}.skeleton-row{background:linear-gradient(90deg, var(--surface) 25%, var(--accent-soft) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:12px;height:3.25rem;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-row{animation:none}}.load-more{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin:1.25rem auto 0;padding:.5rem 1.3rem;display:block}@media (width<=44rem){.page-heading{flex-direction:column;align-items:flex-start}.column-requester,.column-submitted{display:none}}.toast{color:#fff;border-radius:8px;max-width:24rem;margin:0;padding:.8rem 1.1rem;font-weight:600;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 6px 20px #00000040}.toast-success{background:#1f7a4d}.toast-error{background:#b3261e}.role-checkboxes{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.role-checkboxes label{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.add-user{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.9rem;max-width:36rem;margin-top:2rem;padding:1.25rem 1.5rem;display:grid}.add-user h2{margin:0;font-size:1.1rem}.add-user-exists{color:var(--warning);margin:0;font-size:.9rem}.user-already-exists td{background:var(--warning-bg)}.add-user input[aria-invalid=true]{border-color:var(--warning)}.add-user input[type=email]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.5rem .7rem}
