:root{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{color:inherit;text-decoration:none}html{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#eff6ff,#f8fafc);overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;position:relative}#root{min-height:100vh}.app-shell{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.5rem}.app-header{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;box-shadow:0 12px 30px #0f172a14}.app-title{margin:0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:#0f172a}.app-subtitle{margin:0;color:#475569;font-size:.95rem}.view-container{display:grid;gap:1.25rem}.surface{background:#fffffffa;border-radius:18px;padding:1.5rem;box-shadow:0 18px 40px #0f172a14;border:1px solid rgba(148,163,184,.18)}.app-header__controls{display:flex;justify-content:flex-end}.primary-nav{display:inline-flex;background:#e2e8f0e6;border-radius:999px;padding:.25rem;gap:.25rem;border:1px solid rgba(148,163,184,.5);box-shadow:inset 0 1px #fff9}.primary-nav__button{padding:.45rem 1.1rem;border-radius:999px;border:none;font-size:.95rem;font-weight:600;color:#475569;background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.primary-nav__button:hover,.primary-nav__button:focus-visible{color:#0f172a}.primary-nav__button.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 6px 16px #2563eb59}.event-subnav{padding:.15rem 0 .6rem}.event-subnav__tabs{display:inline-flex;gap:.25rem;background:#e2e8f0e6;border-radius:999px;padding:.25rem;border:1px solid rgba(148,163,184,.4);box-shadow:inset 0 1px #fff9;overflow-x:auto}.event-subnav__tab{border:none;border-radius:999px;padding:.35rem 1rem;background:transparent;font-weight:600;font-size:.9rem;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease;white-space:nowrap}.event-subnav__tab.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 6px 16px #2563eb33}.event-heading{display:grid;gap:.4rem;margin:.35rem 0 .2rem}.event-heading__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.event-heading__title{display:inline-flex;align-items:center;gap:.4rem}.event-heading__date{margin:0;font-size:.95rem;color:#475569}.event-heading__meta{display:flex;flex-wrap:wrap;gap:.75rem;color:#64748b;font-size:.95rem}.event-top-stack{display:grid;gap:.5rem}.primary-button{padding:.65rem 1.2rem;border-radius:12px;border:none;font-weight:600;font-size:.95rem;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2563eb40}.ghost-button{padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(148,163,184,.4);background:#f8fafcb3;color:#1e293b;font-weight:500;font-size:.95rem;cursor:pointer}.ghost-button:hover:not(:disabled){border-color:#2563eb66}.ghost-button:disabled{opacity:.5;cursor:not-allowed}.back-button{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border:none;background:transparent;color:#1d4ed8;font-weight:600;font-size:.9rem;cursor:pointer;transition:color .2s ease,transform .2s ease;align-self:flex-start}.back-button:hover{color:#1e3a8a;transform:translate(-1px)}.back-button:focus-visible{outline:none;box-shadow:0 2px #2563eb66}.ghost-button--small{padding:.35rem .75rem;font-size:.85rem}.badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:999px;background:#3b82f61f;color:#1d4ed8;font-size:1rem;font-weight:700;letter-spacing:.03em}.empty-state{text-align:center;color:#64748b;padding:3rem 1rem}.empty-state strong{display:block;color:#1e293b;margin-bottom:.5rem;font-size:1.1rem}.success-banner{display:flex;gap:.65rem;align-items:flex-start;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(34,197,94,.4);background:#22c55e1f;color:#166534;font-size:.95rem;font-weight:500;margin-bottom:.85rem}.success-banner__icon{display:inline-flex;width:32px;height:32px;border-radius:999px;background:#22c55e26;align-items:center;justify-content:center;color:#15803d}.success-banner__body{display:grid;gap:.15rem}.success-banner__body strong{font-size:1rem}.section-header{display:grid;gap:1rem}.section-heading{display:flex;flex-direction:column;gap:.35rem}.section-heading--event{gap:.75rem}.section-heading__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-title{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a}.section-subtitle{margin:0;color:#64748b;font-size:.95rem}.header-actions{display:flex;gap:.75rem}.meta{display:flex;flex-wrap:wrap;gap:.75rem;color:#64748b;font-size:.95rem}.view-section{display:grid;gap:1.5rem}.event-list{display:grid;gap:1rem}.event-card{position:relative}.event-card__body{text-align:left;padding:1.25rem 4rem 1.25rem 1.5rem;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:#f8fafce6;cursor:pointer;display:grid;gap:1.25rem;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;width:100%}.event-card__body:hover{transform:translateY(-2px);border-color:#2563eb59;box-shadow:0 12px 30px #2563eb26}.event-card__body:focus-visible{outline:none;border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb33}.event-card__delete{position:absolute;top:.75rem;right:.75rem}.primary-button--danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.primary-button--danger:hover{box-shadow:0 10px 20px #dc262640}.modal--confirm{width:min(440px,100%);gap:.75rem}.modal--confirm .modal__header p{color:#475569;margin-top:.5rem}.event-card__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.event-card__header h3{margin:0;font-size:1.25rem;font-weight:600;color:#0f172a}.event-card__pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;background:#3b82f61a;color:#1d4ed8;font-size:.85rem;font-weight:600;line-height:1.1}.event-card__pill span:first-of-type{font-size:1rem;font-weight:700}.event-card dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem 1.5rem;margin:0}.event-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.event-card dd{margin:0;font-weight:600;color:#1e293b}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem}.panel-heading__actions{display:inline-flex;align-items:center;gap:.5rem}.panel-heading h3{margin:0;font-size:1.1rem;font-weight:600;color:#0f172a}.participant-pill-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.participant-pill{padding:.65rem .8rem .65rem .9rem;border-radius:999px;background:#2563eb14;color:#1e3a8a;font-weight:600;display:inline-flex;align-items:center;gap:.6rem;max-width:100%}.participant-pill span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participants-board{display:flex;flex-direction:column;gap:1.5rem}.participant-toolbar{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.participant-search{flex:1;min-width:240px}.participant-search__group{width:100%}.filter-hint{margin-top:-.5rem;padding:.75rem 1rem;border-radius:.85rem;background:#2563eb14;color:#1e3a8a;font-size:.9rem}.selection-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border:1px solid rgba(148,163,184,.4);border-radius:.85rem;background:#f8fafce6}.selection-summary__details{display:flex;align-items:baseline;gap:.35rem;font-weight:600;color:#0f172a}.selection-summary__count{font-size:1.2rem;color:#1d4ed8}.selection-summary__context{font-size:.9rem;font-weight:500;color:#475569}.selection-summary__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.participants-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:1.5rem}.participants-column{min-width:0}.collections-column{min-width:0;display:flex;flex-direction:column;gap:1.5rem}.panel-heading--subtle h3{color:#0f172a}.panel-heading--subtle{border-bottom:1px solid rgba(226,232,240,.8);padding-bottom:.35rem}.people-grid{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.participant-card{border:1px solid rgba(226,232,240,.9);border-radius:1rem;padding:1rem;background:#fffffff2;box-shadow:0 12px 20px #0f172a14;display:flex;flex-direction:column;gap:.75rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.participant-card--compact{padding:.55rem .65rem;gap:.4rem}.participant-card:hover{border-color:#2563eb59;box-shadow:0 18px 28px #2563eb26}.participant-card.is-selected{border-color:#2563ebb3;box-shadow:0 0 0 3px #2563eb2e}.participant-card__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.participant-card__actions{display:inline-flex;gap:.2rem}.participant-card__info{display:flex;flex-direction:column;gap:.15rem;padding-left:.2rem}.participant-card__name{margin:0;font-weight:600;font-size:1rem;color:#0f172a}.participant-card__meta{margin:0;font-size:.8rem;color:#94a3b8}.checkbox-chip{width:22px;height:22px;border-radius:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.checkbox-chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.checkbox-chip span{width:100%;height:100%;border-radius:50%;border:2px solid rgba(148,163,184,.7);background:transparent;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.checkbox-chip input:checked+span{background:#2563eb;border-color:#2563eb;box-shadow:inset 0 0 0 3px #eef2ff}.collection-panel{border:1px solid rgba(226,232,240,.8);border-radius:1rem;padding:1rem;background:#ffffffe6;box-shadow:0 8px 16px #0f172a0d}.collection-grid{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.collection-grid--compact{gap:.55rem}.collection-card{border:1px solid rgba(226,232,240,.9);border-radius:.9rem;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.5rem;background:#f8fafcd9;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.collection-card--compact{padding:.6rem .7rem;gap:.35rem}.collection-card.is-selected,.collection-card.collection-card--event.is-selected{border-color:#10b98199;box-shadow:0 0 0 3px #10b98133}.collection-card--event{background:#bfdbfe66}.collection-card__header,.collection-card__top{display:flex;align-items:center;gap:.65rem}.collection-card__titles{flex:1;min-width:0}.collection-card__title{margin:0;font-size:.95rem;font-weight:600;color:#0f172a}.collection-card__meta{margin:.1rem 0 0;font-size:.8rem;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-card__count{font-size:.8rem;font-weight:600;color:#1e3a8a}.collection-card__actions{display:flex;gap:.35rem;flex-wrap:wrap}.collection-card__top{justify-content:space-between}.collection-card__info{display:flex;flex-direction:column;gap:.1rem;padding-left:.2rem}.primary-button--compact{padding:.35rem .85rem;font-size:.85rem;line-height:1.2}.ghost-button--small{padding:.3rem .65rem;font-size:.85rem}.ghost-button--muted{color:#475569}.empty-state--narrow{padding:1rem;text-align:left}@media(max-width:1024px){.participants-layout{grid-template-columns:1fr}.collections-column{flex-direction:column}}@media(min-width:1280px){.participants-layout{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}}@media(max-width:640px){.participant-toolbar{flex-direction:column}.selection-summary{flex-direction:column;align-items:stretch}.selection-summary__actions{justify-content:flex-start}}@media(max-width:640px){.app-header__controls{justify-content:flex-start}.event-subnav__tabs{width:fit-content;min-width:0;justify-content:flex-start}}.expense-list{list-style:none;display:grid;gap:1rem;margin:0;padding:0}.expense-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;border-radius:14px;border:1px solid rgba(226,232,240,.7);background:#ffffffd9;box-shadow:0 10px 24px #0f172a0d}.expense-card--interactive{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;padding-right:3.5rem}.expense-card__main{position:relative;display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.expense-card__title-row{display:flex;align-items:center;gap:.4rem}.expense-note-button{flex-shrink:0}.expense-card--interactive:hover{transform:translateY(-2px);border-color:#2563eb4d;box-shadow:0 14px 32px #2563eb26}.expense-card--interactive:focus-visible{outline:none;border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb40}.expense-card__remove{position:absolute;top:.85rem;right:1rem}.expense-title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:#0f172a}.expense-meta{margin:0;color:#64748b;font-size:.9rem;display:flex;flex-direction:column;gap:.2rem}.expense-meta__line{margin:0}.expense-amount{text-align:right;display:flex;flex-direction:column;gap:.35rem;color:#1d4ed8;font-weight:700}.expense-amount span{font-size:1.1rem}.expense-amount__meta{display:flex;flex-direction:column;gap:.2rem;color:#475569;font-weight:500;font-size:.9rem}.expense-amount__line{margin:0}.expense-amount small{color:#475569;font-weight:500}.expense-note-anchor{position:relative;display:inline-flex;align-items:center}.expense-note-button{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(148,163,184,.35);background:#f8fafce6;color:#1d4ed8;font-weight:700;font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.expense-note-button:hover{border-color:#2563eb80;background:#e2e8f0bf}.expense-note-button:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}.expense-note-popover{position:absolute;top:0;left:calc(100% + .75rem);transform:translateY(-40%);padding:.85rem 1rem;border-radius:14px;background:#fff;color:#0f172a;font-size:.9rem;line-height:1.45;min-width:220px;max-width:clamp(220px,45vw,320px);box-shadow:0 18px 40px #0f172a33;border:1px solid rgba(148,163,184,.25);word-break:break-word;white-space:normal;z-index:10}.expense-note-popover:before{content:"";position:absolute;top:40%;left:-6px;width:12px;height:12px;background:#fff;border-left:1px solid rgba(148,163,184,.25);border-top:1px solid rgba(148,163,184,.25);transform:rotate(45deg)}.expense-note-popover__content{margin:0}.expense-form{display:grid;gap:1rem}.expense-form__row{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.expense-form__row .expense-form__field{min-width:0}.expense-form__field{display:grid;gap:.5rem}.expense-form label,.expense-form fieldset{display:grid;gap:.5rem;font-weight:600;color:#0f172a}.expense-form input,.expense-form select,.expense-form textarea{width:100%;padding:.7rem .85rem;border-radius:10px;border:1px solid rgba(148,163,184,.4);font-size:1rem;font-family:inherit;color:#0f172a;background:#fffffff2;transition:border-color .2s ease,box-shadow .2s ease}.expense-form input[type=date],.expense-form select,.modal__form input[type=date],.modal__form select{font-family:inherit;color:#0f172a}.expense-form input:focus,.expense-form select:focus,.expense-form textarea:focus{border-color:#2563ebb3;outline:none;box-shadow:0 0 0 4px #2563eb33}.expense-form fieldset{border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:1rem}.expense-form legend{padding:0 .5rem;font-weight:600}.split-modes{display:grid;gap:.75rem}.split-card{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f8fafce6;transition:border-color .2s ease,box-shadow .2s ease}.split-card.active{border-color:#2563eb99;box-shadow:0 12px 24px #2563eb26}.split-card input{margin-top:.35rem}.split-card p{margin:0;font-size:.95rem;font-weight:600}.split-card small{color:#64748b}.coming-soon{margin-top:.5rem;padding:1rem 1.25rem;border-radius:12px;border:1px dashed rgba(148,163,184,.5);background:#e2e8f04d;color:#475569}.coming-soon strong{display:block;margin-bottom:.25rem;color:#1d4ed8}.coming-soon.preview{border-style:solid;background:#e2e8f099}.coming-soon.preview ul{margin:0;padding-left:1.15rem}.inline-form{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.participant-form{margin-bottom:1rem}.input-group{flex:1;display:flex;align-items:center;background:#f8fafcf2;border-radius:12px;border:1px solid rgba(148,163,184,.35);padding:.25rem;box-shadow:inset 0 1px 2px #0f172a0d}.input-group:focus-within{border-color:#2563eb99;box-shadow:0 0 0 3px #2563eb2e}.input-group__control{flex:1;border:none;background:transparent;font-size:.95rem;padding:.55rem .75rem;outline:none}.input-group__control::placeholder{color:#94a3b8}.input-group__button{border:none;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;padding:.55rem 1.1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.input-group__button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb40}.ghost-button--danger{border-color:#ef444459;color:#b91c1c}.ghost-button--danger:hover{border-color:#dc262699;color:#991b1b}.ghost-button--danger.small{padding:.45rem .75rem;font-size:.85rem}.participant-selector{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.participant-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#f8fafcd9;font-weight:500;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;min-height:48px}.participant-chip:hover{border-color:#2563eb80;background:#e2e8f080}.participant-chip input{position:absolute;opacity:0;pointer-events:none}.participant-chip span{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:90px}.participant-chip span:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid rgba(148,163,184,.6);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.participant-chip input:checked+span:before{border-color:#2563eb;background:#2563eb;box-shadow:inset 0 0 0 3px #eef2ff}.participant-chip input:checked+span{color:#1d4ed8}.split-detail{border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:1rem 1.25rem;background:#f8fafce6;display:grid;gap:.75rem}.split-detail h4{margin:0;font-size:1rem;color:#0f172a}.helper-text{margin:0;font-size:.85rem;color:#64748b}.split-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.split-grid label{display:grid;gap:.35rem;font-weight:600;color:#0f172a}.split-grid input{width:100%}.split-actions{display:flex;flex-direction:column;gap:.5rem}.split-actions .ghost-button{width:100%}.totals-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.balance-table{display:grid;gap:.75rem}.balance-table__header,.balance-table__row{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1rem;align-items:center}.balance-table__header{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.balance-table__row{padding:.85rem 1rem;border-radius:12px;background:#f8fafce6;border:1px solid rgba(226,232,240,.7);font-weight:600;color:#1e293b}.balance-table__name{color:#0f172a;font-weight:600}.balance-table__row .positive{color:#0f766e}.balance-table__row .negative{color:#dc2626}.settlement-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.settlement-item{padding:.9rem 1.1rem;border-radius:14px;border:1px solid rgba(37,99,235,.18);background:#2563eb14;box-shadow:inset 0 1px #fff6;display:flex;align-items:center;justify-content:space-between;gap:1rem}.settlement-item--clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.settlement-item--clickable:hover{transform:translateY(-1px);border-color:#2563eb59;box-shadow:0 8px 20px #2563eb26}.settlement-item--clickable:focus-visible{outline:none;border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb40}.settlement-item--complete{background:#22c55e1f;border-color:#22c55e40}.settlement-item--complete.settlement-item--clickable:hover{border-color:#22c55e66;box-shadow:0 8px 20px #22c55e26}.settlement-sentence{display:grid;grid-template-columns:100px 1fr auto 1fr 100px;gap:.35rem .75rem;align-items:center;font-size:.95rem;font-weight:500;color:#1f2937;text-align:left;flex:1;min-width:0}.settlement-name{color:#1d4ed8;font-weight:700}.settlement-item--complete .settlement-name{color:#15803d}.settlement-arrow{font-size:1rem;font-weight:600;color:#1f2937;display:inline-flex;align-items:center;justify-content:center}.settlement-amount{font-weight:700;letter-spacing:.01em;color:#1d4ed8;justify-self:center}.settlement-item--complete .settlement-amount{color:#15803d}.settlement-checkmark{display:inline-flex;align-items:center;justify-content:center;color:#15803d;font-size:1.5rem;font-weight:700;line-height:1;flex-shrink:0;width:1.5rem;opacity:0;transition:opacity .2s ease}.settlement-checkmark--visible{opacity:1}.icon-button{width:32px;height:32px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;cursor:pointer;background:#94a3b82e;color:#1e293b;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.icon-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a26}.icon-button:focus-visible{outline:none;box-shadow:0 0 0 4px #ef444433}.icon-button--danger{background:#ef44441f;color:#dc2626}.icon-button--danger:hover{background:#ef444433;color:#b91c1c}.icon-button--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.icon-button--primary:hover{box-shadow:0 10px 20px #2563eb40}.edit-name-button{width:auto;height:auto;border:none;background:none;padding:.25rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#2563eb;transition:opacity .2s ease,transform .2s ease;line-height:1}.edit-name-button:hover{opacity:.8;transform:translateY(-1px)}.edit-name-button:focus-visible{outline:none;box-shadow:0 0 0 2px #2563eb4d;border-radius:4px}.edit-name-button svg{display:block;width:14px;height:14px}.edit-name-button--import svg{width:20px;height:20px}.modal-overlay{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000}.modal{width:min(520px,100%);max-height:calc(100vh - 3rem);background:#fffffffa;border-radius:20px;padding:1.75rem;box-shadow:0 24px 60px #0f172a2e;border:1px solid rgba(148,163,184,.2);display:grid;gap:1.25rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal__header h2{margin:0;font-size:1.35rem;color:#0f172a}.modal__header p{margin:.3rem 0 0;color:#475569}.modal__form{display:grid;gap:1rem}.modal__form label{display:grid;gap:.4rem;font-weight:600;color:#0f172a}.modal__form input,.modal__form select{padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.modal__form input:focus,.modal__form select:focus{outline:none;border-color:#2563eb99;box-shadow:0 0 0 4px #2563eb29}.modal__grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.modal__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.form-footer{display:flex;justify-content:flex-end;margin-top:1rem}.status-pill{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-pill--complete{background:#22c55e26;color:#15803d}.status-pill--incomplete{background:#2563eb26;color:#1d4ed8}.settlement-balance{padding:1rem 1.25rem;border-radius:12px;background:#f8fafce6;border:1px solid rgba(226,232,240,.7);display:grid;gap:.75rem}.settlement-balance__row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:#475569}.settlement-balance__row strong{font-weight:600;color:#0f172a}.settlement-balance__row--remaining{padding-top:.75rem;border-top:1px solid rgba(226,232,240,.7);font-weight:600;color:#0f172a}.settlement-balance__row--remaining strong{font-size:1.1rem;color:#1d4ed8}.payment-logs{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(226,232,240,.7)}.payment-logs__list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.payment-logs__item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;background:#f8fafce6;border:1px solid rgba(226,232,240,.7)}.payment-logs__info{display:flex;flex-direction:column;gap:.25rem;flex:1}.payment-logs__amount{font-weight:600;color:#0f172a;font-size:.95rem}.payment-logs__date{font-size:.85rem;color:#64748b}@media(max-width:640px){.expense-form__row{grid-template-columns:1fr}.app-shell{padding:1rem .75rem 2.5rem}.surface{padding:1.25rem}.section-header{gap:.75rem}.header-actions{flex-direction:column;align-items:stretch}.balance-table__header,.balance-table__row{grid-template-columns:repeat(2,1fr);row-gap:.35rem}.settlement-item{padding:.8rem .9rem}.settlement-sentence{grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem .5rem}.settlement-arrow{font-size:.95rem}.settlement-amount{justify-self:center}.expense-card__title-row{align-items:flex-start;flex-wrap:wrap}.expense-note-anchor{margin-left:0;width:auto;justify-content:flex-start}.expense-note-popover{position:absolute;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);border-radius:18px;min-width:min(280px,calc(100vw - 2rem));max-width:min(320px,calc(100vw - 2rem));z-index:20}.expense-note-popover:before{display:none}.modal{padding:1.5rem;gap:1rem}.modal__actions{flex-direction:column-reverse;align-items:stretch}}.receipt-section{border-top:1px solid rgba(226,232,240,.8);padding-top:1rem}.receipt-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background:#e2e8f066;border:1px dashed rgba(148,163,184,.8);border-radius:14px;padding:1rem 1.25rem}.receipt-card.attached{border-style:solid;gap:1.25rem;background:#3b82f60d}.receipt-card__preview{display:flex;flex-direction:column;gap:.5rem;max-width:140px}.receipt-card__preview img{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.4);object-fit:cover;max-height:120px}.receipt-card__details{flex:1;min-width:200px;display:grid;gap:.35rem}.receipt-card__actions{display:flex;flex-wrap:wrap;gap:.6rem}.receipt-card__note{font-size:.85rem;color:#475569;margin-top:.35rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.link-button{border:none;background:none;color:#2563eb;font-weight:600;padding:0;cursor:pointer}.link-button:hover{text-decoration:underline}.receipt-modal{width:min(1100px,95vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:1rem}.receipt-modal__body{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:nowrap}@media(max-width:960px){.receipt-modal__body{flex-direction:column}}.receipt-modal__capture{display:grid;gap:.85rem;width:min(320px,100%);flex-shrink:0}.upload-card{border:2px dashed rgba(148,163,184,.8);border-radius:14px;padding:1.5rem;background:#f8fafc99;text-align:center;display:grid;gap:.5rem;cursor:pointer}.upload-card input{display:none}.receipt-preview{margin:0;display:grid;gap:.5rem}.receipt-preview img{width:100%;border-radius:14px;border:1px solid rgba(148,163,184,.4)}.receipt-preview figcaption{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.9rem;color:#475569}.scan-status{display:grid;gap:.4rem}.progress{display:grid;gap:.35rem;font-size:.9rem;color:#1d4ed8}.progress-bar{height:6px;border-radius:999px;background:#94a3b866;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.scan-status .error{color:#dc2626;font-weight:600}.receipt-summary{border:1px solid rgba(148,163,184,.4);border-radius:14px;padding:1rem;display:grid;gap:.75rem;background:#f8fafccc}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem}.receipt-modal__items{display:grid;gap:1rem;flex:1;min-width:0}.items-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.receipt-items{display:grid;gap:1rem;max-height:50vh;overflow:auto;padding-right:.5rem}.receipt-item{border:1px solid rgba(148,163,184,.4);border-radius:14px;padding:1rem;background:#ffffffe6;display:grid;gap:.65rem}.receipt-item__inputs{display:grid;grid-template-columns:1fr minmax(120px,160px);gap:.75rem}@media(max-width:600px){.receipt-item__inputs{grid-template-columns:1fr}}.receipt-item__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;color:#475569;font-size:.85rem}.receipt-item__actions{display:flex;flex-wrap:wrap;gap:.5rem}.receipt-item__actions button{border:none;background:#e2e8f099;border-radius:8px;padding:.35rem .7rem;font-size:.85rem;cursor:pointer}.receipt-item__participants{display:flex;flex-wrap:wrap;gap:.4rem}.receipt-preview-card{border:1px solid rgba(148,163,184,.4);border-radius:14px;padding:.9rem 1rem;background:#f8fafccc;display:grid;gap:.35rem}.receipt-preview-card ul{margin:0;padding-left:1.1rem;color:#475569;font-size:.9rem}.receipt-preview-card .error{color:#dc2626;font-weight:600}.receipt-summary input{width:100%;box-sizing:border-box;padding:.5rem .65rem;border-radius:10px;border:1px solid rgba(148,163,184,.6);background:#fffffff2}.receipt-summary input:focus-visible{outline:none;border-color:#2563eb99;box-shadow:0 0 0 2px #2563eb26}.receipt-distribution{border:1px dashed rgba(148,163,184,.6);border-radius:12px;padding:.85rem 1rem;background:#f8fafce6;display:grid;gap:.5rem}.distribution-actions{display:flex;flex-wrap:wrap;gap:.5rem}.modal--key{width:min(520px,95vw)}
