@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--bg:#f0f4ff;--surface:#fff;--surface-2:#eef2fc;--surface-3:#e2e8f8;--glass-bg:#ffffffb8;--glass-bg-light:#ffffff8c;--glass-border:.5px solid #ffffffd9;--glass-blur:blur(40px) saturate(180%);--glass-blur-light:blur(20px) saturate(160%);--glass-shadow:0 -1px 0 #0000000f, 0 0 40px #00000014;--text:#000;--text-muted:#3c3c43;--text-sub:#8e8e93;--accent:#34c759;--accent-dim:#34c7591f;--accent-hover:#2db84e;--accent-2:#007aff;--accent-2-dim:#007aff1a;--color-income:#34c759;--color-income-dim:#34c7591a;--color-expense:#ff9500;--color-expense-dim:#ff95001a;--color-investment:#007aff;--color-investment-dim:#007aff1a;--color-debt:#ff3b30;--color-debt-dim:#ff3b3014;--color-goal:#af52de;--color-goal-dim:#af52de1a;--danger:#ff3b30;--danger-dim:#ff3b3014;--warning:#ff9500;--warning-dim:#ff95001a;--success:#34c759;--success-dim:#34c7591a;--border:#00000014;--border-light:#0000000d;--border-strong:#00000026;--shadow-sm:0 1px 3px #0000000f, 0 4px 12px #0000000a;--shadow-md:0 2px 8px #0000000f, 0 8px 24px #0000000a;--shadow-lg:0 4px 16px #00000014, 0 16px 40px #0000000d;--shadow-glass:0 -1px 0 #0000000f, 0 0 40px #00000014;--radius-xs:8px;--radius-sm:10px;--radius:16px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--nav-height:calc(76px + env(safe-area-inset-bottom,0px));--font:"DM Sans", -apple-system, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;--app-focus-ring:#34c75940;--app-bg:var(--bg);--app-surface:var(--surface);--app-text:var(--text);--app-text-muted:var(--text-muted);--app-accent:var(--accent);--app-accent-hover:var(--accent-hover);--app-border:var(--border);--app-card-shadow:var(--shadow-sm);--app-font:var(--font);--app-radius:var(--radius)}.auth-shell{min-height:100svh;color:var(--text);background:linear-gradient(160deg,#f0f4ff 0%,#e8f0fe 40%,#f0f0f8 100%) fixed;flex-direction:column;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,3rem) clamp(1rem,4vw,1.5rem);display:flex}@media (height<=700px){.auth-shell{justify-content:flex-start;padding-top:clamp(1.25rem,4vw,2rem)}}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);background:#fff;border:none;padding:clamp(2rem,6vw,2.75rem) clamp(1.5rem,5vw,2rem);animation:.42s cubic-bezier(.22,1,.36,1) forwards auth-enter}@keyframes auth-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-brand{text-align:center;margin-bottom:clamp(1.75rem,5vw,2.25rem)}.auth-brand__mark{background:var(--accent-dim);width:52px;height:52px;color:var(--accent);border:none;border-radius:14px;justify-content:center;align-items:center;margin-bottom:1.125rem;display:inline-flex}.auth-brand__title{font-family:var(--font);letter-spacing:-.03em;color:#000;margin:0;font-size:clamp(1.375rem,4vw,1.625rem);font-weight:700}.auth-brand__subtitle{color:#8e8e93;max-width:28ch;margin:.5rem auto 0;font-size:.9375rem;line-height:1.5}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{text-align:left;flex-direction:column;gap:.375rem;display:flex}.auth-field label{color:var(--text-muted);letter-spacing:-.01em;font-size:.8125rem;font-weight:500}.auth-field input{box-sizing:border-box;width:100%;font-family:var(--font);color:var(--text);border-radius:var(--radius-sm);-webkit-appearance:none;background:#76768014;border:none;outline:none;padding:.8125rem .875rem;font-size:1rem;transition:background .15s,box-shadow .15s}.auth-field input::placeholder{color:#c7c7cc}.auth-field input:focus{box-shadow:0 0 0 3.5px var(--app-focus-ring);background:#7676801f}.auth-field input:disabled{opacity:.55;cursor:not-allowed}.auth-field input[aria-invalid=true]{box-shadow:0 0 0 3.5px #ff3b3033}.auth-error{color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-sm);margin:0;padding:.65rem .875rem;font-size:.8125rem;line-height:1.45}.auth-submit{width:100%;font-family:var(--font);letter-spacing:-.01em;color:#fff;cursor:pointer;-webkit-appearance:none;background:#34c759;border:none;border-radius:14px;margin-top:.25rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,transform .1s}.auth-submit:hover:not(:disabled){background:#2db84e}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.4;cursor:not-allowed}.auth-footer{text-align:center;color:#8e8e93;margin-top:clamp(1.5rem,4vw,2rem);font-size:.9375rem}.auth-footer a{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer a:hover{text-underline-offset:3px;text-decoration:underline}.auth-loading{background:linear-gradient(160deg,#f0f4ff 0%,#e8f0fe 40%,#f0f0f8 100%) fixed;justify-content:center;align-items:center;gap:6px;min-height:100svh;display:flex}.auth-loading__dot{background:var(--accent);opacity:.3;border-radius:50%;width:7px;height:7px;animation:.85s ease-in-out infinite auth-dot}.auth-loading__dot:nth-child(2){animation-delay:.12s}.auth-loading__dot:nth-child(3){animation-delay:.24s}@keyframes auth-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.page-title{letter-spacing:-.031em;color:#000;margin:0;font-size:2.125rem;font-weight:700;line-height:1.1}.page-sub{color:#8e8e93;letter-spacing:-.01em;margin:.25rem 0 0;font-size:.9375rem;font-weight:400}.page-head{z-index:10;background:#fff;margin:0 -1rem 1.25rem;padding:12px 1rem;position:sticky;top:0;box-shadow:0 1px #0000000f}.panel{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:none;margin-bottom:.75rem;padding:1rem}.panel__title{letter-spacing:.045em;text-transform:uppercase;color:#8e8e93;margin:0 0 .75rem;font-size:.6875rem;font-weight:600}.form-error-inline{color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-sm);margin:0 0 .875rem;padding:.6rem .875rem;font-size:.8125rem}.field-row{flex-direction:column;gap:.375rem;margin-bottom:.875rem;display:flex}.field-row label{color:var(--text-muted);letter-spacing:-.01em;font-size:.8125rem;font-weight:500}.field-row input,.field-row select,.field-row textarea{box-sizing:border-box;width:100%;max-width:100%;font-family:var(--font);border-radius:var(--radius-sm);color:var(--text);-webkit-appearance:none;background:#76768014;border:none;outline:none;padding:.75rem .875rem;font-size:1rem;transition:background .15s,box-shadow .15s}input[type=number]{box-sizing:border-box;width:100%;max-width:100%}.field-row input::placeholder,.field-row textarea::placeholder{color:#c7c7cc}.field-row input:focus,.field-row select:focus,.field-row textarea:focus{box-shadow:0 0 0 3.5px var(--app-focus-ring);background:#7676801f}.field-row select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.btn{font-family:var(--font);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;-webkit-appearance:none;border:none;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:.6875rem 1.125rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active:not(:disabled){opacity:.85;transform:scale(.97)}.btn--primary{color:#fff;background:#34c759}.btn--primary:hover:not(:disabled){background:#2db84e}.btn--ghost{color:var(--text);background:#7676801f}.btn--ghost:hover:not(:disabled){background:#7676802e}.btn--secondary{color:var(--text-muted);background:#7676801a}.btn--secondary:hover:not(:disabled){color:var(--text);background:#76768029}.btn--danger{background:var(--danger-dim);color:var(--danger)}.btn--danger:hover:not(:disabled){background:#ff3b3021}.btn-block{width:100%}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:1rem;display:flex}.toolbar__month{align-items:center;gap:8px;display:flex}.seg-ctrl{background:#7676801f;border-radius:8px;gap:0;padding:2px;display:inline-flex}.seg-ctrl__opt{font-family:var(--font);color:var(--text-muted);cursor:pointer;text-align:center;white-space:nowrap;-webkit-appearance:none;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 14px;font-size:.8125rem;font-weight:500;transition:background .18s,box-shadow .18s,color .18s}.seg-ctrl__opt--active{color:var(--text);background:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000012}.modal-actions{border-top:.5px solid #00000014;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.modal-actions .btn{min-width:5.5rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}@media (width>=480px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:none;flex-direction:column;gap:6px;padding:1rem;display:flex}.stat-card__label{letter-spacing:.045em;text-transform:uppercase;color:#8e8e93;font-size:.6875rem;font-weight:600}.stat-card__value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#000;font-size:1.375rem;font-weight:700;line-height:1.15}.stat-card__value--accent{color:var(--color-income)}.stat-card__value--warn{color:var(--color-expense)}.stat-card__value--danger{color:var(--color-debt)}.stat-card__value--blue{color:var(--color-investment)}.stat-card__value--purple{color:var(--color-goal)}.list-row{border-bottom:.5px solid #00000012;justify-content:space-between;align-items:flex-start;gap:10px;padding:.8125rem 0;font-size:.9375rem;display:flex}.list-row:last-child{border-bottom:none;padding-bottom:0}.list-row:first-child{padding-top:0}.badge{letter-spacing:.03em;border-radius:var(--radius-pill);text-transform:uppercase;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge--ok{background:var(--color-income-dim);color:var(--color-income)}.badge--pending{background:var(--color-expense-dim);color:var(--color-expense)}.badge--blue{background:var(--color-investment-dim);color:var(--color-investment)}.badge--purple{background:var(--color-goal-dim);color:var(--color-goal)}.ai-box{color:var(--text);border-radius:0 var(--radius-sm) var(--radius-sm) 0;white-space:pre-wrap;background:#34c7590f;border-left:3px solid #34c759;margin:0;padding:1rem;font-size:.875rem;line-height:1.65}.progress{border-radius:var(--radius-pill);background:#00000012;height:5px;overflow:hidden}.progress__bar{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width .45s cubic-bezier(.4,0,.2,1)}.section-head{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.section-title{letter-spacing:.045em;text-transform:uppercase;color:#8e8e93;margin:0;font-size:.6875rem;font-weight:600}.muted{color:#8e8e93;font-size:.875rem}.empty-state{text-align:center;color:#8e8e93;padding:2rem 1rem;font-size:.9375rem}.spinner{border:2px solid #00000014;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{color:#8e8e93;justify-content:center;align-items:center;gap:8px;padding:3rem 1rem;font-size:.9375rem;display:flex}.accent-income{color:var(--color-income)}.accent-expense{color:var(--color-expense)}.accent-investment{color:var(--color-investment)}.accent-debt{color:var(--color-debt)}.accent-goal{color:var(--color-goal)}.bg-income{background:var(--color-income-dim)}.bg-expense{background:var(--color-expense-dim)}.bg-investment{background:var(--color-investment-dim)}.bg-debt{background:var(--color-debt-dim)}.bg-goal{background:var(--color-goal-dim)}html{font-family:var(--font);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:#f0f4ff fixed;min-height:100svh;margin:0}#root{width:100%;max-width:none;min-height:100svh;text-align:initial;border:none;margin:0}.bottom-nav{z-index:100;-webkit-backdrop-filter:blur(40px)saturate(180%);background:#ffffffb8;border:.5px solid #ffffffd9;border-radius:999px;justify-content:space-around;align-items:center;width:calc(100% - 32px);max-width:480px;height:60px;padding:0 6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000014,0 2px 8px #0000000a,inset 0 1px #ffffffe6}.bottom-nav__link{min-width:0;font-family:var(--font);letter-spacing:.01em;color:#8e8e93;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:10px;font-weight:500;text-decoration:none;transition:color .18s,background .18s;display:flex}.bottom-nav__link[aria-current=page]{color:#34c759;background:#34c7591f}.bottom-nav__link svg{flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.bottom-nav__link[aria-current=page] svg{transform:scale(1.08)}.bottom-nav__link:active svg{transform:scale(.9)}@media (width>=400px){.bottom-nav__link{font-size:10.5px}}.app-shell{min-height:100svh;color:var(--text);background:0 0}.app-shell__main{width:100%;max-width:600px;padding:0 1rem calc(var(--nav-height) + 1.5rem);box-sizing:border-box;margin:0 auto;position:relative}.app-shell__settings-btn{z-index:40;-webkit-backdrop-filter:blur(20px)saturate(180%);color:#8e8e93;background:#ffffffb8;border:.5px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:color .15s,box-shadow .15s,background .15s;display:flex;position:fixed;top:14px;right:16px;box-shadow:0 2px 12px #00000012,inset 0 1px #ffffffe6}.app-shell__settings-btn:hover{color:var(--text-muted);box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffffe6}.app-shell__settings-btn--active{color:#34c759;background:#34c7591f;border-color:#34c7594d;box-shadow:0 2px 12px #34c7592e,inset 0 1px #fffc}.month-sel{-webkit-backdrop-filter:blur(10px)saturate(160%);background:#ffffffb3;border:.5px solid #0000001a;border-radius:999px;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 1px 4px #0000000f,inset 0 1px #fffc}.month-sel__arrow{cursor:pointer;color:#8e8e93;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:color .15s,background .15s;display:flex}.month-sel__arrow:hover{color:var(--text);background:#0000000d}.month-sel__arrow:active{background:#00000014}.month-sel__label{font-family:var(--font);letter-spacing:-.02em;color:var(--text);text-align:center;white-space:nowrap;min-width:132px;padding:0 4px;font-size:.9375rem;font-weight:600}.vchart-empty{color:var(--text-muted);text-align:center;margin:0;padding:1rem 0;font-size:.875rem}.vchart{scrollbar-width:none;-ms-overflow-style:none;align-items:flex-end;gap:10px;padding:0 0 4px;display:flex;overflow-x:auto}.vchart::-webkit-scrollbar{display:none}.vchart__col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:56px;max-width:80px;display:flex}.vchart__meta{flex-direction:column;align-items:center;gap:1px;display:flex}.vchart__amount{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.6875rem;font-weight:700}.vchart__pct{color:var(--text-muted);letter-spacing:.02em;font-size:.5625rem;font-weight:600}.vchart__budget-pct{white-space:nowrap;font-size:.5625rem;font-weight:700}.vchart__budget-pct--ok{color:#16a34a}.vchart__budget-pct--warn{color:#d97706}.vchart__budget-pct--over{color:#dc2626}.vchart__track{justify-content:center;align-items:flex-end;width:100%;height:120px;display:flex;position:relative}.vchart__limit-line{z-index:1;background:repeating-linear-gradient(90deg,#94a3b8 0 4px,#0000 4px 8px);border-radius:1px;height:2px;position:absolute;left:0;right:0}.vchart__bar{opacity:.88;z-index:0;border-radius:6px 6px 3px 3px;width:100%;transition:height .4s cubic-bezier(.4,0,.2,1);position:relative}.vchart__label{flex-direction:column;align-items:center;gap:2px;display:flex}.vchart__emoji{font-size:1rem;line-height:1}.vchart__name{color:var(--text-muted);text-align:center;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:68px;font-size:.5625rem;font-weight:600;overflow:hidden}.dashboard{flex-direction:column;gap:1.25rem;display:flex}.dashboard__header-wrapper{z-index:10;background:#fff;margin:0 -1rem;padding:12px 1rem;position:sticky;top:0;box-shadow:0 1px #0000000f}.dashboard__title{letter-spacing:-.04em;color:var(--text);margin:0 0 2px;font-size:2rem;font-weight:800}.dashboard__sub{color:var(--text-muted);margin:0 0 8px;font-size:.9375rem}.dashboard__header-wrapper>.dashboard__persons{margin-top:6px}.settings-btn{cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffffd1;border:1px solid #00000014;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .15s;display:flex}.settings-btn:hover{background:#fffffff2}.dashboard__persons{flex-wrap:wrap;gap:8px;display:flex}.person-btn{border:1.5px solid var(--border);font-size:.875rem;font-weight:600;font-family:var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 16px;transition:all .18s}.person-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.dashboard__balance{flex-direction:column;gap:8px;padding:1.5rem;display:flex}.balance__label{color:var(--text-muted);letter-spacing:.05em;font-size:.6875rem;font-weight:700}.balance__amount{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:800;line-height:1}.balance__amount--green{color:var(--accent)}.balance__amount--red{color:#ff3b30}.balance__pills{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.balance__pill{background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:10px 8px;display:flex}.pill__emoji{font-size:1.125rem}.pill__value{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem;font-weight:700}.pill__label{color:var(--text-muted);letter-spacing:.05em;font-size:.5625rem;font-weight:600}.balance__fixed{border-top:.5px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;display:flex}.balance__fixed-row{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.balance__fixed-row span:last-child{color:#ff3b30;font-variant-numeric:tabular-nums;font-weight:700}.dashboard__section{flex-direction:column;gap:8px;display:flex}.section-title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.6875rem;font-weight:700}.dashboard__projects-scroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:12px;padding:0 0 8px;display:flex;overflow-x:auto}.dashboard__projects-scroll::-webkit-scrollbar{display:none}.project-card{min-width:160px;max-width:160px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:4px;padding:1rem;display:flex}.project-card--new{cursor:pointer;justify-content:center;align-items:center;transition:border-color .2s;border:2px dashed var(--border)!important;box-shadow:none!important;background:0 0!important}.project-card--new:hover{border-color:var(--accent)!important}.project-card__plus{color:var(--text-muted);font-size:1.5rem}.project-card__new-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.project-card__head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.project-card__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:.875rem;font-weight:700;overflow:hidden}.project-card__type{font-size:1rem}.project-card__current{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:800}.project-card__target{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.project-card__progress{background:var(--border);border-radius:999px;height:4px;margin-top:4px;overflow:hidden}.project-card__bar{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.project-card__pct{color:var(--text-muted);font-size:.6875rem;font-weight:600}.finn-card{flex-direction:column;gap:8px;padding:1.25rem;display:flex}.finn-card__label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.finn-card__text{color:var(--text-muted);margin:0;font-size:.9375rem}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);font-size:1rem;font-weight:700;font-family:var(--font);cursor:pointer;letter-spacing:-.01em;border:none;padding:15px;transition:opacity .15s,transform .1s}.btn-primary:hover{opacity:.92}.btn-primary:active{opacity:.85;transform:scale(.98)}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);background:#00000047;justify-content:center;align-items:flex-end;padding:0;animation:.22s backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-panel{-webkit-backdrop-filter:blur(40px)saturate(180%);width:100%;max-width:560px;max-height:92svh;font-family:var(--font);background:#f2f2f7f2;border:.5px solid #ffffffd9;border-bottom:none;border-radius:24px 24px 0 0;animation:.3s cubic-bezier(.32,.72,0,1) panel-up;overflow-y:auto;box-shadow:0 -8px 40px #0000001a,inset 0 1px #ffffffe6}.modal-panel:before{content:"";background:#0000002e;border-radius:2px;width:36px;height:4px;margin:10px auto 0;display:block}@keyframes panel-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=560px){.modal-backdrop{align-items:center;padding:1rem}.modal-panel{border:.5px solid #ffffffd9;border-radius:20px;max-height:85svh;animation:.24s cubic-bezier(.32,.72,0,1) panel-scale}.modal-panel:before{display:none}@keyframes panel-scale{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}}.modal-panel__head{justify-content:space-between;align-items:center;gap:.75rem;padding:1.125rem 1.25rem 0;display:flex}.modal-panel__title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.0625rem;font-weight:600}.modal-panel__close{cursor:pointer;color:#8e8e93;background:#76768024;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;line-height:1;transition:background .15s;display:flex}.modal-panel__close:hover{color:var(--text);background:#76768038}.modal-panel__body{padding:.875rem 1.25rem 1.5rem}.modal-panel__error{color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-sm);margin:0 0 .875rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.45}.ctx-menu{flex-shrink:0;position:relative}.ctx-menu__trigger{cursor:pointer;color:#8e8e93;letter-spacing:.12em;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;transition:color .15s,background .15s;display:flex}.ctx-menu__trigger:hover{color:var(--text-muted);background:#7676801a}.ctx-menu__dropdown{z-index:150;-webkit-backdrop-filter:blur(40px)saturate(180%);transform-origin:100% 0;background:#fffc;border:.5px solid #ffffffd9;border-radius:12px;min-width:140px;animation:.16s cubic-bezier(.32,.72,0,1) ctx-in;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 24px #0000001a,0 1px 4px #0000000f}@keyframes ctx-in{0%{opacity:0;transform:scale(.92)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.ctx-menu__item{cursor:pointer;width:100%;font-family:var(--font);color:var(--text);text-align:left;background:0 0;border:none;border-bottom:.5px solid #0000000f;align-items:center;gap:8px;padding:11px 14px;font-size:.9375rem;font-weight:400;transition:background .1s;display:flex}.ctx-menu__item:last-child{border-bottom:none}.ctx-menu__item:hover{background:#76768014}.ctx-menu__item--danger{color:var(--danger)}.ctx-menu__item--danger:hover{background:var(--danger-dim)}
