@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}html,body,#root{margin:0;min-width:320px;min-height:100%}body{font-family:Manrope,Avenir Next,Segoe UI,sans-serif;color:#1f1f18}button,input,select,textarea{font:inherit}:root{--bg: #f3f0e8;--bg-accent: #ece7d8;--panel: rgba(255, 255, 255, .76);--panel-solid: #fffdf7;--ink: #1f1f18;--ink-muted: #615d4f;--line: rgba(45, 43, 34, .12);--line-strong: rgba(45, 43, 34, .22);--primary: #1d6f55;--primary-ink: #ffffff;--danger: #b03333;--shadow: 0 18px 50px rgba(44, 39, 26, .08);--radius: 18px}*{box-sizing:border-box}.app-shell{min-height:100vh;padding:1.25rem;background:radial-gradient(circle at 12% 10%,rgba(211,195,135,.35),transparent 38%),radial-gradient(circle at 90% 0%,rgba(108,153,137,.2),transparent 36%),linear-gradient(180deg,var(--bg) 0%,#f8f6ef 100%)}.ledger-app{max-width:1180px;margin:0 auto;display:grid;gap:1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:visible}.hero-card{padding:1.1rem 1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.hero-card h1{margin:.1rem 0 .35rem;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.1;letter-spacing:-.02em}.eyebrow{margin:0;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.muted{margin:0;color:var(--ink-muted)}.tiny{font-size:.85rem}.hero-actions{display:flex;gap:.5rem}.primary-button,.secondary-button,.file-button{border:1px solid var(--line-strong);border-radius:12px;padding:.65rem .9rem;font:inherit;font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.inline-link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-button{background:var(--primary);color:var(--primary-ink);border-color:color-mix(in srgb,var(--primary) 70%,black);box-shadow:0 10px 20px #1d6f5538}.secondary-button,.file-button{background:#fff9;color:var(--ink)}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.file-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 50%,var(--line-strong))}.primary-button:disabled,.secondary-button:disabled,.file-button:disabled{opacity:.6;cursor:not-allowed}.summary-panel{padding:1rem;display:grid;gap:.8rem}.default-split-bar{display:grid;gap:.75rem;padding:.85rem .9rem;border:1px solid var(--line);border-radius:14px;background:#ffffff80}.default-split-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.default-split-controls label{min-width:min(100%,240px);display:grid;gap:.35rem}.default-split-controls span{font-size:.82rem;color:var(--ink-muted);font-weight:600}.landing-panel{padding:1rem;display:grid;gap:.75rem}.landing-actions{display:flex;flex-wrap:wrap;gap:.65rem}.landing-panel .inline-link-button{justify-content:flex-start;width:fit-content;max-width:100%;word-break:break-all}.settlement-spotlight{background:linear-gradient(135deg,#1d6f551f,#ffffffb8);border:1px solid rgba(29,111,85,.2);border-radius:14px;padding:.85rem 1rem;display:grid;gap:.15rem}.spotlight-amount{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1;letter-spacing:-.03em}.spotlight-direction{color:var(--ink-muted);font-weight:700;font-size:.9rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.stat-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;padding:.85rem;display:grid;gap:.2rem}.stat-card strong{font-size:1.05rem;line-height:1.2;letter-spacing:-.015em}.stat-label{color:var(--ink-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.stat-footnote{color:var(--ink-muted);font-size:.82rem}.participant-config{border:1px solid var(--line);border-radius:12px;background:#ffffff73;padding:.25rem .6rem .6rem}.participant-config summary{cursor:pointer;color:var(--ink-muted);font-size:.85rem;font-weight:700;padding:.35rem 0}.participant-config[open]{display:grid;gap:.65rem}.participant-config h2,.form-panel h2,.ledger-column h2,.unmapped-panel h2,.setup-panel h2{margin:0;font-size:1rem;letter-spacing:-.01em}.participant-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.participant-inputs label,.expense-form label{display:grid;gap:.35rem}.participant-inputs span,.expense-form span{font-size:.82rem;color:var(--ink-muted);font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:12px;background:#ffffffdb;color:var(--ink);padding:.7rem .8rem;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid rgba(29,111,85,.18);border-color:#1d6f558c}.participant-totals{display:flex;flex-wrap:wrap;gap:.6rem}.total-chip{border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;padding:.45rem .75rem;display:inline-flex;align-items:center;gap:.6rem}.total-chip span{color:var(--ink-muted);font-size:.85rem}.total-chip strong{font-size:.9rem}.status-line{margin:0;font-size:.9rem;color:var(--ink-muted)}.status-line.error{color:var(--danger)}.status-line.inline{margin-top:.25rem}.form-panel{padding:1rem;display:grid;gap:.7rem;position:relative;z-index:5}.form-panel.collapsed{grid-template-columns:1fr auto;align-items:center}.form-panel.collapsed .section-head{gap:0}.form-panel.collapsed .section-head .muted{display:none}.form-panel.open{grid-template-columns:1fr;align-items:initial}.section-head{display:grid;gap:.1rem}.receipt-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.file-button input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.hidden-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.expense-form{display:grid;gap:.8rem}.form-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 160px 120px;gap:.75rem}.date-picker-shell{position:relative}.date-trigger{width:100%;text-align:left;border:1px solid var(--line-strong);border-radius:12px;background:#ffffffdb;color:var(--ink);padding:.7rem .8rem;font:inherit;cursor:pointer}.date-trigger:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-strong))}.date-trigger[aria-expanded=true]{outline:2px solid rgba(29,111,85,.18);border-color:#1d6f558c}.date-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:80;background:#fffffff5;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 44px #2c271a24;padding:.5rem}.date-popover .rdp-root{--rdp-accent-color: var(--primary);--rdp-accent-background-color: rgba(29, 111, 85, .12);--rdp-day-button-border-radius: 10px;--rdp-day-width: 38px;--rdp-day-height: 38px;--rdp-nav_button-width: 30px;--rdp-nav_button-height: 30px;margin:0;font-family:inherit}.date-popover .rdp-month_caption{font-weight:700}.date-popover .rdp-weekday{font-size:.72rem;color:var(--ink-muted)}.percent-help{margin-top:-.2rem}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.ocr-preview{border:1px solid var(--line);border-radius:12px;background:#ffffff8c;padding:.6rem .8rem}.ocr-preview summary{cursor:pointer;font-weight:600}.ocr-preview pre{margin:.6rem 0 0;white-space:pre-wrap;word-break:break-word;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;color:var(--ink-muted)}.setup-panel{padding:.95rem 1rem}.ledger-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start;position:relative;z-index:1}.ledger-column{padding:.9rem;display:grid;gap:.8rem;align-content:start;min-height:0}.column-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.column-head strong{font-size:.95rem;color:var(--ink-muted);font-weight:700}.column-title-group{display:grid;gap:.35rem}.participant-name-tile{border:1px solid var(--line);border-radius:12px;background:#ffffff94;color:var(--ink);font:inherit;font-weight:800;letter-spacing:-.01em;padding:.35rem .6rem;cursor:pointer;text-align:left}.participant-name-tile:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--line));background:#ffffffd1}.inline-name-input{padding:.45rem .6rem;border-radius:10px}.inline-name-input.header{min-width:120px;font-weight:700}.empty-state{margin:0;color:var(--ink-muted);padding:.7rem;border:1px dashed var(--line-strong);border-radius:12px;background:#ffffff73}.expense-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.expense-list.compact{gap:.5rem}.expense-item{border:1px solid var(--line);border-radius:14px;background:#ffffff9e;padding:.75rem;display:grid;gap:.45rem}.expense-main{display:flex;justify-content:space-between;gap:.75rem}.expense-title{margin:0;font-weight:700;line-height:1.25;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.expense-kind{display:inline-flex;align-items:center;border-radius:999px;padding:.14rem .48rem;font-size:.7rem;font-weight:700;letter-spacing:.02em;border:1px solid var(--line);color:var(--ink-muted);background:#fff9}.expense-meta{margin:.15rem 0 0;color:var(--ink-muted);font-size:.82rem}.expense-amounts{text-align:right;display:grid;align-content:start;justify-items:end;gap:.16rem}.expense-amounts strong{font-size:.92rem;line-height:1.15}.expense-amounts span{font-size:.78rem;color:var(--ink-muted)}.row-actions{display:inline-flex;gap:.35rem;margin-top:.25rem}.mini-button{border:1px solid var(--line-strong);border-radius:999px;background:#ffffff8c;color:var(--ink);padding:.22rem .5rem;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.mini-button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line-strong));background:#ffffffd1}.mini-button.danger{color:#8a2d2d;border-color:#b0333329;background:#b0333309}.mini-button.danger:hover:not(:disabled){border-color:#b0333361}.mini-button:disabled{opacity:.65;cursor:wait}.expense-notes{margin:0;color:var(--ink-muted);font-size:.84rem;border-top:1px solid var(--line);padding-top:.4rem}.unmapped-panel{padding:.9rem;display:grid;gap:.6rem}code{background:#0000000d;border-radius:6px;padding:.1rem .35rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.86em}@media(max-width:960px){.form-row,.ledger-columns{grid-template-columns:1fr}.form-panel.collapsed{grid-template-columns:1fr;align-items:initial}.date-popover{left:0;right:auto}}@media(max-width:640px){.app-shell{padding:.75rem}.hero-card{flex-direction:column}.participant-inputs{grid-template-columns:1fr}.spotlight-amount{font-size:1.7rem}.expense-main{flex-direction:column}.expense-amounts{text-align:left;justify-items:start}.column-head{align-items:flex-start;flex-direction:column}}
