:root{--bg:#f5f4ef;--fg:#1a1f2e;--accent-fg:#fff;--debit-fg:#b42318;--debit-bg:#fee4e2;--debit-border:#fecdca;--credit-fg:#067647;--credit-bg:#dcfae6;--credit-border:#86efac;--background:#f5f4ef;--foreground:#1a1f2e;--primary:#1f8d61;--primary-foreground:#fff;--secondary:#eef1f5;--secondary-foreground:#1a1f2e;--accent:#1f8d61;--accent-foreground:#fff;--muted:#eef1f5;--muted-foreground:#1a1f2e;--card:#fff;--card-foreground:#1a1f2e;--border:#d5dbe3;--motion-duration-fast:150ms;--motion-duration-normal:250ms;--motion-duration-slow:450ms;--motion-easing-linear:cubic-bezier(0,0,1,1);--motion-easing-standard:cubic-bezier(0.4,0,0.2,1);--motion-easing-decelerate:cubic-bezier(0,0,0.2,1);--motion-easing-accelerate:cubic-bezier(0.4,0,1,1);--motion-easing-spring:cubic-bezier(0.34,1.56,0.64,1);--motion-easing-emphasized:cubic-bezier(0.2,0,0,1);--shadow-sm:0 1px 3px rgba(15,23,42,.08);--shadow-md:0 4px 12px rgba(15,23,42,.1);--shadow-lg:0 8px 30px rgba(15,23,42,.12);--shadow-xl:0 20px 50px rgba(15,23,42,.16);--neu-bg:#efede8;--neu-shadow-dark:#bfbdb6;--neu-shadow-light:#fff;--neu-radius:1rem;--font-sans-fa:"VazirmatnLocal","Vazirmatn","IRANSansX",Tahoma,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}@font-face{font-family:VazirmatnLocal;src:url(/font/Vazirmatn[wght].woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.dark{--bg:#303030;--fg:#e0e4ec;--accent-fg:#000;--debit-fg:#ffb4ab;--debit-bg:color-mix(in srgb,#ef4444 20%,transparent);--debit-border:color-mix(in srgb,#f87171 62%,transparent);--credit-fg:#99f6b5;--credit-bg:color-mix(in srgb,#22c55e 20%,transparent);--credit-border:color-mix(in srgb,#4ade80 62%,transparent);--background:#0f1422;--foreground:#e0e4ec;--primary:#4ade80;--primary-foreground:#000;--secondary:#1b2333;--secondary-foreground:#e0e4ec;--accent:#4ade80;--accent-foreground:#000;--muted:#1b331d;--muted-foreground:#e0e4ec;--card:#080b11;--card-foreground:#e0e4ec;--border:#2a3448;--neu-bg:#303030;--neu-shadow-dark:#050811;--neu-shadow-light:#151e30}@media (prefers-color-scheme:dark){:root:not(.light){--bg:#2b2d2b;--fg:#e0e4ec;--muted:#1b331d;--accent-fg:#0d1015;--debit-fg:#ffb4ab;--debit-bg:color-mix(in srgb,#ef4444 20%,transparent);--debit-border:color-mix(in srgb,#f87171 62%,transparent);--credit-fg:#99f6b5;--credit-bg:color-mix(in srgb,#22c55e 20%,transparent);--credit-border:color-mix(in srgb,#4ade80 62%,transparent);--background:#101522;--foreground:#e0e4ec;--primary:#4ade80;--primary-foreground:#0d1015;--secondary:#1a2130;--secondary-foreground:#e0e4ec;--accent:#4ade80;--accent-foreground:#0d1015;--muted:#223223;--muted-foreground:#e0ece2;--card:#151a24;--card-foreground:#e0e4ec;--border:#2a3448;--neu-bg:#252826;--neu-shadow-dark:#191b1a;--neu-shadow-light:#2e3230}}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font-size:.93rem;font-weight:400;text-rendering:optimizeLegibility}a,body,button,h1,h2,h3,h4,h5,h6,input,label,li,option,p,select,small,span,textarea{font-family:var(--font-sans-fa)}a{color:inherit}.neu-raised{box-shadow:8px 8px 16px var(--neu-shadow-dark),-8px -8px 16px var(--neu-shadow-light)}.neu-inset,.neu-raised{background:var(--neu-bg);border:none}.neu-inset{box-shadow:inset 4px 4px 8px var(--neu-shadow-dark),inset -4px -4px 8px var(--neu-shadow-light)}.neu-card{box-shadow:6px 6px 12px var(--neu-shadow-dark),-6px -6px 12px var(--neu-shadow-light)}.neu-card,.neu-card-inset{background:var(--neu-bg);border-radius:var(--neu-radius);border:none;padding:1rem}.neu-card-inset{box-shadow:inset 3px 3px 6px var(--neu-shadow-dark),inset -3px -3px 6px var(--neu-shadow-light)}.neu-btn{background:var(--neu-bg);border:none;border-radius:999px;box-shadow:4px 4px 8px var(--neu-shadow-dark),-4px -4px 8px var(--neu-shadow-light);cursor:pointer;transition:all .15s ease;font-family:var(--font-sans-fa)}.neu-btn:hover{box-shadow:2px 2px 4px var(--neu-shadow-dark),-2px -2px 4px var(--neu-shadow-light)}.neu-btn-pressed,.neu-btn:active,.neu-input{box-shadow:inset 3px 3px 6px var(--neu-shadow-dark),inset -3px -3px 6px var(--neu-shadow-light)}.neu-input{background:var(--neu-bg);border:none;border-radius:.75rem;padding:.75rem 1rem;font-family:var(--font-sans-fa);color:var(--fg);width:100%;outline:none;transition:box-shadow .15s ease}.neu-input:focus{box-shadow:inset 4px 4px 8px var(--neu-shadow-dark),inset -4px -4px 8px var(--neu-shadow-light)}.neu-nav{background:var(--neu-bg);border:none;border-radius:999px;box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);padding:.5rem 1rem;transition:all .15s ease}.neu-nav-active,.neu-skeleton{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.neu-skeleton{background:var(--neu-bg);border-radius:.5rem;animation:neu-pulse 1.5s ease-in-out infinite}@keyframes neu-pulse{0%,to{opacity:.7}50%{opacity:.5}}.app-shell{min-height:100vh;padding:.85rem}.app-layout{width:100%;max-width:74rem;margin:0 auto;position:relative}.app-main{min-width:0;display:grid;gap:.75rem;padding-bottom:4rem}.app-main-centered{min-height:calc(100vh - 11.5rem);align-content:center}.stack{display:grid;gap:1rem}.group-card,.group-list{display:grid;gap:.75rem}.group-card{grid-template-columns:4rem minmax(0,1fr);align-items:center;border:none;border-radius:var(--neu-radius);padding:.7rem;text-decoration:none;background:var(--neu-bg);box-shadow:4px 4px 8px var(--neu-shadow-dark),-4px -4px 8px var(--neu-shadow-light);transition:box-shadow .15s ease}.group-card:active{box-shadow:inset 3px 3px 6px var(--neu-shadow-dark),inset -3px -3px 6px var(--neu-shadow-light)}.group-card-image-wrap{width:4rem;height:4rem;border-radius:.4rem;overflow:hidden}.group-card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.group-card-image-fallback{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;background:var(--muted);font-weight:500}.group-card-content{min-width:0}.group-card-title{margin:0;font-size:.9rem;font-weight:500}.group-card-description{margin:.3rem 0 0;opacity:.75;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.45rem;gap:.5rem}.group-card-members{font-size:.8rem;opacity:.7}.settlement-pill{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:500;text-wrap:nowrap;border:1px solid transparent}.settlement-credit{background:var(--credit-bg);color:var(--credit-fg);border-color:var(--credit-border)}.settlement-debit{background:var(--debit-bg);color:var(--debit-fg);border-color:var(--debit-border)}.settlement-clear{background:color-mix(in srgb,var(--muted) 80%,transparent);color:var(--fg);border-color:var(--border)}.card{background:var(--neu-bg);border-radius:var(--neu-radius);box-shadow:6px 6px 12px var(--neu-shadow-dark),-6px -6px 12px var(--neu-shadow-light);border:none;padding:1rem}.card-title{margin:0 0 .5rem;font-size:.88rem;font-weight:500}.card-title-parent{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.card-header .card-title{margin:0}.header{display:flex;align-items:center;justify-content:space-between}.app-header{background:var(--neu-bg);position:sticky;top:0;z-index:30;box-shadow:0 4px 8px var(--neu-shadow-dark),0 -2px 4px var(--neu-shadow-light)}.app-header-inner{max-width:74rem;margin:0 auto;padding:.65rem .78rem;display:flex;align-items:center;gap:.65rem}.app-header-image{width:2.65rem;height:2.65rem;flex:0 0 auto;border-radius:.8rem;border:1px solid var(--border);background:var(--muted);-o-object-fit:cover;object-fit:cover}.app-header-image-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-size:1rem;font-weight:600}.app-header-copy{display:grid;gap:.15rem;min-width:0}.nav-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem;border:none;border-radius:999px;padding:.35rem .75rem;text-decoration:none;font-size:.78rem;font-weight:400;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);transition:box-shadow .15s ease,padding .22s ease,font-size .22s ease}.nav-link-active,.nav-link:active{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.nav-link-active{background:var(--neu-bg);color:var(--accent)}.menu-handle{width:100vw;height:2rem;bottom:0;left:0;z-index:44;border-radius:2rem 2rem 0 0;box-shadow:0 -4px 8px var(--neu-shadow-dark),0 4px 8px var(--neu-shadow-light)}.bottom-menu-handle,.menu-handle{position:fixed;background:var(--neu-bg)}.bottom-menu-handle{left:50%;bottom:15px;transform:translateX(-50%);transition:transform .18s ease;z-index:51;border:none;color:var(--fg);width:2.4rem;height:2.4rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:4px 0 8px var(--neu-shadow-dark),-4px 0 8px #00000040;touch-action:none}.bottom-menu-handle-open{transform:translate(-50%,-364px)}.bottom-menu-arrow{display:inline-block;font-size:1rem;line-height:1;transition:transform .18s ease}.bottom-menu-arrow-open{transform:rotate(180deg)}.sidebar-backdrop{position:fixed;inset:0;border:0;backdrop-filter:blur(.2rem);background:rgba(var(--muted),.3);z-index:35;opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.nav-icon{width:1rem;text-align:center}.sidebar-panel{position:fixed;left:50%;bottom:0;width:100vw;border-radius:2rem 2rem 0 0!important;height:400px;z-index:50;display:grid;align-content:center;gap:.75rem;opacity:0;transform:translate(-50%,14px);pointer-events:none;overflow:auto;transition:opacity .22s ease,transform .22s ease}.sidebar-open .sidebar-panel{opacity:1;transform:translate(-50%);pointer-events:auto}.sidebar-panel-top{justify-content:space-between;gap:.75rem}.modal-root,.sidebar-panel-top{display:flex;align-items:center}.modal-root{position:absolute;justify-content:center;inset:0;z-index:70}.modal-backdrop{position:absolute;inset:0;border:0;backdrop-filter:blur(.2rem);background:rgba(15,23,42,.4)}.modal-card{width:min(28rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.modal-divider{height:1px;background:var(--border);margin:.85rem 0}.sidebar-close{border:none;background:var(--neu-bg);color:var(--fg);width:2rem;height:2rem;border-radius:999px;cursor:pointer;box-shadow:2px 2px 4px var(--neu-shadow-dark),-2px -2px 4px var(--neu-shadow-light)}.sidebar-close:active{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.sidebar-nav{display:grid;gap:.5rem}.sidebar-footer{margin-top:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:start}.brand{text-decoration:none;color:var(--fg);font-size:1.02rem;font-weight:500}.page-title{margin:0;font-size:.94rem;font-weight:500;transition:margin .22s ease,font-size .22s ease}.subtitle{margin:0;font-size:.79rem;opacity:.74}.placeholder{border:1px dashed var(--border);border-radius:.4rem;padding:1rem;text-align:center;background:color-mix(in srgb,var(--muted) 60%,transparent);font-size:.85rem;opacity:.8}.member-list{display:grid;gap:.55rem}.member-row{display:flex;align-items:center;flex-direction:row;justify-content:space-between;width:100%;gap:.75rem;border:none;border-radius:.75rem;padding:.55rem .7rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light)}.member-actions{display:inline-flex;align-items:center;gap:.5rem}.member-settle-btn{width:auto;padding:.35rem .6rem;font-size:.78rem;width:-moz-fit-content!important;width:fit-content!important}.member-main{width:100%;justify-content:space-between;gap:.55rem}.member-main,.members-cred{display:flex;align-items:center}.members-cred{flex-direction:row;gap:4px}.member-avatar{width:2rem;height:2rem;border-radius:999px;background:var(--muted);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-size:.8rem}.member-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-name{margin:0;font-weight:500;font-size:.83rem}.you-badge{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--muted);border-radius:999px;padding:.05rem .35rem;font-size:.7rem;margin-inline-start:.3rem;vertical-align:middle}.member-contact{margin:.15rem 0 0;font-size:.75rem;opacity:.72}.split-grid,.split-row{display:grid;gap:.55rem}.split-row{grid-template-columns:minmax(0,1fr) 7rem;align-items:center}.split-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem}.split-value{width:100%}.expense-row{border:none;border-radius:.75rem;padding:.6rem .7rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light)}.expense-title{margin:0;font-weight:500;font-size:.83rem}.expense-sub{margin:.25rem 0 0;opacity:.72;font-size:.76rem}.profile-preview{display:flex;align-items:center;gap:.65rem}.profile-avatar{width:2.6rem;height:2.6rem;border-radius:999px;background:var(--muted);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-size:.86rem;font-weight:500}.profile-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.admin-stats-grid,.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.admin-layout{display:grid;gap:.75rem}.admin-sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.admin-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.6rem;border:1px solid var(--border);border-radius:.4rem;background:var(--card);color:var(--fg);text-decoration:none;font-size:.8rem}.admin-nav-link-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent)}.admin-content{min-width:0}.admin-toolbar{margin-bottom:.75rem}.admin-list{display:grid;gap:.65rem}.admin-row{display:grid;gap:.75rem;border:none;border-radius:.75rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);padding:.7rem}.admin-row-link{color:inherit;text-decoration:none}.admin-row-main{min-width:0}.admin-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.admin-badges,.admin-group-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.admin-group-meta{color:var(--fg);font-size:.78rem;opacity:.76}.admin-back-link,.admin-readonly-banner{width:-moz-fit-content;width:fit-content}.admin-readonly-banner{margin-bottom:.75rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);padding:.25rem .65rem;font-size:.76rem;font-weight:500}.admin-readonly-copy{margin:.75rem 0 0;line-height:1.8;opacity:.76}.admin-readonly-item{display:grid;gap:.75rem;border:1px solid var(--border);border-radius:.4rem;background:color-mix(in srgb,var(--card) 86%,var(--muted));padding:.7rem}.admin-money{margin:0;font-weight:600;color:var(--accent)}.admin-mini-grid{display:grid;gap:.6rem;border-top:1px solid var(--border);padding-top:.65rem}.stat-item{border:none;border-radius:.75rem;padding:.55rem .65rem;background:var(--neu-bg);box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.stat-label{margin:0;font-size:.74rem;opacity:.72}.stat-value{margin:.25rem 0 0;font-size:.88rem;font-weight:500}.stat-debit{color:var(--debit-fg)}.stat-credit{color:var(--credit-fg)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;border:none;border-radius:999px;padding:.3rem .6rem;font-size:.86rem;font-weight:400;text-decoration:none;cursor:pointer;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);transition:box-shadow .15s ease}.btn:hover:not(:disabled){box-shadow:2px 2px 4px var(--neu-shadow-dark),-2px -2px 4px var(--neu-shadow-light)}.btn:active:not(:disabled){box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:active:not(:disabled){box-shadow:inset 2px 2px 4px color-mix(in srgb,var(--accent) 60%,transparent),inset -2px -2px 4px color-mix(in srgb,var(--accent) 80%,transparent)}.btn-secondary{background:var(--neu-bg);color:var(--fg)}.btn-exit{margin-top:0!important;color:var(--debit-fg);background:var(--debit-bg);box-shadow:2px 2px 4px color-mix(in srgb,var(--debit-fg) 20%,transparent),-2px -2px 4px color-mix(in srgb,var(--debit-bg) 60%,transparent);border-radius:999px;width:-moz-fit-content;width:fit-content;padding-top:0;padding-bottom:0;height:30px}.btn:disabled{opacity:.7;cursor:not-allowed}.field{width:100%;border:none;border-radius:.75rem;background:var(--neu-bg);color:var(--fg);padding:.75rem 1rem;font-size:.86rem;box-shadow:inset 3px 3px 6px var(--neu-shadow-dark),inset -3px -3px 6px var(--neu-shadow-light);outline:none;transition:box-shadow .15s ease}.field:focus{box-shadow:inset 4px 4px 8px var(--neu-shadow-dark),inset -4px -4px 8px var(--neu-shadow-light)}.label{font-size:.83rem;opacity:.85}.field-hint{margin:0;font-size:.78rem;opacity:.72}.image-upload-box{display:grid;grid-template-columns:4.6rem minmax(0,1fr);align-items:center;gap:.75rem;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:.9rem;background:color-mix(in srgb,var(--card) 86%,var(--muted));padding:.6rem;cursor:pointer}.image-upload-input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.image-upload-preview{width:4.2rem;height:4.2rem;border-radius:.4rem;background:var(--muted);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:var(--accent);font-size:1.5rem;font-weight:600}.image-upload-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-upload-copy{display:grid;gap:.2rem;font-size:.82rem}.image-upload-copy small{opacity:.68;line-height:1.7}.creator-mode-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;border:1px solid var(--border);border-radius:.9rem;background:color-mix(in srgb,var(--card) 85%,var(--muted));padding:.75rem;cursor:pointer}.creator-mode-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin-top:.15rem}.creator-mode-toggle span{display:grid;gap:.2rem;font-size:.82rem}.creator-mode-toggle small{opacity:.68;line-height:1.7}.theme-toggle{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border:none;background:var(--neu-bg);color:var(--fg);border-radius:999px;padding:.35rem .75rem;font-size:.75rem;box-shadow:2px 2px 4px var(--neu-shadow-dark),-2px -2px 4px var(--neu-shadow-light)}.theme-toggle:active{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.skip-link{position:absolute;left:1rem;top:-100px;border-radius:.6rem;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);padding:.5rem .75rem;text-decoration:none;z-index:100}.skip-link:focus-visible{top:.75rem}.alert-root{position:fixed;top:.85rem;left:50%;transform:translateX(-50%);z-index:120;display:grid;gap:.4rem;width:min(26rem,calc(100vw - 2rem))}.alert-item{border:none;border-radius:.75rem;padding:.45rem .65rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);font-size:.8rem}.alert-success{box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light),inset 0 0 0 1px color-mix(in srgb,#16a34a 45%,transparent)}.alert-error{box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light),inset 0 0 0 1px color-mix(in srgb,#dc2626 45%,transparent)}.alert-info{box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light),inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.notice{border:none;border-radius:.75rem;padding:.6rem .75rem;font-size:.85rem;background:var(--neu-bg);box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light)}.notice-success{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light),inset 0 0 0 1px color-mix(in srgb,#16a34a 45%,transparent);background:color-mix(in srgb,#16a34a 8%,var(--neu-bg))}.notice-error{box-shadow:inset 2px 2px 4px var(--neu-shadow-dark),inset -2px -2px 4px var(--neu-shadow-light),inset 0 0 0 1px color-mix(in srgb,#dc2626 45%,transparent);background:color-mix(in srgb,#dc2626 8%,var(--neu-bg))}.bottom-menu-handle:focus-visible,.brand:focus-visible,.btn:focus-visible,.creator-mode-toggle:focus-within,.field:focus-visible,.group-card:focus-visible,.image-upload-box:focus-within,.nav-link:focus-visible,.sidebar-close:focus-visible,.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}@media (min-width:640px){.app-shell{padding:1.35rem 1.1rem}.app-main{gap:1rem;padding-bottom:4.5rem}.app-main-centered{min-height:calc(100vh - 12.5rem)}.card{padding:1rem}.app-header-inner{padding:.8rem 1.1rem}.subtitle{font-size:.84rem}.admin-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:9.5rem minmax(0,1fr);align-items:start}.admin-sidebar{position:sticky;top:5rem;grid-template-columns:1fr}.admin-nav-link{justify-content:flex-start;padding:0 .75rem}.admin-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-row-actions{min-width:13rem}.admin-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-parent{width:100%;display:flex;justify-content:center}.date-time-picker{display:grid;gap:.6rem;border-radius:.9rem}.date-time-picker-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.date-time-picker-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);padding:.2rem .55rem;font-size:.72rem;font-weight:500;white-space:nowrap}.date-time-picker-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:.4rem;background:var(--bg);padding:.55rem .7rem}.date-time-picker-fields{display:grid;gap:.6rem}.date-time-picker-icon{width:2rem;height:2rem;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;background:var(--muted);font-size:1rem}.date-time-picker-input{width:100%;border:0;background:transparent;color:var(--fg);font:inherit;min-width:0;outline:none}.date-time-picker-input::-webkit-calendar-picker-indicator{cursor:pointer}.date-time-picker:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:2px}.persian-date-time-picker{position:relative}.persian-picker-trigger{width:100%;min-height:2.9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:none;border-radius:.75rem;background:var(--neu-bg);color:var(--fg);padding:.75rem 1rem;font:inherit;box-shadow:inset 3px 3px 6px var(--neu-shadow-dark),inset -3px -3px 6px var(--neu-shadow-light);outline:none;cursor:pointer;transition:box-shadow .15s ease}.persian-picker-trigger:focus-visible{box-shadow:inset 4px 4px 8px var(--neu-shadow-dark),inset -4px -4px 8px var(--neu-shadow-light)}.persian-picker-popover{position:absolute;inset-inline:0;top:calc(100% + .45rem);z-index:50;display:grid;gap:.75rem;border:1px solid var(--border);border-radius:.9rem;background:var(--card);box-shadow:0 18px 40px rgba(15,23,42,.18);padding:.75rem}.persian-picker-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;text-align:center}.persian-picker-nav{border:1px solid var(--border);border-radius:.7rem;background:var(--muted);color:var(--fg);padding:.35rem .55rem;font:inherit;font-size:.76rem;cursor:pointer}.persian-picker-days,.persian-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.persian-picker-weekdays{color:var(--fg);font-size:.72rem;font-weight:600;opacity:.66;text-align:center}.persian-picker-day,.persian-picker-empty{aspect-ratio:1;min-width:0;border-radius:.55rem}.persian-picker-day{border:1px solid transparent;background:color-mix(in srgb,var(--muted) 70%,transparent);color:var(--fg);font:inherit;font-size:.8rem;cursor:pointer}.persian-picker-day-active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.persian-picker-time{display:flex;align-items:center;gap:2.5rem}.persian-date-range-picker{display:grid;gap:.75rem}.hidden-required-field{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}@media (min-width:640px){.date-time-picker-fields{grid-template-columns:minmax(0,1fr) 10rem}.persian-date-range-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.landing-shell{min-height:100vh;display:grid;align-content:center;gap:1rem;padding:1.25rem 1rem 2rem;width:min(68rem,100%);margin:0 auto}.landing-card,.landing-hero{border:1px solid var(--border);border-radius:1.25rem;background:color-mix(in srgb,var(--card) 92%,var(--muted));box-shadow:0 18px 45px rgba(15,23,42,.08)}.landing-hero{padding:1.25rem;display:grid;gap:1rem}.landing-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:999px;padding:.35rem .75rem;font-size:.76rem;font-weight:500}.landing-title{margin:0;font-size:clamp(2rem,6vw,4.25rem);line-height:1.08;letter-spacing:-.03em;max-width:12ch}.landing-copy{margin:0;max-width:38rem;font-size:1rem;line-height:1.9;opacity:.82}.landing-actions{display:flex;flex-wrap:wrap;gap:.75rem}.landing-cta{width:auto;min-width:9.5rem}.landing-steps{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0}.landing-steps li{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:.45rem .8rem;font-size:.8rem;opacity:.86}.landing-grid{display:grid;gap:.75rem}.landing-card{padding:1rem}.landing-card h2{margin:0 0 .4rem;font-size:.95rem}.landing-card p{margin:0;line-height:1.8;opacity:.78}@media (max-width:720px){.card{border:none}}@media (min-width:720px){.landing-shell{padding:2rem 1.25rem 2.5rem;gap:1.25rem}.landing-hero{padding:2rem}.landing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--muted) 25%,color-mix(in srgb,var(--muted) 60%,var(--card)) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:.4rem}.skeleton-text{height:.9rem;margin-bottom:.5rem}.skeleton-title{height:1.2rem;width:60%;margin-bottom:.75rem}.skeleton-card{height:6rem;width:100%}.skeleton-member{height:3.2rem;width:100%}.fab{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);z-index:40;width:3.4rem;height:3.4rem;border-radius:999px;border:none;background:var(--accent);color:var(--accent-fg);box-shadow:0 8px 24px rgba(15,23,42,.25);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}.fab:hover{transform:translateX(-50%) scale(1.05);box-shadow:0 12px 32px rgba(15,23,42,.3)}.fab:active{transform:translateX(-50%) scale(.95)}.fab:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.bottom-sheet-root{position:fixed;inset:0;z-index:60}.bottom-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.4);backdrop-filter:blur(.2rem)}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;overflow:visible!important;max-height:90vh;border-radius:1.5rem 1.5rem 0 0;background:var(--neu-bg);border:none;padding:.75rem 1rem 2rem;overflow-y:auto;box-shadow:0 -6px 12px var(--neu-shadow-dark),0 6px 12px var(--neu-shadow-light)}.bottom-sheet-handle{width:2.5rem;height:.3rem;border-radius:999px;background:var(--neu-bg);box-shadow:inset 1px 1px 2px var(--neu-shadow-dark),inset -1px -1px 2px var(--neu-shadow-light);margin:0 auto 1rem}.bottom-sheet-title{margin:0 0 1rem;font-size:1rem;font-weight:500;text-align:center}.balance-hero{display:grid;gap:.75rem}.balance-hero-total{text-align:center;padding:1.2rem .75rem;border-radius:var(--neu-radius);background:var(--neu-bg);border:none;box-shadow:4px 4px 8px var(--neu-shadow-dark),-4px -4px 8px var(--neu-shadow-light)}.balance-hero-label{margin:0;font-size:.78rem;opacity:.7}.balance-hero-amount{margin:.4rem 0 0;font-size:1.7rem;font-weight:700;letter-spacing:-.02em}.balance-hero-debit{color:var(--debit-fg)}.balance-hero-credit{color:var(--credit-fg)}.balance-hero-clear{color:var(--accent)}.balance-hero-detail{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.expense-story{border:none;border-radius:.75rem;padding:.75rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light)}.expense-story-text{margin:0;font-size:.88rem;line-height:1.7}.expense-story-payer{font-weight:600}.expense-story-amount{font-weight:600;color:var(--accent)}.expense-story-meta{margin:.4rem 0 0;font-size:.76rem;opacity:.65;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.settlement-suggestion{border:none;border-radius:.9rem;padding:.85rem;display:grid;gap:.5rem;background:var(--neu-bg);box-shadow:3px 3px 6px var(--neu-shadow-dark),-3px -3px 6px var(--neu-shadow-light);background:color-mix(in srgb,var(--card) 85%,var(--muted))}.settlement-suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.settlement-suggestion-arrow{color:var(--accent);flex-shrink:0;display:inline-flex;align-items:center}.settlement-suggestion-name{font-weight:500;font-size:.88rem}.settlement-suggestion-amount-value{font-weight:700;font-size:.95rem;color:var(--debit-fg)}.settlement-suggestion-pays{font-size:.8rem;opacity:.7}@media (max-width:480px){.fab{bottom:4.5rem;width:3rem;height:3rem}.balance-hero-amount{font-size:1.4rem}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.page-enter,.page-enter-delayed{animation:fade-in-up .35s var(--motion-easing-decelerate) both}.page-enter-delayed{animation-delay:80ms}.stagger-item{animation:fade-in-up .35s var(--motion-easing-decelerate) both;animation-delay:calc(var(--stagger-index, 0) * 60ms)}.stagger-fade{animation:fade-in .3s var(--motion-easing-standard) both;animation-delay:calc(var(--stagger-index, 0) * 40ms)}.card-elevated{transition:transform var(--motion-duration-normal) var(--motion-easing-spring),box-shadow var(--motion-duration-normal) var(--motion-easing-standard)}.card-elevated:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-elevated:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-depth{box-shadow:0 1px 3px rgba(15,23,42,.06),0 4px 12px rgba(15,23,42,.08)}.card-depth-1{box-shadow:0 2px 8px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.1)}.card-depth-2{box-shadow:0 4px 16px rgba(15,23,42,.1),0 12px 40px rgba(15,23,42,.12)}.interactive-scale{transition:transform var(--motion-duration-fast) var(--motion-easing-spring);cursor:pointer}.interactive-scale:hover{transform:scale(1.03)}.interactive-scale:active{transform:scale(.97)}.interactive-tap{transition:transform var(--motion-duration-fast) var(--motion-easing-spring)}.interactive-tap:active{transform:scale(.94)}.btn{transition:transform var(--motion-duration-fast) var(--motion-easing-spring),box-shadow var(--motion-duration-fast) var(--motion-easing-standard),background var(--motion-duration-normal) var(--motion-easing-standard)}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{box-shadow:3px 3px 6px color-mix(in srgb,var(--accent) 40%,transparent),-3px -3px 6px color-mix(in srgb,var(--accent) 80%,transparent)}.btn-primary:hover:not(:disabled){box-shadow:2px 2px 4px color-mix(in srgb,var(--accent) 50%,transparent),-2px -2px 4px color-mix(in srgb,var(--accent) 90%,transparent)}.admin-row,.expense-story,.group-card,.member-row,.settlement-suggestion,.stat-item{transition:transform var(--motion-duration-fast) var(--motion-easing-spring),box-shadow var(--motion-duration-fast) var(--motion-easing-standard)}.nav-link{transition:padding var(--motion-duration-normal) var(--motion-easing-standard),font-size var(--motion-duration-normal) var(--motion-easing-standard),background var(--motion-duration-normal) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard)}.sidebar-panel{transition:opacity var(--motion-duration-normal) var(--motion-easing-decelerate),transform var(--motion-duration-normal) var(--motion-easing-spring)}.sidebar-backdrop{transition:opacity var(--motion-duration-normal) var(--motion-easing-standard)}.bottom-sheet{animation:slide-in-up .3s var(--motion-easing-decelerate) both}.bottom-sheet-backdrop{animation:fade-in .2s var(--motion-easing-standard) both}.modal-card{animation:scale-in .25s var(--motion-easing-spring) both}.modal-backdrop{animation:fade-in .2s var(--motion-easing-standard) both}.alert-item{animation:fade-in-up .25s var(--motion-easing-spring) both}body{transition:background var(--motion-duration-normal) var(--motion-easing-standard),color var(--motion-duration-normal) var(--motion-easing-standard)}.settlement-pill{transition:background var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard)}.theme-toggle{transition:background var(--motion-duration-normal) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard)}.persian-picker-popover{animation:scale-in .2s var(--motion-easing-spring) both;transform-origin:top center}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}