:root{--navy:#0F2D4A;--teal:#14B8A6;--teal-dark:#0F9F98;--blue:#3B82F6;--yellow:#FBBF24;--off:#F9FAFB;--muted:#7C8798;--success:#22C55E;--danger:#EF4444;--line:#E5E7EB;--white:#fff;--shadow:0 12px 35px rgba(15,45,74,.08);font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--navy);background:var(--off)}*{box-sizing:border-box}html{min-height:100%;background:var(--off)}body{margin:0;min-height:100vh;background:var(--off);color:var(--navy);line-height:1.45}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(59,130,246,.35)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.12}h2{font-size:1.2rem}small,.muted{color:var(--muted)}code{background:#eef4f7;border-radius:7px;padding:.12rem .35rem;overflow-wrap:anywhere}.shell{width:min(100% - 28px,1080px);margin-inline:auto}.public-shell{display:grid;place-items:center;min-height:100vh;padding:28px 0}.card{background:var(--white);border:1px solid rgba(15,45,74,.08);border-radius:20px;padding:clamp(18px,4vw,28px);box-shadow:var(--shadow);margin-bottom:18px}.auth-card,.setup-card{width:min(100%,560px)}.brand-wordmark{display:block;width:min(100%,360px);height:auto;margin:0 auto 8px}.tagline{text-align:center;color:var(--muted);margin:0 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:.76rem;color:var(--teal-dark);margin-bottom:5px}.stack{display:grid;gap:15px}.stack label,.filters label{display:grid;gap:6px;font-weight:700}.stack label small{font-weight:400}.stack input,.stack select,.inline-form input,.inline-form select,.filters input,.filters select,.manage-row input,.manage-row select,.redeem-form select{width:100%;border:1px solid #cfd8e3;border-radius:12px;background:#fff;color:var(--navy);padding:12px 13px;min-height:44px}.check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;font-weight:500!important}.check input{width:auto!important;min-height:auto!important;margin-top:4px}.btn{border:0;border-radius:12px;background:var(--teal);color:#fff;font-weight:800;min-height:44px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}.btn:hover{background:var(--teal-dark);text-decoration:none}.btn.secondary{background:#eaf2ff;color:#175fc8}.btn.danger{background:var(--danger)}.btn.danger-outline{background:#fff;color:#b91c1c;border:1px solid #fecaca}.btn.compact,.btn.small{min-height:38px;padding:8px 13px;font-size:.9rem}.btn.wide{width:100%}.alert{border-radius:12px;padding:12px 14px;margin:0 0 16px;font-weight:650}.alert.danger{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.alert.success{background:#effdf6;color:#166534;border:1px solid #bbf7d0}.auth-links,.public-footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:18px;font-size:.92rem}.public-footer{padding-top:15px;border-top:1px solid var(--line)}.honeypot{position:absolute!important;left:-10000px!important}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.center{text-align:center}.button-row{display:flex;gap:10px;flex-wrap:wrap}.stepper{display:flex;justify-content:center;gap:12px;margin:12px 0 28px}.stepper span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5e7eb;color:var(--muted);font-weight:800}.stepper span.active{background:var(--teal);color:#fff}.check-list{display:grid;gap:8px;margin:16px 0}.check-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f5f7f9}.check-row.good strong{color:#15803d}.check-row.bad strong{color:#b91c1c}.check-row small{text-align:right}.qr{display:grid;place-items:center;margin:15px 0}.qr svg{width:min(100%,290px);height:auto;border:10px solid white;border-radius:10px}.summary-box,.success-panel{background:#f0fdfa;border:1px solid #99f6e4;border-radius:14px;padding:16px}.family-code{font-size:1.8rem;letter-spacing:.08em}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 24px}.recovery-codes code{text-align:center;padding:10px}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:rgba(249,250,251,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand-compact{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:900;min-width:0}.brand-compact:hover{text-decoration:none}.brand-compact img{width:36px;height:36px}.app-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.family-name{font-size:.88rem;color:var(--muted);max-width:34vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-logout-form{margin:0;display:flex}.quick-logout-btn{min-height:40px;padding:7px 11px;border:1px solid #d7e1ea;border-radius:10px;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.quick-logout-btn:hover{background:#f2f7fa}.quick-logout-icon{width:20px;height:20px;display:grid;place-items:center}.quick-logout-icon .nav-icon-svg{width:20px;height:20px}.active-family-entry{display:grid;gap:12px}.active-family-entry p{display:grid;gap:3px;margin:0;padding:12px 14px;border-radius:12px;background:#f2fbfa;border:1px solid #d3efeb;text-align:left}.active-family-entry p strong{font-size:.78rem;color:#087a71}.active-family-entry p span{font-weight:750;color:var(--navy)}.app-main{width:min(100% - 24px,900px);margin:22px auto 100px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 25px rgba(15,45,74,.06)}.bottom-nav a{text-align:center;padding:10px 5px;color:var(--navy);font-weight:700;border-radius:10px;font-size:.9rem}.bottom-nav .primary-nav{background:#e7fbf8;color:#087a71}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:18px}.page-head h1{margin-bottom:0}.period-tabs{display:flex;gap:6px;margin-bottom:14px;background:#edf1f4;padding:4px;border-radius:12px}.period-tabs a{flex:1;text-align:center;padding:9px;border-radius:9px;color:var(--navy);font-weight:750}.period-tabs a.active{background:#fff;box-shadow:0 2px 8px rgba(15,45,74,.08)}.ranking{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ranking li{display:grid;grid-template-columns:42px 46px 1fr auto;align-items:center;gap:10px;padding:9px;border-radius:12px}.ranking li.top{background:#f8fafc}.ranking li.top-1{background:#fff9e8;border:1px solid #fde68a}.rank{font-weight:900;color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#eef2f7}.avatar.initials{display:grid;place-items:center;background:#dff7f4;color:#087a71;font-weight:900}.member-name{font-weight:750}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.ledger-list{display:grid}.ledger-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.ledger-row:last-child{border-bottom:0}.ledger-row>div:first-child{display:grid}.ledger-row span{color:var(--muted)}.delta{font-weight:900;white-space:nowrap}.delta.positive{color:#15803d}.delta.negative{color:#b91c1c}.empty{color:var(--muted);text-align:center;padding:15px}.fast-register h2{margin:20px 0 10px}.member-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px;padding:3px 2px 10px}.member-chip{min-width:0;min-height:84px;width:100%;border:2px solid transparent;background:#fff;border-radius:15px;padding:9px 6px;display:grid;justify-items:center;align-content:center;gap:5px;box-shadow:0 3px 12px rgba(15,45,74,.08);cursor:pointer;touch-action:manipulation}.member-chip>span:last-child{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.member-chip.selected{border-color:var(--teal);background:#effdfb}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-tile{min-height:100px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;padding:12px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;text-align:left;gap:5px 8px;color:var(--navy);cursor:pointer;touch-action:manipulation}.task-tile>span:not(.task-icon){min-width:0;overflow-wrap:anywhere}.task-tile strong{grid-column:2;color:var(--teal-dark)}.task-tile:disabled{opacity:.45}.task-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e8fbf8;color:#087a71;font-weight:900}.manual-card{margin-top:18px}.manual-card summary{font-weight:800;cursor:pointer}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;width:min(calc(100% - 24px),520px);background:var(--navy);color:#fff;padding:13px 16px;border-radius:14px;box-shadow:0 15px 30px rgba(15,45,74,.25)}.toast button{float:right;background:transparent;border:0;color:#7dd3fc;font-weight:800;cursor:pointer}.inline-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.inline-form>*:not(button){flex:1;min-width:140px}.inline-form.three input:nth-of-type(3){max-width:110px}.manage-list{display:grid}.manage-row,.device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.manage-row>input[name="name"]{flex:1}.identity{display:flex;align-items:center;gap:8px;flex:1;min-width:180px}.identity input{min-width:0}.row-fields{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.file-small{font-size:.85rem}.file-small input{max-width:175px}.number-small{width:90px!important}.metric{color:var(--muted);white-space:nowrap}.reward-block{border-bottom:1px solid var(--line);padding-bottom:7px}.reward-block .manage-row{border-bottom:0}.redeem-form{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:4px 0 10px}.redeem-form label{display:flex;gap:7px;align-items:center}.redeem-result{font-size:.88rem;color:var(--muted)}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filters label{flex:1;min-width:135px}.history-list small{display:block;color:var(--muted)}.history-deltas{display:grid;text-align:right;font-size:.9rem}.link-btn{border:0;background:none;color:var(--blue);padding:0;cursor:pointer;font-weight:700}.type-reward{border-left:4px solid var(--yellow);padding-left:10px}.type-reversal{border-left:4px solid var(--muted);padding-left:10px}.type-manual{border-left:4px solid var(--blue);padding-left:10px}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 25px}.meta-grid div{padding:8px 0;border-bottom:1px solid var(--line)}.meta-grid dt{color:var(--muted);font-size:.85rem}.meta-grid dd{margin:3px 0 0;font-weight:700}.admin-header{background:var(--navy);color:#fff;padding:12px max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.admin-header .brand-compact{color:#fff}.admin-header nav{display:flex;gap:12px;flex-wrap:wrap}.admin-header nav a{color:#dbeafe}.admin-main{width:min(100% - 28px,1180px);margin:26px auto}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:grid;box-shadow:var(--shadow)}.kpi strong{font-size:1.65rem}.kpi span{color:var(--muted)}.small-kpis{margin-top:18px}.badge{background:#e6faf7;color:#087a71;padding:6px 10px;border-radius:999px;font-weight:800}.stack-links{display:grid;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.action-grid{display:flex;gap:8px;flex-wrap:wrap}.legal{width:min(100%,760px)}.legal h2{margin-top:25px}hr{border:0;border-top:1px solid var(--line);margin:22px 0}
@media(max-width:680px){.shell{width:min(100% - 18px,1080px)}.public-shell{place-items:start center;min-height:100svh;padding:max(12px,env(safe-area-inset-top)) 0 max(24px,env(safe-area-inset-bottom))}.auth-card,.setup-card{margin-bottom:0}.grid2,.meta-grid{grid-template-columns:1fr}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manage-row,.device-row{align-items:stretch;flex-direction:column}.manage-row{padding:14px 0}.row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;justify-content:stretch;width:100%}.row-fields .number-small{width:100%!important}.row-fields .file-small,.row-fields .metric{grid-column:1/-1}.row-fields .metric{white-space:normal}.row-fields>.btn{width:100%}.redeem-form{display:grid;grid-template-columns:1fr;justify-content:stretch;width:100%}.redeem-form label{display:grid;align-items:stretch}.redeem-form select,.redeem-form .btn{width:100%}.filters{display:grid;grid-template-columns:1fr;width:100%}.filters label{min-width:0}.page-head{align-items:flex-start}.admin-header{display:block;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:max(10px,env(safe-area-inset-top))}.admin-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin-top:10px}.admin-header nav a,.admin-header .nav-link{display:flex;align-items:center;min-height:44px;padding:8px 4px}.admin-header .nav-form{display:block}.admin-main{width:min(100% - 18px,1180px);margin:16px auto 28px}.table-wrap{-webkit-overflow-scrolling:touch}.recovery-codes{grid-template-columns:1fr}.check-row{display:grid}.check-row small{text-align:left}.ranking li{grid-template-columns:32px 42px minmax(0,1fr) auto}.inline-form{display:grid;grid-template-columns:1fr;width:100%}.inline-form>*{width:100%}.family-name{display:none}}
@media(max-width:560px){.app-header{gap:8px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.brand-compact{gap:6px}.brand-compact img{width:34px;height:34px}.brand-compact>span:not(.header-version){font-size:.92rem}.header-version{font-size:.62rem}.app-header-actions{gap:6px}.family-name{max-width:26vw;font-size:.76rem}.quick-logout-btn{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px}.quick-logout-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:400px){.app-main{width:min(100% - 16px,900px);margin-top:14px}.bottom-nav{gap:2px;padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right))}.bottom-nav a{font-size:.8rem;padding-inline:3px}.card{border-radius:16px;padding:16px}.ranking li{grid-template-columns:26px 36px minmax(0,1fr) auto;gap:7px}.avatar{width:36px;height:36px}.member-picker{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:7px}.member-chip{min-height:80px;padding:8px 5px}.task-tile{min-height:92px;padding:10px;grid-template-columns:28px minmax(0,1fr);gap:4px 7px}.task-icon{width:28px;height:28px}}
@media(max-width:340px){.member-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav a{font-size:.76rem}}

.nav-form{display:inline;margin:0}.nav-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer}.admin-header .nav-link{color:#dbeafe}.negative{color:var(--danger)!important}

/* family dashboard / quick points / rewards — phone portrait first */
.ranking-periods{position:sticky;top:58px;z-index:8}.ranking-periods a{padding-inline:6px;font-size:.88rem}
.podium-card{overflow:hidden}.podium-card .section-title{margin-bottom:8px}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;padding:10px 0 16px}.podium-place{display:grid;justify-items:center;gap:5px;text-align:center;min-width:0}.podium-place.place-1{order:2}.podium-place.place-2{order:1}.podium-place.place-3{order:3}.podium-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:4px solid #dbeafe;background:#edf2f7;display:grid;place-items:center;font-weight:900}.place-1 .podium-avatar{width:82px;height:82px;border-color:#facc15}.place-2 .podium-avatar{border-color:#cbd5e1}.place-3 .podium-avatar{border-color:#fdba74}.podium-medal{font-size:.78rem;font-weight:900;padding:3px 8px;border-radius:999px;background:#eef2f7}.place-1 .podium-medal{background:#fef3c7}.place-3 .podium-medal{background:#ffedd5}.podium-place strong,.podium-place span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-rest{border-top:1px solid var(--line);padding-top:9px}
.quick-hint{color:var(--muted);margin:2px 2px 12px}.task-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9edf1;padding:4px;border-radius:14px;margin-bottom:10px}.task-type-tabs button{border:0;background:transparent;color:var(--navy);border-radius:11px;min-height:44px;font-weight:800;cursor:pointer}.task-type-tabs button.active{background:#fff;box-shadow:0 2px 8px rgba(15,45,74,.10)}.task-grid[hidden]{display:none!important}.task-empty{grid-column:1/-1}.penalty-task .task-icon{background:#fff1f2;color:#dc2626}.penalty-task strong{color:#dc2626}.positive-task strong{color:#16a34a}
.member-sheet{width:min(calc(100% - 16px),560px);max-height:min(78svh,720px);border:0;border-radius:24px 24px 16px 16px;padding:12px 14px 20px;color:var(--navy);box-shadow:0 25px 70px rgba(15,45,74,.28);overflow:auto}.member-sheet::backdrop{background:rgba(15,23,42,.38);backdrop-filter:blur(2px)}.sheet-handle{width:44px;height:5px;border-radius:999px;background:#cbd5e1;margin:0 auto 12px}.sheet-close{float:right;border:0;background:#f1f5f9;border-radius:999px;width:40px;height:40px;font-size:1.5rem;line-height:1;cursor:pointer}.member-sheet h2{clear:both;text-align:center;margin:8px 0 4px}.member-sheet>p{text-align:center}.member-sheet-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}
.reward-member-card h2{margin-bottom:10px}.reward-member-picker a{text-decoration:none;color:var(--navy)}.reward-member-picker .member-chip small{font-weight:800;color:var(--teal-dark)}.wallet-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:18px}.wallet-summary h2{margin-bottom:2px}.wallet-summary small{display:block}.wallet-total{font-size:1.65rem;color:var(--teal-dark);display:block}.wallet-avatar{width:72px;height:72px}.reward-title{margin-top:8px}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-tile{min-height:118px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;padding:12px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;text-align:left;gap:6px 9px;color:var(--navy);cursor:pointer;touch-action:manipulation}.reward-tile .reward-icon{width:34px;height:34px;border-radius:10px;background:#fff7d6;color:#b7791f;display:grid;place-items:center;font-size:1.2rem}.reward-tile>span:not(.reward-icon){min-width:0;overflow-wrap:anywhere;font-weight:750}.reward-tile strong{grid-column:2;color:var(--teal-dark)}.reward-tile.unaffordable{opacity:.55}.reward-tile:disabled{opacity:.45}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:6px}.bottom-nav a{display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;padding:6px 2px;font-size:.75rem;line-height:1.05;min-height:54px}.bottom-nav .nav-icon{font-size:1.18rem;line-height:1}.bottom-nav .primary-nav{margin-top:-16px;min-height:68px;border-radius:18px;background:var(--teal);color:#fff;box-shadow:0 9px 22px rgba(20,184,166,.28);border:5px solid #fff}.bottom-nav .primary-nav .nav-icon{font-size:1.35rem}
@media(max-width:680px){.home-head .btn{display:none}.ranking-periods{top:55px}.member-sheet{position:fixed;inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;width:auto;margin:0;max-height:82svh}.reward-member-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:400px){.ranking-periods a{font-size:.78rem;padding:8px 3px}.podium{gap:5px}.podium-avatar{width:54px;height:54px}.place-1 .podium-avatar{width:70px;height:70px}.podium-place strong{font-size:.9rem}.podium-place span{font-size:.78rem}.member-sheet-grid,.reward-member-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.member-sheet-grid .member-chip,.reward-member-picker .member-chip{min-height:76px;padding:6px 3px}.member-sheet-grid .avatar,.reward-member-picker .avatar{width:34px;height:34px}.bottom-nav a{font-size:.7rem;padding-inline:1px}.bottom-nav .nav-icon{font-size:1.08rem}}
@media(max-width:340px){.member-sheet-grid,.reward-member-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav a{font-size:.65rem}}

/* Member identity: photo, optional emoji, then initials. */
.avatar.emoji-avatar,.podium-avatar.emoji-avatar{display:grid;place-items:center;background:#f3f4f6;font-size:1.45rem;line-height:1}.podium-avatar.emoji-avatar{font-size:2rem}.emoji-input{max-width:92px;text-align:center;font-size:1.25rem}.emoji-small{display:grid;gap:4px;font-size:.85rem}.member-add-form .emoji-input{flex:0 0 92px;min-width:78px}
@media(max-width:680px){.member-add-form{display:grid;grid-template-columns:minmax(0,1fr) 88px auto;align-items:end}.manage-row .emoji-small{width:84px}.manage-row .emoji-input{width:84px!important}.podium-avatar.emoji-avatar{font-size:1.8rem}}
@media(max-width:400px){.member-add-form{grid-template-columns:minmax(0,1fr) 78px}.member-add-form .btn{grid-column:1/-1}.emoji-input{max-width:100%}}

/* desktop refinements */
.manage-help{margin:4px 0 0}.spaced-list{gap:0}.member-form-card{display:grid;gap:16px}.member-form-main input{font-size:1rem}.member-form-actions{display:flex;justify-content:flex-end}.member-row{display:grid;gap:14px;align-items:stretch}.member-row-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.identity-wide{display:flex;align-items:center;gap:12px;min-width:0}.identity-fields{display:grid;gap:6px;min-width:0}.identity-fields input{min-width:220px}.avatar-large{width:56px;height:56px}.member-inline-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.inline-check{align-items:center!important}.member-edit-grid{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.file-card{display:grid;gap:6px;font-size:.92rem;font-weight:700}.file-card input{max-width:100%}.avatar-picker-block{display:grid;gap:10px}.picker-title{font-size:.9rem;font-weight:800;color:var(--navy)}.avatar-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.avatar-picker-grid.compact{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.avatar-option{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;text-align:center;padding:8px 6px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;cursor:pointer;min-height:110px}.avatar-option input{position:absolute;opacity:0;pointer-events:none}.avatar-option-frame{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;overflow:hidden;border:2px solid transparent}.avatar-option-frame img{width:100%;height:100%;display:block}.avatar-option span:last-child{font-size:.76rem;line-height:1.15;color:var(--navy);font-weight:700}.avatar-option input:checked + .avatar-option-frame{border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.14)}.avatar-option:has(input:checked){border-color:var(--teal);background:#f0fdfa}.empty-option .avatar-option-frame{background:#eef2f7;color:var(--muted);font-weight:900}.catalog-create-form{margin-bottom:12px}.catalog-row{align-items:center}.catalog-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:230px}.catalog-identity input{flex:1}.row-fields-wide{flex:1;justify-content:flex-end}.catalog-art,.task-art,.reward-art,.redeem-art{width:38px;height:38px;display:block}.task-icon,.reward-icon{display:grid;place-items:center;background:transparent;border-radius:0;width:auto;height:auto;padding:0}.task-art{width:34px;height:34px}.reward-art{width:38px;height:38px}.redeem-art{width:34px;height:34px}.reward-icon .reward-art,.task-icon .task-art{width:100%;height:100%}.task-tile,.reward-tile{grid-template-columns:40px minmax(0,1fr)}.task-tile strong,.reward-tile strong{grid-column:2}.redeem-item{display:flex;align-items:center;gap:10px;min-width:0}.redeem-item label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions{display:flex;justify-content:flex-end}.history-actions{display:flex;align-items:center;gap:14px}.badge-light{background:#eef2f7;border-radius:999px;padding:4px 8px}.single-action{justify-content:flex-start}.top-spaced{margin-top:12px}.avatar-illustrated{background:#fff}.app-header .brand-compact:hover{text-decoration:none}
@media(max-width:900px){.member-edit-grid{grid-template-columns:1fr}.member-row-top{flex-direction:column}.member-inline-meta{justify-content:flex-start}.row-fields-wide{width:100%}}
@media(max-width:680px){.member-form-card,.member-row{gap:12px}.avatar-picker-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.member-inline-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.catalog-identity{min-width:0;width:100%}.catalog-row .row-fields-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.catalog-row .row-fields-wide>.btn{width:100%}.history-actions{align-items:flex-end;flex-direction:column}}

/* R1 sizing corrections + stronger visual cards */
.avatar-picker-grid.compact{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px}
.avatar-option{min-height:108px;overflow:hidden}
.avatar-option-frame{width:62px!important;height:62px!important;max-width:62px;max-height:62px;flex:0 0 62px}
.avatar-option-frame img{width:62px!important;height:62px!important;max-width:62px;max-height:62px;object-fit:contain}
.catalog-identity{min-width:0}
.catalog-art{width:62px!important;height:62px!important;max-width:62px;max-height:62px;flex:0 0 62px;object-fit:contain}
.catalog-row{min-height:86px}
.catalog-row .row-fields-wide{min-width:0}
.task-tile{min-height:108px;grid-template-columns:62px minmax(0,1fr)}
.task-icon{width:58px!important;height:58px!important;max-width:58px;max-height:58px;align-self:center}
.task-art{width:58px!important;height:58px!important;max-width:58px;max-height:58px;object-fit:contain}
.reward-tile{min-height:124px;grid-template-columns:68px minmax(0,1fr)}
.reward-icon{width:64px!important;height:64px!important;max-width:64px;max-height:64px;align-self:center}
.reward-art{width:64px!important;height:64px!important;max-width:64px;max-height:64px;object-fit:contain}
.redeem-art{width:44px!important;height:44px!important;max-width:44px;max-height:44px;object-fit:contain}
@media(max-width:680px){.avatar-picker-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-option-frame,.avatar-option-frame img{width:56px!important;height:56px!important;max-width:56px;max-height:56px}.catalog-art{width:54px!important;height:54px!important;max-width:54px;max-height:54px}.task-tile{grid-template-columns:54px minmax(0,1fr)}.task-icon,.task-art{width:50px!important;height:50px!important;max-width:50px;max-height:50px}.reward-tile{grid-template-columns:60px minmax(0,1fr)}.reward-icon,.reward-art{width:56px!important;height:56px!important;max-width:56px;max-height:56px}}

/* R2 manage redesign */
.collapsible-card{padding:0;overflow:hidden}
.collapsible-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px}
.collapsible-card>summary::-webkit-details-marker,.entity-card>summary::-webkit-details-marker,.picker-popover>summary::-webkit-details-marker{display:none}
.collapsible-card>summary h2,.entity-card>summary h3{margin:0}
.collapsible-card[open]>summary{border-bottom:1px solid var(--line)}
.collapsible-card>.section-body{padding:22px 24px 24px;display:grid;gap:18px}
.summary-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:#e7fbf8;color:#087a71;font-weight:900;padding:0 11px}
.summary-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#f3f6f9;color:var(--navy);font-weight:800;font-size:.9rem}
.small-eyebrow{margin-bottom:6px}
.editor-card,.entity-card{background:#fbfcfd;border:1px solid #dbe4ee;border-radius:18px;box-shadow:0 6px 18px rgba(15,45,74,.05)}
.editor-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 0}
.editor-card-head h3{margin:0}
.entity-grid{display:grid;gap:16px}
.entity-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.entity-card{overflow:hidden}
.entity-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}
.entity-card[open]>summary{border-bottom:1px solid var(--line);background:#fff}
.entity-head{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
.entity-main{min-width:0}
.entity-main h3{font-size:1.06rem;line-height:1.15}
.entity-main p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
.entity-avatar{flex:0 0 auto}
.entity-icon-box{width:78px;height:78px;border-radius:18px;background:#f0faf7;display:grid;place-items:center;flex:0 0 auto}
.entity-card-art{width:64px;height:64px;display:block}
.reward-card-art{width:68px;height:68px}
.manage-config-form input,.manage-config-form select{width:100%;border:1px solid #cfd8e3;border-radius:12px;background:#fff;color:var(--navy);padding:12px 13px;min-height:44px}
.manage-config-form label{display:grid;gap:6px;font-weight:700}
.manage-config-form .check{font-weight:600!important}
.field-label{font-size:.9rem;font-weight:800;color:var(--navy)}
.entity-body{display:grid;gap:14px;padding:18px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.form-row.single-column{grid-template-columns:1fr}
.form-row-tight{grid-template-columns:minmax(140px,180px) 1fr}
.toggle-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:28px}
.entity-actions{display:flex;gap:10px;align-items:center}
.entity-actions.right{justify-content:flex-end}
.add-member-body .entity-actions{margin-top:4px}
.avatar-picker-grid.inline-choice-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.add-avatar-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.compact-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.avatar-option{min-height:118px}
.avatar-option-frame.icon-frame{width:68px;height:68px;border-radius:18px;background:#f0faf7}
.picker-popover{border:1px solid #dbe4ee;border-radius:16px;background:#fff;overflow:hidden}
.picker-popover>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px}
.picker-popover[open]>summary{border-bottom:1px solid var(--line)}
.picker-trigger{display:flex;align-items:center;gap:12px;min-width:0}
.picker-trigger span:last-child{display:grid;gap:2px;min-width:0}
.picker-trigger small{color:var(--muted);font-size:.84rem}
.picker-icon-preview{width:60px;height:60px;border-radius:16px;background:#f0faf7;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.picker-preview-art{width:52px;height:52px;display:block}
.picker-panel{padding:14px}
.icon-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.icon-option{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;text-align:center;padding:10px 8px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;cursor:pointer;min-height:128px}
.icon-option input{position:absolute;opacity:0;pointer-events:none}
.icon-option span:last-child{font-size:.8rem;line-height:1.15;color:var(--navy);font-weight:700}
.icon-option input:checked + .icon-frame{border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.14)}
.icon-option:has(input:checked){border-color:var(--teal);background:#f0fdfa}
.task-create-row label:last-child,.reward-create-row label:last-child{max-width:160px}
.reward-box{background:#f7fbf6}
.task-tile,.reward-tile{min-height:108px;grid-template-columns:64px minmax(0,1fr);gap:8px 12px}
.task-icon,.reward-icon{display:grid;place-items:center;background:transparent;border-radius:0;width:64px;height:64px}
.task-art{width:54px;height:54px;max-width:54px;max-height:54px}
.reward-art{width:58px;height:58px;max-width:58px;max-height:58px}
.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reward-tile strong{font-size:1.05rem}
.reward-tile span:nth-child(2),.task-tile span:nth-child(2){font-size:1.02rem;font-weight:750}
@media(max-width:980px){.add-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.entity-grid.two-columns{grid-template-columns:1fr}.icon-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.collapsible-card>summary{padding:18px}.collapsible-card>.section-body{padding:18px}.form-row,.form-row-tight{grid-template-columns:1fr}.toggle-wrap{padding-top:0}.add-avatar-grid,.compact-avatar-grid,.avatar-picker-grid.inline-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.icon-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-icon-box{width:66px;height:66px}.entity-card-art{width:56px;height:56px}.reward-card-art{width:60px;height:60px}.task-tile,.reward-tile{grid-template-columns:54px minmax(0,1fr)}.task-icon,.reward-icon{width:54px;height:54px}.task-art,.reward-art{width:50px!important;height:50px!important}.reward-grid{grid-template-columns:1fr}}
.manage-page-head .page-head-actions,.compact-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.task-points{font-weight:800}.task-points.positive{color:var(--success)}.task-points.negative{color:var(--danger)}.penalty-task .task-icon{background:transparent!important}.reward-grid .reward-icon,.reward-grid .reward-art,.wallet-summary .reward-icon,.wallet-summary .reward-art{width:48px;height:48px}.manage-accordion .entity-main p{margin-bottom:0}@media(max-width:680px){.manage-page-head{align-items:flex-start}.manage-page-head .page-head-actions{width:100%;justify-content:space-between}}

/* R3 PDF catalogue action */
.catalog-pdf-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.15;text-align:center;min-width:310px;white-space:normal;padding:9px 14px}.catalog-pdf-btn span{display:block}.compact-actions .catalog-pdf-btn{font-size:.86rem}@media(max-width:680px){.catalog-pdf-btn{min-width:0;width:100%}.manage-page-head .page-head-actions{display:grid;grid-template-columns:1fr auto;align-items:center}}

/* R5 confirmations and destructive controls */
.split-actions{justify-content:space-between!important;align-items:center;width:100%}
.confirm-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,520px);width:100%}
.confirm-dialog::backdrop{background:rgba(15,45,74,.38);backdrop-filter:blur(2px)}
.confirm-dialog-card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(15,45,74,.28);border:1px solid #e2e8f0}
.confirm-dialog-card h2{margin:0 0 10px;color:var(--navy)}
.confirm-dialog-card p{margin:0;color:var(--muted);line-height:1.5}
.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}
.history-reset-card{border-color:#fecaca;background:#fffafa}
.history-reset-card .section-title{margin-bottom:14px}
@media(max-width:680px){.split-actions{gap:10px}.split-actions .btn{flex:1}.confirm-dialog-actions .btn{flex:1}}
.new-member-photo-block label{display:grid;gap:7px}.new-member-photo-block input[type=file]{width:100%;min-height:48px}.visual-or-separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.86rem;font-weight:800}.visual-or-separator::before,.visual-or-separator::after{content:"";height:1px;background:var(--line);flex:1}.visual-or-separator span{white-space:nowrap}.manage-config-form input[data-avatar-upload]{background:#fff}

/* R8: explicit progress feedback while a member photo is normalized and uploaded. */
.avatar-upload-overlay{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:24px;background:rgba(15,45,74,.30);backdrop-filter:blur(3px)}
.avatar-upload-overlay[hidden]{display:none}
.avatar-upload-progress-card{min-width:min(82vw,280px);display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 26px;border-radius:22px;background:#fff;color:var(--navy);box-shadow:0 22px 55px rgba(15,45,74,.24);text-align:center}
.avatar-upload-progress-card strong{font-size:1.05rem}
.avatar-upload-clock{position:relative;width:52px;height:52px;border:4px solid #bff3ec;border-radius:50%;background:#f0fdfa;box-shadow:inset 0 0 0 2px #fff}
.avatar-upload-clock-hand{position:absolute;left:50%;top:7px;width:4px;height:20px;margin-left:-2px;border-radius:999px;background:var(--teal-dark);transform-origin:50% 19px;animation:faminspire-clock-spin .9s linear infinite}
.avatar-upload-clock-dot{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--navy)}
body.avatar-upload-busy{overflow:hidden}
@keyframes faminspire-clock-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.avatar-upload-clock-hand{animation-duration:1.8s}}

/* v1.1: compact canonical brand version display. */
.login-brand-lockup{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%}.login-brand-lockup .brand-wordmark{margin:0}.app-version-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border:1px solid #d8e2ea;border-radius:999px;background:#f6f8fa;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1;white-space:nowrap}.brand-compact .header-version{margin-left:2px;background:rgba(255,255,255,.78);border-color:rgba(15,45,74,.12)}
@media(max-width:420px){.brand-compact .header-version{font-size:.66rem;padding:3px 6px}.login-brand-lockup{gap:7px}}

/* v1.1: stable authenticated-avatar loading state. */
.avatar-load-shell{position:relative;display:inline-grid;place-items:center;overflow:hidden;vertical-align:middle;background:#dff7f4;color:#087a71;font-weight:900;isolation:isolate}.avatar-load-shell .avatar-load-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:.78em;line-height:1}.avatar-load-shell .avatar-load-image{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;opacity:0;transition:opacity .16s ease}.avatar-load-shell.avatar-ready .avatar-load-image{opacity:1}.avatar-load-shell.avatar-ready .avatar-load-fallback{visibility:hidden}.avatar-load-shell.avatar-error .avatar-load-fallback{visibility:visible}.podium-avatar.avatar-load-shell{display:grid}.entity-avatar.avatar-load-shell{display:grid}
@media(prefers-reduced-motion:reduce){.avatar-load-shell .avatar-load-image{transition:none}}

/* v1.1: ranking is the primary motivational surface. */
.ranking-hero{padding:clamp(20px,4vw,30px);border-color:rgba(20,184,166,.22);box-shadow:0 16px 40px rgba(15,45,74,.11)}.ranking-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.ranking-hero-head h2{font-size:clamp(1.35rem,4vw,1.75rem);margin-bottom:5px}.ranking-motivation{margin:0;color:var(--navy);font-weight:750;line-height:1.35}.ranking-pdf-btn{flex:0 0 auto;min-width:58px}.ranking-hero .ranking-periods{margin-bottom:22px;background:#e9f1f3}.ranking-hero .ranking-periods a.active{color:#087a71;font-weight:900;box-shadow:0 3px 10px rgba(15,45,74,.11)}.podium-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin:6px 0 18px}.podium-hero .podium-place{position:relative;display:grid;justify-items:center;align-content:center;gap:7px;min-width:0;padding:16px 8px 14px;border:1px solid #dfe7ee;border-radius:18px;background:#f8fafc;text-align:center}.podium-hero .podium-place.place-1{order:2;min-height:190px;background:#fff9e8;border-color:#f5cf62;box-shadow:0 9px 22px rgba(251,191,36,.18)}.podium-hero .podium-place.place-2{order:1;min-height:168px;background:#f5f7fa;border-color:#cbd5e1}.podium-hero .podium-place.place-3{order:3;min-height:158px;background:#fff7f0;border-color:#e5c2a8}.podium-medal{display:inline-flex;align-items:center;gap:4px;font-weight:950;color:var(--navy);font-size:.92rem}.place-1 .podium-medal{color:#9a6500;font-size:1rem}.place-2 .podium-medal{color:#586678}.place-3 .podium-medal{color:#985f38}.podium-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#eef2f7}.place-1 .podium-avatar{width:82px;height:82px}.podium-place strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-score{font-weight:900;color:var(--teal-dark)}.ranking-rest{border-top:1px solid var(--line);padding-top:10px}.ranking-rest li{min-height:54px}.ranking-note{margin:14px 0 0;font-size:.85rem;text-align:center}.activity-secondary-card{box-shadow:0 8px 24px rgba(15,45,74,.06)}
@media(max-width:520px){.ranking-hero-head{align-items:center}.ranking-hero-head>div{min-width:0}.ranking-motivation{font-size:.9rem}.podium-hero{gap:6px}.podium-hero .podium-place{padding-inline:4px}.podium-avatar{width:50px;height:50px}.place-1 .podium-avatar{width:66px;height:66px}.podium-hero .podium-place.place-1{min-height:170px}.podium-hero .podium-place.place-2{min-height:152px}.podium-hero .podium-place.place-3{min-height:145px}.podium-place strong{font-size:.88rem}.podium-score{font-size:.84rem}.ranking-hero .ranking-periods a{padding:9px 4px;font-size:.88rem}}

/* v1.1: restrained positive feedback after confirmed point registration. */
.point-feedback{position:fixed;left:50%;top:23%;z-index:220;display:grid;justify-items:center;gap:2px;min-width:132px;max-width:min(86vw,320px);padding:13px 18px;border-radius:18px;background:#f0fdfa;color:var(--navy);border:1px solid #99f6e4;box-shadow:0 16px 38px rgba(15,45,74,.18);opacity:0;transform:translate(-50%,10px) scale(.94);pointer-events:none;transition:opacity .16s ease,transform .42s cubic-bezier(.2,.9,.25,1.15)}.point-feedback.show{opacity:1;transform:translate(-50%,0) scale(1)}.point-feedback strong{font-size:1.45rem;color:#087a71;line-height:1}.point-feedback span{font-weight:850}.point-feedback small{text-align:center;color:var(--muted);font-weight:750;margin-top:3px}.point-feedback-first{background:#fff9e8;border-color:#f5cf62;box-shadow:0 18px 42px rgba(251,191,36,.20)}.point-feedback-first strong{color:#9a6500;font-size:1.6rem}
@media(prefers-reduced-motion:reduce){.point-feedback{transition:none;transform:translate(-50%,0)}.point-feedback.show{transform:translate(-50%,0)}}

/* v1.1: compact management lifecycle — existing content first, creation on demand. */
.compact-management-body{display:grid;gap:16px}.add-entity-toggle{margin-top:2px}.add-entity-toggle>summary{list-style:none;cursor:pointer;min-height:44px}.add-entity-toggle>summary::-webkit-details-marker{display:none}.compact-add-button{width:max-content;max-width:100%}.compact-create-card{margin-top:12px;border:1px dashed #cbdbe4;box-shadow:none;background:#fbfdfd}.avatar-picker-trigger{width:100%;min-height:58px;display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-align:left;cursor:pointer}.avatar-picker-trigger:hover{border-color:#9dded7;background:#f7fffe}.avatar-picker-trigger:focus-visible{outline:3px solid rgba(20,184,166,.25);outline-offset:2px}.avatar-picker-trigger-copy{display:grid;gap:2px;min-width:0;flex:1}.avatar-picker-trigger-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-picker-trigger .picker-icon-preview{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px}.avatar-picker-trigger .picker-icon-preview img{width:48px;height:48px}.avatar-mini-stack{position:relative;width:52px;height:42px;flex:0 0 52px}.avatar-mini-stack i{position:absolute;top:4px;width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:#dff7f4;box-shadow:0 2px 8px rgba(15,45,74,.13)}.avatar-mini-stack i:nth-child(1){left:0;background:#dbeafe}.avatar-mini-stack i:nth-child(2){left:9px;background:#fde7f3;z-index:2}.avatar-mini-stack i:nth-child(3){left:18px;background:#dcfce7;z-index:3}.avatar-picker-dialog{width:min(94vw,680px);max-height:min(88vh,760px);padding:0;border:0;border-radius:22px;background:transparent}.avatar-picker-dialog::backdrop{background:rgba(15,45,74,.4);backdrop-filter:blur(2px)}.avatar-picker-dialog-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88vh,760px);padding:20px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(15,45,74,.28)}.avatar-picker-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.avatar-picker-dialog-head h2{margin:0 0 4px}.avatar-picker-dialog-head p{margin:0}.dialog-close{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#eef4f6;color:var(--navy);font-size:1.55rem;cursor:pointer}.dialog-avatar-grid{overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:2px 2px 8px}.avatar-dialog-option{min-height:118px;display:grid;place-items:center;align-content:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);font:inherit;font-size:.79rem;font-weight:750;text-align:center;cursor:pointer}.avatar-dialog-option img,.avatar-dialog-option .avatar-option-frame{width:68px;height:68px}.avatar-dialog-option:hover{background:#f8fcfc;border-color:#9dded7}.avatar-dialog-option.selected{border:2px solid var(--teal);background:#effcf9;box-shadow:0 0 0 2px rgba(20,184,166,.1)}.avatar-dialog-option:focus-visible{outline:3px solid rgba(20,184,166,.28);outline-offset:1px}.avatar-picker-dialog-actions{display:flex;justify-content:flex-end;padding-top:14px}.single-column{grid-template-columns:1fr!important}

/* v1.1: Settings are scannable groups; sensitive actions remain explicit. */
.settings-groups{display:grid;gap:14px}.settings-group{padding:0;overflow:hidden}.settings-group>summary{list-style:none;cursor:pointer}.settings-group>summary::-webkit-details-marker{display:none}.settings-group-summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.settings-group-summary h2{margin:0 0 4px;font-size:1.08rem}.settings-group-summary p{margin:0;font-size:.86rem}.settings-group[open] .settings-group-summary{border-bottom:1px solid var(--line)}.settings-group[open] .settings-group-summary>.summary-pill{transform:rotate(90deg)}.settings-group-body{display:grid}.settings-panel{padding:18px 20px;border-top:1px solid var(--line)}.settings-group-body>.settings-panel:first-child{border-top:0}.settings-panel h3{margin:0 0 12px;font-size:1rem}.settings-row-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-row-panel h3{margin-bottom:4px}.settings-row-panel p{margin:0;max-width:54ch}.settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-nav-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-top:1px solid var(--line);color:var(--navy);text-decoration:none}.settings-nav-row>span:first-child{display:grid;gap:3px}.settings-nav-row small{color:var(--muted)}.settings-actions{display:flex;justify-content:flex-end}.settings-device-list{margin-top:8px}.danger-panel{background:#fffafa}.settings-delete-form{align-items:end}
@media(max-width:680px){.compact-add-button{width:100%;justify-content:center}.dialog-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-picker-dialog{width:100%;max-width:none;margin:auto 0 0;max-height:calc(100dvh - 72px);border-radius:22px 22px 0 0}.avatar-picker-dialog-card{max-height:calc(100dvh - 72px);border-radius:22px 22px 0 0;padding:16px}.avatar-dialog-option{min-height:108px;padding:7px}.avatar-dialog-option img,.avatar-dialog-option .avatar-option-frame{width:60px;height:60px}.settings-group-summary,.settings-panel,.settings-nav-row{padding-left:16px;padding-right:16px}.settings-row-panel{align-items:stretch;flex-direction:column}.settings-row-panel form,.settings-row-panel .btn{width:100%}.settings-delete-form{display:grid;grid-template-columns:1fr;align-items:stretch}.settings-delete-form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.settings-group .summary-pill{transition:none}}

body.avatar-picker-open{overflow:hidden}
/* v1.1 touch-target guardrails for the primary ranking controls. */
.ranking-hero .ranking-periods a,.ranking-pdf-btn{min-height:44px}.ranking-hero .ranking-periods a{display:grid;place-items:center}
/* v1.1.1 targeted UX fixes */
.avatar-option-frame.initials{display:grid!important;place-items:center!important;text-align:center!important;line-height:1!important;padding:0!important}
.avatar-picker-trigger .picker-icon-preview .avatar-option-frame.small-frame{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;flex:0 0 48px!important;margin:0!important}
.avatar-option-frame.initials .avatar-none-mark{display:grid;place-items:center;width:100%;height:100%;line-height:1;transform:translateY(-1px)}
.ranking-pdf-btn.is-loading{cursor:wait;opacity:.78;pointer-events:none}
.ranking-pdf-btn.is-loading::after{content:'';width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:faminspire-pdf-spin .7s linear infinite}
@keyframes faminspire-pdf-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ranking-pdf-btn.is-loading::after{animation:none}}

/* v1.2 unified bottom navigation, public onboarding CTA and mobile login containment. */
.bottom-nav a{position:relative;min-height:56px;color:var(--navy);transition:background-color .14s ease,color .14s ease,transform .14s ease}.bottom-nav .nav-icon{width:26px;height:26px;display:grid;place-items:center}.bottom-nav .nav-icon-svg{display:block;width:24px;height:24px}.bottom-nav a.is-active:not(.primary-nav){background:#e7fbf8;color:#087a71}.bottom-nav a.is-active:not(.primary-nav)::after{content:'';position:absolute;bottom:4px;width:18px;height:3px;border-radius:999px;background:var(--teal)}.bottom-nav .primary-nav{background:#f0fdfa;color:#087a71;border:4px solid #fff;box-shadow:0 7px 18px rgba(15,45,74,.12)}.bottom-nav .primary-nav.is-active{background:var(--teal);color:#fff;box-shadow:0 9px 22px rgba(20,184,166,.28)}.bottom-nav .primary-nav .nav-icon{width:29px;height:29px}.bottom-nav .primary-nav .nav-icon-svg{width:27px;height:27px}.login-brand-lockup{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:stretch;gap:10px;width:100%;max-width:100%}.login-brand-lockup .brand-wordmark{width:100%;max-width:360px;min-width:0;margin:0;justify-self:center}.login-brand-lockup .app-version-badge{flex:none;justify-self:end}.registration-entry{display:grid;gap:11px;margin-top:20px;padding:15px;border:1px solid #c9eee9;border-radius:15px;background:#f5fffd}.registration-entry>div{display:grid;gap:2px;text-align:center}.registration-entry small{color:var(--muted)}.registration-cta{width:100%;background:#fff;color:#087a71;border:1.5px solid var(--teal)}.registration-cta:hover{background:#e7fbf8;color:#06675f}.recovery-links{margin-top:16px}.recovery-links a{font-size:.9rem}
@media(max-width:420px){.login-brand-lockup{grid-template-columns:minmax(0,1fr) auto;gap:6px}.login-brand-lockup .brand-wordmark{max-width:100%}.login-brand-lockup .app-version-badge{font-size:.66rem;padding:3px 6px}.registration-entry{padding:13px}.bottom-nav .primary-nav{margin-top:-13px;min-height:66px}}
@media(prefers-reduced-motion:reduce){.bottom-nav a{transition:none}}

/* v1.3 adaptive Home ranking: empty, solo, duo and 3+ podium variants. */
.ranking-empty-state{display:grid;justify-items:center;gap:14px;padding:24px 14px 10px;text-align:center}.ranking-empty-state h3{margin:0 0 5px;font-size:1.12rem}.ranking-empty-state p{max-width:38rem;margin:0;color:var(--muted)}.ranking-empty-symbol{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#e7fbf8;color:#087a71;border:1px solid #b8eee7;font-size:2rem;font-weight:500;line-height:1}.ranking-empty-state .btn{margin-top:2px}
.ranking-solo-card{width:min(100%,560px);margin:8px auto 18px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:22px;border:1px solid #bceae4;border-radius:20px;background:#f3fdfa;box-shadow:0 10px 26px rgba(20,184,166,.08)}.ranking-solo-avatar{width:108px;height:108px;border-radius:50%;object-fit:cover;background:#eef2f7;border:5px solid #bceae4;display:grid;place-items:center;font-size:1.35rem;font-weight:900}.ranking-solo-copy{display:grid;gap:3px;min-width:0}.ranking-solo-period{color:var(--muted);font-size:.88rem;font-weight:800}.ranking-solo-name{font-size:clamp(1.25rem,4vw,1.7rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-solo-score{font-size:clamp(1.45rem,5vw,2rem);line-height:1.15;color:var(--teal-dark);font-weight:950}
.ranking-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 18px}.ranking-duo-member{position:relative;display:grid;justify-items:center;align-content:center;gap:8px;min-width:0;min-height:210px;padding:17px 10px 16px;border:1px solid #dfe7ee;border-radius:20px;background:#f8fafc;text-align:center}.ranking-duo-member.place-1{background:#fff9e8;border-color:#f5cf62;box-shadow:0 10px 24px rgba(251,191,36,.16)}.ranking-duo-member.place-2{background:#f5f7fa;border-color:#cbd5e1}.ranking-duo-avatar{width:78px;height:78px;border-radius:50%;object-fit:cover;background:#eef2f7;border:4px solid #dbe3ea;display:grid;place-items:center;font-weight:900}.ranking-duo-member.place-1 .ranking-duo-avatar{width:88px;height:88px;border-color:#f5cf62}.ranking-duo-member strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem}
.ranking-medal{--medal-fill:#f6c745;--medal-edge:#b98208;--medal-ribbon:#d89c16;position:relative;width:42px;height:50px;display:inline-grid;place-items:start center;overflow:visible;flex:0 0 auto}.ranking-medal::before,.ranking-medal::after{content:'';position:absolute;top:28px;width:13px;height:18px;background:var(--medal-ribbon);z-index:0}.ranking-medal::before{left:8px;transform:rotate(12deg)}.ranking-medal::after{right:8px;transform:rotate(-12deg)}.ranking-medal>span{position:relative;z-index:1;width:38px;height:38px;display:grid!important;place-items:center;border-radius:50%;border:2px solid var(--medal-edge);background:var(--medal-fill);color:#46350b;font-size:.85rem!important;font-weight:950;line-height:1!important;overflow:visible!important}.ranking-medal.medal-silver{--medal-fill:#e7ebef;--medal-edge:#8d99a8;--medal-ribbon:#aeb8c4}.ranking-medal.medal-silver>span{color:#46515f}.ranking-medal.medal-bronze{--medal-fill:#dca06d;--medal-edge:#985f38;--medal-ribbon:#b86f42}.ranking-medal.medal-bronze>span{color:#5d321d}.podium-hero .ranking-medal{margin-bottom:1px}.podium-hero .place-1 .ranking-medal{transform:scale(1.08)}
@media(max-width:520px){.ranking-empty-state{padding:18px 4px 8px}.ranking-empty-state .btn{width:100%}.ranking-solo-card{grid-template-columns:82px minmax(0,1fr);gap:14px;padding:16px}.ranking-solo-avatar{width:82px;height:82px;border-width:4px}.ranking-duo{gap:7px}.ranking-duo-member{min-height:185px;padding:13px 5px 12px;gap:6px}.ranking-duo-avatar{width:58px;height:58px}.ranking-duo-member.place-1 .ranking-duo-avatar{width:66px;height:66px}.ranking-duo-member strong{font-size:.88rem}.ranking-duo-member .podium-score{font-size:.84rem}.ranking-medal{transform:scale(.92)}.podium-hero .place-1 .ranking-medal{transform:scale(.98)}}
@media(max-width:350px){.ranking-solo-card{grid-template-columns:1fr;justify-items:center;text-align:center}.ranking-solo-copy{justify-items:center;width:100%}.ranking-duo-member{min-height:176px}.ranking-duo-avatar{width:52px;height:52px}.ranking-duo-member.place-1 .ranking-duo-avatar{width:58px;height:58px}.ranking-medal{transform:scale(.84)}.podium-hero .place-1 .ranking-medal{transform:scale(.9)}}

/* v1.4 public homepage — responsive landing + integrated existing login. */
.landing-body{background:#fff}.landing-page{min-height:100vh;background:#fff;color:var(--navy);overflow-x:hidden}.landing-page main{display:block}.landing-icon-svg{display:block;width:1.35em;height:1.35em}.landing-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid #e6edf2;box-shadow:0 2px 10px rgba(15,45,74,.035);backdrop-filter:blur(10px)}.landing-header-inner{width:min(100% - 40px,1180px);min-height:70px;margin:0 auto;display:flex;align-items:center;gap:28px}.landing-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}.landing-brand:hover{text-decoration:none}.landing-brand img{display:block;width:250px;max-width:28vw;height:auto}.landing-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto;min-width:0}.landing-nav>a{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--navy);font-size:.88rem;font-weight:650;white-space:nowrap;text-decoration:none}.landing-nav>a:not(.landing-admin-link):hover{color:#087a71;text-decoration:none}.landing-nav>a[aria-current="page"]{color:#087a71}.landing-nav>a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:3px;border-radius:999px;background:var(--teal)}.landing-admin-link{padding:7px 14px;border:1px solid #cfd9e5;border-radius:11px;font-weight:800!important}.landing-admin-link:hover{background:#f7fafc;text-decoration:none}.landing-admin-link .landing-icon-svg{width:18px;height:18px}.landing-mobile-register{display:none!important}.landing-menu-toggle{display:none;border:0;background:#fff;color:var(--navy);width:46px;height:46px;border-radius:10px;align-items:center;justify-content:center;cursor:pointer}.landing-menu-toggle .landing-icon-svg{width:31px;height:31px}.menu-close-icon{display:none}
.landing-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%)}.landing-hero-grid{position:relative;width:min(100%,1440px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(280px,.86fr) minmax(320px,.9fr);min-height:535px;align-items:stretch;isolation:isolate}.landing-hero-copy{z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px clamp(24px,4vw,72px) 48px clamp(24px,4vw,66px);margin-right:-138px;position:relative;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 58%,rgba(255,255,255,.82) 78%,rgba(255,255,255,0) 100%)}.landing-badge{display:inline-flex;align-items:center;min-height:27px;margin:0 0 17px;padding:5px 13px;border-radius:999px;background:#e5fbf7;color:#078b80;font-size:.7rem;font-weight:900;letter-spacing:.105em}.landing-hero-copy h1{margin:0 0 19px;font-size:clamp(2.7rem,4.5vw,4.6rem);line-height:1;letter-spacing:-.05em;max-width:14ch}.landing-hero-copy h1 .hero-line-main{display:block;white-space:nowrap}.landing-hero-copy h1 .hero-line-accent{display:block;max-width:8.2ch}@media(min-width:1200px){.landing-hero-copy h1 .hero-line-accent{font-size:.86em;line-height:1.02;max-width:none}.landing-hero-copy h1 .hero-line-accent .hero-accent-part{display:block;white-space:nowrap}.landing-hero-copy h1 .hero-line-accent .hero-accent-part-1{margin-bottom:.02em}}.landing-hero-copy h1 span,.landing-hero-copy h1 strong{display:block}.landing-hero-copy h1 strong{color:#11aaa0;font-weight:900}.landing-intro{max-width:560px;margin:0 0 24px;color:#38577b;font-size:1.03rem;line-height:1.5}.landing-benefits{list-style:none;margin:0 0 27px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;max-width:560px;font-size:.92rem;font-weight:650}.landing-benefits li{display:flex;align-items:center;gap:10px;min-width:0}.benefit-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;line-height:0;flex:0 0 auto;background:var(--teal);color:#fff}.benefit-check .landing-icon-svg{display:block;width:18px;height:18px;stroke-width:2.8}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.landing-primary-cta,.landing-secondary-cta{min-width:170px;min-height:48px;border-radius:10px}.landing-primary-cta{gap:20px}.landing-secondary-cta{background:#fff;color:#078b80;border:1.5px solid var(--teal)}.landing-secondary-cta:hover{background:#effdfb;color:#06675f}.mobile-calm-teaser{display:none}.landing-hero-image{position:relative;z-index:1;overflow:hidden;margin:0 0 0 -110px;background:#fff}.landing-hero-image picture{position:absolute;inset:0;z-index:1;display:block}.landing-hero-image::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.06) 20%,rgba(255,255,255,.14) 36%,rgba(255,255,255,.26) 52%,rgba(255,255,255,.4) 68%,rgba(255,255,255,.52) 84%,rgba(255,255,255,.6) 100%)}.landing-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.8}.landing-hero-image img{object-fit:cover;object-position:center center}.landing-login-card{z-index:4;align-self:center;width:calc(100% - 30px);max-width:405px;margin:22px 18px 22px -26px;padding:22px;border-radius:18px;box-shadow:0 18px 44px rgba(15,45,74,.11);background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(207,216,227,.85)}.landing-login-card .login-brand-lockup{gap:8px}.landing-login-card .brand-wordmark{max-width:245px}.landing-login-card .tagline{margin:0 0 14px;font-size:.77rem;text-align:left}.landing-login-card .stack{gap:9px}.landing-login-card .landing-login-form>label:not(.check){font-size:.78rem;font-weight:800;margin-bottom:-5px}.landing-login-card .landing-login-form>input{min-height:43px;padding:10px 12px;border-radius:9px;background:#eef5ff;border-color:#d8e6f6}.landing-login-card .check{font-size:.8rem;align-items:center;gap:7px!important}.landing-login-card .check input{width:17px!important;height:17px;accent-color:#2598f4;margin:0}.landing-login-card .btn{min-height:44px;border-radius:8px}.landing-login-card .registration-entry{margin-top:12px;padding:11px;gap:8px;border-radius:12px;background:#f0fbfb}.landing-login-card .registration-entry strong{font-size:.86rem}.landing-login-card .registration-entry small{font-size:.75rem}.landing-login-card .registration-cta{min-height:41px}.landing-login-card .recovery-links{margin-top:11px;gap:8px 15px}.landing-login-card .recovery-links a{font-size:.75rem}.landing-login-card .public-footer{margin-top:11px;padding-top:10px;gap:10px 24px;font-size:.72rem}.landing-login-card .alert{padding:9px 10px;margin-bottom:10px;font-size:.78rem}.landing-login-card .app-version-badge{background:#eef6ff;color:#35547a;border-color:#d6e4f4}
.landing-section{width:min(100% - 64px,1180px);margin:0 auto}.landing-section-heading{text-align:center;margin-bottom:24px}.landing-section-heading .eyebrow{margin-bottom:5px}.landing-section-heading h2{margin:0 0 5px;font-size:clamp(1.75rem,2.6vw,2.55rem);line-height:1.12;letter-spacing:-.03em}.landing-section-heading>p:last-child{margin:0;color:#6c80a0;font-size:1rem}.landing-process{padding:32px 0 24px;scroll-margin-top:82px}.landing-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.landing-steps::before{content:'';position:absolute;left:11%;right:11%;top:43px;border-top:2px dashed #7fc9ef;z-index:0}.landing-steps li{position:relative;z-index:1;text-align:center;display:grid;justify-items:center;align-content:start}.step-icon{width:68px;height:68px;display:grid;place-items:center;border:1px solid #d8e5ef;border-radius:50%;background:#fff;color:var(--teal);box-shadow:0 7px 18px rgba(15,45,74,.06)}.step-icon .landing-icon-svg{width:34px;height:34px}.step-icon.trophy{color:#f5ac13}.step-number{position:absolute;top:-6px;left:calc(50% - 46px);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:.82rem;font-weight:900;box-shadow:0 4px 9px rgba(20,184,166,.22);z-index:2}.landing-steps h3{margin:13px 0 4px;font-size:1rem}.landing-steps p{margin:0;color:#687d9f;max-width:230px;font-size:.89rem;line-height:1.4}.landing-features{padding:18px 0 26px;scroll-margin-top:82px}.landing-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.landing-feature-grid article{min-height:160px;padding:18px 18px 16px;border:1px solid #e0e7ee;border-radius:13px;background:#fff;box-shadow:0 5px 15px rgba(15,45,74,.035)}.feature-icon{width:43px;height:43px;display:grid;place-items:center;margin-bottom:10px;border-radius:12px}.feature-icon .landing-icon-svg{width:26px;height:26px}.feature-icon.teal{background:#e3faf7;color:#0ba799}.feature-icon.yellow{background:#fff5d6;color:#f4ad0d}.feature-icon.blue{background:#edf5ff;color:#3b82f6}.feature-icon.red{background:#fff0f2;color:#ef4444}.landing-feature-grid h3{margin:0 0 4px;font-size:1rem}.landing-feature-grid p{margin:0;color:#687d9f;font-size:.87rem;line-height:1.4}.landing-family-panel{display:grid;grid-template-columns:78px minmax(0,1fr) 350px;gap:22px;align-items:center;margin-top:8px;padding:20px 24px;border:1px solid #beece8;border-radius:16px;background:#f0fbfb;scroll-margin-top:82px}.family-panel-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#dff8f5;color:var(--teal)}.family-panel-icon .landing-icon-svg{width:34px;height:34px}.family-panel-copy .eyebrow{margin-bottom:4px}.family-panel-copy h2{margin:0 0 4px;font-size:1.38rem;line-height:1.16}.family-panel-copy>p:last-of-type{margin:0;color:#667c9c;font-size:.9rem}.family-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:15px}.family-size-options>div{display:flex;gap:8px;align-items:flex-start}.family-size-options>div>span{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#fff;color:#0ba799;border:1px solid #c9efeb}.family-size-options .landing-icon-svg{width:21px;height:21px}.family-size-options p{display:grid;margin:0}.family-size-options strong{font-size:.78rem}.family-size-options small{color:#7183a0;font-size:.7rem;line-height:1.25}.family-preview{position:relative;display:grid;grid-template-columns:1fr 115px;gap:9px;align-items:center}.family-preview-card{background:#fff;border:1px solid #e1e8ee;border-radius:11px;padding:10px 12px;box-shadow:0 8px 18px rgba(15,45,74,.08);transform:rotate(-1deg)}.family-preview-card>strong{display:flex;align-items:center;gap:5px;font-size:.76rem}.family-preview-card ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}.family-preview-card li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:5px;font-size:.68rem;color:#4e6689}.family-preview-card b{font-size:.68rem;color:#6b7e99;font-weight:700}.preview-avatar{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.55rem;font-weight:900}.preview-avatar.a1{background:#e67e61}.preview-avatar.a2{background:#de9c4b}.preview-avatar.a3{background:#3c7ca9}.preview-avatar.a4{background:#9c6488}.family-note{margin:0;color:#0aa99a;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.88rem;line-height:1.3;transform:rotate(-4deg);text-align:center}.landing-bottom-cta{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:18px;margin-bottom:16px;padding:17px 22px;border-radius:16px;background:#effafa}.bottom-cta-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0ba799}.bottom-cta-icon .landing-icon-svg{width:34px;height:34px}.landing-bottom-cta .eyebrow{margin-bottom:3px}.landing-bottom-cta h2{margin:0 0 2px;font-size:1.25rem}.landing-bottom-cta p{margin:0;color:#687d9f;font-size:.88rem}.bottom-cta-action{display:grid;gap:6px;justify-items:center;min-width:190px}.bottom-cta-action .btn{width:100%;min-height:44px}.bottom-cta-action small{font-size:.7rem}.landing-footer{border-top:1px solid #edf1f5;background:#fff}.landing-footer-inner{width:min(100% - 64px,1180px);min-height:74px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.landing-footer-brand img{display:block;width:205px;height:auto}.landing-footer nav{display:flex;gap:28px}.landing-footer nav a{font-size:.78rem}.landing-footer small{justify-self:end;color:#7b8ca5;font-size:.72rem}
@media(min-width:768px) and (max-width:1199px){.landing-header-inner{width:min(100% - 24px,1140px);gap:14px}.landing-brand img{width:210px}.landing-nav{gap:12px}.landing-nav>a{font-size:.76rem}.landing-admin-link{padding-inline:9px}.landing-hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(225px,.78fr) minmax(272px,.9fr);min-height:470px}.landing-hero-copy{padding:34px 22px 34px 24px;margin-right:-92px}.landing-hero-copy h1{font-size:clamp(2.1rem,4vw,3.15rem);max-width:13.5ch}.landing-hero-copy h1 .hero-line-accent{max-width:8.3ch}.landing-intro{font-size:.91rem;max-width:470px}.landing-benefits{grid-template-columns:1fr;gap:8px;margin-bottom:20px;font-size:.82rem;max-width:320px}.landing-hero-actions{gap:8px}.landing-primary-cta,.landing-secondary-cta{min-width:135px;padding-inline:12px}.landing-hero-image{margin-left:-72px}.landing-hero-image::before{background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.06) 20%,rgba(255,255,255,.14) 36%,rgba(255,255,255,.26) 52%,rgba(255,255,255,.4) 68%,rgba(255,255,255,.52) 84%,rgba(255,255,255,.6) 100%)}.landing-login-card{width:calc(100% - 20px);margin:14px 10px 14px -18px;padding:16px;background:rgba(255,255,255,.92)}.landing-login-card .brand-wordmark{max-width:185px}.landing-login-card .tagline{font-size:.68rem}.landing-login-card .public-footer{gap:8px 12px}.landing-section{width:min(100% - 32px,1140px)}.landing-feature-grid article{padding:15px 13px}.landing-feature-grid h3{font-size:.88rem}.landing-feature-grid p{font-size:.78rem}.landing-family-panel{grid-template-columns:60px minmax(0,1fr) 300px;padding:18px}.family-preview{grid-template-columns:1fr 95px}.family-note{font-size:.76rem}.landing-footer-inner{width:min(100% - 32px,1140px)}}
@media(max-width:900px) and (min-width:768px){.landing-brand img{width:175px}.landing-nav{gap:7px}.landing-nav>a{font-size:.7rem}.landing-admin-link{padding:6px 7px}.landing-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(190px,.66fr) minmax(238px,.94fr)}.landing-hero-copy{padding:28px 14px 28px 16px;margin-right:-74px}.landing-hero-copy h1{font-size:2.08rem;max-width:13ch}.landing-hero-copy h1 .hero-line-accent{max-width:8ch}.landing-badge{font-size:.57rem;padding-inline:8px}.landing-intro{font-size:.82rem;max-width:400px}.landing-hero-actions{display:grid;width:100%}.landing-primary-cta,.landing-secondary-cta{min-width:0;width:100%;font-size:.83rem}.landing-hero-image{margin-left:-56px}.landing-login-card{padding:14px;margin-left:-16px}.landing-login-card .brand-wordmark{max-width:160px}.landing-login-card .tagline{display:none}.landing-login-card .stack{gap:7px}.landing-login-card .registration-entry{padding:8px}.landing-login-card .public-footer{display:none}.landing-feature-grid{gap:7px}.landing-feature-grid article{padding:12px 9px}.landing-family-panel{grid-template-columns:52px minmax(0,1fr) 255px;gap:12px}.family-size-options{gap:7px}.family-size-options small{font-size:.64rem}.family-preview{grid-template-columns:1fr}.family-note{display:none}}
@media(max-width:767px){.landing-header{position:sticky}.landing-header-inner{position:relative;width:min(100% - 24px,680px);min-height:76px;gap:12px}.landing-brand img{width:min(260px,72vw);max-width:none}.landing-menu-toggle{display:flex;margin-left:auto}.landing-menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}.landing-menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}.landing-nav{display:none;position:absolute;left:0;right:0;top:69px;z-index:70;margin:0;padding:12px;background:#fff;border:1px solid #dfe7ee;border-radius:14px;box-shadow:0 18px 40px rgba(15,45,74,.15);flex-direction:column;align-items:stretch;gap:2px}.landing-nav.is-open{display:flex}.landing-nav>a{min-height:46px;padding:8px 10px;border-radius:9px;font-size:.95rem}.landing-nav>a[aria-current="page"]::after{display:none}.landing-nav>a:hover{background:#f4fbfa}.landing-admin-link{border:0;padding:8px 10px}.landing-mobile-register{display:flex!important;background:#effdfb;color:#087a71!important;font-weight:800!important}.landing-hero{padding:22px 12px 10px;background:#f9fbfc}.landing-hero-grid{width:min(100%,680px);display:grid;grid-template-columns:1fr;grid-template-areas:"login" "image" "copy";min-height:0;gap:0}.landing-login-card{grid-area:login;z-index:4;width:100%;max-width:none;margin:0 0 12px;padding:20px 18px;box-sizing:border-box;border-radius:22px;box-shadow:0 12px 34px rgba(15,45,74,.11);background:rgba(255,255,255,.93)}.landing-login-card .brand-wordmark{max-width:270px}.landing-login-card .tagline{margin-bottom:18px;font-size:.85rem;text-align:left}.landing-login-card .stack{gap:10px}.landing-login-card .landing-login-form>label:not(.check){font-size:.96rem;margin-bottom:-5px}.landing-login-card .landing-login-form>input{min-height:54px;padding:12px 14px;font-size:1rem;border-radius:12px}.landing-login-card .check{font-size:.95rem}.landing-login-card .check input{width:21px!important;height:21px}.landing-login-card .btn{min-height:52px;font-size:1.03rem;border-radius:10px}.landing-login-card .registration-entry{margin-top:14px;padding:14px;border-radius:15px}.landing-login-card .registration-entry strong{font-size:1rem}.landing-login-card .registration-entry small{font-size:.9rem}.landing-login-card .registration-cta{min-height:49px}.landing-login-card .recovery-links{display:grid;gap:2px;margin-top:12px}.landing-login-card .recovery-links a{font-size:.93rem;text-align:center}.landing-login-card .public-footer{display:none}.landing-login-card .app-version-badge{font-size:.72rem;padding:5px 9px}.landing-hero-image{grid-area:image;z-index:1;position:relative;min-height:0;margin:0 8px;border-radius:22px;aspect-ratio:1.62/1;overflow:hidden}.landing-hero-image::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(249,251,252,.18) 0%,rgba(249,251,252,.08) 24%,rgba(255,255,255,.12) 48%,rgba(255,255,255,.82) 80%,rgba(255,255,255,1) 100%)}.landing-hero-image img{object-fit:cover;object-position:center center;opacity:.82}.landing-hero-copy{grid-area:copy;position:relative;z-index:2;display:flex;align-items:center;text-align:center;margin:-28px 0 0 0;padding:44px 14px 10px;width:100%;max-width:none;box-sizing:border-box;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 24%,rgba(255,255,255,.95) 54%,#fff 100%)}.landing-badge{display:none}.landing-hero-copy h1{margin:0 0 13px;width:100%;max-width:none;font-size:clamp(1.88rem,7.7vw,2.9rem);line-height:1.05}.landing-hero-copy h1 .hero-line-main{display:block;white-space:nowrap;max-width:100%}.landing-hero-copy h1 .hero-line-accent{display:block;max-width:14ch;margin-inline:auto}.landing-intro{width:100%;max-width:36rem;margin:0 auto 20px;padding-inline:4px;box-sizing:border-box;font-size:1rem;line-height:1.45}.landing-benefits{width:100%;max-width:34rem;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:12px 8px;margin:0 auto 22px;font-size:.84rem;text-align:left}.landing-benefits li{width:100%;max-width:170px;align-items:flex-start;justify-content:center}.landing-benefits li>span:last-child{display:block}.benefit-check{position:relative;width:38px;height:38px}.benefit-check .landing-icon-svg{position:absolute;left:50%;top:50%;width:23px;height:23px;margin:0;transform:translate(-50%,-50%)}.landing-hero-actions{display:none}.mobile-calm-teaser{width:100%;display:grid;grid-template-columns:48px 1fr 28px;align-items:center;gap:10px;padding:14px 15px;border:1px solid #c9ecea;border-radius:15px;background:#eefafa;text-align:left;color:var(--navy);text-decoration:none}.mobile-calm-teaser:hover{text-decoration:none}.mobile-calm-icon{width:44px;height:44px;display:grid;place-items:center;color:#15aa6e}.mobile-calm-icon .landing-icon-svg{width:34px;height:34px}.mobile-calm-teaser>span:nth-child(2){display:grid}.mobile-calm-teaser strong{font-size:.8rem;letter-spacing:.04em;color:#0aa89a}.mobile-calm-teaser small{font-size:.91rem;color:#687d9f}.mobile-calm-arrow{color:var(--navy)}.landing-section{width:min(100% - 24px,680px)}.landing-process{padding-top:38px}.landing-section-heading h2{font-size:1.8rem}.landing-section-heading>p:last-child{font-size:.92rem}.landing-steps{grid-template-columns:1fr;gap:20px}.landing-steps::before{display:none}.landing-steps li{grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;text-align:left;justify-items:start}.step-icon{grid-row:1/3;width:62px;height:62px}.step-number{top:-5px;left:-5px}.landing-steps h3{margin:4px 0 3px}.landing-steps p{max-width:none}.landing-feature-grid{grid-template-columns:1fr;gap:10px}.landing-feature-grid article{min-height:0;display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center;padding:14px}.feature-icon{grid-row:1/3;margin:0}.landing-feature-grid h3{margin:0;font-size:1rem}.landing-feature-grid p{font-size:.87rem}.landing-family-panel{grid-template-columns:56px 1fr;gap:12px;margin-top:12px;padding:18px}.family-panel-icon{width:54px;height:54px}.family-panel-copy h2{font-size:1.22rem}.family-size-options{grid-template-columns:1fr;gap:9px}.family-size-options strong{font-size:.86rem}.family-size-options small{font-size:.76rem}.family-preview{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 125px;max-width:440px;justify-self:center}.landing-bottom-cta{grid-template-columns:52px 1fr;padding:16px;margin-top:14px}.bottom-cta-icon{width:48px;height:48px}.landing-bottom-cta h2{font-size:1.08rem}.bottom-cta-action{grid-column:1/-1;width:100%;min-width:0}.landing-footer-inner{width:min(100% - 24px,680px);grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px 0;gap:12px}.landing-footer-brand img{width:220px}.landing-footer nav{gap:18px;flex-wrap:wrap;justify-content:center}.landing-footer small{justify-self:center}}
@media(max-width:430px){.landing-hero{padding-inline:8px}.landing-login-card{padding:18px 14px}.landing-login-card .brand-wordmark{max-width:230px}.landing-login-card .tagline{font-size:.78rem}.landing-hero-image{margin-inline:7px}.landing-hero-copy{margin-top:-14px;padding:24px 8px 8px}.landing-intro{font-size:.93rem}.landing-benefits{grid-template-columns:1fr;max-width:280px;font-size:.8rem;gap:12px 0}.landing-benefits li{max-width:none;justify-content:flex-start}.benefit-check{width:34px;height:34px}.benefit-check .landing-icon-svg{width:21px;height:21px}.mobile-calm-teaser{grid-template-columns:44px 1fr 22px;padding:14px 12px}.mobile-calm-teaser small{font-size:.88rem}.landing-family-panel{grid-template-columns:1fr}.family-panel-icon{display:none}.family-preview{grid-template-columns:1fr 105px}.family-note{font-size:.8rem}}
@media(max-width:360px){.landing-header-inner{width:calc(100% - 16px)}.landing-brand img{width:220px}.landing-menu-toggle{width:42px;height:42px}.landing-hero{padding-inline:6px}.landing-login-card{padding:16px 12px}.landing-login-card .brand-wordmark{max-width:205px}.landing-login-card .app-version-badge{font-size:.65rem;padding-inline:6px}.landing-login-card .tagline{font-size:.72rem}.landing-login-card .landing-login-form>label:not(.check){font-size:.88rem}.landing-login-card .recovery-links a{font-size:.84rem}.landing-hero-copy{margin-top:-6px;padding:16px 4px 6px}.landing-hero-copy h1{font-size:1.72rem}.landing-benefits{grid-template-columns:1fr;max-width:250px;font-size:.84rem}.landing-benefits li{justify-content:flex-start}.mobile-calm-teaser{grid-template-columns:40px 1fr 20px;padding:12px 10px}.landing-family-panel{padding:15px}.family-preview{grid-template-columns:1fr}.family-note{display:none}.landing-footer nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.landing-page *{scroll-behavior:auto!important}.landing-header{backdrop-filter:none}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.alert.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
