:root{--bg:#eef4fb;--panel:#ffffff;--text:#0f172a;--muted:#52607a;--brand:#0c6f66;--brand-soft:#d8f8f1;--line:#d2deec;--danger:#b91c1c;--focus:#55b8ab}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Trebuchet MS,Segoe UI,Tahoma,sans-serif;overflow-x:hidden;background:radial-gradient(1200px 420px at -10% -20%,#d7f2ff 0,transparent 60%),radial-gradient(900px 340px at 110% -10%,#d7f9f2 0,transparent 55%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{width:min(1100px,92%);margin:0 auto}.page-actions{justify-content:space-between;gap:.7rem}.action-btn{width:auto;display:inline-flex;align-items:center;justify-content:center;gap:.38rem;border:1px solid #0b5f58;background:linear-gradient(135deg,#0c6f66,#0a8a7f);color:#fff;border-radius:12px;padding:.62rem .92rem;font-weight:700;font-size:.92rem;box-shadow:0 10px 22px rgba(12,111,102,.24);transition:transform .24s ease,filter .24s ease,box-shadow .24s ease,border-color .24s ease}.action-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 24px rgba(10,90,84,.3);border-color:#0a6a62}.action-btn.secondary{background:linear-gradient(135deg,#ffffff,#edf4ff);color:#0f2a5a;border-color:#bfd0ea;box-shadow:0 8px 16px rgba(30,58,138,.12)}.action-btn.secondary:hover{box-shadow:0 10px 18px rgba(30,58,138,.16);border-color:#9fb7dc}.top-nav a:not(.chat-nav-icon){border:1px solid transparent;border-radius:10px;padding:.42rem .62rem;font-weight:700;color:#0f172a;transition:background .22s ease,border-color .22s ease,color .22s ease}.top-nav a:not(.chat-nav-icon):focus-visible,.top-nav a:not(.chat-nav-icon):hover{background:#eff7ff;border-color:#cadef6;color:#1e3a8a}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 8px 24px rgba(20,50,80,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;animation:cardIn .45s ease both}.card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(20,50,80,.1);border-color:#bfd2e8}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.title{margin:0 0 .3rem;font-size:1.25rem}.title-with-icon{display:inline-flex;align-items:center;gap:.45rem}.title-icon{width:1.8rem;height:1.8rem;border-radius:10px;display:grid;place-items:center;background:#eef7ff;border:1px solid #c9def3;color:#1e3a8a}.muted{color:var(--muted)}button,input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:.7rem .8rem;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px rgba(85,184,171,.18)}button{cursor:pointer;background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;box-shadow:0 8px 18px rgba(12,111,102,.24)}button:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 11px 22px rgba(12,111,102,.3)}button.secondary{background:#fff;color:var(--text);box-shadow:none}.row{display:flex;gap:.5rem;align-items:center}.between{justify-content:space-between}.stack{display:grid;grid-gap:.75rem;gap:.75rem}.home-shell{gap:1rem}.hero-card{background:linear-gradient(135deg,#f8fdff,#f0fbf8);overflow:hidden}.hero-grid{align-items:center}.home-title{font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.1;margin-bottom:.2rem}.hero-art{display:grid;grid-gap:.75rem;gap:.75rem;justify-items:center}.hero-art .sculpture-loader{min-height:270px;width:min(100%,360px);background:linear-gradient(160deg,#ffffff,#f3fbff)}.hero-stat{width:min(100%,360px);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;background:#fff;display:grid;grid-gap:.2rem;gap:.2rem}.hero-stat strong{font-size:.98rem}.hero-stat span{color:var(--muted);font-size:.85rem}.feature-grid{align-items:stretch}.feature-card{display:grid;grid-gap:.45rem;gap:.45rem}.home-footer{display:grid;grid-gap:.7rem;gap:.7rem;background:linear-gradient(120deg,#f8fcff,#f3fbf8)}.home-footer-title{display:grid;grid-gap:.35rem;gap:.35rem}.home-footer-links{display:flex;flex-wrap:wrap;gap:.6rem}.home-footer-link{display:inline-flex;align-items:center;gap:.42rem;border:1px solid #c7d8ee;background:#fff;border-radius:12px;padding:.55rem .75rem;font-weight:700;font-size:.9rem;box-shadow:0 6px 14px rgba(30,64,175,.09);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.home-footer-link:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(30,64,175,.14)}.home-footer-link.linkedin{color:#0a66c2;border-color:#b5d0f0}.home-footer-link.github{color:#111827;border-color:#d5d8de}.feature-icon{width:2.1rem;height:2.1rem;border-radius:10px;display:grid;place-items:center;border:1px solid #c5d9ef;background:#eff7ff;color:#1e3a8a}.sculpture-loader{display:grid;place-items:center;min-height:180px;text-align:center}.banking-loader{position:relative;width:190px;height:130px;display:grid;place-items:center;margin-bottom:.55rem}.banking-card{position:absolute;left:8px;top:18px;width:120px;height:78px;border-radius:14px;background:linear-gradient(145deg,#ffffff,#e8f6ff);border:1px solid #c7def5;box-shadow:0 10px 18px rgba(29,78,216,.12);display:grid;align-content:center;grid-gap:.35rem;gap:.35rem;padding:.7rem;animation:cardPulse 2.4s ease-in-out infinite}.banking-chip{width:24px;height:16px;border-radius:4px;background:linear-gradient(120deg,#fbbf24,#f59e0b);border:1px solid rgba(255,255,255,.5)}.banking-lines{display:grid;grid-gap:.25rem;gap:.25rem}.banking-lines span{height:6px;border-radius:6px;background:#cfe3f7}.banking-lines span:first-child{width:74%}.banking-lines span:last-child{width:52%}.banking-bars{position:absolute;right:14px;bottom:12px;width:54px;height:70px;display:flex;align-items:flex-end;gap:6px}.banking-bars .bar{width:12px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#34d399,#0c6f66)}.banking-bars .bar-a{height:22px;animation:growA 1.8s ease-in-out infinite}.banking-bars .bar-b{height:36px;animation:growB 1.8s ease-in-out infinite}.banking-bars .bar-c{height:52px;animation:growC 1.8s ease-in-out infinite}.banking-coin{position:absolute;right:52px;top:4px;width:28px;height:28px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#fde68a,#f59e0b);border:1px solid #fcd34d;display:grid;place-items:center;font-weight:800;color:#7c2d12;animation:coinMove 2.2s ease-in-out infinite}.banking-coin span{font-size:.82rem}@keyframes cardPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes coinMove{0%{transform:translate(0) scale(1);opacity:.8}45%{transform:translate(26px,52px) scale(1.05);opacity:1}to{transform:translate(0) scale(1);opacity:.8}}@keyframes growA{0%,to{height:22px}50%{height:30px}}@keyframes growB{0%,to{height:36px}50%{height:45px}}@keyframes growC{0%,to{height:52px}50%{height:62px}}@media (prefers-reduced-motion:reduce){.banking-bars .bar-a,.banking-bars .bar-b,.banking-bars .bar-c,.banking-card,.banking-coin,.login-btn-loading:after,.login-progress,.login-spinner,.skeleton-card:before{animation:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error{color:var(--danger);font-size:.85rem}.pill{font-size:.8rem;background:var(--brand-soft);color:#115e59;border-radius:999px;padding:.25rem .55rem}.field{display:grid;grid-gap:.38rem;gap:.38rem}.field label{font-size:.86rem;color:#334155;font-weight:600;letter-spacing:.01em}.dob-wrap{position:relative}.dob-segments{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding-right:5.1rem;display:flex;align-items:center;gap:.4rem;padding-left:.7rem;min-height:46px}.dob-segments:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px rgba(85,184,171,.18)}.dob-segments input{border:none;padding:.45rem .1rem;border-radius:0;box-shadow:none;background:transparent}.dob-segments input:focus{border:none;box-shadow:none}.dob-segments input:first-of-type,.dob-segments input:nth-of-type(2){width:2.3rem;text-align:center}.dob-segments input:nth-of-type(3){width:3.9rem;text-align:center}.dob-segments span{color:#64748b;font-weight:700}.dob-picker-btn{position:absolute;right:.36rem;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border-radius:8px;display:grid;place-items:center;box-shadow:none;border:1px solid var(--line);background:#fff;color:#0f4f4a;z-index:2}.dob-picker-btn:focus-visible,.dob-picker-btn:hover{transform:translateY(-50%);filter:none;box-shadow:none;border-color:#9ed7ce;background:#f3fffc}.dob-native-picker{position:absolute;right:.36rem;top:50%;transform:translateY(-50%);width:34px;height:34px;opacity:0;pointer-events:none}.avatar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.avatar-tile{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:.4rem;display:grid;min-height:86px;justify-items:center;align-items:center}.avatar-tile.active{border-color:#4ba89f;box-shadow:0 0 0 3px rgba(75,168,159,.2)}.avatar-svg{width:64px;height:64px;display:grid;place-items:center}.avatar-svg svg{width:64px;height:64px}.dashboard-avatar,.dashboard-avatar svg{width:74px;height:74px}.member-shell{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.member-sidebar{position:-webkit-sticky;position:sticky;top:.9rem}.member-sidebar-head{display:flex;align-items:center;gap:.6rem;padding-bottom:.8rem;margin-bottom:.7rem;border-bottom:1px solid var(--line)}.member-sidebar-head .dashboard-avatar,.member-sidebar-head .dashboard-avatar svg{width:54px;height:54px}.member-nav-list{display:grid;grid-gap:.4rem;gap:.4rem}.member-nav-item{width:100%;justify-content:flex-start;gap:.45rem;background:#fff;color:#0f172a;border-color:var(--line);box-shadow:none}.member-nav-item.active{background:#0c6f66;color:#fff;border-color:#0c6f66}.member-content{min-width:0;width:100%}.dashboard-overview-grid{grid-template-columns:minmax(380px,1.65fr) minmax(220px,1fr) minmax(220px,1fr);align-items:start;grid-auto-rows:min-content;gap:.8rem}.dashboard-overview-grid>.card{min-width:0;align-self:start}.accounting-top-layout{display:grid;grid-template-columns:minmax(460px,1.65fr) minmax(280px,1fr);grid-gap:.8rem;gap:.8rem;align-items:start;width:100%;min-width:0}.accounting-side-cards{gap:.8rem}.overview-snapshot-grid{align-items:start}.overview-balance-card{overflow:visible}.balance-control-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);grid-gap:.75rem;gap:.75rem;align-items:start}.accounting-balance-card .balance-control-layout{grid-template-columns:minmax(260px,1.05fr) minmax(300px,1fr)}.accounting-lower-grid{align-items:start;grid-template-columns:minmax(440px,1.4fr) minmax(280px,1fr);width:100%;min-width:0}.accounting-entry-card,.accounting-recent-card{min-width:0}.expense-recent-list{max-height:390px;overflow:auto;padding-right:.1rem}.overview-balance-card .dob-segments,.overview-balance-card .dob-wrap,.overview-balance-card .field,.overview-balance-card form{min-width:0;max-width:100%}.overview-balance-card button,.overview-balance-card input,.overview-balance-card select,.overview-balance-card textarea{max-width:100%}.balance-log-list{max-height:240px;overflow:auto;padding-right:.1rem}.balance-log-entry .row{gap:.5rem}.balance-log-amount,.balance-log-note{overflow-wrap:anywhere;word-break:break-word}.member-mobile-nav{display:none}.admin-top .card:first-child{background:linear-gradient(135deg,#f0fdfa,#eef2ff)}.admin-table{width:100%;border-collapse:collapse;min-width:920px}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);padding:.55rem .45rem;font-size:.92rem}.admin-table thead th{color:#334155;background:#f8fbff;position:-webkit-sticky;position:sticky;top:0}.admin-table tbody tr:hover{background:#f8fffd}.chat-nav-icon{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid var(--line);border-radius:10px;background:#fff}.chat-icon-wrap{position:relative;width:16px;height:16px;display:inline-grid;place-items:center}.chat-alert-dot{position:absolute;top:-4px;right:-5px;width:9px;height:9px;border-radius:999px;background:#ef4444;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(239,68,68,.2)}.chat-nav-icon.has-alert{border-color:#f2b0b0;background:#fff8f8}.chat-layout{align-items:start}.chat-list{max-height:360px;overflow:auto}.chat-box{border:1px solid var(--line);border-radius:12px;min-height:320px;max-height:420px;overflow:auto;padding:.65rem;display:grid;grid-gap:.45rem;gap:.45rem;background:#fbfeff}.chat-box-messenger{background:linear-gradient(180deg,#f8fcff,#f2f8ff);padding:.8rem}.chat-bubble{max-width:min(90%,540px);padding:.52rem .65rem;border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 10px rgba(15,23,42,.04)}.chat-bubble.mine{margin-left:auto;background:#d9f7ec;border-color:#79d6b6;border-bottom-right-radius:6px}.chat-bubble.other{margin-right:auto;background:#fff;border-bottom-left-radius:6px}.chat-title-icon{width:1.7rem;height:1.7rem;border-radius:10px;display:inline-grid;place-items:center;border:1px solid var(--line);background:#eef7ff;color:#1e3a8a}.chat-user-row{display:inline-flex;align-items:center;gap:.55rem;justify-content:flex-start}.chat-user-meta{display:grid;grid-gap:.05rem;gap:.05rem;text-align:left}.chat-member-btn{width:100%;display:inline-flex;justify-content:flex-start;align-items:center;border:1px solid var(--line);border-radius:12px}.chat-member-btn,.chat-member-btn.secondary{background:#fff;color:var(--text);box-shadow:none}.chat-member-btn.secondary{border-color:var(--line)}.chat-member-btn.secondary:focus-visible,.chat-member-btn.secondary:hover{transform:none;filter:none;background:#f8fbff}.chat-member-btn.active{background:linear-gradient(135deg,#0c6f66,#0a8a7f);border-color:#0b6f66;color:#fff}.chat-member-btn.active .chat-member-username{color:#d9fff7}.chat-member-btn.active .chat-relationship-chip{color:#0f4f4a;background:#e6fffa}.chat-member-username{color:#4f607f;font-size:.9rem}.chat-member-skeleton{display:flex;align-items:center;gap:.65rem;padding:.5rem;border:1px solid var(--line);border-radius:12px;background:#fff}.chat-member-skeleton-meta{flex:1 1;display:grid;grid-gap:.35rem;gap:.35rem}.family-member-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fbfeff;padding:.35rem;display:grid;grid-gap:.3rem;gap:.3rem}.family-member-item{width:100%;background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none;display:flex;align-items:center;gap:.55rem;padding:.42rem .5rem;border-radius:10px;justify-content:flex-start;overflow:hidden}.family-member-item:focus-visible,.family-member-item:hover{transform:none;filter:none;border-color:#9ed7ce;background:#f4fffc}.family-member-item.active{border-color:#0c6f66;background:#e8fff8}.family-member-meta{display:grid;grid-gap:.05rem;gap:.05rem;text-align:left;min-width:0}.family-member-meta .muted,.family-member-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-top-grid{align-items:start;grid-template-columns:minmax(420px,1.7fr) minmax(280px,1fr);width:100%;min-width:0}.family-top-grid>.card{align-self:start}.family-connect-card,.family-notify-card{min-width:0}.family-page-layout{width:100%}.chat-relationship-chip{display:inline-block;margin-left:.45rem;padding:.1rem .45rem;background:#f8fbff;font-size:.72rem}.chat-relationship-chip,.chat-user-avatar{border-radius:999px;border:1px solid var(--line)}.chat-user-avatar{width:34px;height:34px;overflow:hidden;background:#fff;flex:0 0 auto;display:grid;place-items:center}.chat-user-avatar svg{width:34px;height:34px}.chat-message-row{display:flex;align-items:flex-start;gap:.45rem}.chat-message-row.mine{justify-content:flex-end}.chat-message-content{white-space:pre-wrap;word-break:break-word;line-height:1.36}.chat-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.chat-bubble.mine .chat-link{color:#0f4f9b}.chat-message-avatar,.chat-message-avatar svg{width:28px;height:28px}.chat-meta{margin-top:.25rem;font-size:.75rem;color:#475569;display:flex;align-items:center;gap:.4rem}.chat-meta.mine{justify-content:flex-end}.chat-meta.other{justify-content:flex-start}.mini-bar{width:100%;height:8px;border-radius:999px;background:#e8f0fb;overflow:hidden}.mini-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0c6f66,#33b5a2)}.chat-status{display:inline-flex;align-items:center;gap:.2rem;font-weight:600}.chat-status.sent{color:#6b7280}.chat-status.delivered{color:#0f766e}.chat-status.seen{color:#2563eb}.timeline-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:.8rem;gap:.8rem;align-items:start}.timeline-weekdays{color:#64748b;font-size:.78rem;text-align:center}.timeline-calendar-grid,.timeline-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.3rem;gap:.3rem}.timeline-day,.timeline-day-empty{height:34px;border-radius:9px}.timeline-day-empty{border:1px dashed #e2e8f0}.timeline-day{border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;box-shadow:none;padding:0}.timeline-day.green{background:#e8fff5;border-color:#9de3c4;color:#065f46}.timeline-day.red{background:#fff2f2;border-color:#fecaca;color:#991b1b}.timeline-day.yellow{background:#fffbe6;border-color:#fde68a;color:#92400e}.timeline-day.neutral{background:#f8fbff;border-color:#dbe7f5;color:#334155}.timeline-day.active{box-shadow:0 0 0 3px rgba(12,111,102,.2);border-color:#0c6f66}.brand-logo{display:inline-flex;align-items:center;gap:.34rem;overflow:hidden;border-radius:999px;border:1px solid var(--line);background:linear-gradient(120deg,#effffb,#f4f7ff);padding:.34rem .68rem .34rem .42rem;line-height:1;font-weight:800;color:#0e4e4a;transition:border-color .3s ease,box-shadow .3s ease,background .45s ease}.brand-mark{width:1.4rem;height:1.4rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(140deg,#0c6f66,#0a8a7f);color:#fff;box-shadow:inset 0 1px 1px rgba(255,255,255,.3)}.brand-logo .short{letter-spacing:.01em;opacity:1;max-width:120px;transform:translateX(0) scale(1);transition:max-width .72s cubic-bezier(.22,1,.36,1),opacity .62s ease,transform .72s cubic-bezier(.22,1,.36,1)}.brand-logo .long{max-width:0;opacity:0;margin-left:-.08rem;white-space:nowrap;transform:translateX(-11px);transition:max-width .86s cubic-bezier(.22,1,.36,1),opacity .7s ease,margin-left .6s ease,transform .86s cubic-bezier(.22,1,.36,1)}.brand-logo:focus-visible,.brand-logo:hover{border-color:#9ed7ce;box-shadow:0 0 0 3px rgba(85,184,171,.16);background:linear-gradient(120deg,#e3fff8,#e9f4ff)}.brand-logo:focus-visible .long,.brand-logo:hover .long{max-width:188px;opacity:1;margin-left:.12rem;transform:translateX(0)}.brand-logo:focus-visible .short,.brand-logo:hover .short{max-width:0;opacity:0;transform:translateX(-11px) scale(.98)}.home-logo-mark{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .7rem .35rem .4rem;border-radius:999px;border:1px solid #c6d9ef;background:linear-gradient(120deg,#fbfeff,#f1f7ff);width:-moz-fit-content;width:fit-content;color:#0f3f6e;box-shadow:0 6px 14px rgba(30,64,175,.08)}.home-logo-icon{width:1.65rem;height:1.65rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(140deg,#0c6f66,#0a8a7f);color:#fff}.login-form.is-loading{border-color:#9ed7ce;box-shadow:0 10px 28px rgba(12,111,102,.16)}.login-btn-loading{position:relative;overflow:hidden}.login-btn-loading:after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.15),rgba(255,255,255,.95),rgba(255,255,255,.15));animation:loginSweep 1.15s linear infinite}.login-btn-inner{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.login-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}.login-progress{height:4px;border-radius:999px;background:linear-gradient(90deg,#c8f2ea,#8ad5c8 50%,#c8f2ea);background-size:180% 100%;animation:progressFlow 1.2s linear infinite}.skeleton-card{position:relative;overflow:hidden}.skeleton-card:before{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(219,234,254,.52) 48%,rgba(255,255,255,0));animation:skeletonSweep 1.35s ease-in-out infinite}.skeleton-avatar,.skeleton-block,.skeleton-chat-msg,.skeleton-line,.skeleton-line-lg{border-radius:10px;background:#e7eef8}.skeleton-line{height:12px}.skeleton-line-lg{height:34px}.skeleton-avatar{width:52px;height:52px;border-radius:999px}.skeleton-block{height:170px}.skeleton-chat-msg{width:74%;height:44px;border-radius:15px}.skeleton-chat-msg.mine{margin-left:auto;width:64%}@keyframes spin{to{transform:rotate(1turn)}}@keyframes loginSweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes progressFlow{0%{background-position:0 0}to{background-position:180% 0}}@keyframes skeletonSweep{to{transform:translateX(100%)}}@media (min-width:901px) and (max-width:1200px){.family-top-grid{grid-template-columns:minmax(340px,1.45fr) minmax(240px,1fr)}.accounting-lower-grid{grid-template-columns:minmax(340px,1.2fr) minmax(240px,1fr)}.accounting-top-layout{grid-template-columns:minmax(360px,1.45fr) minmax(240px,1fr)}}@media (max-width:900px){.container{width:min(1100px,94%)}.accounting-lower-grid,.accounting-top-layout,.balance-control-layout,.dashboard-overview-grid,.family-top-grid,.grid-2,.grid-3,.overview-snapshot-grid{grid-template-columns:1fr}.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-shell{flex-wrap:wrap;gap:.7rem}.top-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;align-items:center}.top-nav>a,.top-nav>form{min-width:0}.top-nav>a,.top-nav>form>button{width:100%;justify-content:center;padding:.55rem .5rem}.top-nav .chat-nav-icon{justify-content:center;gap:.35rem}.dashboard-head{flex-direction:column;align-items:flex-start;gap:.85rem}.dashboard-balance{text-align:left!important}.control-row{flex-wrap:wrap;align-items:flex-start}.control-row .pill{margin-top:.25rem}.home-cta{flex-wrap:wrap}.home-footer-links{flex-direction:column}.home-cta .action-btn,.home-cta a,.home-cta button{width:100%}.admin-table{min-width:760px}.chat-box{min-height:260px;max-height:340px}.chat-bubble{max-width:100%}.member-shell,.timeline-layout{grid-template-columns:1fr}.member-sidebar{display:none}.member-content{padding-bottom:5.1rem}.member-mobile-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:.65rem;width:min(96%,720px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.2rem;gap:.2rem;background:#0f172a;border-radius:16px;padding:.35rem;border:1px solid #1f2937;z-index:60;box-shadow:0 16px 28px rgba(15,23,42,.35)}.member-mobile-nav-item{border:0;background:transparent;color:#e2e8f0;box-shadow:none;display:grid;justify-items:center;grid-gap:.1rem;gap:.1rem;padding:.35rem .2rem;border-radius:12px;font-size:.68rem;font-weight:600}.member-mobile-nav-item:focus-visible,.member-mobile-nav-item:hover{transform:none;filter:none;background:#1f2937}.member-mobile-nav-item.active{background:#0284c7;color:#fff}.member-mobile-avatar{width:20px;height:20px;display:grid;place-items:center;overflow:hidden;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:#fff}.member-mobile-avatar svg{width:20px;height:20px}}@media (max-width:1280px){.accounting-balance-card .balance-control-layout{grid-template-columns:1fr}}@media (max-width:560px){.card{padding:.85rem;border-radius:12px}.row{flex-wrap:wrap}.brand-logo{width:100%;justify-content:center}.dob-segments{min-height:44px;padding-left:.55rem;gap:.25rem}.dob-segments input:first-of-type,.dob-segments input:nth-of-type(2){width:2rem}.dob-segments input:nth-of-type(3){width:3.4rem}.avatar-grid{grid-template-columns:1fr 1fr;gap:.45rem}.avatar-svg,.avatar-svg svg{width:56px;height:56px}.admin-table{min-width:680px}.top-nav .chat-nav-icon span{display:inline}.top-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.header-logout-btn{width:100%}.page-actions{flex-direction:column;align-items:stretch}.action-btn{justify-content:center}.balance-log-list{max-height:220px}.accounting-lower-grid,.accounting-top-layout,.family-top-grid{gap:.65rem}}