:root{--bg:#f8fafc;--surface:#ffffff;--surface-raised:#ffffff;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-subtle:#eff6ff;--on-primary:#ffffff;--link:#1d4ed8;--receive:#047857;--receive-bg:#ecfdf5;--give:#b45309;--give-bg:#fffbeb;--settled:#64748b;--settled-bg:#f1f5f9;--danger:#dc2626;--danger-hover:#b91c1c;--input-bg:#ffffff;--overlay:rgba(15, 23, 42, 0.5);--shadow-sm:0 1px 2px rgba(15, 23, 42, 0.05);--shadow-md:0 4px 12px rgba(15, 23, 42, 0.08);--shadow-lg:0 12px 32px rgba(15, 23, 42, 0.12);--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--header-h:56px;--footer-h:44px;--sidebar-w:250px;--dual-gap:0.4rem;--dual-gap-row:0.5rem 0.75rem;--scrollbar-size:10px;--scrollbar-track:color-mix(in srgb, var(--border) 45%, var(--bg));--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8}[data-theme=dark]{--bg:#0f172a;--surface:#1e293b;--surface-raised:#243044;--border:#334155;--border-strong:#475569;--text:#f1f5f9;--muted:#94a3b8;--primary:#60a5fa;--primary-hover:#93c5fd;--primary-subtle:#172554;--on-primary:#0f172a;--link:#93c5fd;--receive:#34d399;--receive-bg:#064e3b;--give:#fbbf24;--give-bg:#451a03;--settled:#94a3b8;--settled-bg:#334155;--danger:#f87171;--danger-hover:#fca5a5;--input-bg:#0f172a;--overlay:rgba(0, 0, 0, 0.65);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.25);--shadow-md:0 4px 16px rgba(0, 0, 0, 0.3);--shadow-lg:0 12px 40px rgba(0, 0, 0, 0.4);--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 32%, transparent);--scrollbar-track:color-mix(in srgb, var(--border) 55%, var(--bg));--scrollbar-thumb:#475569;--scrollbar-thumb-hover:#64748b}*,::after,::before{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%}html[data-theme=dark]{color-scheme:dark}body,html{margin:0;height:100%;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:16px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.ad-rail,.legal-page,.main-col,.modal__panel,.sidebar,body,html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.ad-rail::-webkit-scrollbar,.main-col::-webkit-scrollbar,.sidebar::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.ad-rail::-webkit-scrollbar-thumb,.main-col::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track);background-clip:padding-box}.ad-rail::-webkit-scrollbar-thumb:hover,.main-col::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.dual{display:flex;flex-direction:column;gap:var(--dual-gap);line-height:1.35}.dual--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--dual-gap-row)}.dual--row>.dual__ur{padding-inline-start:0.75rem;border-inline-start:1px solid var(--border)}.dual--loose{gap:.65rem}.dual__en,.dual__ur{display:block}.dual__ur{font-family:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq","Urdu Typesetting",serif;font-size:.92em;direction:rtl;color:var(--muted)}.dual--inline{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus{outline:0}:focus-visible{outline:0;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.app{display:flex;flex-direction:column;min-height:100dvh}.header{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);min-height:var(--header-h);flex-shrink:0;flex-wrap:wrap;position:sticky;top:0;z-index:50}.header__brand{display:flex;align-items:center;gap:.625rem;min-width:0}.header__brand img{flex-shrink:0}.header__titles{min-width:0}.header__title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.header__title .dual__ur{color:var(--text);opacity:.85}.header__subtitle{margin:.15rem 0 0;font-size:.72rem;font-weight:400}.header__subtitle .dual__en,.header__subtitle .dual__ur{color:var(--muted)}.header__actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-wrap:wrap}.workspace{display:flex;flex:1;min-height:0;width:100%;max-width:none;padding:0;gap:0}.main-col{flex:1;min-width:0;display:flex;flex-direction:column;overflow:auto;padding:1rem 1.25rem 1.5rem;max-width:960px;margin:0 auto;width:100%}.ad-rail{display:none;flex-direction:column;width:var(--sidebar-w);flex-shrink:0;background:var(--surface);padding:1rem .75rem;overflow:auto;min-height:0;align-self:stretch}.ad-rail--left{border-right:1px solid var(--border);order:0}.ad-rail--right{border-left:1px solid var(--border);order:2}.ad-rail__note{margin:.75rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.5;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0}.ad-rail__ads{margin-top:auto;padding-top:.75rem;width:100%}.sidebar{display:none;flex-direction:column;overflow:hidden;background:var(--surface);padding:1rem}.sidebar__scroll{flex:1;min-height:0;overflow:auto}.sidebar__actions{display:none;flex-direction:column;gap:.5rem;margin-bottom:1rem}.sidebar__actions .btn{width:100%;justify-content:center}.sidebar__ads{flex-shrink:0;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border)}.sidebar__ads .ad-slot{margin-bottom:0}.sidebar__ads .ad-slot+.ad-slot{margin-top:.5rem}.sidebar-backdrop{display:none}.btn-sidebar-toggle{display:none;flex-shrink:0}.sidebar__header{display:none;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.sidebar__title{margin:0;font-size:.9rem;font-weight:600}.sidebar__close svg{width:18px;height:18px}.sidebar__links{display:none;flex-direction:column;gap:.35rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}@media (min-width:901px){.btn-sidebar-toggle{display:none!important}.ad-rail{display:flex}.sidebar__actions{display:none!important}.sidebar__links{display:none!important}}.sidebar__links a{display:block;padding:.5rem .25rem;color:var(--link);text-decoration:none;font-size:.8125rem;font-weight:500}.sidebar__links a:hover{text-decoration:underline}body.sidebar-open{overflow:hidden}.sidebar__note{margin:0;font-size:.75rem;color:var(--muted);line-height:1.5;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.ad-slot{min-height:200px;border:1px dashed var(--border);border-radius:var(--radius-md);overflow:hidden}.ad-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;padding:.75rem;text-align:center;font-size:.8rem;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.4rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn .dual{gap:.28rem;align-items:center;text-align:center}.btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn--primary .dual__ur{color:color-mix(in srgb,var(--on-primary) 85%,transparent)}.btn--ghost{background:0 0}.btn--ghost:hover{background:var(--bg)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn--danger:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.btn--sm{min-height:34px;padding:.3rem .65rem;font-size:.75rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:0 0;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.btn-icon:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.btn-icon svg{width:16px;height:16px;fill:currentColor}.btn-icon svg[stroke]{fill:none}.btn-tooltip{position:relative}@media (hover:hover) and (pointer:fine){.btn-tooltip::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);bottom:auto;left:50%;transform:translateX(-50%) translateY(-4px);padding:.35rem .55rem;background:var(--text);color:var(--surface);font-size:.7rem;font-weight:500;line-height:1.2;white-space:nowrap;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.btn-tooltip::before{content:"";position:absolute;top:calc(100% + 2px);bottom:auto;left:50%;transform:translateX(-50%);border:5px solid transparent;border-bottom-color:var(--text);border-top-color:transparent;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10}.btn-tooltip:focus-visible::after,.btn-tooltip:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}.btn-tooltip:focus-visible::before,.btn-tooltip:hover::before{opacity:1}}.theme-icon--moon{display:none}[data-theme=dark] .theme-icon--sun{display:none}[data-theme=dark] .theme-icon--moon{display:block}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.625rem;margin-bottom:1rem}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.875rem 1rem}.summary-card__label{margin:0 0 .4rem;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.summary-card__label .dual{gap:.3rem}.summary-card__value{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.summary-card__value--receive{color:var(--receive)}.summary-card__value--give{color:var(--give)}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:stretch}.search{flex:1;min-width:180px;min-height:38px;padding:.45rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.search::placeholder{color:var(--muted);opacity:.8}.search:hover{border-color:var(--border-strong)}.search:focus-visible{border-color:var(--primary)}.person-list{display:flex;flex-direction:column;gap:.5rem}.person-list .swipe-item .person-card{border-radius:var(--radius-md)}.person-card{display:flex;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.person-card:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.person-card:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}.person-card__name{margin:0 0 .2rem;font-size:.9375rem;font-weight:600}.person-card__meta,.person-card__phone{margin:0;font-size:.78rem;color:var(--muted)}.person-card__meta .dual{gap:.25rem}.person-card__side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.4rem;flex-shrink:0}.person-card__amount{font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums}.amount--receive{color:var(--receive)}.amount--give{color:var(--give)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;max-width:100%}.badge .dual{gap:.2rem;align-items:center;text-align:center}.badge--give,.badge--receive{padding:.35rem 1rem}.badge--receive{background:var(--receive-bg);color:var(--receive)}.badge--give{background:var(--give-bg);color:var(--give)}.badge--settled{background:var(--settled-bg);color:var(--settled)}.swipe-item{position:relative;border-radius:var(--radius-md);overflow:hidden}.swipe-item__actions{position:absolute;top:0;right:0;bottom:0;width:var(--swipe-delete-w,80px);display:flex;align-items:stretch;z-index:0}.swipe-item__delete{flex:1;display:flex;align-items:center;justify-content:center;padding:0 .75rem;border:none;background:var(--danger);color:#fff;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.swipe-item__delete .dual{gap:.15rem;align-items:center;text-align:center;color:#fff}.swipe-item__delete .dual__ur{color:rgba(255,255,255,.9)}.swipe-item__content{position:relative;z-index:1;touch-action:pan-y;transition:transform .2s ease}.swipe-item--dragging .swipe-item__content{transition:none}@media (min-width:901px){.swipe-item__actions{display:none}}.empty-state{text-align:center;padding:2.5rem 1.25rem;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);font-size:.875rem}.empty-state .dual{gap:.75rem;align-items:center}.detail-header{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:1rem}.detail-info{flex:1;min-width:0}.detail-name{margin:0 0 .25rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.detail-meta{margin:0;font-size:.8125rem;color:var(--muted)}.detail-balance-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.125rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.detail-balance{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.detail-actions .btn{flex:1 1 auto;min-width:140px}.section-title{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.section-title .dual{gap:.35rem}.tx-list{display:flex;flex-direction:column;gap:.45rem}.tx-row{display:flex;gap:.65rem;padding:.75rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start}.tx-row--given{border-left:3px solid var(--receive)}.tx-row--received{border-left:3px solid var(--give)}.tx-row__icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:.8125rem;flex-shrink:0}.tx-row--given .tx-row__icon{background:var(--receive-bg);color:var(--receive)}.tx-row--received .tx-row__icon{background:var(--give-bg);color:var(--give)}.tx-row__body{flex:1;min-width:0}.tx-row__type{margin:0;font-weight:600;font-size:.8125rem}.tx-row__type .dual{gap:.25rem}.tx-row__date,.tx-row__note{margin:.15rem 0 0;font-size:.75rem;color:var(--muted)}.tx-row__side{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.tx-row__amount{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.875rem}.tx-row__delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:1.15rem;line-height:1;color:var(--muted);border:none;border-radius:var(--radius-sm);background:0 0;cursor:pointer;transition:color .15s,background .15s}.tx-row__delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay);backdrop-filter:blur(2px)}.modal[hidden]{display:none}.modal__panel{width:min(420px,100%);max-height:90dvh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-lg)}.modal__title{margin:0 0 1rem;font-size:1.05rem;font-weight:700}.modal__title .dual{gap:.4rem}.form-group{margin-bottom:.875rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:600}.form-group label .dual{gap:.3rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-strong)}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{border-color:var(--primary)}.form-group textarea{min-height:72px;resize:vertical}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 1rem;border-top:1px solid var(--border);background:var(--surface);font-size:.72rem;color:var(--muted);flex-shrink:0}.footer__links{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center}.footer a{color:var(--link);text-decoration:none;font-weight:500}.footer a:hover{text-decoration:underline}.toast{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%) translateY(120%);z-index:200;padding:.65rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:transform .2s ease;max-width:min(90vw,360px);text-align:center;font-size:.8125rem;font-weight:500}.toast .dual{gap:.35rem;align-items:center}.toast--show{transform:translateX(-50%) translateY(0)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:300;padding:.75rem;transform:translateY(100%);transition:transform .3s ease}.cookie-banner--show{transform:translateY(0)}.cookie-banner[hidden]{display:none}.cookie-banner__panel{max-width:52rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.cookie-banner__title{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.cookie-banner__text{margin:0;font-size:.78rem;color:var(--muted);line-height:1.5}.cookie-banner__text a{color:var(--link)}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.legal-page{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem;line-height:1.65}.legal-page h1{margin-top:0}.legal-page a{color:var(--link)}@media (min-width:720px){.cookie-banner__actions{width:auto;margin-left:auto}}@media (max-width:900px){.summary{grid-template-columns:repeat(2,1fr)}.workspace{flex-direction:column;padding:0 .875rem}.ad-rail{display:none!important}.main-col{padding:.875rem 0 1.25rem;max-width:none}.btn-sidebar-toggle{display:inline-flex!important}.sidebar{display:flex;position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(300px,88vw);max-width:100%;border-left:1px solid var(--border);transform:translateX(100%);transition:transform .25s ease;box-shadow:var(--shadow-lg);padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:60;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop:not([hidden]){pointer-events:auto}.sidebar-backdrop--visible{opacity:1}.header-action--desktop{display:none!important}.sidebar__actions{display:flex}.sidebar__ads .ad-placeholder,.sidebar__ads .ad-slot{min-height:120px}.sidebar--open{transform:translateX(0)}.sidebar__header{display:flex}.sidebar__links{display:flex}}@media (max-width:640px){.header{padding:.5rem .75rem;gap:.5rem}.header__brand{flex:1;min-width:0}.header__actions{width:auto;justify-content:flex-end;flex-shrink:0}.header__title.dual--row{gap:.4rem .6rem}.header__title.dual--row>.dual__ur{padding-inline-start:0.6rem}.summary{grid-template-columns:1fr 1fr;gap:.5rem}.summary-card{padding:.75rem .875rem}.summary-card__value{font-size:1.1rem}.toolbar{flex-direction:column}.search,.toolbar .btn--primary{width:100%}.tx-row__delete{display:none}.person-card{flex-direction:column;gap:.625rem}.person-card__side{flex-direction:row;align-items:center;justify-content:space-between;width:100%;padding-top:.625rem;border-top:1px solid var(--border)}.detail-header{flex-wrap:wrap}.detail-actions{display:grid;grid-template-columns:1fr 1fr}.detail-actions .btn--danger{grid-column:1/-1}.tx-row{flex-wrap:wrap}.tx-row__side{flex-direction:row;align-items:center;width:100%;justify-content:space-between;padding-top:.35rem}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}@media (max-width:400px){.summary{grid-template-columns:1fr}.header__subtitle .dual{gap:.3rem}}