:root{--bg:#f4efe8;--surface:#eae1d5;--surface-alt:#dfd3c3;--border:#cfbfac;--primary:#8b6f52;--on-primary:#fbf7f2;--text:#3a2e25;--text-muted:#7b6b5d;--success:#6e8b5e;--warning:#b8894a;--danger:#a8584b;--m1:#b5654a;--m2:#7e8a4f;--m3:#c2a35c;--m4:#5f7483;--m5:#6f8f73;--m6:#a6714f;--m7:#6b7e8f;--m8:#9a6a73;--radius:12px;--fs:1;--pad:12px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow:0 1px 2px #0000000f;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{font-size:calc(16px * var(--fs))}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:manipulation;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}.shell{flex-direction:column;max-width:720px;height:100dvh;margin:0 auto;display:flex}.topbar{padding:calc(var(--safe-top) + 14px) var(--pad) 10px;justify-content:space-between;align-items:center;display:flex}.topbar h1{font-size:1.25rem;font-weight:700}.topbar .sub{color:var(--text-muted);font-size:.8rem}.content{padding:0 var(--pad) calc(var(--pad) + 8px);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.tabbar{border-top:1px solid var(--border);background:var(--surface);padding-bottom:var(--safe-bottom);display:flex}.tabbar a{color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px 12px;font-size:.7rem;text-decoration:none;display:flex}.tabbar a svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tabbar a.active{color:var(--primary);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad);box-shadow:var(--shadow);margin-bottom:10px}.card h3{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.95rem;display:flex}.card h3 small{color:var(--text-muted);font-size:.8rem;font-weight:400}.row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.row:first-of-type{border-top:0}.muted{color:var(--text-muted);font-size:.85rem}.btn{background:var(--primary);color:var(--on-primary);border-radius:var(--radius);cursor:pointer;border:0;padding:10px 14px;font-weight:600}.btn.ghost{color:var(--primary);border:1px solid var(--border);background:0 0}.btn.sm{padding:6px 10px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--primary);cursor:pointer;background:0 0;border:0;font-size:.85rem;text-decoration:underline}input[type=text],input[type=email],input[type=password],input[type=time],input[type=date],input[type=datetime-local],select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);width:100%;padding:9px 10px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:32px;padding:0}input[type=range]{accent-color:var(--primary)}.field{margin-bottom:10px}.field label{color:var(--text-muted);margin-bottom:4px;font-size:.8rem;display:block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-alt);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:5px 10px;font-size:.78rem}.chip.active{border-color:var(--primary);color:var(--primary);font-weight:600}.badge{background:var(--surface-alt);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.7rem}.badge.ok{background:var(--success);color:#fff}.badge.off{background:var(--warning);color:#fff}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:inline-flex}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.checked{color:var(--text-muted);text-decoration:line-through}.cat-h{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 0 2px;font-size:.72rem;font-weight:600}.fab{right:18px;bottom:calc(76px + var(--safe-bottom));background:var(--primary);width:52px;height:52px;color:var(--on-primary);cursor:pointer;border:0;border-radius:50%;font-size:28px;position:fixed;box-shadow:0 6px 16px #00000040}.seg{background:var(--surface-alt);border-radius:var(--radius);padding:3px;display:flex}.seg button{border-radius:calc(var(--radius) - 3px);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:1;padding:7px;font-size:.8rem}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.presets{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.preset{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;background:var(--surface);padding:6px;font-size:.7rem}.preset.active{border-color:var(--primary)}.preset .sw{border-radius:6px;height:26px;margin-bottom:5px;display:flex;overflow:hidden}.preset .sw i{flex:1}.tok{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;display:flex}.tok:first-child{border-top:0}.tok .n{font-size:.85rem}.tok .n small{color:var(--text-muted);font-size:.8rem;display:block}.tok .v{align-items:center;gap:6px;display:flex}.tok .v code{color:var(--text-muted);font-size:.7rem}.warn{color:var(--warning);font-size:.72rem}.preview{border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:12px;padding:10px}.toast{left:12px;right:12px;top:calc(12px + var(--safe-top));background:var(--text);color:var(--bg);z-index:20;border-radius:14px;align-items:center;gap:10px;max-width:696px;margin:0 auto;padding:10px 12px;font-size:.85rem;transition:transform .35s;display:flex;position:fixed;transform:translateY(-140%);box-shadow:0 8px 24px #0000004d}.toast.show{transform:translateY(0)}.toast b{font-size:.95rem;display:block}.sheet-backdrop{z-index:30;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:720px;padding:16px 16px calc(16px + var(--safe-bottom));border-radius:20px 20px 0 0;max-height:88dvh;overflow:auto}.sheet h3{margin-bottom:12px}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{filter:drop-shadow(0 2px 3px #0000002e);flex-shrink:0}.logo-word{letter-spacing:-.03em;color:var(--text);font-weight:800;line-height:1}.auth{background:var(--bg);grid-template-columns:1fr;min-height:100dvh;display:grid}.auth-hero{display:none}.auth-main{padding:calc(var(--safe-top) + 28px) 18px calc(var(--safe-bottom) + 28px);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px}.auth-brand-mobile{margin-bottom:28px}.auth h1{letter-spacing:-.02em;margin-bottom:6px;font-size:1.65rem;font-weight:750;line-height:1.15}.auth-sub{color:var(--text-muted);margin-bottom:22px;font-size:.92rem;line-height:1.45}.auth .seg{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;display:grid}.auth .seg button{border-radius:calc(var(--radius) - 2px);color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:9px 8px;font-size:.88rem;font-weight:600;transition:background .15s,color .15s}.auth .seg button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #00000024}.btn-google{background:var(--surface);width:100%;height:46px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:10px;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.btn-google:hover:not(:disabled){background:var(--surface-alt)}.btn-google:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}.btn-google:disabled{opacity:.7;cursor:default}.btn-google img{flex-shrink:0}.or{color:var(--text-muted);align-items:center;gap:12px;margin:18px 0 14px;font-size:.78rem;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.auth-form .field{margin-bottom:14px}.auth-form label{color:var(--text);margin-bottom:6px;font-size:.8rem;font-weight:600}.auth-form label .muted{font-size:.78rem;font-weight:400}.auth input[type=text],.auth input[type=email],.auth input[type=password]{border-radius:var(--radius);background:var(--surface);height:46px;padding:0 14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth input::placeholder{color:color-mix(in srgb, var(--text-muted) 70%, transparent)}.auth input:focus{border-color:var(--primary);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}.pw{position:relative}.auth .pw input{padding-right:72px}.pw-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text);background:var(--surface-alt)}.pw-rules{color:var(--text-muted);gap:4px;margin-top:8px;font-size:.8rem;list-style:none;animation:.18s ease-out rules-in;display:grid}@keyframes rules-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.pw-rules{animation:none}}.pw-rules li{align-items:center;gap:7px;display:flex}.pw-rules svg{flex-shrink:0;width:15px;height:15px}.pw-rules circle{fill:none;stroke:var(--border);stroke-width:1.5px;transition:fill .15s,stroke .15s}.pw-rules path{fill:none;stroke:#0000;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s}.pw-rules li.ok{color:var(--text)}.pw-rules li.ok circle{fill:var(--success);stroke:var(--success)}.pw-rules li.ok path{stroke:var(--on-primary)}.pw-rules li.tip{padding-left:22px;font-size:.76rem;line-height:1.4}.auth-error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:calc(var(--radius) - 2px);margin-bottom:12px;padding:10px 12px;font-size:.85rem}.auth-submit{width:100%;height:48px;box-shadow:0 6px 16px -6px color-mix(in srgb, var(--primary) 70%, transparent);margin-top:4px;font-size:.95rem;transition:transform .1s,filter .15s}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.invite-box{border:1px dashed var(--border);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--surface) 55%, transparent);margin-top:28px;padding:16px}.invite-title{margin-bottom:2px;font-size:.92rem;font-weight:650}.invite-row{gap:8px;margin-top:12px;display:flex}.auth .invite-row input{letter-spacing:.18em;font-variant-numeric:tabular-nums;text-align:center;font-weight:600}.invite-row .btn{flex-shrink:0;height:46px;padding:0 18px}@media (width>=900px){.auth{grid-template-columns:minmax(0,1.1fr) minmax(440px,1fr)}.auth-brand-mobile{display:none}.auth-hero{background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 60%), radial-gradient(90% 70% at 100% 100%, color-mix(in srgb, var(--m3) 14%, transparent), transparent 60%), var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:28px;height:100dvh;padding:44px 48px;display:flex;position:sticky;top:0;overflow:hidden}.auth-hero-copy{max-width:460px}.auth-hero h2{letter-spacing:-.035em;margin-bottom:14px;font-size:2.35rem;font-weight:800;line-height:1.08}.auth-hero p{color:var(--text-muted);font-size:1.02rem;line-height:1.55}.auth h1{font-size:1.9rem}}.fridge{flex:1;min-height:360px;margin:0 -24px -24px 0;position:relative}.note{background:color-mix(in srgb, var(--nc) 30%, var(--bg));width:230px;color:var(--text);transform:rotate(var(--r));animation:.6s cubic-bezier(.2,.8,.2,1) both note-in;animation-delay:var(--d);border-radius:6px;padding:20px 18px 18px;position:absolute;box-shadow:0 1px 1px #00000014,0 18px 30px -14px #00000073}.note:before{content:"";background:color-mix(in srgb, var(--bg) 60%, transparent);border:1px solid color-mix(in srgb, var(--text) 6%, transparent);border-radius:2px;width:64px;height:20px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-3deg)}@keyframes note-in{0%{opacity:0;transform:translateY(14px) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.note{animation:none}}.note-title{letter-spacing:-.01em;font-size:1.02rem;font-weight:750}.note-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.note-line{align-items:center;gap:8px;margin-top:8px;font-size:.88rem;display:flex}.note-line.done{color:var(--text-muted);text-decoration:line-through}.tick{border:1.5px solid color-mix(in srgb, var(--text) 40%, transparent);border-radius:4px;flex-shrink:0;width:15px;height:15px}.tick.on{background:var(--success);border-color:var(--success)}.note-people{margin-top:12px;display:flex}.note-people .dot-m+.dot-m{margin-left:-6px}.note-who{color:var(--text-muted);align-items:center;gap:7px;margin-top:10px;font-size:.85rem;display:flex}.dot-m{border:2px solid color-mix(in srgb, var(--nc) 26%, var(--bg));border-radius:50%;width:20px;height:20px;display:inline-block}.note-mask{letter-spacing:.2em;color:var(--text-muted);margin-top:8px;font-size:1.1rem}.note-body{color:var(--text-muted);margin-top:6px;font-size:.86rem;line-height:1.4}.note.magnet:before{background:radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--nc) 55%, var(--on-primary)), var(--nc) 70%);border:0;border-radius:50%;width:18px;height:18px;top:-7px;transform:translate(-50%);box-shadow:0 2px 4px #0000004d}.login{min-height:100dvh;padding:calc(var(--safe-top) + 28px) 20px calc(var(--safe-bottom) + 28px);flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;display:flex}.login>.logo{margin:0 auto 22px}.login h1{text-align:center;letter-spacing:-.02em;margin-bottom:6px;font-size:1.5rem;font-weight:750}.login p{text-align:center;color:var(--text-muted);margin-bottom:24px;font-size:.92rem;line-height:1.45}.login input[type=text]{border-radius:var(--radius);height:46px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.login input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}.login .btn{min-height:46px}.splash{justify-content:center;align-items:center;min-height:100dvh;display:flex}.splash .logo-mark{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.75;transform:scale(.94)}}.hint{color:var(--text-muted);margin-top:6px;font-size:.75rem}.install-bar{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:.8rem;display:flex}@media (width>=720px){.shell{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.board{scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.board-col{background:var(--surface-alt);border-radius:var(--radius);scroll-snap-align:start;flex-shrink:0;min-width:235px;padding:8px}.sync{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.75rem;font-weight:550;display:inline-flex}.sync:hover{background:var(--surface-alt);color:var(--text)}.sync i{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sync-saving i{background:var(--warning);animation:1s ease-in-out infinite pulse}.sync-offline{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.sync-offline i{background:var(--warning)}.sync-error{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.sync-error i{background:var(--danger)}.cal-toolbar,.month-grid{display:none}.icon-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:inline-flex}.icon-btn:hover{background:var(--surface-alt)}.sidenav,.week-grid{display:none}@media (width>=960px){.shell{grid-template:"nav bar""nav top""nav main"minmax(0,1fr)/252px minmax(0,1fr);max-width:none;height:100dvh;display:grid}.shell>.install-bar{grid-area:bar;margin:16px 40px 0!important}.tabbar{display:none}.topbar{grid-area:top}.content{grid-area:main}.topbar,.content{padding-left:max(40px,50% - 590px);padding-right:max(40px,50% - 590px)}.topbar{padding-top:30px;padding-bottom:18px}.topbar h1{letter-spacing:-.02em;font-size:1.75rem}.topbar .sub{margin-top:2px;font-size:.88rem}.content{padding-bottom:48px}.sidenav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:nav;gap:18px;min-height:0;padding:24px 14px 16px;display:flex}.sidenav-logo{padding:2px 10px 6px}.hh-switch{position:relative}.hh-current{cursor:pointer;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.9rem;font-weight:600;display:flex}.hh-current:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.hh-current .hh-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hh-current svg{fill:none;width:16px;height:16px;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hh-menu{z-index:25;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 28px #00000038}.hh-menu button{border-radius:calc(var(--radius) - 4px);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:.88rem;display:flex}.hh-menu button .muted{margin-left:auto;font-size:.75rem}.hh-menu button:hover,.hh-menu button.on{background:var(--surface-alt)}.hh-menu .hh-add{color:var(--primary);border-top:1px solid var(--border);border-radius:0 0 calc(var(--radius) - 4px) calc(var(--radius) - 4px);margin-top:4px;font-weight:600}.sidenav-links{flex-direction:column;flex:1;gap:2px;display:flex}.sidenav-links a{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:12px;padding:10px 12px;font-size:.93rem;font-weight:550;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidenav-links a svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.sidenav-links a:hover{background:var(--surface-alt);color:var(--text)}.sidenav-links a.active{background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--text);font-weight:650}.sidenav-links a.active svg{stroke:var(--primary)}.sidenav-sep{background:var(--border);height:1px;margin:10px 12px}.sidenav-foot{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:6px;padding-top:12px;display:flex}.sidenav-foot .me{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;width:100%;min-width:0;padding:6px;display:flex}.sidenav-foot .me:hover{background:var(--surface-alt)}.me-text{flex-direction:column;min-width:0;display:flex}.me-text b{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.me-text .muted{font-size:.74rem}.topbar>div:last-child>.sync{display:none}.topbar>div:last-child>span:has(.avatar){display:none}.week-nav{display:none!important}.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:20px;max-width:560px;max-height:86dvh;padding:22px 24px;box-shadow:0 24px 60px #00000059}.fab{width:56px;height:56px;bottom:32px;right:36px}.toast{max-width:380px;top:24px;left:auto;right:24px;transform:translateY(calc(-100% - 48px))}.toast.show{transform:translateY(0)}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;display:grid}.home-grid>.card{margin:0;padding:18px 20px}.home-grid>.span-all,.home-grid>.install-bar{grid-column:1/-1;margin:0}.shop-groups{columns:2 300px;column-gap:40px}.shop-group{break-inside:avoid;padding-bottom:6px}.content>.card{padding:18px 20px}.board{scroll-snap-type:none;align-items:flex-start;gap:16px;overflow-x:visible}.board-col{flex:1 1 0;min-width:240px;padding:12px}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:14px;display:grid}.notes-grid>.card{margin:0}.content>input[type=text]{max-width:420px}.week-strip,.day-card{display:none!important}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.wk-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:max(360px,100dvh - 210px);display:flex;overflow:hidden}.wk-col.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.wk-head{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:capitalize;justify-content:space-between;align-items:baseline;gap:6px;padding:10px 12px;font-size:.78rem;display:flex}.wk-head b{color:var(--text);font-size:1.3rem;font-weight:700}.wk-col.today .wk-head b{color:var(--primary)}.wk-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex}.wk-ev{text-align:left;cursor:pointer;border:0;border-left:3px solid var(--ec);background:color-mix(in srgb, var(--ec) 16%, var(--bg));border-radius:6px;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.wk-ev:hover{background:color-mix(in srgb, var(--ec) 26%, var(--bg))}.wk-time{color:var(--text-muted);font-size:.7rem;font-weight:600}.wk-title{overflow-wrap:anywhere;font-size:.84rem;font-weight:550;line-height:1.25}.wk-add{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:1px dashed #0000;border-radius:6px;margin-top:auto;padding:6px;font-size:.78rem;transition:opacity .12s}.wk-col:hover .wk-add{opacity:1;border-color:var(--border)}.wk-add:focus-visible{opacity:1}.cal-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.cal-nav{align-items:center;gap:8px;display:flex}.cal-nav .btn{height:34px;padding:0 14px}.cal-range{letter-spacing:-.01em;margin-left:8px;font-size:1.15rem;font-weight:700}.cal-views{width:200px}.month-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.mo-wd{background:var(--surface);color:var(--text-muted);padding:8px 10px;font-size:.74rem;font-weight:600}.mo-cell{background:var(--bg);cursor:cell;flex-direction:column;gap:3px;min-width:0;min-height:116px;padding:6px;display:flex}.mo-cell:hover{background:color-mix(in srgb, var(--surface) 60%, var(--bg))}.mo-cell.out{background:color-mix(in srgb, var(--surface) 35%, var(--bg))}.mo-cell.out .mo-day{color:var(--text-muted);opacity:.6}.mo-day{min-width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:13px;align-self:flex-start;padding:0 6px;font-size:.84rem;font-weight:650}.mo-day:hover{background:var(--surface-alt)}.mo-cell.today .mo-day{background:var(--primary);color:var(--on-primary)}.mo-ev{text-align:left;border:0;border-left:3px solid var(--ec);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--ec) 16%, var(--bg));border-radius:4px;width:100%;padding:3px 6px;font-size:.76rem;font-weight:550;display:block;overflow:hidden}.mo-ev:hover{background:color-mix(in srgb, var(--ec) 28%, var(--bg))}.mo-time{color:var(--text-muted);margin-right:5px;font-size:.7rem;font-weight:600}.mo-more{color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 6px;font-size:.72rem;font-weight:600}}input[type=number]{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);width:100%;padding:9px 10px}.more-icon{fill:none;width:26px;height:26px;stroke:var(--primary);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.status-pill{white-space:nowrap;background:var(--surface-alt);color:var(--text-muted);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:650}.status-pill.warning{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--text)}.status-pill.danger{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.status-pill.ok{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--text)}.trip-btn{margin-left:auto}.menu-week{gap:10px;display:grid}.menu-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.menu-day.today{border-color:var(--primary)}.menu-day-h{color:var(--text-muted);text-transform:capitalize;border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:8px 12px;font-size:.8rem;display:flex}.menu-day-h b{color:var(--text);font-size:1.05rem}.menu-day.today .menu-day-h b{color:var(--primary)}.menu-cell{text-align:left;border:0;border-top:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.menu-cell:first-of-type{border-top:0}.menu-cell:hover{background:var(--surface-alt)}.menu-slot{width:62px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.74rem;font-weight:600}.menu-what{flex:1;min-width:0;font-size:.92rem}.menu-cell.filled .menu-what{font-weight:550}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.recipe-card{text-align:left;cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:4px;margin:0;display:flex}.recipe-card:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.thumb{object-fit:cover;border:1px solid var(--border);cursor:zoom-in;background:var(--surface-alt);border-radius:10px;justify-content:center;align-items:center;width:84px;height:84px;display:inline-flex}.thumb-wrap{position:relative}.thumb-x{background:var(--text);width:22px;height:22px;color:var(--bg);cursor:pointer;border:0;border-radius:50%;font-size:.9rem;line-height:1;position:absolute;top:-6px;right:-6px}.thumb-add{cursor:pointer;color:var(--primary);border-style:dashed;font-size:.8rem;font-weight:600}.thumb-add.busy{cursor:progress;color:var(--text-muted)}.img-loading{animation:1.2s ease-in-out infinite pulse}.img-missing{color:var(--text-muted);text-align:center;padding:6px;font-size:.7rem}.zoomed{border-radius:10px;max-width:100%;max-height:75dvh;margin:0 auto;display:block}.activity-row{color:inherit;font-size:.88rem;line-height:1.35;text-decoration:none}.activity-row:hover{background:color-mix(in srgb, var(--surface-alt) 50%, transparent)}.gcal{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}@media (width>=960px){.menu-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.menu-day{flex-direction:column;display:flex}.menu-cell{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;min-height:96px}.menu-slot{width:auto}.menu-what{overflow-wrap:anywhere;font-size:.86rem}.kassza{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.kassza>.card{margin:0}.kassza>.card:first-child{grid-row:span 20;position:sticky;top:0}.thumb{width:104px;height:104px}}.profile-row{align-items:flex-end;gap:12px;display:flex}.profile-row .avatar{margin-bottom:2px;font-size:1rem}.avatar-img{object-fit:cover;background:var(--surface-alt);padding:0}.avatar-edit{cursor:pointer;border-radius:50%;flex-shrink:0;position:relative}.avatar-edit .avatar{font-size:1.3rem}.avatar-edit-badge{background:var(--primary);width:22px;height:22px;color:var(--on-primary);border:2px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;display:flex;position:absolute;bottom:-2px;right:-2px}.avatar-edit:hover .avatar{filter:brightness(.9)}.avatar-edit.busy{cursor:progress;opacity:.7}.m-cal-toolbar{margin-bottom:10px}.m-cal-nav{align-items:center;gap:8px;margin-bottom:10px;display:flex}.m-cal-nav b{flex:1;font-size:.95rem}.m-hide{display:none!important}.m-week{gap:8px;padding-bottom:72px;display:grid}.m-week-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.m-week-day.today{border-color:var(--primary)}.m-week-h{cursor:pointer;text-align:left;width:100%;color:var(--text-muted);background:0 0;border:0;align-items:baseline;gap:8px;padding:8px 12px;font-size:.82rem;display:flex}.m-week-h b{color:var(--text);min-width:22px;font-size:1.15rem}.m-week-day.today .m-week-h b{color:var(--primary)}.m-ev{border:0;border-top:1px solid var(--border);border-left:3px solid var(--ec);background:color-mix(in srgb, var(--ec) 8%, transparent);cursor:pointer;text-align:left;align-items:baseline;gap:10px;width:100%;padding:8px 12px 8px 10px;display:flex}.m-ev-time{width:62px;color:var(--text-muted);flex-shrink:0;font-size:.74rem;font-weight:600}.m-ev-title{flex:1;min-width:0;font-size:.9rem}.m-ev-empty{border:0;border-top:1px dashed var(--border);width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;padding:6px 12px;font-size:.78rem}.m-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px;display:grid}.m-mo-wd{text-align:center;color:var(--text-muted);padding:2px 0 4px;font-size:.7rem;font-weight:600}.m-mo-cell{aspect-ratio:1/1.05;background:var(--surface);cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding-top:6px;display:flex}.m-mo-cell.out{background:0 0}.m-mo-cell.out .m-mo-num{color:var(--text-muted);opacity:.55}.m-mo-cell.sel{border-color:var(--primary)}.m-mo-num{text-align:center;border-radius:13px;min-width:26px;height:26px;font-size:.9rem;font-weight:600;line-height:26px}.m-mo-cell.today .m-mo-num{background:var(--primary);color:var(--on-primary)}.m-mo-dots{align-items:center;gap:3px;height:6px;display:flex}.m-mo-dots i{border-radius:50%;width:6px;height:6px;display:block}.m-mo-dots em{color:var(--text-muted);font-size:.6rem;font-style:normal;line-height:1}@media (width>=960px){.m-only,.day-card.m-hide{display:none!important}}.auth-ok{background:color-mix(in srgb, var(--success) 14%, transparent);border:1px solid color-mix(in srgb, var(--success) 35%, transparent);border-radius:calc(var(--radius) - 2px);color:var(--text);padding:12px 14px;font-size:.88rem;line-height:1.5}.turnstile{justify-content:center;margin:10px 0 2px;display:flex}.turnstile:empty{display:none}.hp{width:1px;height:1px;top:auto;left:-10000px;overflow:hidden;position:absolute!important}.login>.btn{width:100%}.login>.logo{margin-bottom:18px}.invite-form{flex-wrap:wrap;gap:8px;display:flex}.invite-form input{flex:1;min-width:180px}.sub-form{gap:4px;padding:10px 0 12px;display:grid}.sub-form .btn{justify-self:start}.danger-zone{border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.danger-zone h3{color:var(--danger)}:root{--ease-out:cubic-bezier(.22, .9, .24, 1);--ease-in:cubic-bezier(.45, 0, .8, .35);--ease-spring:cubic-bezier(.34, 1.45, .55, 1)}html{-webkit-tap-highlight-color:transparent}@keyframes page-fade{0%{opacity:0;transform:translateY(6px)}}@keyframes page-fwd{0%{opacity:0;transform:translate(22px)}}@keyframes page-back{0%{opacity:0;transform:translate(-22px)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes modal-out{to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}@keyframes pop{0%{transform:scale(.8)}55%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes fab-in{0%{opacity:0;transform:scale(.4)}}.content{animation:page-fade .28s var(--ease-out) backwards;overflow-x:hidden}.topbar{animation:.22s ease-out backwards fade-in}html[data-nav-dir=fwd] .content{animation-name:page-fwd}html[data-nav-dir=back] .content{animation-name:page-back}.content>.card,.home-grid>.card,.notes-grid>.card,.recipe-grid>.card,.wk-col,.menu-day,.m-week-day{animation:card-in .34s var(--ease-out) backwards}.content>.card:nth-child(2),.home-grid>:nth-child(2),.notes-grid>:nth-child(2),.wk-col:nth-child(2),.menu-day:nth-child(2),.m-week-day:nth-child(2){animation-delay:30ms}.content>.card:nth-child(3),.home-grid>:nth-child(3),.notes-grid>:nth-child(3),.wk-col:nth-child(3),.menu-day:nth-child(3),.m-week-day:nth-child(3){animation-delay:60ms}.content>.card:nth-child(4),.home-grid>:nth-child(4),.notes-grid>:nth-child(4),.wk-col:nth-child(4),.menu-day:nth-child(4),.m-week-day:nth-child(4){animation-delay:90ms}.content>.card:nth-child(5),.home-grid>:nth-child(5),.notes-grid>:nth-child(5),.wk-col:nth-child(5),.menu-day:nth-child(5),.m-week-day:nth-child(5){animation-delay:.12s}.content>.card:nth-child(n+6),.home-grid>:nth-child(n+6),.notes-grid>:nth-child(n+6),.wk-col:nth-child(n+6),.menu-day:nth-child(n+6),.m-week-day:nth-child(n+6){animation-delay:.15s}.shop-group .row,.board-col>div[draggable]{animation:row-in .24s var(--ease-out) backwards}.sheet-backdrop{animation:.24s ease-out fade-in}.sheet-backdrop.closing{animation:fade-out .22s var(--ease-in) forwards}.sheet{animation:sheet-up .38s var(--ease-out);transition:transform .28s var(--ease-out)}.sheet.closing{animation:sheet-down .22s var(--ease-in) forwards}.sheet.dragging{transition:none}.sheet-grab{cursor:grab;touch-action:none;justify-content:center;margin-top:-4px;padding:0 0 10px;display:flex}.sheet-grab span{background:var(--border);border-radius:3px;width:38px;height:5px}.sheet h3{touch-action:none}.toast{transition:transform .5s var(--ease-spring)}.toast-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.btn,.chip,.icon-btn,.btn-google,.seg button,.sync,.fab,.menu-cell,.m-mo-cell,.m-ev,.wk-ev,.mo-ev,.recipe-card,.thumb,.notes-grid>.card,.hh-current,.sidenav-links a,.me,.m-week-h{transition:transform .18s var(--ease-out), background-color .15s, border-color .15s, color .15s, box-shadow .2s, filter .15s, opacity .15s}.btn:active:not(:disabled),.chip:active,.icon-btn:active,.btn-google:active:not(:disabled),.seg button:active,.fab:active,.menu-cell:active,.m-mo-cell:active,.m-ev:active,.wk-ev:active,.mo-ev:active,.recipe-card:active,.thumb:active,.hh-current:active,.me:active{transition-duration:80ms;transform:scale(.96)}.tabbar a{transition:color .2s}.tabbar a svg{transition:transform .35s var(--ease-spring)}.tabbar a.active svg{transform:translateY(-1px)scale(1.08)}.tabbar a:active svg{transition-duration:80ms;transform:scale(.86)}.fab{animation:fab-in .42s var(--ease-spring) .12s backwards}.pop{animation:pop .34s var(--ease-spring)}.checked{transition:color .25s}@media (hover:hover) and (pointer:fine){.recipe-card:hover,.notes-grid>.card:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px #0006}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost:hover:not(:disabled){filter:none;background:var(--surface-alt)}.chip:hover{border-color:var(--border)}.fab:hover{transform:scale(1.06)}}@media (width>=960px){.sheet{animation:modal-in .24s var(--ease-out)}.sheet.closing{animation:modal-out .18s var(--ease-in) forwards}.sheet-grab{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}input[type=datetime-local],input[type=date]{min-width:0}.auth-brand-mobile{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width>=900px){.auth-brand-mobile{display:none}}.tour-btn{cursor:pointer;background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);color:var(--text);transition:background .15s, border-color .15s, transform .18s var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:8px 14px 8px 11px;font-size:.83rem;font-weight:600;display:inline-flex}.tour-btn svg{fill:none;width:17px;height:17px;stroke:var(--primary);stroke-width:2px;stroke-linecap:round}.tour-btn:hover{border-color:var(--primary);background:var(--surface)}.tour-btn:active{transform:scale(.96)}.auth-hero .tour-btn{margin-top:22px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:12px 14px}.stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:750;line-height:1.1;display:block}.stat span{color:var(--text-muted);margin-top:4px;font-size:.75rem;line-height:1.3;display:block}.stat small{color:var(--text-muted);margin-left:4px;font-size:.72rem;font-weight:500}.stat.ok b{color:var(--success)}.stat.warn b{color:var(--danger)}.admin-cols{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=960px){.admin-cols{grid-template-columns:1fr 1fr;margin-bottom:10px}.admin-cols>.card{margin-bottom:0}}.chart{width:100%;height:120px;display:block;overflow:visible}.chart rect{fill:var(--primary);opacity:.85;rx:2}.chart rect.alt{fill:var(--m3)}.chart rect:hover{opacity:1}.chart text{fill:var(--text-muted);font-size:9px}.chart line{stroke:var(--border);stroke-width:1px}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:.75rem;display:flex}.chart-legend i{background:var(--primary);vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart-legend i.alt{background:var(--m3)}.bars{gap:6px;display:grid}.bars>div{grid-template-columns:minmax(110px,1fr) 3fr auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.bars>div span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bars i{background:var(--primary);opacity:.8;border-radius:3px;min-width:2px;height:10px;display:block}.bars b{font-variant-numeric:tabular-nums;font-size:.82rem}.admin-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:.72rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 8px}.admin-table tr:last-child td{border-bottom:0}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table .sub{color:var(--text-muted);font-size:.75rem;display:block}.admin-table .nw{white-space:nowrap}.admin-table-wrap{margin:0 calc(-1 * var(--pad));padding:0 var(--pad);overflow-x:auto}.tag{background:var(--surface-alt);color:var(--text-muted);white-space:nowrap;border-radius:6px;margin-right:3px;padding:2px 6px;font-size:.68rem;display:inline-block}.tag.on{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.admin-kv{grid-template-columns:auto 1fr;gap:4px 14px;font-size:.85rem;display:grid}.admin-kv dt{color:var(--text-muted)}.admin-kv dd{font-variant-numeric:tabular-nums;word-break:break-word;margin:0}.announce{margin:8px var(--pad) 0;border-radius:var(--radius);background:color-mix(in srgb, var(--primary) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);color:var(--text);animation:card-in .3s var(--ease-out) backwards;align-items:center;gap:10px;padding:9px 10px 9px 12px;font-size:.85rem;line-height:1.4;display:flex}.announce.warn{background:color-mix(in srgb, var(--warning) 16%, var(--surface));border-color:color-mix(in srgb, var(--warning) 50%, transparent)}.announce svg{fill:none;width:18px;height:18px;stroke:var(--primary);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.announce.warn svg{stroke:var(--warning)}.announce a{color:var(--primary);font-weight:600}.announce .icon-btn{background:0 0;border:0;width:28px;height:28px;font-size:1rem}@media (width>=960px){.shell>.announce{z-index:20;width:calc(100% - 300px);max-width:640px;box-shadow:var(--shadow);position:absolute;top:8px;left:50%;transform:translate(-50%)}}.fb{border-top:1px solid var(--border);padding:8px 0}.fb:first-of-type{border-top:0}.fb.new .fb-head b:before{content:"";background:var(--primary);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.fb-head{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.fb-msg{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:.9rem;line-height:1.45;display:-webkit-box;overflow:hidden}.fb-msg.open{-webkit-line-clamp:unset;display:block}.fb-detail{margin-top:8px;font-size:.82rem}.tag.bad{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.tag.warn{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning)}.err-detail{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-alt);border-radius:6px;max-height:320px;margin:0;padding:8px;font-size:.72rem;line-height:1.4;overflow:auto}.shared{background:var(--bg);min-height:100dvh}.shared-head{padding:calc(var(--safe-top) + 14px) var(--pad) 6px;justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;display:flex}.shared-main{padding:0 var(--pad) calc(var(--safe-bottom) + 24px);max-width:640px;margin:0 auto}.shared-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;font-size:1.25rem;display:flex}.shared-title small{font-size:.8rem;font-weight:400}.shared-cta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem;display:flex}.shared .row{cursor:pointer}.shared input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.wt{background:var(--bg);position:fixed;inset:0;overflow:hidden}.demo-shell{position:relative}.demo-shell .sidenav-links a,.demo-shell .tabbar a,.demo-week .wk-col{cursor:pointer}.demo-week .wk-col.sel{border-color:var(--primary)}.demo-toast{z-index:65;animation:none}.demo-fresh{animation:card-in .5s var(--ease-spring) both;outline:2px solid var(--primary);outline-offset:1px}.wt-dim{-webkit-backdrop-filter:blur(1.5px);z-index:50;transition:top .45s var(--ease-out), left .45s var(--ease-out), width .45s var(--ease-out), height .45s var(--ease-out), right .45s var(--ease-out), bottom .45s var(--ease-out);background:#000000a3;position:fixed}.wt-ring{z-index:51;pointer-events:none;border:2px solid var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent), 0 12px 40px -10px #0009;transition:top .45s var(--ease-out), left .45s var(--ease-out), width .45s var(--ease-out), height .45s var(--ease-out);border-radius:14px;position:fixed}.wt-ring.live{animation:1.8s ease-in-out infinite wt-breathe}.wt-ring.pulse{animation:wt-shake .5s var(--ease-out)}@keyframes wt-breathe{0%,to{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent), 0 12px 40px -10px #0009}50%{box-shadow:0 0 0 9px color-mix(in srgb, var(--primary) 10%, transparent), 0 12px 40px -10px #0009}}@keyframes wt-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.wt-glass{z-index:52;position:fixed}.wt-skip{top:calc(var(--safe-top) + 10px);z-index:60;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;position:fixed;right:12px}.wt-card{z-index:55;background:var(--bg);width:360px;max-width:calc(100vw - 24px);color:var(--text);box-shadow:0 18px 50px -12px #0009, 0 0 0 1px var(--border);animation:modal-in .32s var(--ease-out) both;transition:top .45s var(--ease-out), left .45s var(--ease-out), bottom .45s var(--ease-out);border-radius:18px;padding:16px 18px 14px;position:fixed}.wt-card.center{width:auto;max-width:400px;margin:0 auto;padding:22px 22px 18px;animation:.3s ease-out both fade-in;transform:translateY(-50%);top:50%!important;left:12px!important;right:12px!important}.wt-progress{gap:3px;margin-bottom:10px;display:flex}.wt-progress i{background:var(--border);border-radius:2px;flex:1;height:3px;transition:background .3s}.wt-progress i.done{background:color-mix(in srgb, var(--primary) 55%, transparent)}.wt-progress i.on{background:var(--primary)}.wt-count{color:var(--text-muted);letter-spacing:.04em;font-size:.72rem;font-weight:600}.wt-card h2{letter-spacing:-.01em;margin:2px 0 6px;font-size:1.15rem}.wt-card p{color:var(--text-muted);font-size:.88rem;line-height:1.5}.wt-hint{background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--text);border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:.85rem;font-weight:600;display:flex}.wt-hint svg{fill:none;width:20px;height:20px;stroke:var(--primary);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;animation:1.4s ease-in-out infinite wt-tap}@keyframes wt-tap{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.wt-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.wt-final{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009e;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out fade-in;display:flex;position:fixed;inset:0}.wt-final-card{background:var(--bg);text-align:center;width:100%;max-width:420px;animation:modal-in .32s var(--ease-out) both;border-radius:22px;justify-items:center;gap:10px;padding:28px 24px 20px;display:grid;box-shadow:0 24px 60px -16px #000000b3}.wt-final-card h2{letter-spacing:-.02em;margin-top:4px;font-size:1.45rem}.wt-final-card p{color:var(--text-muted);margin-bottom:6px;font-size:.92rem;line-height:1.5}.wt-final-card .btn{width:100%;height:46px}@media (width<=719px){.wt-card{width:auto}}@media (prefers-reduced-motion:reduce){.wt-dim,.wt-ring,.wt-card{transition:none}.wt-ring.live,.wt-hint svg{animation:none}}.admin-user-edit{padding:6px 0 2px}.admin-table tr.open td{background:var(--surface-alt)}.hh-pill{border:1px solid var(--border);background:var(--surface);max-width:150px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 9px;font-size:.76rem;font-weight:600;display:inline-flex}.hh-pill .dot{flex-shrink:0;width:9px;height:9px}.hh-pill-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hh-pill svg{fill:none;width:14px;height:14px;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.hh-row{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0}.hh-row.on{background:color-mix(in srgb, var(--primary) 8%, transparent);border-radius:var(--radius)}.icon-preview{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.icon-preview-phone{border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 16px 10px;font-size:.7rem;display:flex}.icon-preview-phone.dark{color:#f3ede6;background:#15110e}.icon-preview-phone.light{color:#2b231d;background:#e9e3da}.presence-row{color:var(--text-muted);border-radius:var(--radius);background:color-mix(in srgb, var(--success) 12%, transparent);animation:card-in .3s var(--ease-out) backwards;align-items:center;gap:8px;margin:2px 0 6px;padding:6px 8px;font-size:.8rem;display:flex}.presence-dots{display:inline-flex}.presence-dots .avatar{border:2px solid var(--surface);margin-right:-6px}.just-checked{animation:pop .4s var(--ease-spring);margin-left:4px;display:inline-flex}.guest-bar{background:color-mix(in srgb, var(--warning) 16%, var(--surface));border-color:color-mix(in srgb, var(--warning) 50%, transparent)}.guest-bar .btn{flex-shrink:0}.guest-btn{border-radius:calc(var(--radius) + 2px);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;gap:2px;margin-top:16px;padding:12px 14px;display:grid}.guest-btn b{font-size:.9rem}.guest-btn .muted{font-size:.78rem}.guest-btn:hover:not(:disabled){border-color:var(--primary)}.guest-btn:disabled{opacity:.6}.invite-preview{margin:6px 0 16px}.invite-avatars{margin-bottom:10px;display:flex}.invite-avatars .avatar{border:2px solid var(--bg);margin-right:-8px}.invite-hh{letter-spacing:-.02em;margin-bottom:4px;font-size:1.35rem;font-weight:750}.rsvp{flex-wrap:wrap;gap:6px;display:flex}.rsvp-m{background:var(--surface-alt);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:.8rem;display:inline-flex}.rsvp-m i{color:var(--text-muted);font-style:normal;font-weight:700}.rsvp-m.yes i{color:var(--success)}.rsvp-m.no i{color:var(--danger)}.rsvp-sum{color:var(--text-muted);white-space:nowrap;margin-right:6px;font-size:.72rem}.icon-btn.mic{flex-shrink:0}.icon-btn.mic svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-btn.mic.on{background:var(--danger);color:#fff;border-color:var(--danger);animation:1s ease-in-out infinite pulse}
