:root{--paper: #faf6f0;--cream: #fef7ed;--peach: #ffe9d6;--card: #ffffff;--teal: #14b8a6;--teal-dark: #0f766e;--coral: #fb7185;--sky: #7dd3fc;--lavender: #c4b5fd;--mint: #86efac;--pink: #f9a8d4;--olive: #a3b18a;--amber: #fbbf24;--ink: #1e293b;--sub: #64748b;--muted: #94a3b8;--line: #e2e8f0;--shadow: 0 4px 16px -6px rgba(15, 23, 42, .1);--shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, .18);--shadow-teal: 0 6px 16px -6px rgba(20, 184, 166, .35);--radius-sm: 12px;--radius: 18px;--radius-lg: 24px;--radius-xl: 32px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:hidden;max-width:100vw}body{font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;color:var(--ink);background:linear-gradient(160deg,#a8e6f2,#d4f1f9 15%,#fef7f0,#fdd8b8 85%,#f9a875);background-attachment:fixed;-webkit-font-smoothing:antialiased}body{padding:14px}.app{display:block;height:calc(100vh - 28px);background:var(--paper);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:10px;overflow:hidden;position:relative}.content{padding:12px 18px;overflow-y:auto;border-radius:var(--radius-lg);background:transparent;height:100%}.icon-sidebar{position:absolute;top:10px;bottom:10px;left:10px;width:108px;background:#fff;padding:12px 8px;display:flex;flex-direction:column;gap:6px;align-items:center;overflow-y:auto;overflow-x:visible;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;transform:translate(-125%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.sidebar-open .icon-sidebar{transform:translate(0)}.icon-sidebar .spacer{flex:1}.page-dots-handle{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:20px;height:60px;min-height:0;padding:0;border:none;border-radius:999px;background:#fff;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:90;color:var(--teal);animation:dots-handle-hint 4s ease-in-out 1.5s 3;transition:transform .15s,box-shadow .15s,background .15s}.page-dots-handle span{width:4px;height:4px;border-radius:50%;background:currentColor}.page-dots-handle:hover{background:linear-gradient(180deg,var(--teal),var(--teal-dark));color:#fff;transform:translateY(-50%) translate(3px);box-shadow:0 6px 16px -2px #14b8a673}.page-dots-handle.right-handle{left:auto;right:4px;animation:none}.page-dots-handle.right-handle:hover{transform:translateY(-50%) translate(-3px)}.right-meals-panel{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:320px;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);padding:12px;z-index:100}.right-meals-panel.portrait{width:min(360px,calc(100vw - 60px));max-height:calc(100vh - 40px);overflow-y:auto;top:10px;transform:none}.right-meals-panel .today-meals-card{background:transparent;box-shadow:none;padding:0}.right-meals-panel .tmc-list{grid-template-columns:1fr!important;gap:6px!important}.date-picker-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:240px;background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);padding:10px;z-index:200}.dpp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dpp-nav{min-height:0;padding:4px;border:none;background:transparent;color:var(--sub);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.dpp-nav:hover{background:var(--peach);color:var(--ink)}.dpp-title{flex:1;text-align:center;font-weight:700;font-size:14px;text-transform:capitalize;color:var(--ink);cursor:pointer;padding:4px 8px;border-radius:6px}.dpp-title:hover{background:#f3f4f6}.dpp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.dpp-weekdays>div{font-size:11px;font-weight:700;color:var(--sub);text-align:center;padding:4px 0}.dpp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dpp-day{min-height:0;padding:3px 0;border:none;background:transparent;border-radius:4px;font-size:11px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .1s;line-height:1.2}.dpp-day:hover{background:var(--peach)}.dpp-day.out{color:#cbd5e1}.dpp-day.today{color:var(--teal-dark);font-weight:700;border:1.5px solid var(--teal)}.dpp-day.selected{background:var(--teal)!important;color:#fff;font-weight:700}.dpp-foot{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);text-align:center}.dpp-today-btn{min-height:0;padding:6px 14px;background:transparent;border:1px solid var(--teal);color:var(--teal-dark);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.dpp-today-btn:hover{background:var(--teal);color:#fff}.screen-dim-overlay{position:fixed;top:0;right:0;bottom:0;left:0;transition:opacity .8s ease;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding-bottom:50px;color:#ffffffd9;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px rgba(0,0,0,.6)}.dim-tap-hint{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:140px;height:140px;opacity:1;transition:opacity .8s ease}.dim-tap-hint.fade-out{opacity:0;pointer-events:none}.dim-finger{font-size:64px;animation:dim-finger-bounce 1.6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4));z-index:3}.dim-text{margin-top:12px;font-size:15px;font-weight:700;letter-spacing:.02em;animation:dim-text-pulse 2.4s ease-in-out infinite;z-index:3}.dim-ripple{position:absolute;top:30%;left:50%;width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.7);transform:translate(-50%,-50%) scale(0);animation:dim-ripple-expand 2.2s ease-out infinite;z-index:1}.dim-ripple-2{animation-delay:.7s}.dim-ripple-3{animation-delay:1.4s}@keyframes dim-finger-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-14px) scale(1.06)}50%{transform:translateY(-12px) scale(1.1)}60%{transform:translateY(0) scale(.94)}}@keyframes dim-text-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes dim-ripple-expand{0%{transform:translate(-50%,-50%) scale(.5);opacity:.9;border-width:4px}to{transform:translate(-50%,-50%) scale(3.2);opacity:0;border-width:1px}}.settings-page{padding:0 12px 24px;max-width:1400px;margin:0 auto}.settings-grid{column-count:2;column-gap:12px}.settings-grid>.card{margin:0 0 12px;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:block}@media(max-width:900px),(orientation:portrait){.settings-grid{column-count:1}}.settings-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:6px;background:#fff;border-radius:12px;box-shadow:var(--shadow);margin-bottom:16px;overflow-x:auto}.settings-tab{min-height:0;padding:8px 16px;border:none;background:transparent;color:var(--sub);font-size:14px;font-weight:700;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .15s}.settings-tab:hover{background:var(--peach);color:var(--ink)}.settings-tab.active{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;box-shadow:0 2px 6px -1px #14b8a680}.stab-icon{font-size:16px}@media(max-width:700px){.stab-label{display:none}.settings-tab{padding:8px 12px}.stab-icon{font-size:18px}}.page-dots-handle.right-handle.has-overdue{box-shadow:0 0 0 2px #dc26264d,var(--shadow)}.right-handle-badge{position:absolute;top:-4px;right:-4px;width:16px!important;height:16px!important;border-radius:50%;background:#dc2626!important;color:#fff;font-size:10px;font-weight:700;display:flex!important;align-items:center;justify-content:center;border:2px solid white}.right-tasks-panel{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:320px;max-height:70vh;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);padding:12px;z-index:100;display:flex;flex-direction:column;overflow:hidden}.rtp-head{display:flex;align-items:center;padding-bottom:8px;border-bottom:1.5px dashed var(--line);margin-bottom:8px}.rtp-title{flex:1;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:15px;color:var(--ink)}.rtp-close{min-height:0;padding:4px 8px;border:none;background:transparent;color:var(--sub);cursor:pointer;font-size:16px}.rtp-close:hover{color:var(--ink)}.rtp-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.rtp-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f9fafb;border-radius:8px;transition:background .15s}.rtp-item:hover{background:#f3f4f6}.rtp-item.overdue{background:#fef2f2;border-left:3px solid #dc2626}.rtp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rtp-body{flex:1;min-width:0}.rtp-item-title{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtp-item-sub{font-size:11px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtp-check{min-height:0;padding:6px;border:none;border-radius:6px;background:var(--teal, #14b8a6);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.rtp-check:hover:not(:disabled){background:var(--teal-dark, #0d9488)}.rtp-check:disabled{opacity:.5;cursor:wait}@keyframes dots-handle-hint{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(4px)}}.page-dots-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a26;z-index:85;animation:sidebar-backdrop-in .15s ease-out}.page-dots-nav{position:absolute;left:10px;top:50%;transform:translateY(-50%) translate(-120%);display:flex;flex-direction:column;gap:6px;padding:8px 6px;background:#fff;border-radius:999px;box-shadow:var(--shadow-lg);z-index:90;max-height:calc(100vh - 100px);overflow-y:auto;opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.34,1.3,.64,1),opacity .2s}.page-dots-nav.open{transform:translateY(-50%) translate(0);opacity:1;pointer-events:auto}.page-dot{position:relative;width:28px;height:28px;border-radius:50%;background:var(--cream);color:var(--sub);display:grid;place-items:center;text-decoration:none;font-size:12px;cursor:pointer;transition:all .18s cubic-bezier(.34,1.3,.64,1);flex-shrink:0}.page-dot>.pd-emoji,.page-dot>img{width:18px;height:18px;opacity:.55;transition:all .15s}.page-dot>img{object-fit:contain}.page-dot:hover{background:color-mix(in srgb,var(--dot-color, var(--teal)) 22%,white);transform:scale(1.1)}.page-dot:hover>.pd-emoji,.page-dot:hover>img{opacity:1}.page-dot.active{width:40px;height:40px;background:linear-gradient(135deg,var(--dot-color, var(--teal)),color-mix(in srgb,var(--dot-color, var(--teal)) 65%,black));box-shadow:0 4px 12px -2px color-mix(in srgb,var(--dot-color, var(--teal)) 55%,transparent)}.page-dot.active>.pd-emoji,.page-dot.active>img{width:22px;height:22px;opacity:1}.page-dot.active>img{filter:brightness(0) invert(1)}.pd-label{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-6px);background:#fff;padding:4px 12px;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px;color:var(--ink);white-space:nowrap;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.page-dot:hover .pd-label,.page-dot.active .pd-label{opacity:1;transform:translateY(-50%) translate(0)}.page-dot.active .pd-label{background:linear-gradient(135deg,var(--dot-color, var(--teal)),color-mix(in srgb,var(--dot-color, var(--teal)) 60%,black));color:#fff}.settings-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.settings-header h2{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:26px;color:var(--ink);margin:0;letter-spacing:-.01em}.settings-back-btn{min-height:38px;padding:6px 14px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--cream),var(--peach));color:var(--ink);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .15s,box-shadow .15s}.settings-back-btn:hover{transform:translate(-2px);box-shadow:0 4px 12px -2px #f973164d;background:linear-gradient(135deg,var(--peach),#fdba74)}.settings-collapsible{padding:0!important;overflow:hidden}.settings-collapsible-head{width:100%;display:flex!important;align-items:center;gap:12px;padding:18px 22px!important;border:none!important;background:#fff!important;color:var(--ink)!important;cursor:pointer;text-align:left;min-height:0!important;border-radius:0!important;box-shadow:none!important;font-family:Fredoka,Nunito,sans-serif!important;transition:background .15s}.settings-collapsible-head:hover{background:var(--cream)!important;transform:none!important}.scc-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--cream),var(--peach));font-size:22px;flex-shrink:0}.scc-title{flex:1;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:17px;color:var(--ink);letter-spacing:-.005em}.scc-chevron{color:var(--sub);font-size:20px;transition:transform .2s}.scc-chevron.open{transform:rotate(180deg);color:var(--teal)}.settings-collapsible-body{padding:4px 22px 22px;animation:settings-cc-in .2s ease-out}@keyframes settings-cc-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:sidebar-backdrop-in .2s ease-out}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 10px;margin-bottom:4px;border-bottom:1px dashed #e5e7eb;width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;text-decoration:none;transition:transform .12s}.sidebar-brand:hover{transform:scale(1.03)}.sidebar-brand:active{transform:scale(.98)}.sidebar-brand .brand-mark{font-size:26px;line-height:1;filter:drop-shadow(0 2px 4px rgba(15,23,42,.15))}.sidebar-brand .brand-top{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:20px;line-height:1;letter-spacing:-.5px;background:linear-gradient(135deg,#3b82f6,#06b6d4,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar-brand .brand-sub{font-family:Fredoka,Nunito,sans-serif;font-weight:500;font-size:10px;color:#94a3b8;letter-spacing:1.5px;text-transform:uppercase}.nav-tile{width:72px;min-height:0!important;padding:4px!important;border-radius:16px;background:transparent!important;color:var(--tile-color, #374151)!important;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;border:none!important;cursor:pointer;font-size:30px;font-weight:500;transition:transform .1s,background .15s;position:relative}.nav-tile:before{content:"";position:absolute;top:4px;left:50%;transform:translate(-50%);width:48px;height:48px;border-radius:50%;background:var(--tile-bg, #f3f4f6);transition:transform .15s,background .15s,box-shadow .15s;z-index:0}.nav-tile .dual-icons{z-index:1;position:relative;display:inline-flex;gap:2px;align-items:center;justify-content:center}.nav-tile.dual:before{width:56px}.nav-tile.dual .dual-icons>img:nth-child(1){transform:translate(2px)}.nav-tile.dual .dual-icons>img:nth-child(2){transform:translate(-2px)}.nav-tile>svg,.nav-tile>img{z-index:1;position:relative;transition:transform .15s;margin:4px 0 6px}.nav-tile .dual-icons{margin:4px 0 6px}.nav-tile{transition:transform .18s cubic-bezier(.34,1.5,.64,1)}.nav-tile:hover:not(:disabled){transform:translateY(-2px)}.nav-tile:hover:not(:disabled):before{transform:translate(-50%) scale(1.25);box-shadow:0 10px 20px -4px #0f172a38,0 0 0 4px color-mix(in srgb,var(--tile-color, var(--teal)) 18%,transparent);background:color-mix(in srgb,var(--tile-bg, #f3f4f6) 65%,var(--tile-color, var(--teal)) 35%)}.nav-tile:hover:not(:disabled)>img,.nav-tile:hover:not(:disabled)>svg,.nav-tile:hover:not(:disabled) .dual-icons{transform:scale(1.15) rotate(-3deg);animation:nav-tile-wobble .5s ease-in-out}.nav-tile:active:not(:disabled){transform:translateY(0) scale(.96)}@keyframes nav-tile-wobble{0%,to{transform:scale(1.15) rotate(-3deg)}30%{transform:scale(1.18) rotate(5deg)}60%{transform:scale(1.15) rotate(-2deg)}}.nav-tile.active:before{background:var(--tile-color, #2563eb);box-shadow:0 8px 18px #0f172a26}.nav-tile.active{color:#fff!important}.nav-tile.active .nav-label{color:var(--tile-color, #2563eb);font-weight:900}.nav-tile .nav-label{position:relative;display:block;color:var(--sub);font-family:Nunito,sans-serif;font-size:10px;font-weight:700;line-height:1.1;letter-spacing:.2px;text-align:center;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:color .15s,font-weight .15s,transform .15s}.nav-tile:hover .nav-label,.nav-tile:focus-visible .nav-label{color:var(--tile-color, var(--ink));font-weight:900;transform:translateY(1px)}.nav-tile.util{width:72px;padding:4px!important}.nav-tile.util:before{width:48px;height:48px;top:4px}.nav-tile.util>img,.nav-tile.util>svg{width:30px!important;height:30px!important}.nav-tile.util .nav-label{display:none}.icon-sidebar{width:100px!important}.icon-sidebar .nav-tile,.icon-sidebar .nav-tile.util{width:76px!important;padding:4px!important}.icon-sidebar .nav-tile:before,.icon-sidebar .nav-tile.util:before{width:44px!important;height:44px!important;top:4px!important}.icon-sidebar .nav-tile>img,.icon-sidebar .nav-tile>svg,.icon-sidebar .nav-tile.util>img,.icon-sidebar .nav-tile.util>svg{width:26px!important;height:26px!important;margin:4px 0!important}.icon-sidebar .nav-tile .nav-label{display:block!important;position:relative;opacity:1!important;color:var(--tile-color, var(--ink));font-family:Nunito,sans-serif;font-size:10px!important;font-weight:800;line-height:1.4;text-align:center;white-space:nowrap;max-width:100%;overflow:visible;padding:0 2px 2px;z-index:5;pointer-events:none;text-shadow:0 0 3px rgba(255,255,255,.9),0 0 6px rgba(255,255,255,.7),0 1px 0 rgba(255,255,255,.9);transition:color .15s,font-weight .15s,transform .15s}.icon-sidebar .nav-tile.util .nav-label{display:none!important}.icon-sidebar .nav-tile:hover .nav-label,.icon-sidebar .nav-tile:focus-visible .nav-label,.icon-sidebar .nav-tile.active .nav-label{font-weight:900!important;transform:translateY(1px);z-index:250}.nav-tile-settings{width:44px!important;height:44px!important;min-height:0!important;padding:0!important;border:none!important;border-radius:12px!important;background:var(--cream)!important;color:var(--sub)!important;cursor:pointer;display:grid!important;place-items:center;text-decoration:none;margin:6px auto;transition:transform .18s cubic-bezier(.34,1.5,.64,1),background .18s,color .18s,box-shadow .18s;flex-shrink:0}.nav-tile-settings:hover{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;transform:translateY(-2px) rotate(45deg);box-shadow:0 6px 18px -2px #14b8a680}.nav-tile-settings.active{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;box-shadow:0 4px 12px -2px #14b8a666}.nav-tile-settings>svg{width:20px!important;height:20px!important}@media(orientation:portrait),(max-width:900px){.icon-sidebar .spacer{flex:1}.vidi-wrap-with-now{left:auto!important;right:24px!important;bottom:24px!important}.vidi-avatar{width:56px!important;height:56px!important}.cozy-tip{max-width:180px;font-size:12px;padding:8px 12px;left:auto!important;right:66px!important;border-radius:18px 18px 4px!important}.cozy-tip:after{left:auto!important;right:-6px!important;border-width:6px 0 6px 8px!important;border-color:transparent transparent transparent white!important;filter:drop-shadow(1px 0 1px rgba(0,0,0,.04))!important}.cozy-tip.show{transform:translate(0) scale(1)!important}.vidi-chat{left:auto!important;right:66px!important;width:300px;max-height:55vh;transform-origin:bottom right!important}.dashboard{grid-template-columns:1fr!important;grid-template-rows:auto auto 1fr auto!important}.dashboard .top-bar{grid-column:1!important;grid-row:1!important}.dashboard .schedule-card{grid-column:1!important;grid-row:2!important}.dashboard .side-panel{grid-column:1!important;grid-row:3!important;padding-bottom:0!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important}.dashboard .side-panel>*{min-width:260px;flex-shrink:0}.dashboard .bottom-bar{grid-column:1!important;grid-row:4!important;grid-template-columns:1fr!important;padding-bottom:80px!important}.schedule-view-toggle button:first-child{display:none}.schedule-view-toggle button:last-child{pointer-events:none}.day-timeline-shell{overflow-x:auto}.day-timeline-grid,.day-timeline-headers{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:4px!important;min-width:max-content}.day-timeline-grid>*,.day-timeline-headers>*{min-width:100px}.tb-time{font-size:26px!important}.tb-brand-name{font-size:12px!important}.top-weather{padding:4px 10px!important}.tb-desc,.sidebar-brand{display:none}.content{grid-column:1;grid-row:1}.nav-tile{width:64px;padding:4px!important;flex:0 0 auto}.nav-tile:before{width:48px;height:48px;top:4px}.nav-tile>img,.nav-tile>svg{width:34px!important;height:34px!important}.nav-tile .nav-label{font-size:9px}.nav-tile.util{width:52px}.nav-tile.util:before{width:42px;height:42px;top:6px}.nav-tile.util>img,.nav-tile.util>svg{width:30px!important;height:30px!important}.dashboard{grid-template-columns:1fr;grid-template-rows:repeat(8,auto);gap:10px}.dashboard .top-bar{grid-column:1;grid-row:1}.dashboard .family-bar{grid-column:1;grid-row:2;margin:0!important;max-width:none!important;justify-self:stretch!important;justify-content:center;flex-wrap:wrap}.dashboard .today-meals-card{grid-column:1;grid-row:3}.dashboard .view-nav-card{grid-column:1;grid-row:4}.dashboard .week-panel{grid-column:1;grid-row:5}.dashboard .side-panel{grid-column:1;grid-row:6;overflow:visible}.dashboard .bottom-bar{grid-column:1;grid-row:7;grid-template-columns:1fr}.week-panel,.side-panel{min-height:0!important}.day-members-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.week-grid{min-height:480px}.modal-card{max-height:calc(100vh - 32px)}.modal-body .field-row{grid-template-columns:1fr}.top-bar{flex-wrap:wrap;row-gap:4px}.top-weather{margin-left:0!important}}@media(max-width:480px){body{padding:0!important}.app{height:100vh!important;border-radius:0!important;padding:4px!important;box-shadow:none!important}.content{padding:6px 8px!important}.day-timeline-grid>*,.day-timeline-headers>*{min-width:84px}.day-timeline-shell.single-member .day-timeline-grid,.day-timeline-shell.single-member .day-timeline-headers{grid-template-columns:1fr!important;min-width:0}.day-timeline-shell.single-member .day-timeline-grid>*,.day-timeline-shell.single-member .day-timeline-headers>*{min-width:0}.content{padding:4px!important}.schedule-card{padding:8px!important}.nav-tile{width:56px}.nav-tile:before{width:42px;height:42px}.family-bar .avatar{width:40px!important;height:40px!important}.family-bar .avatar-name{font-size:10px!important}.tb-brand-logo{font-size:22px!important}.tb-brand-name{font-size:11px!important}.tb-time{font-size:22px!important}.tb-date{font-size:10px!important}.tb-icon{font-size:20px!important}.tb-temp{font-size:16px!important}.top-weather{padding:2px 6px!important;gap:4px!important}.tb-icon-btn{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important}.tb-icon-btn>svg{width:14px!important;height:14px!important}.tb-actions{gap:4px!important}.tb-actions>span{font-size:10px!important;padding:2px 6px!important}.sched-m-tab{width:32px!important;height:32px!important;border-width:2px!important}.sched-add-btn{width:28px!important;height:28px!important}.sched-add-btn>svg{width:14px!important;height:14px!important}.sched-clear-btn{width:24px!important;height:24px!important}.sched-clear-btn>svg{width:12px!important;height:12px!important}.schedule-view-toggle button,.sched-today-btn,.jump-to-now{min-height:32px!important;padding:0 10px!important;font-size:12px!important}.jump-to-now>svg{width:12px!important;height:12px!important}.schedule-title{font-size:18px!important}.schedule-title img{width:22px!important;height:22px!important}.vidi-avatar{width:46px!important;height:46px!important}.cozy-tip{font-size:11px!important;max-width:150px!important;padding:6px 10px!important}}@media(orientation:landscape)and (max-height:680px){.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#a8e6f2,#fdd8b8);z-index:9999}.app:after{content:"🔄  Melhor na vertical\aRoda o telemóvel para continuar";white-space:pre;text-align:center;position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:10000;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:22px;color:#0f766e;line-height:1.5;padding:20px}}@media(orientation:landscape)and (max-height:780px)and (min-width:700px){.icon-sidebar{width:92px}.nav-tile{width:72px}.nav-tile:before{width:42px;height:42px;top:4px}.nav-tile>img,.nav-tile>svg{width:28px!important;height:28px!important;margin:4px 0 6px!important}.nav-tile .nav-label{font-size:9px}.nav-tile.util{width:60px}.nav-tile.util:before{width:38px;height:38px}.nav-tile.util>img,.nav-tile.util>svg{width:26px!important;height:26px!important}.sidebar-brand{font-size:11px!important}.brand-mark{font-size:16px!important}}@media(min-width:1500px){body{font-size:20px}.icon-sidebar{width:128px}.nav-tile{width:108px}.nav-tile:before{width:82px;height:82px;top:8px}.nav-tile>img,.nav-tile>svg{width:42px!important;height:42px!important}.nav-tile .nav-label{font-size:12px}.nav-tile-settings{width:108px}.nav-tile-settings>svg{width:26px!important;height:26px!important}.tb-time{font-size:40px}.tb-date{font-size:14px}.tb-brand-name{font-size:16px}.tb-icon{font-size:32px}.tb-temp{font-size:24px}.tb-desc{font-size:14px}.tb-icon-btn{width:44px;height:44px}.tb-icon-btn>svg{width:20px;height:20px}.content{padding:16px 24px}.schedule-card{padding:16px 20px}.schedule-title{font-size:26px}.day-timeline-headers,.day-timeline-grid>*{min-width:140px}button,.btn{font-size:18px}.vidi-avatar{width:78px!important;height:78px!important}.cozy-tip{font-size:15px;max-width:260px}}@media(min-width:2200px){body{font-size:24px}.icon-sidebar{width:148px}.nav-tile{width:128px}.nav-tile:before{width:96px;height:96px}.nav-tile>img,.nav-tile>svg{width:50px!important;height:50px!important}.nav-tile .nav-label{font-size:14px}.tb-time{font-size:52px}.tb-date{font-size:18px}.tb-temp{font-size:30px}.tb-icon{font-size:40px}.schedule-title{font-size:32px}.day-timeline-headers,.day-timeline-grid>*{min-width:180px}.content{padding:24px 36px}button,.btn{font-size:20px;min-height:56px}}.mobile-view-hint{display:none;margin:4px 8px 8px;padding:6px 10px;border-radius:10px;background:#fef3c7;color:#92400e;font-size:12px;line-height:1.3;border:1px solid #fde68a}@media(max-width:700px){.mobile-view-hint{display:block}}.mobile-view-hint .link{color:#b45309;text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font:inherit}button,.btn{min-height:48px;padding:0 20px;border-radius:10px;border:none;background:#2563eb;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}button:hover,.btn:hover{background:#1d4ed8}button.ghost{background:transparent;color:#2563eb;border:1px solid #cbd5e1}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{min-height:44px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;width:100%;background:#fff;font-family:Nunito,system-ui;color:var(--ink);box-shadow:0 1px 3px #0000000d;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 15%,transparent),0 1px 3px #0000000f}input::placeholder,textarea::placeholder{color:var(--muted);font-weight:500}.card{background:#fff;border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow);margin-bottom:16px;border:1px solid rgba(226,232,240,.5)}h2{margin-top:0}.card>h3{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:18px;color:var(--ink);margin:0 0 6px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.card>p:first-of-type{color:var(--sub);font-size:14px;margin:0 0 16px;line-height:1.5}.card input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),.card select,.card textarea{min-height:40px;padding:8px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;font-family:Nunito,system-ui;font-size:14px;font-weight:600;color:var(--ink);transition:border-color .15s,box-shadow .15s}.card input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):focus,.card select:focus,.card textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 15%,transparent)}.card textarea{resize:vertical;min-height:60px;font-family:inherit}.card button:not(.ghost):not([class*=tile]):not([class*=modal]):not([class*=srp]):not([class*=bp]):not([class*=floating]):not([class*=page-dot]):not([class*=tb-]):not([class*=wf-]){min-height:40px;padding:8px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 3px 10px -2px #14b8a666}.card button:not(.ghost):not([class*=tile]):not([class*=modal]):not([class*=srp]):not([class*=bp]):not([class*=floating]):not([class*=page-dot]):not([class*=tb-]):not([class*=wf-]):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px -2px #14b8a68c}.card button.ghost{min-height:36px;padding:6px 14px;background:var(--cream)!important;color:var(--sub)!important;border:none;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:all .15s}.card button.ghost:hover:not(:disabled){background:var(--peach)!important;color:var(--ink)!important;transform:translateY(-1px)}.card button:disabled{opacity:.5;cursor:not-allowed}.bd-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:linear-gradient(135deg,var(--cream),white);border-radius:var(--radius);margin-bottom:16px}.bd-field{display:flex;flex-direction:column;gap:4px}.bd-field-full{grid-column:1 / -1}.bd-field>span{font-family:Fredoka,Nunito,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--sub)}.bd-kind-pills{display:flex;flex-wrap:wrap;gap:6px}.bd-kind-pill{min-height:34px!important;padding:4px 12px!important;border:2px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:var(--sub)!important;font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:12px!important;cursor:pointer;transition:all .15s;box-shadow:none!important}.bd-kind-pill:hover:not(:disabled){border-color:var(--teal)!important;color:var(--teal-dark)!important;transform:translateY(-1px)}.bd-kind-pill.active{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 10px -2px #14b8a666!important}.bd-form-footer{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px;border-top:1.5px dashed var(--line)}.bd-recurring-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-radius:999px;cursor:pointer;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px;color:var(--ink)}.bd-recurring-toggle input{width:18px!important;height:18px!important;min-height:0!important;accent-color:var(--teal);cursor:pointer}.bd-add-btn{margin-left:auto;min-height:40px!important;padding:8px 18px!important;background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;border:none;border-radius:12px!important;font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:13px!important;cursor:pointer;display:inline-flex!important;align-items:center;gap:6px;box-shadow:0 4px 10px -2px #14b8a666;transition:transform .15s,box-shadow .15s}.bd-add-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px -2px #14b8a68c}.bd-add-btn:disabled{opacity:.5;cursor:not-allowed}.bd-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1.5px dashed var(--line)}.bd-filter{min-height:30px!important;padding:4px 12px!important;border:none!important;border-radius:999px!important;background:var(--cream)!important;color:var(--sub)!important;font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:12px!important;cursor:pointer;display:inline-flex!important;align-items:center;gap:6px;transition:all .15s;box-shadow:none!important}.bd-filter:hover{background:var(--peach)!important}.bd-filter.active{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important}.bd-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;background:#fff6;border-radius:999px;font-size:10px}.bd-filter.active .bd-filter-count{background:#ffffff4d}.bd-filter-none{color:var(--muted)!important}.bd-empty{padding:24px;text-align:center;color:var(--sub);font-style:italic;background:var(--cream);border-radius:var(--radius)}.bd-list{display:flex;flex-direction:column;gap:8px}.bd-row{display:grid;grid-template-columns:44px 1fr 140px 130px 36px;gap:10px;align-items:center;padding:10px 12px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .12s}.bd-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.bd-row-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--peach),#fed7aa);display:grid;place-items:center;font-size:22px}.bd-row-main{min-width:0}.bd-row-title{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--ink)}.bd-row-sub{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--sub);margin-top:2px}.bd-row-badge{padding:1px 8px;background:var(--cream);border-radius:999px;font-size:10px;font-weight:700}.bd-row-when{color:var(--teal-dark);font-family:Fredoka,Nunito,sans-serif;font-weight:700}.bd-row-relation,.bd-row-branch{min-height:34px!important;padding:4px 10px!important;border:1.5px solid var(--line)!important;border-radius:8px!important;background:#fff!important;font-size:12px!important;font-weight:700!important}.bd-row-del{width:36px!important;height:36px!important;min-height:0!important;padding:0!important;border:none!important;border-radius:50%!important;background:#fee2e2!important;color:#b91c1c!important;cursor:pointer;display:grid!important;place-items:center;transition:all .15s;box-shadow:none!important}.bd-row-del:hover{background:#fecaca!important;transform:rotate(-8deg)}@media(max-width:900px){.bd-form{grid-template-columns:1fr}.bd-row{grid-template-columns:40px 1fr 36px}.bd-row-relation,.bd-row-branch{grid-column:2}}.content button:not(.ghost):not(.card):not([class*=modal-]):not([class*=tile]):not([class*=srp-]):not([class*=bp-]):not([class*=tb-]):not([class*=sched-]):not([class*=wf-]):not([class*=page-dot]):not([class*=tmc-]):not([class*=bd-]):not([class*=pd-]):not([class*=tt-]):not([class*=floating]):not([class*=collapsible]):not([class*=kids-]):not([class*=jump-to]):not([class*=vidi]):not([class*=cozy]):not([class*=settings-]):not([class*=family-member]):not([class*=shop-]):not([class*=rc-]){min-height:40px;padding:8px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 12px -2px #14b8a673;transition:transform .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:6px;letter-spacing:-.005em}.content button:not(.ghost):not(.card):not([class*=modal-]):not([class*=tile]):not([class*=srp-]):not([class*=bp-]):not([class*=tb-]):not([class*=sched-]):not([class*=wf-]):not([class*=page-dot]):not([class*=tmc-]):not([class*=bd-]):not([class*=pd-]):not([class*=tt-]):not([class*=floating]):not([class*=collapsible]):not([class*=kids-]):not([class*=jump-to]):not([class*=vidi]):not([class*=cozy]):not([class*=settings-]):not([class*=family-member]):not([class*=shop-]):not([class*=rc-]):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px -2px #14b8a699}.content button:disabled{opacity:.55;cursor:not-allowed}.content button.ghost{min-height:40px;padding:8px 16px;background:var(--cream)!important;color:var(--sub)!important;border:none;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s;box-shadow:none}.content button.ghost:hover:not(:disabled){background:var(--peach)!important;color:var(--ink)!important;transform:translateY(-1px);box-shadow:0 4px 12px -2px #f9731640}.page-hero button:not(.ghost),.page-hero-right button:not(.ghost){min-height:40px;padding:8px 20px;border:none;border-radius:999px;background:linear-gradient(135deg,#fff,var(--cream));color:var(--teal-dark);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 14px -2px #00000026;transition:transform .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:6px}.page-hero button:not(.ghost):hover,.page-hero-right button:not(.ghost):hover{transform:translateY(-1px);box-shadow:0 8px 20px -3px #0003}.page-hero button.ghost,.page-hero-right button.ghost{min-height:38px;padding:6px 14px;background:#ffffff80!important;color:#fff!important;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,.5)!important;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px}.page-hero button.ghost:hover,.page-hero-right button.ghost:hover{background:#ffffffbf!important;color:var(--teal-dark)!important}.content button.ghost.active,.content .tab-active{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important}.kids-add-event-btn{min-height:40px!important;padding:8px 18px!important;background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;border:none!important;border-radius:999px!important;font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:13px!important;cursor:pointer;box-shadow:0 4px 12px -2px #14b8a680;transition:transform .15s,box-shadow .15s}.kids-add-event-btn:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 16px -2px #14b8a699}.dashboard{display:grid;grid-template-columns:268px 1fr;grid-template-rows:auto 1fr auto;gap:12px;height:100%;position:relative}.dashboard .top-bar{grid-column:1 / -1;grid-row:1}.dashboard .side-panel{grid-column:1;grid-row:2 / span 2;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:12px;padding-bottom:100px}.dashboard .schedule-card{grid-column:2;grid-row:2;overflow:hidden;display:flex;flex-direction:column;min-width:0}.dashboard .bottom-bar{grid-column:2;grid-row:3;display:grid;gap:12px;grid-template-columns:1fr 1.4fr;align-items:stretch}.dashboard{grid-template-rows:auto 1fr auto}.side-panel .card{margin:0!important;flex-shrink:0}.side-panel .task-tracking,.side-panel .birthdays-side-card{flex-shrink:0}.schedule-card{background:#fff;border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;min-height:0}.schedule-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:4px}.schedule-title{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:18px;margin:0;color:var(--ink);letter-spacing:-.01em;text-transform:capitalize}.schedule-nav{display:inline-flex;align-items:center;gap:6px}.sched-nav-btn{width:30px;height:30px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--cream);color:var(--sub);cursor:pointer;display:grid;place-items:center;transition:all .15s}.sched-nav-btn:hover{background:var(--peach);color:var(--teal-dark);transform:scale(1.08)}.sched-today-btn{min-height:30px;padding:4px 14px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--cream),var(--peach));color:var(--ink);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:all .15s}.sched-today-btn:hover{background:linear-gradient(135deg,var(--peach),#fdba74);transform:translateY(-1px)}.schedule-tabs{display:inline-flex;gap:6px;margin-left:12px;align-items:center;max-width:100%;padding:6px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory}.schedule-tabs::-webkit-scrollbar{display:none}.schedule-tabs>*{scroll-snap-align:start;flex-shrink:0}.sched-m-tab{width:38px;height:38px;min-height:0;padding:0;border:3px solid transparent;border-radius:50%;overflow:hidden;cursor:pointer;background:#f3f4f6;transition:transform .15s,border-color .15s;display:grid;place-items:center;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--sub)}.sched-m-tab img{width:100%;height:100%;object-fit:cover}.sched-m-tab:hover{transform:scale(1.06)}.sched-m-tab.active{border-color:var(--m-color, var(--teal));box-shadow:0 0 0 2px #fff,0 0 0 4px var(--m-color, var(--teal))}.sched-add-btn{width:34px;height:34px;min-height:0;padding:0;border:none;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 10px -2px #14b8a680;margin-left:4px;transition:transform .15s}.sched-add-btn:hover{transform:scale(1.1) rotate(90deg)}.sched-clear-btn{width:28px;height:28px;min-height:0;padding:0;border:1px solid var(--peach);border-radius:50%;background:#fff;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.sched-clear-btn:hover{background:var(--peach);color:#1f2937}.schedule-view-toggle{display:inline-flex;gap:3px;background:var(--peach);border-radius:999px;padding:3px;margin-left:auto}.schedule-view-toggle button{min-height:30px!important;border:none!important;background:transparent!important;padding:5px 16px!important;border-radius:999px!important;cursor:pointer;font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:12px!important;color:#9a3412!important;box-shadow:none!important;transform:none!important;transition:background .15s,color .15s!important}.schedule-view-toggle button:hover:not(.active){background:#fff9!important}.schedule-view-toggle button.active{background:#fff!important;color:var(--teal-dark)!important;box-shadow:0 2px 6px #0000001f!important}.schedule-meals{padding:8px 0 10px;border-bottom:1.5px dashed var(--line);margin-bottom:4px}.schedule-meals .today-meals-card{background:transparent!important;padding:0!important;box-shadow:none!important;border:none!important;margin:0!important}.schedule-meals .tmc-title{display:none}.schedule-meals .tmc-list{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;padding:0!important;margin:0!important;list-style:none!important}.schedule-meals .tmc-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:8px 12px!important;background:linear-gradient(135deg,var(--cream),white)!important;border-radius:var(--radius)!important;border:none!important;box-shadow:var(--shadow)!important;min-height:42px;transition:transform .12s,box-shadow .12s;cursor:default}.schedule-meals .tmc-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)!important}.schedule-meals .tmc-row.empty{background:#fff!important;opacity:.7}.schedule-meals .tmc-icon{font-size:20px!important;flex-shrink:0}.schedule-meals .tmc-label{font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em;color:var(--sub)!important;flex-shrink:0;display:none}.schedule-meals .tmc-what{font-family:Fredoka,Nunito,sans-serif!important;font-weight:700!important;font-size:12px!important;color:var(--ink)!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-meals .tmc-row.empty .tmc-what{color:var(--muted)!important;font-style:italic;font-weight:500!important}@media(max-width:900px){.schedule-meals .tmc-list{grid-template-columns:repeat(2,1fr)!important}}.schedule-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius)}.schedule-body>.day-timeline-shell,.schedule-body>.week-grid{flex:1;min-height:0}.stars-ranking-panel{background:#fff;border-radius:var(--radius-lg);padding:16px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.srp-head{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1.5px dashed var(--line)}.srp-head h3{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:15px;margin:0;color:var(--ink)}.srp-head .srp-star{color:var(--amber);flex-shrink:0}.srp-head .srp-week{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--sub)}.srp-config-btn{min-height:0;padding:4px;border:none;background:transparent;color:var(--sub);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.srp-config-btn:hover{background:var(--peach);color:var(--ink)}.srp-config{padding:8px;margin:6px 0;background:#fafaf7;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:4px}.srp-config-hint{font-size:11px;color:var(--sub);margin-bottom:4px}.srp-config-row{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:4px}.srp-config-row:hover{background:#fff}.srp-config-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.srp-members{display:flex;flex-direction:column;gap:6px}.srp-member{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:6px;border-radius:12px;transition:background .15s}.srp-member:hover{background:var(--cream)}.srp-avatar{position:relative;width:44px;height:44px;border-radius:50%;border:3px solid var(--m-color, var(--teal));overflow:hidden;background:#f3f4f6;display:grid;place-items:center;font-family:Fredoka,sans-serif;font-weight:700;font-size:17px;color:var(--m-color, var(--sub))}.srp-avatar img{width:100%;height:100%;object-fit:cover}.srp-medal{position:absolute;top:-6px;right:-4px;font-size:16px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.srp-info{min-width:0;display:flex;flex-direction:column;gap:3px}.srp-name{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;color:var(--ink);line-height:1.1;display:inline-flex;align-items:center;gap:6px}.srp-rank{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:6px;background:#e5e7eb;color:#374151;font-size:10px;font-weight:800;letter-spacing:.2px}.srp-rank.gold{background:linear-gradient(135deg,#fde047,#f59e0b);color:#78350f;box-shadow:0 2px 4px -1px #f59e0b80}.srp-rank.silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#1f2937;box-shadow:0 2px 4px -1px #9ca3af80}.srp-rank.bronze{background:linear-gradient(135deg,#fdba74,#c2410c);color:#fff;box-shadow:0 2px 4px -1px #c2410c80}.srp-sub{font-size:11px;color:var(--sub);font-weight:600}.srp-pts{color:#92400e}.srp-progress{height:5px;border-radius:999px;background:var(--line);overflow:hidden}.srp-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--m-color, var(--teal)),color-mix(in srgb,var(--m-color, var(--teal)) 70%,white));transition:width .4s ease-out}.srp-prize{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px;margin-top:4px}.srp-prize.reached{background:linear-gradient(135deg,#d1fae5,#86efac);animation:srp-reached-pulse 2s ease-in-out infinite}@keyframes srp-reached-pulse{0%,to{box-shadow:0 0 #14b8a600}50%{box-shadow:0 0 0 6px #14b8a626}}.srp-prize-head{display:flex;align-items:center;gap:6px;color:#9a3412;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.srp-prize.reached .srp-prize-head{color:var(--teal-dark)}.srp-prize-title{flex:1}.srp-prize-edit-btn{width:22px;height:22px;border:none;background:#ffffff80;border-radius:6px;cursor:pointer;display:grid;place-items:center;color:#9a3412;transition:background .15s}.srp-prize-edit-btn:hover{background:#fff}.srp-prize-body{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center}.srp-prize-emoji{font-size:32px;text-align:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.srp-prize-info{min-width:0;display:flex;flex-direction:column;gap:4px}.srp-prize-name{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;color:#7c2d12;line-height:1.15}.srp-prize.reached .srp-prize-name{color:var(--teal-dark)}.srp-prize-progress{height:6px;border-radius:999px;background:#ffffffb3;overflow:hidden}.srp-prize-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f97316,#ea580c);transition:width .5s ease-out}.srp-prize.reached .srp-prize-progress-fill{background:linear-gradient(90deg,var(--teal),var(--teal-dark))}.srp-prize-sub{font-size:11px;color:#b45309;font-weight:600}.srp-prize.reached .srp-prize-sub{color:var(--teal-dark)}.srp-no-prize{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center}.srp-claim{align-self:stretch;padding:8px 12px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;border-radius:12px}.srp-prize-edit{display:flex;flex-direction:column;gap:8px}.srp-prize-edit-row{display:flex;gap:8px;align-items:center}.srp-emoji-input{width:44px!important;min-height:36px!important;padding:4px!important;text-align:center;font-size:20px!important;border-radius:10px!important}.srp-name-input{flex:1;min-height:36px!important;padding:4px 10px!important;border-radius:10px!important;font-weight:600}.srp-target-label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#9a3412;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.srp-target-label input{width:100px!important;min-height:32px!important;padding:2px 8px!important;border-radius:10px!important;font-weight:700}.srp-prize-actions{margin-left:auto;display:flex;gap:4px}.srp-btn{min-height:32px;padding:0 10px;border:none;border-radius:10px;background:#fff;color:var(--sub);cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:4px}.srp-btn:hover{background:var(--cream)}.srp-btn-primary{background:var(--teal);color:#fff}.srp-btn-primary:hover{background:var(--teal-dark);color:#fff}.srp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.birthdays-panel{background:#fff;border-radius:var(--radius-lg);padding:16px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.bp-head{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1.5px dashed var(--line)}.bp-head h3{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:15px;margin:0;color:var(--ink)}.bp-head .bp-icon{color:var(--coral);flex-shrink:0}.bp-count{margin-left:auto;background:linear-gradient(135deg,var(--cream),var(--peach));color:#9a3412;padding:2px 10px;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700}.bp-empty{padding:12px 4px;font-size:13px;color:var(--sub);font-style:italic}.bp-list{display:flex;flex-direction:column;gap:6px}.bp-item{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:6px;border-radius:12px;transition:background .15s}.bp-item:hover{background:var(--cream)}.bp-item.bp-today{background:linear-gradient(135deg,#fef3c7,color-mix(in srgb,var(--bd-color, var(--amber)) 20%,white));animation:bp-today-pulse 2s ease-in-out infinite}@keyframes bp-today-pulse{0%,to{box-shadow:0 0 #fbbf2400}50%{box-shadow:0 0 0 6px #fbbf242e}}.bp-avatar{position:relative;width:44px;height:44px;border-radius:50%;border:3px solid var(--bd-color, var(--coral));overflow:hidden;background:#fff;display:grid;place-items:center;font-size:20px;color:var(--bd-color, var(--coral))}.bp-avatar img{width:100%;height:100%;object-fit:cover}.bp-medal{position:absolute;top:-6px;right:-4px;font-size:16px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.bp-info{min-width:0;display:flex;flex-direction:column;gap:3px}.bp-name{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;color:var(--ink);line-height:1.1}.bp-heart{color:var(--coral)}.bp-sub{display:flex;gap:6px;font-size:11px;color:var(--sub);font-weight:600;align-items:baseline;flex-wrap:wrap}.bp-when{color:var(--bd-color, var(--coral));font-family:Fredoka,Nunito,sans-serif;font-weight:700}.bp-item.bp-today .bp-when{color:#b45309}.bp-progress{height:5px;border-radius:999px;background:var(--line);overflow:hidden}.bp-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bd-color, var(--coral)),color-mix(in srgb,var(--bd-color, var(--coral)) 70%,white));transition:width .4s ease-out}.bp-msg{margin-top:4px;font-size:11px;font-weight:700;color:#b45309;font-style:italic}.bp-footer{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1.5px dashed var(--line)}.bp-toggle{min-height:28px;padding:4px 12px;border:none;border-radius:999px;background:var(--cream);color:var(--sub);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:11px;cursor:pointer;transition:all .15s}.bp-toggle:hover{background:var(--peach);color:#9a3412}.bp-range{margin-left:auto;min-height:28px;padding:2px 8px;font-size:11px;border-radius:999px;border:1px solid var(--line)}.top-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px 10px 12px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);font-weight:600;color:var(--sub)}.top-bar>.tb-brand{justify-self:start}.top-bar>.top-clock{justify-self:center;text-align:center}.top-bar>.tb-right{justify-self:end}.tb-right{display:inline-flex;align-items:center;gap:10px}.tb-brand{min-height:44px!important;padding:6px 14px 6px 8px!important;background:linear-gradient(135deg,var(--cream),var(--peach))!important;border:none!important;border-radius:999px!important;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:Fredoka,Nunito,sans-serif;color:var(--ink)!important;transition:transform .15s,box-shadow .15s}.tb-brand:hover{transform:translateY(-1px);box-shadow:0 4px 12px -2px #f973164d}.tb-brand-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--sky));font-size:15px;box-shadow:0 2px 6px -1px #14b8a666}.tb-brand-name{font-family:Fredoka,Nunito,sans-serif;font-weight:500;font-size:14px;letter-spacing:-.005em}.tb-brand-name strong{font-weight:700;color:var(--teal-dark)}.top-clock{display:flex;flex-direction:column;gap:2px;align-items:center}.tb-time{font-family:Fredoka,Nunito,sans-serif;font-size:34px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";letter-spacing:-.02em;line-height:1}.tb-date{text-transform:uppercase;font-size:11px;color:var(--sub);font-weight:700;letter-spacing:.08em}.top-weather-wrap{position:relative}.top-weather{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fb923c,#ea580c);padding:6px 16px;border-radius:999px;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 10px -2px #ea580c66;transition:transform .15s,box-shadow .15s}.top-weather:hover{transform:translateY(-1px);box-shadow:0 6px 14px -2px #ea580c8c}.top-weather .tb-temp{font-family:Fredoka,Nunito,sans-serif;font-size:20px;font-weight:700;color:#fff!important}.top-weather .tb-desc{font-size:12px;color:#fffffff2!important;text-transform:capitalize;font-weight:700}.weather-forecast{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:14px;z-index:70;animation:wf-in .2s ease-out}@keyframes wf-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.wf-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px dashed var(--line);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px;color:var(--ink)}.wf-close{margin-left:auto;width:26px;height:26px;border:none;border-radius:50%;background:var(--cream);color:var(--sub);cursor:pointer;font-weight:700;display:grid;place-items:center}.wf-close:hover{background:var(--peach);color:var(--ink)}.wf-list{display:flex;flex-direction:column;gap:4px}.wf-day{display:grid;grid-template-columns:46px 32px 1fr auto auto;gap:10px;align-items:center;padding:8px 6px;border-radius:10px;transition:background .15s}.wf-day:hover{background:var(--cream)}.wf-day-label{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:12px;text-transform:capitalize;color:var(--ink)}.wf-icon{font-size:22px;text-align:center;line-height:1}.wf-desc{font-size:12px;color:var(--sub);font-weight:600}.wf-temps{display:inline-flex;gap:6px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:13px}.wf-max{color:var(--coral)}.wf-min{color:var(--sky);opacity:.85}.wf-rain{font-size:11px;font-weight:700;color:#0284c7;background:#e0f2fe;padding:2px 8px;border-radius:999px}.tb-icon{font-size:22px;line-height:1}.tb-temp{font-family:Fredoka,Nunito,sans-serif;font-size:20px;font-weight:700;color:#9a3412}.tb-desc{font-size:12px;color:#b45309;text-transform:capitalize}.tb-actions{display:inline-flex;gap:6px;align-items:center}.tb-bell{position:relative}.tb-bell:hover{color:var(--amber)!important;background:#fef3c7!important}.tb-icon-btn{width:40px;height:40px!important;min-height:0!important;padding:0!important;border:none;border-radius:12px!important;background:var(--cream)!important;color:var(--sub)!important;display:grid!important;place-items:center;cursor:pointer;text-decoration:none;transition:all .15s}.tb-icon-btn:hover{background:var(--peach)!important;color:var(--teal-dark)!important;transform:translateY(-1px)}.tb-settings:hover{background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;transform:translateY(-1px) rotate(45deg)}.vidi-wrap{position:relative;display:flex;align-items:flex-start;gap:12px;z-index:10}.vidi-avatar{width:64px!important;height:64px!important;min-height:0!important;padding:0!important;border-radius:50%!important;background:linear-gradient(135deg,#67e8f9,#2dd4bf 60%,#14b8a6)!important;color:#fff!important;border:4px solid white!important;display:grid;place-items:center;box-shadow:0 8px 20px #14b8a659,inset 0 -6px 10px -4px #0f766e66;position:relative;overflow:visible;flex-shrink:0}.vidi-avatar.cozy-character{animation:cozy-float 4s ease-in-out infinite}@keyframes cozy-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.vidi-avatar.cozy-character:hover{transform:translateY(-4px) scale(1.05) rotate(-4deg);transition:transform .15s}.vidi-avatar.cozy-active{border-color:#fef3c7!important}.cozy-antenna{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:3px;height:12px;background:linear-gradient(180deg,transparent 0%,rgba(15,118,110,.6) 100%);border-radius:2px;pointer-events:none}.cozy-antenna-ball{position:absolute;top:-7px;left:50%;transform:translate(-50%);width:9px;height:9px;background:#fbbf24;border-radius:50%;box-shadow:0 0 10px 3px #fbbf24b3;animation:cozy-antenna-pulse 2s ease-in-out infinite}@keyframes cozy-antenna-pulse{0%,to{transform:translate(-50%) scale(1);box-shadow:0 0 10px 3px #fbbf24b3}50%{transform:translate(-50%) scale(1.4);box-shadow:0 0 16px 5px #fbbf24f2}}.cozy-thinking .cozy-antenna-ball{animation:cozy-antenna-pulse .6s ease-in-out infinite;background:#fb7185;box-shadow:0 0 12px 4px #fb7185cc}.cozy-face{position:relative;width:100%;height:100%;pointer-events:none}.cozy-eye{position:absolute;width:10px;height:12px;background:#fff;border-radius:50%;top:22px;animation:cozy-blink 3.5s ease-in-out infinite}.cozy-eye:after{content:"";position:absolute;width:4px;height:6px;background:#0f172a;border-radius:50%;top:3px;left:3px}.cozy-eye-left{left:16px}.cozy-eye-right{right:16px}@keyframes cozy-blink{0%,92%,to{height:12px;top:22px}95%{height:2px;top:27px}}.cozy-thinking .cozy-eye{animation:cozy-look 2s ease-in-out infinite}@keyframes cozy-look{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.cozy-mouth{position:absolute;width:16px;height:8px;border:2.5px solid white;border-top:none;border-radius:0 0 16px 16px;bottom:18px;left:50%;transform:translate(-50%);transition:all .3s}.cozy-active .cozy-mouth{width:18px;height:10px;border-radius:0 0 20px 20px}.vidi-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:3px solid #14b8a6;animation:vidiPulse 2.5s ease-out infinite;pointer-events:none}@keyframes vidiPulse{0%{opacity:.8;transform:scale(1)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}.vidi-bubble{background:#fff;border-radius:20px;padding:10px 16px;box-shadow:0 6px 14px #0f172a14;position:relative;align-self:center;max-width:280px}.vidi-bubble:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);border-width:8px 10px 8px 0;border-style:solid;border-color:transparent white transparent transparent}.vidi-title{font-size:11px;font-weight:800;color:#14b8a6;display:inline-flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}.vidi-text{font-size:14px;color:#1f2937;font-weight:600}.vidi-chat{position:absolute;left:76px;bottom:0;width:360px;max-width:calc(100vw - 120px);max-height:60vh;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:61;animation:cozy-chat-in .25s cubic-bezier(.34,1.3,.64,1);transform-origin:bottom left}@keyframes cozy-chat-in{0%{opacity:0;transform:translate(-20px) scale(.85)}to{opacity:1;transform:translate(0) scale(1)}}.cozy-tip{position:absolute;left:76px;bottom:8px;max-width:240px;padding:10px 14px;background:#fff;border-radius:18px 18px 18px 4px;box-shadow:var(--shadow);font-family:Fredoka,Nunito,sans-serif;font-weight:600;font-size:13px;color:var(--ink);line-height:1.3;opacity:0;transform:translate(-8px) scale(.9);transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap}.cozy-tip.show{opacity:1;transform:translate(0) scale(1)}.cozy-tip:after{content:"";position:absolute;left:-6px;bottom:12px;border-width:6px 8px 6px 0;border-style:solid;border-color:transparent white transparent transparent;filter:drop-shadow(-1px 0 1px rgba(0,0,0,.04))}.vidi-chat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#14b8a6,#22d3ee);color:#fff}.vidi-chat-title{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;letter-spacing:.4px;text-transform:uppercase}.vidi-chat-close{background:transparent;border:none;color:#fff;padding:4px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.vidi-chat-close:hover{background:#fff3}.vidi-chat-list{padding:12px;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;background:#f8fafc}.vidi-msg{max-width:85%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.45;word-wrap:break-word}.vidi-msg-user{white-space:pre-wrap}.vidi-msg-assistant{background:#fff;color:#1f2937;align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 1px 2px #0f172a0f}.vidi-msg-assistant .cozy-para{margin:0 0 6px}.vidi-msg-assistant .cozy-para:last-child{margin-bottom:0}.vidi-msg-assistant .cozy-bullets{margin:4px 0 6px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px}.vidi-msg-assistant .cozy-bullets:last-child{margin-bottom:0}.vidi-msg-assistant .cozy-bullets li{position:relative;padding:5px 8px 5px 22px;background:linear-gradient(135deg,#ecfeff,#f0fdf4);border-left:3px solid var(--teal, #14b8a6);border-radius:8px;font-size:13px;line-height:1.45}.vidi-msg-assistant .cozy-bullets li:before{content:"•";position:absolute;left:8px;top:4px;color:var(--teal, #14b8a6);font-weight:900;font-size:14px}.vidi-msg-assistant strong{color:var(--teal-dark, #0f766e);font-weight:800}.vidi-msg-assistant code{background:#f1f5f9;color:#0f172a;padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.vidi-msg-user{background:#14b8a6;color:#fff;align-self:flex-end;border-bottom-right-radius:4px;font-weight:500}.vidi-typing{font-style:italic;color:#6b7280}.vidi-error{font-size:12px;color:#b91c1c;background:#fee2e2;padding:6px 10px;border-radius:10px;align-self:stretch;text-align:center}.vidi-chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid #e5e7eb;background:#fff}.vidi-chat-input input{flex:1;border:1px solid #d1d5db;border-radius:999px;padding:8px 14px;font-size:14px;outline:none}.vidi-chat-input input:focus{border-color:#14b8a6}.vidi-chat-input button{width:36px;height:36px;border-radius:50%;background:#14b8a6;color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.vidi-chat-input button:disabled{background:#9ca3af;cursor:not-allowed}.vidi-chat-input button:hover:not(:disabled){background:#0d9488}.vidi-mic{background:transparent!important;padding:0!important;width:44px!important;height:44px!important;border-radius:50%!important;overflow:visible!important;animation:vidi-mic-breathe 2.4s ease-in-out infinite}.vidi-mic-icon{width:100%;height:100%;border-radius:50%;display:block;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(220,38,38,.35))}.vidi-mic:hover:not(:disabled) .vidi-mic-icon{transform:scale(1.08);transition:transform .15s ease}.vidi-mic:hover:not(:disabled){background:transparent!important}.vidi-mic.listening{animation:vidi-mic-pulse 1.1s ease-in-out infinite}.vidi-mic.listening .vidi-mic-icon{transform:scale(1.1);filter:drop-shadow(0 0 6px rgba(220,38,38,.7))}@keyframes vidi-mic-breathe{0%,to{box-shadow:0 0 #dc262659}50%{box-shadow:0 0 0 6px #dc262600}}@keyframes vidi-mic-pulse{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 10px #dc262600}}.today-meals-card{background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 1px 3px #0000000a}.tmc-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#6b7280;margin-bottom:6px}.tmc-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:1350px){.tmc-list{grid-template-columns:repeat(2,1fr)}}.tmc-row{display:flex;align-items:center;gap:8px;background:#f9fafb;border-left:3px solid #10b981;padding:6px 10px;border-radius:8px;min-height:34px;font-size:13px}.tmc-row.empty{border-left-color:#e5e7eb}.tmc-icon{font-size:18px;line-height:1}.tmc-label{font-weight:700;color:#4b5563}.tmc-what{font-weight:700;color:#1e40af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.tmc-row.empty .tmc-what{color:#9ca3af;font-style:italic;font-weight:500}.progress-track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.task-chips{display:flex;flex-wrap:wrap;gap:4px}.task-chip{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f3f4f6;font-size:16px;opacity:.5;border:1.5px solid #e5e7eb}.task-chip.done{opacity:1;border-color:transparent}.family-bar{display:flex;align-items:center;gap:14px;padding:6px 18px;background:#fff;border-radius:999px;box-shadow:0 1px 3px #0000000a;max-width:fit-content;justify-self:end;margin-left:auto!important}.family-member{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent!important;border:none!important;padding:4px!important;min-height:0!important;cursor:pointer;border-radius:12px;transition:background .15s,transform .1s;color:inherit!important}.family-member:hover:not(:disabled){background:#f3f4f6!important;transform:translateY(-1px)}.family-member:disabled{cursor:default;opacity:.9}.family-member.active{background:#eef2ff!important}.family-member.active .family-avatar{box-shadow:0 0 0 3px var(--member-color, #2563eb),0 4px 12px #0000001f}.family-avatar{width:42px;height:42px;border-radius:50%;border:2.5px solid var(--member-color, #93c5fd);background:#e5e7eb;overflow:hidden;display:grid;place-items:center;font-size:16px;font-weight:700;color:#4b5563;box-shadow:0 2px 6px #00000014}.family-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.family-avatar.all-avatar{border-color:#cbd5e1;background:#f9fafb;font-size:26px}.family-avatar{position:relative}.points-badge{position:absolute;bottom:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center;border:2px solid white;box-shadow:0 2px 4px #0003;line-height:1}.family-member .name{font-size:11px;color:#1f2937;font-weight:700;line-height:1}.next-event-chip{margin-top:4px;padding:4px 8px;border-radius:999px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:6px;max-width:140px;overflow:hidden}.next-event-chip .chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.next-event-chip .chip-time{font-size:10px;opacity:.8;font-weight:700;letter-spacing:.3px;white-space:nowrap}.next-event-chip .chip-empty{font-style:italic;font-size:10px;opacity:.7}.family-brand{margin-left:12px;padding-left:14px;border-left:2px solid #e5e7eb;font-size:16px;font-weight:900;color:#1e40af;letter-spacing:.3px;white-space:nowrap}.date-panel{background:#fff;border-radius:18px;padding:18px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.date-panel .month{text-transform:uppercase;color:#6b7280;font-size:14px;font-weight:600;letter-spacing:2px}.date-panel .day-num{font-size:96px;font-weight:800;line-height:1;color:#1e40af}.date-panel .weekday{font-size:20px;color:#4b5563;font-weight:500;text-transform:capitalize}.week-panel{display:flex;flex-direction:column;gap:10px}.week-nav{display:flex;gap:8px;align-items:center}.week-nav h3{margin:0;font-size:18px;flex:1;text-transform:capitalize}.week-nav button{min-height:40px;padding:0 14px;font-size:14px}.week-nav button.nav-btn{min-width:40px;padding:0;display:grid;place-items:center}.view-nav-card{background:#fff;border-radius:14px;padding:6px 10px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:4px;align-items:stretch;align-self:stretch}.view-nav-card .view-toggle{align-self:center}.view-nav-arrows{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center}.view-nav-arrows button{min-height:36px!important;padding:0 12px!important;font-size:13px!important}.view-nav-arrows button.nav-btn{min-width:36px;padding:0!important;display:grid;place-items:center}.view-toggle{display:inline-flex;background:#eef2ff;border-radius:999px;padding:4px;gap:2px}.view-toggle button{min-height:32px!important;padding:0 16px!important;border-radius:999px!important;background:transparent!important;color:#4b5563!important;font-size:13px!important;font-weight:600!important;border:none!important;transition:background .15s,color .15s}.view-toggle button.active{background:#2563eb!important;color:#fff!important;box-shadow:0 2px 6px #2563eb40}.day-members-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;flex:1;min-height:0;overflow-y:auto}.member-day-col{background:#fff;border-radius:18px;border:2px solid var(--member-color, #cbd5e1);display:flex;flex-direction:column;box-shadow:0 2px 8px #0f172a0d;min-height:320px;overflow:hidden}.member-col-header{padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;border-bottom:1.5px dashed rgba(0,0,0,.06);background:linear-gradient(180deg,color-mix(in srgb,var(--member-color) 12%,white),#fff)}.member-col-avatar{width:56px;height:56px;border-radius:50%;border:3px solid var(--member-color, #cbd5e1);background:#e5e7eb;overflow:hidden;display:grid;place-items:center;font-weight:800;color:#4b5563;box-shadow:0 3px 10px #00000014}.member-col-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.member-col-name{font-weight:800;font-size:15px;color:#1f2937}.member-col-empty{font-size:12px;color:#6b7280;font-style:italic;padding:4px 12px;background:#f3f4f6;border-radius:999px;border:1px dashed #d1d5db}.member-col-events{padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.member-event{margin:0!important}.day-timeline-shell{position:relative;flex:1;min-height:0;overflow-y:auto;padding-left:44px}.day-timeline-headers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;position:sticky;top:0;z-index:6;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px 0 8px;border-bottom:1px solid rgba(0,0,0,.05)}.member-col-header-sticky{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 8px;border-radius:18px 18px 8px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--member-color) 26%,white),#fff 85%);box-shadow:0 4px 12px -6px color-mix(in srgb,var(--member-color, #cbd5e1) 40%,transparent);border:2px solid color-mix(in srgb,var(--member-color, #cbd5e1) 65%,white);cursor:pointer;transition:transform .18s cubic-bezier(.34,1.3,.64,1),box-shadow .18s,background .18s;position:relative}.member-col-header-sticky:hover{transform:translateY(-3px) scale(1.015);background:linear-gradient(180deg,color-mix(in srgb,var(--member-color) 38%,white),#fff 90%);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--member-color, #cbd5e1) 60%,transparent)}.member-col-header-sticky:hover .member-col-add-btn{transform:scale(1.15) rotate(90deg);box-shadow:0 6px 14px -2px #14b8a699}.member-col-header-sticky:hover .member-col-avatar{transform:scale(1.06)}.member-col-header-sticky:active{transform:translateY(-1px) scale(.995)}.member-col-header-sticky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px 18px 8px 8px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--member-color, var(--teal)) 20%,transparent) 0%,transparent 70%);opacity:0;transition:opacity .18s;pointer-events:none}.member-col-header-sticky:hover:after{opacity:1}.member-col-header-sticky .member-col-avatar,.member-col-header-sticky .member-col-name,.member-col-header-sticky .member-col-count,.member-col-header-sticky .member-col-empty,.member-col-header-sticky .member-col-add-btn{position:relative;z-index:1;transition:transform .18s}.member-col-header-sticky .member-col-avatar{width:44px;height:44px;border-radius:50%;border:3px solid white;outline:2px solid var(--member-color, #cbd5e1);outline-offset:0;background:#fff;overflow:hidden;display:grid;place-items:center;font-family:Fredoka,Nunito,sans-serif;font-weight:700;color:var(--member-color, var(--sub));font-size:17px;box-shadow:0 3px 8px -2px #00000026}.member-col-header-sticky .member-col-avatar img{width:100%;height:100%;object-fit:cover}.member-col-header-sticky .member-col-name{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--ink);letter-spacing:-.01em;line-height:1.1}.member-col-header-sticky .member-col-count{font-size:10px;color:var(--sub);font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#ffffffb3;padding:1px 8px;border-radius:999px}.member-col-header-sticky .member-col-empty{font-size:10px;color:#6b7280;font-style:italic;padding:1px 6px;background:#f3f4f6;border-radius:999px;border:1px dashed #d1d5db}.member-col-header-sticky .member-col-allday{width:100%;display:flex;flex-direction:column;gap:3px;margin-top:4px}.member-col-header-sticky .event-block.allday{padding:3px 6px;font-size:11px;border-left-width:3px!important;border-radius:6px}.member-col-add-btn{position:absolute;top:6px;right:6px;width:26px!important;height:26px!important;min-height:0!important;padding:0!important;border-radius:50%!important;background:linear-gradient(135deg,var(--teal),var(--teal-dark))!important;color:#fff!important;border:2px solid white!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px -2px #14b8a680;z-index:2;transition:transform .15s,box-shadow .15s}.member-col-header-sticky{position:relative}.member-col-add-btn:hover{transform:scale(1.15) rotate(90deg);box-shadow:0 6px 14px -2px #14b8a699}.day-timeline-body{position:relative;margin-top:4px}.day-timeline-hours{position:absolute;left:-44px;top:0;bottom:0;width:44px;pointer-events:none}.hour-label{position:absolute;left:0;right:6px;transform:translateY(-50%);font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:600;color:var(--muted);text-align:right;letter-spacing:.03em}.day-timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;height:100%}.member-col-timeline{position:relative;border-radius:18px;outline:1.5px solid color-mix(in srgb,var(--member-color, #cbd5e1) 45%,white);outline-offset:-1.5px;background:linear-gradient(180deg,color-mix(in srgb,var(--member-color, #cbd5e1) 5%,white),#fff 60%);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,rgba(15,23,42,.06) 59px,rgba(15,23,42,.06) 60px);overflow:hidden}.event-block.timed{position:absolute;left:4px;right:4px;padding:6px 10px;border-radius:10px;border-left:3px solid transparent;overflow:hidden;font-size:12px;line-height:1.25;z-index:1;box-shadow:0 2px 6px -2px #0000001a;transition:transform .12s,box-shadow .12s;cursor:pointer}.event-block.timed.split{padding:4px 6px;font-size:11px}.event-block.timed.split .title{font-size:12px}.event-block.timed.split .time{font-size:9px}.event-details-modal{background:#fff;border-radius:24px;max-width:440px;width:calc(100vw - 32px);overflow:hidden;box-shadow:0 24px 60px -12px #00000059,0 8px 24px -8px #0000002e;animation:edm-in .22s cubic-bezier(.34,1.3,.64,1);transform-origin:center}@keyframes edm-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.edm-head{position:relative;padding:22px 24px 20px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.edm-close{position:absolute;top:12px;right:12px;width:34px;height:34px;min-height:0;padding:0;border-radius:50%;background:#ffffff3d!important;color:#fff!important;border:none;display:grid;place-items:center;cursor:pointer}.edm-close svg{color:#fff!important;stroke:#fff!important;width:20px!important;height:20px!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s,transform .15s;cursor:pointer}.edm-close:hover{background:#fff6!important;transform:scale(1.08)}.edm-emoji{font-size:40px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));margin-bottom:-4px}.edm-badges{display:flex;gap:6px;flex-wrap:wrap}.edm-badge{background:#ffffff47;color:#fff;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:inline-flex;align-items:center;gap:4px}.edm-badge-outline{background:transparent;border:1.5px solid rgba(255,255,255,.55)}.edm-badge-cancel{background:#dc2626d9}.edm-title{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:22px;line-height:1.15;margin:4px 0 0;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:-.01em}.edm-body{padding:18px 22px 8px;display:flex;flex-direction:column;gap:14px}.edm-row{display:flex;align-items:flex-start;gap:14px}.edm-row-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f0fdfa,#ccfbf1);color:#0f766e;display:grid;place-items:center;flex-shrink:0}.edm-row-content{flex:1;min-width:0}.edm-row-label{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#9ca3af;margin-bottom:2px}.edm-row-value{font-size:15px;font-weight:600;color:#1f2937;line-height:1.35}.edm-time{font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:17px;font-feature-settings:"tnum";color:#0f766e}.edm-time-sep{margin:0 8px;color:#d1d5db;font-weight:500}.edm-member{display:flex;align-items:center;gap:8px}.edm-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid}.edm-avatar-fallback{width:28px;height:28px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}.edm-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 18px;border-top:1px solid #f3f4f6;background:#fafafa}.edm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:12px;font-weight:700;min-height:40px}.edm-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border:none;box-shadow:0 4px 10px -2px #dc262666}.edm-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)!important;transform:translateY(-1px)}.event-block.timed:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 12px -2px #0000002e;z-index:4}.event-block.timed .title{font-family:Fredoka,Nunito,sans-serif;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.event-block.timed .time{font-size:10px;opacity:.85;font-weight:600;font-feature-settings:"tnum"}.event-block.timed .location{font-size:10px;opacity:.8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-block.cancelled{opacity:.5;filter:grayscale(.4)}.event-block.cancelled .title,.event-block.cancelled .time,.event-block.cancelled .location{text-decoration:line-through}.event-cancel-btn{position:absolute;top:3px;right:3px;width:18px!important;height:18px!important;min-height:0!important;padding:0!important;border-radius:50%!important;background:#ffffffd9!important;color:#ef4444!important;border:1px solid rgba(0,0,0,.1)!important;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2}.event-block:hover .event-cancel-btn{display:inline-flex}.event-block.cancelled .event-cancel-btn{display:inline-flex;color:#059669!important;opacity:1!important}.event-cancel-btn:hover{background:#fff!important}.now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--coral);z-index:5;pointer-events:none}.now-line:before{content:"";position:absolute;left:-7px;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px #fff,0 0 10px 1px #fb718580}.now-label{position:absolute;left:-46px;top:-11px;background:var(--coral);color:#fff;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;box-shadow:0 3px 8px -1px #fb718580;letter-spacing:-.01em}.vidi-wrap-with-now{position:fixed;left:24px;bottom:24px;display:flex;align-items:center;gap:10px;z-index:60;pointer-events:none}.vidi-wrap-with-now>*{pointer-events:auto}.jump-to-now{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,var(--coral),#ec4899);color:#fff;border:none;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:700;box-shadow:0 4px 12px -2px #fb718580;cursor:pointer;animation:jumpNowPop .25s ease-out}.jump-to-now:hover{background:linear-gradient(135deg,#ec4899,var(--coral));transform:translateY(-1px)}.sched-now{min-height:30px}@keyframes jumpNowPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.vidi-send{width:40px!important;height:40px!important;padding:0!important;background:linear-gradient(135deg,#14b8a6,#22d3ee)!important;font-size:20px;overflow:hidden}.vidi-send span{line-height:1}.vidi-send:hover:not(:disabled) span{display:inline-block;animation:waveHand .6s ease-in-out}@keyframes waveHand{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.vidi-avatar:hover{box-shadow:0 12px 24px #14b8a680,inset 0 -6px 10px -4px #0f766e66}.birthdays-hero{position:absolute;top:-6px;right:-4px;width:120px;height:90px;pointer-events:none;opacity:.85}.birthdays-hero .bd-emoji{position:absolute;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.birthdays-hero .bd-cake{font-size:26px;bottom:4px;right:8px}.birthdays-hero .bd-balloon{font-size:22px;animation:bdFloat 3s ease-in-out infinite}.birthdays-hero .bd-1{top:0;right:40px}.birthdays-hero .bd-2{top:8px;right:68px;animation-delay:.8s}.birthdays-hero .bd-gift{font-size:18px;bottom:8px;right:40px;transform:rotate(-6deg)}.birthdays-hero .bd-conf{font-size:16px;top:22px;right:14px;animation:bdSpin 4s linear infinite}@keyframes bdFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes bdSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.birthday-row.nuclear{border-left-width:6px!important;font-weight:700}.page-hero{display:flex;gap:16px;align-items:center;padding:14px 18px;margin-bottom:16px;border-radius:20px;box-shadow:0 4px 14px #0f172a14;overflow:hidden;position:relative}.page-hero-illus{position:relative;width:130px;height:96px;flex-shrink:0}.page-hero-illus>span{position:absolute;filter:drop-shadow(0 3px 6px rgba(0,0,0,.14));line-height:1}.page-hero .ph-center{font-size:46px;top:20px;left:42px;animation:phBob 2.4s ease-in-out infinite}.page-hero .ph-big{font-size:34px;animation:phSway 3s ease-in-out infinite}.page-hero .ph-big-1{top:4px;left:4px;transform:rotate(-8deg)}.page-hero .ph-big-2{top:6px;left:82px;transform:rotate(6deg);animation-delay:.5s}.page-hero .ph-big-3{top:54px;left:92px;transform:rotate(-4deg);animation-delay:1s}.page-hero .ph-float{font-size:20px;animation:phBob 2.6s ease-in-out infinite}.page-hero .ph-float-1{top:0;left:42px;animation-delay:.1s}.page-hero .ph-float-2{top:74px;left:0;animation-delay:.4s}.page-hero .ph-float-3{top:74px;left:60px;animation-delay:.7s}.page-hero .ph-float-4{top:46px;left:0;animation-delay:1s}@keyframes phBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes phSway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(-14deg)}}.page-hero-text{flex:1;min-width:0}.page-hero-title{font-family:Fredoka,Nunito,sans-serif;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.2px}.page-hero-sub{font-size:13px;margin-top:4px;opacity:.9}.page-hero-right{flex-shrink:0}@media(max-width:768px){.page-hero{padding:10px 12px;gap:10px}.page-hero-illus{width:90px;height:78px}.page-hero .ph-center{font-size:34px}.page-hero .ph-big{font-size:24px}.page-hero .ph-float{font-size:14px}.page-hero-title{font-size:17px}.page-hero-sub{font-size:12px}}.shop-sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;align-items:start}.shop-section-card{padding:10px 12px;margin:0!important}.shop-section-title{margin:0 0 6px;font-size:13px;color:#4b5563;text-transform:uppercase;letter-spacing:.6px;border-bottom:1.5px solid #e5e7eb;padding-bottom:4px}.shop-items{list-style:none;padding:0;margin:0}.shop-item{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dashed #f1f5f9;font-size:13px}.shop-item:last-child{border-bottom:none}.shop-item .shop-check{width:18px!important;height:18px!important}.shop-item .shop-item-text{line-height:1.2}.shop-item.bought .shop-item-text{text-decoration:line-through;color:#9ca3af}.shop-item .shop-del{min-height:24px!important;padding:0 4px!important;color:#b91c1c!important;opacity:0;transition:opacity .15s}.shop-item:hover .shop-del{opacity:1}.pantry-item{display:grid;grid-template-columns:56px 40px 1fr auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px dashed #f1f5f9;font-size:13px}.pantry-item:last-child{border-bottom:none}.pantry-qty{min-height:26px!important;padding:2px 6px!important;font-size:12px!important}.pantry-unit{font-size:11px;color:#6b7280}.pantry-name{font-weight:600;line-height:1.2}.shopping-hero{display:flex;gap:16px;align-items:center;padding:16px 20px;margin-bottom:16px;background:linear-gradient(135deg,#dcfce7,#a7f3d0 40%,#6ee7b7);border-radius:20px;box-shadow:0 4px 14px #05966926;overflow:hidden;position:relative}.shopping-hero-illus{position:relative;width:130px;height:100px;flex-shrink:0}.shopping-hero-illus>span{position:absolute;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}.shopping-hero-illus .ph-bag{font-size:46px;top:14px;left:12px;transform:rotate(-8deg);animation:swayL 3s ease-in-out infinite}.shopping-hero-illus .ph-list{font-size:40px;top:4px;left:60px;transform:rotate(6deg);animation:swayR 3.5s ease-in-out infinite}.shopping-hero-illus .ph-cart{font-size:44px;top:40px;left:74px}.shopping-hero-illus .ph-food{font-size:22px;animation:bob 2.4s ease-in-out infinite}.shopping-hero-illus .ph-food-1{top:0;left:46px;animation-delay:.1s}.shopping-hero-illus .ph-food-2{top:66px;left:4px;animation-delay:.4s}.shopping-hero-illus .ph-food-3{top:62px;left:108px;animation-delay:.7s}.shopping-hero-illus .ph-food-4{top:20px;left:100px;animation-delay:1s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes swayL{0%,to{transform:rotate(-8deg)}50%{transform:rotate(-14deg)}}@keyframes swayR{0%,to{transform:rotate(6deg)}50%{transform:rotate(12deg)}}.shopping-hero-text{flex:1}.shopping-hero-title{font-family:Fredoka,Nunito,sans-serif;font-size:22px;font-weight:800;color:#065f46;line-height:1.1}.shopping-hero-sub{font-size:13px;color:#047857;margin-top:4px}.bottom-bar{position:relative}.collapsible{--accent: #2563eb;position:relative;flex:1;min-width:0}.collapsible-header{width:100%;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:none;border-radius:var(--radius);font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:transform .12s,box-shadow .15s;position:relative;overflow:hidden}.collapsible-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 70%,transparent));border-radius:0 4px 4px 0}.collapsible-header:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.collapsible.open .collapsible-header{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent) 6%,white));border-bottom-left-radius:0;border-bottom-right-radius:0}.collapsible-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,white);color:var(--accent);flex-shrink:0}.collapsible-title{flex:1;text-align:left;letter-spacing:-.005em}.collapsible-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,black));color:#fff;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700;box-shadow:0 2px 6px -1px color-mix(in srgb,var(--accent) 60%,transparent)}.collapsible-chevron{color:var(--sub);display:inline-flex;transition:transform .2s}.collapsible.open .collapsible-chevron{transform:rotate(180deg)}.collapsible.pulse .collapsible-header{animation:collapsiblePulse 1.6s ease-in-out infinite}.collapsible.pulse .collapsible-badge{animation:collapsibleBadgePulse 1.6s ease-in-out infinite}@keyframes collapsiblePulse{0%,to{box-shadow:0 2px 6px #0f172a0a;border-color:#e5e7eb}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent);border-color:var(--accent)}}@keyframes collapsibleBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.collapsible-panel{position:absolute;left:0;right:0;bottom:100%;background:#fff;border-radius:var(--radius) var(--radius) 0 0;padding:14px;overflow-y:auto;box-shadow:0 -12px 28px -8px #0f172a26;z-index:30;animation:collapsible-panel-in .2s ease-out}.collapsible-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,white));border-radius:var(--radius) var(--radius) 0 0}@keyframes collapsible-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.member-col-add{position:absolute;bottom:10px;right:10px;width:40px!important;height:40px!important;min-height:0!important;padding:0!important;border-radius:50%!important;background:var(--member-color, #2563eb)!important;color:#fff!important;font-size:24px!important;font-weight:900!important;line-height:1;box-shadow:0 4px 10px #0f172a26;border:2px solid white!important;z-index:2;transition:transform .1s}.member-col-add:hover{transform:scale(1.08)}.member-day-col{position:relative}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;flex:1;min-height:0}.day-col{background:linear-gradient(180deg,white 0%,var(--paper) 100%);border-radius:var(--radius);padding:14px 10px;border:2px solid transparent;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow-y:auto;min-height:300px}.day-col.today{border-color:var(--teal);background:linear-gradient(180deg,#ecfeff,#fff);box-shadow:0 6px 18px -4px #14b8a647}.day-header{font-family:Fredoka,Nunito,sans-serif;font-size:11px;color:var(--sub);text-transform:uppercase;font-weight:700;letter-spacing:.08em;text-align:center;margin-bottom:10px}.day-header .num{display:block;font-family:Fredoka,Nunito,sans-serif;font-size:32px;color:var(--ink);font-weight:700;margin-top:2px;letter-spacing:-.03em}.day-col.today .day-header{color:var(--teal-dark)}.day-col.today .day-header .num{color:var(--teal)}.event-block{border-radius:12px;padding:8px 10px;margin-bottom:6px;border-left:3px solid;font-size:13px;line-height:1.3;box-shadow:0 2px 6px -2px #0000001a;transition:transform .12s}.event-block:hover{transform:translateY(-1px)}.event-block .title{font-family:Fredoka,Nunito,sans-serif;font-weight:700}.event-block .time{font-size:11px;opacity:.85;margin-top:2px;font-weight:600;font-feature-settings:"tnum"}.bottom-bar{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:12px}.bottom-bar>*{min-width:0}@media(max-width:1200px){.bottom-bar{grid-template-columns:1fr 1fr}}@media(max-width:800px){.bottom-bar{grid-template-columns:1fr}}.color-picker-popover{position:absolute;top:100%;right:0;margin-top:6px;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 10px 30px #0f172a26;border:1px solid #e5e7eb;z-index:20;min-width:240px}.palette-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.swatch{width:26px!important;height:26px!important;min-height:0!important;padding:0!important;border-radius:50%!important;border:2px solid white!important;box-shadow:0 1px 3px #0003;cursor:pointer;transition:transform .08s}.swatch:hover{transform:scale(1.15)}.swatch.selected{box-shadow:0 0 0 2px #1e40af,0 1px 3px #0003}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;display:grid;place-items:center;padding:24px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--paper);border-radius:var(--radius-xl);width:min(560px,100%);max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;box-shadow:0 24px 48px -12px #0f172a59;overflow:hidden;animation:modalIn .22s cubic-bezier(.34,1.3,.64,1)}@keyframes modalIn{0%{transform:translateY(20px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{padding:18px 22px;display:flex;align-items:center;gap:12px;border-bottom:1.5px dashed var(--line);background:#fff}.modal-title{display:flex;align-items:center;gap:10px;font-family:Fredoka,Nunito,sans-serif;font-size:20px;font-weight:700;color:var(--ink);flex:1;letter-spacing:-.01em}.modal-member-badge{padding:4px 12px;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:700;box-shadow:0 2px 6px -1px #00000014}.modal-close{min-height:38px!important;min-width:38px!important;padding:0!important;border-radius:50%!important;border:none!important;background:var(--cream)!important;color:var(--sub)!important;display:grid!important;place-items:center;cursor:pointer;transition:all .15s}.modal-close:hover{background:var(--peach)!important;color:var(--coral)!important;transform:rotate(90deg)}.modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:var(--paper)}.modal-body .field{display:flex;flex-direction:column;gap:6px}.modal-body .field>span{font-family:Fredoka,Nunito,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--sub)}.modal-body .field input:not([type=checkbox]),.modal-body .field select,.modal-body .field textarea{min-height:42px;padding:8px 14px;border:2px solid transparent;border-radius:var(--radius);background:#fff;font-family:Nunito,system-ui;font-size:14px;font-weight:600;color:var(--ink);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.modal-body .field input:not([type=checkbox]):focus,.modal-body .field select:focus,.modal-body .field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 18%,transparent),var(--shadow)}.modal-body .field-inline{flex-direction:row!important;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform .12s}.modal-body .field-inline:hover{transform:translateY(-1px)}.modal-body .field-inline>span{text-transform:none;letter-spacing:0;font-family:Nunito,system-ui;font-weight:700;color:var(--ink);font-size:13px}.modal-body .field-inline input[type=checkbox]{width:20px;height:20px;min-height:0;margin-right:4px;accent-color:var(--teal);cursor:pointer}.modal-body .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-preview{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:var(--teal-dark);padding:10px 14px;border-radius:var(--radius);font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:700;border-left:4px solid var(--teal)}.modal-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:10px 14px;border-radius:var(--radius);font-size:13px;font-weight:700;border-left:4px solid #dc2626}.modal-footer{padding:14px 22px;border-top:1.5px dashed var(--line);display:flex;gap:10px;justify-content:flex-end;background:#fff}.modal-footer button{min-height:42px;padding:8px 22px;border-radius:999px;font-family:Fredoka,Nunito,sans-serif;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.modal-footer button.ghost{background:var(--cream);color:var(--sub)}.modal-footer button.ghost:hover{background:var(--peach);color:var(--ink);transform:translateY(-1px)}.modal-footer button:not(.ghost){background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;box-shadow:0 4px 12px -2px #14b8a680}.modal-footer button:not(.ghost):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px -2px #14b8a699}.modal-footer button:disabled{opacity:.5;cursor:not-allowed}.alerts-tabs{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:999px;margin-bottom:10px}.alerts-tabs button{flex:1;min-height:34px!important;padding:0 8px!important;font-size:12px!important;font-weight:700!important;background:transparent!important;color:#4b5563!important;border-radius:999px!important;border:none!important;display:inline-flex;align-items:center;justify-content:center;gap:4px}.alerts-tabs button.active{background:#fff!important;color:#1e40af!important;box-shadow:0 2px 6px #0f172a14}.alerts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.alerts-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:10px}.alerts-row.urgent{background:#fef3c7;border-left-color:#f59e0b}.row-icon{font-size:20px;line-height:1}.row-main{min-width:0}.row-title{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:11px;color:#6b7280}.row-when{font-size:11px;font-weight:800;color:#4b5563;white-space:nowrap}.alerts-row.urgent .row-when{color:#b45309}.alerts-empty{color:#9ca3af;font-style:italic;text-align:center;padding:12px;font-size:13px}.bottom-bar .card{margin:0}.bottom-bar h4{margin:0 0 10px;font-size:15px;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.quick-add{display:flex;gap:8px}.member-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.member-picker button{min-height:34px!important;padding:0 12px!important;border-radius:999px!important;background:#f3f4f6!important;color:#374151!important;font-size:13px!important;font-weight:600!important;border:2px solid transparent!important;transition:background .15s,color .15s,border .15s}.member-picker button.active{background:var(--pick-color, #2563eb)!important;color:#fff!important;box-shadow:0 2px 6px #00000026}.member-picker button:not(.active):hover{border-color:var(--pick-color, #cbd5e1)!important}.today-tasks{display:flex;flex-direction:column;gap:6px}.today-tasks .task-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f9fafb;border-radius:10px}.today-tasks .task-row .title{flex:1}.today-tasks .task-row button{min-height:36px;padding:0 12px;font-size:13px}.today-tasks .empty{color:#9ca3af;font-style:italic}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.postit-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 20px;padding:20px 4px}.postit{position:relative;padding:32px 18px 14px;min-height:200px;border-radius:4px;box-shadow:0 6px 14px #0f172a1a,0 2px 4px #0f172a0d;font-family:Kalam,Fredoka,Nunito,sans-serif;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.postit:hover{transform:rotate(0) translateY(-3px)!important;box-shadow:0 10px 22px #0f172a26,0 3px 6px #0f172a14;z-index:3!important}.postit .postit-tape{position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(-2deg);width:70px;height:20px;opacity:.55;border-radius:2px;box-shadow:0 2px 4px #00000014}.postit-new{background:repeating-linear-gradient(#fff,#fff 27px,#e5e7eb 28px)}.postit textarea{background:transparent;border:none;resize:none;width:100%;padding:0;font-family:inherit;font-size:15px;line-height:1.6;outline:none;min-height:120px}.postit-body{flex:1;white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:1.6;color:#1f2937;cursor:text;min-height:100px}.postit-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.1)}.postit-btn{min-height:30px;padding:0 8px;background:#ffffff80;border:none;border-radius:6px;cursor:pointer;color:#4b5563;display:inline-flex;align-items:center}.postit-btn:hover{background:#ffffffd9}.postit-btn.danger{color:#b91c1c}.meal-grid{display:grid;grid-template-columns:140px repeat(7,1fr);gap:6px;background:#fff9;padding:8px;border-radius:14px;overflow-x:auto}.meal-grid-corner{background:transparent}.meal-grid-day{text-align:center;padding:8px 4px;background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000a}.meal-grid-day.today{background:#eff6ff;border:2px solid #3b82f6;padding:6px 4px}.meal-grid-slot{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:10px;font-weight:800;font-size:13px;box-shadow:0 1px 2px #0000000a}.meal-cell{border-radius:10px;border:1px solid #e5e7eb;border-top:3px solid #e5e7eb;background:#fff;min-height:96px;padding:0;display:flex;flex-direction:column;cursor:pointer;overflow:hidden;transition:transform .1s,box-shadow .15s}.meal-cell:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0f172a14}.meal-cell.empty{background:#fff6;border-style:dashed;align-items:center;justify-content:center;min-height:96px;color:#94a3b8}.meal-cell-photo{width:100%;height:50px;flex:0 0 50px}.meal-cell-name{padding:4px 6px 2px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.meal-cell-actions{display:flex;gap:4px;padding:2px 4px 4px;margin-top:auto;justify-content:space-between}@media(max-width:900px){.meal-grid{grid-template-columns:100px repeat(7,minmax(90px,1fr))}.meal-grid-slot{font-size:11px;padding:4px 6px}.meal-cell{min-height:80px}.meal-cell-photo{height:40px;flex-basis:40px}}.postit-board.mini{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px 12px;padding:12px 4px 4px}.postit.mini{padding:20px 10px 8px;min-height:110px;font-size:12px}.postit.mini .postit-tape{width:44px;height:14px;top:-4px}.postit.mini .postit-body{font-size:12px;line-height:1.4;min-height:60px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.postit.mini .postit-actions{margin-top:6px;padding-top:4px}.postit.mini .postit-btn{min-height:24px;padding:0 6px}.postit-add{background:repeating-linear-gradient(#fff,#fff 22px,#f3f4f6 23px)!important;border:2px dashed #cbd5e1!important;color:#64748b!important;align-items:center;justify-content:center;cursor:pointer;font-family:Fredoka,Nunito,sans-serif;transform:rotate(-.8deg);transition:transform .15s,border-color .15s,color .15s}.postit-add:hover:not(:disabled){transform:rotate(0) translateY(-3px)!important;border-color:#3b82f6!important;color:#3b82f6!important}.timetable-wrap{overflow-x:auto;position:relative}.timetable{display:grid;grid-template-columns:60px repeat(5,minmax(180px,1fr));gap:4px;background:#f9fafb;padding:8px;border-radius:12px;position:relative}.timetable-scroll{max-height:70vh;overflow-y:auto;position:relative}.tt-hours{position:relative;padding-top:34px}.tt-hour-label{position:absolute;left:2px;font-size:11px;color:#6b7280;font-weight:600;transform:translateY(-6px)}.tt-day{background:#fff;border-radius:10px;overflow:hidden;position:relative;display:flex;flex-direction:column}.tt-day-header{padding:6px 0;text-align:center;font-weight:800;font-size:12px;color:#1e40af;background:#eff6ff;text-transform:uppercase;letter-spacing:.5px}.tt-day-body{flex:1;position:relative}.tt-hour-line{position:absolute;left:0;right:0;border-top:1px dashed #e5e7eb}.tt-slot{position:absolute;left:2px;right:2px;border-radius:6px;padding:4px 6px;overflow:hidden;cursor:default}.tt-slot-title{font-size:11px;font-weight:700;line-height:1.2;display:inline-flex;gap:4px;align-items:center}.tt-slot-meta{font-size:10px;color:#4b5563;line-height:1.2;margin-top:2px}.tt-slot-kid{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:2px solid #d1d5db;background:#f3f4f6;overflow:hidden;display:grid;place-items:center;font-size:9px;font-weight:900}.nav-tile .nav-emoji{z-index:1;position:relative;font-size:32px;line-height:1;margin:8px 0 10px;filter:drop-shadow(0 2px 4px rgba(15,23,42,.15))}.alerts-3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.alerts-col{padding:12px 14px!important;display:flex;flex-direction:column;min-height:200px;min-width:0}.alerts-col-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding-bottom:8px;border-bottom:1px dashed #e5e7eb;margin-bottom:8px}.alerts-col .alerts-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.alerts-col .alerts-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 8px;background:#f9fafb;border-radius:8px;font-size:12px}.alerts-col .alerts-row .row-icon{font-size:16px;line-height:1}.alerts-col .alerts-row .row-title{font-weight:700;font-size:12px;line-height:1.2}.alerts-col .alerts-row .row-sub{font-size:10px;color:#6b7280;margin-top:1px}.alerts-col .alerts-row .row-when{font-size:10px;color:#6b7280;font-weight:700;white-space:nowrap}.alerts-col .alerts-row.urgent{background:#fef3c7}.alerts-col .alerts-row.urgent .row-when{color:#b45309}.alerts-col .row-badge{font-size:8px;font-weight:700;letter-spacing:.4px;padding:1px 6px;margin-left:6px;background:#e5e7eb;color:#4b5563;border-radius:999px;text-transform:uppercase}.alerts-col .alerts-empty{color:#9ca3af;font-style:italic;font-size:12px;text-align:center;padding:12px 4px}.bottom-bar{grid-template-columns:minmax(240px,1fr) 2.5fr!important}@media(max-width:1200px){.bottom-bar{grid-template-columns:1fr!important}.alerts-3col{grid-template-columns:1fr}}.task-tracking .kid-card{padding:12px;border-radius:14px;position:relative}.task-tracking .kid-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:8px}.task-tracking .kid-avatar{width:42px;height:42px;border-radius:50%;border:3px solid;overflow:hidden;display:grid;place-items:center;font-size:18px}.task-tracking .kid-avatar img{width:100%;height:100%;object-fit:cover}.task-tracking .kid-name{font-weight:900;font-size:14px;letter-spacing:.2px}.task-tracking .kid-meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#4b5563;margin-top:2px}.task-tracking .kid-meta strong{font-weight:800;color:#111827}.task-tracking .kid-today-pts{margin-left:6px;padding:1px 8px;background:#fef3c7;color:#b45309;border-radius:999px;font-weight:700;font-size:11px}.task-tracking .kid-count{display:flex;align-items:baseline;gap:2px;font-weight:900}.task-tracking .kid-count .big{font-size:22px}.task-tracking .kid-count .small{font-size:12px;opacity:.6}.task-tracking .progress-track{position:relative;height:10px;border-radius:999px;overflow:hidden}.task-tracking .progress-fill{height:100%;border-radius:999px;transition:width .4s}.task-tracking .progress-sparkle{position:absolute;right:4px;top:-1px;animation:spin 3s linear infinite}.task-tracking .task-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.task-tracking .task-chip{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;transition:transform .15s}.task-tracking .task-chip.done{transform:scale(1.05)}.event-block.recurring{border-left-style:dashed!important;opacity:.85}.event-block.recurring:after{content:"↻";position:absolute;top:3px;right:5px;font-size:10px;opacity:.6}.tt-slot.editable{cursor:pointer}.tt-slot.editable:hover{filter:brightness(.97);box-shadow:0 4px 10px #0f172a1a}.tt-slot-del{position:absolute;top:3px;left:3px;width:20px;height:20px;min-height:0;padding:0;border-radius:4px;background:#ffffffb3;border:none;color:#b91c1c;display:none;place-items:center;cursor:pointer;z-index:3}.tt-slot.editable:hover .tt-slot-del{display:grid}.tt-slot-cancel{position:absolute;top:3px;left:26px;width:20px;height:20px;min-height:0;padding:0;border-radius:4px;background:#ffffffb3;border:none;color:#c2410c;display:none;place-items:center;cursor:pointer;z-index:3}.tt-slot.editable:hover .tt-slot-cancel{display:grid}.tt-slot.cancelled .tt-slot-cancel{display:grid;color:#059669;background:#fffffff2}.tt-now-line-col{position:absolute;left:0;right:0;height:0;border-top:2px solid #ef4444;z-index:5;pointer-events:none}.tt-now-line-col:before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 6px #ef444480}.tt-day-today .tt-day-header{background:#fee2e2!important;color:#b91c1c!important}.month-nav{display:flex;align-items:center;gap:8px;margin-bottom:10px}.month-nav-title{font-weight:800;font-size:15px;text-transform:capitalize;color:#1e40af;padding:0 6px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:#f9fafb;padding:8px;border-radius:12px}.month-weekday{text-align:center;font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase;padding:4px 0 6px;letter-spacing:.5px}.month-cell{min-height:78px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;transition:background .1s}.month-cell:hover{background:#eff6ff;border-color:#bfdbfe}.month-cell.faded{opacity:.4}.month-cell.today{border:2px solid #2563eb;background:#eff6ff}.month-cell.has-events{background:linear-gradient(180deg,#ecfdf5,#fff)}.month-cell-num{font-weight:700;font-size:13px;color:#1f2937}.month-cell.today .month-cell-num{color:#2563eb}.month-cell-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}.month-cell-dot{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;color:#fff;font-size:10px;font-weight:800;box-shadow:0 1px 2px #0000001a}.tt-now-line{position:absolute;left:60px;right:4px;height:2px;background:#ef4444;z-index:5;pointer-events:none}.tt-now-line:before{content:"";position:absolute;left:-8px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 8px #ef444480}.tt-now-label{position:absolute;left:-56px;top:-8px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;white-space:nowrap}.nav-date-btn{flex:0 1 auto;min-width:0;min-height:32px!important;padding:4px 10px!important;background:transparent!important;color:#1e40af!important;border:1px solid #bfdbfe!important;border-radius:999px!important;font-weight:800;font-size:12px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.nav-date-btn:hover{background:#eff6ff!important}.nav-date-btn .is-today{color:#2563eb;font-size:13px}.nav-date-btn .is-today:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#2563eb;margin-right:5px;vertical-align:1px}.nav-date-btn .nav-date-sub{color:#6b7280;font-weight:600;font-size:11px;margin-left:4px}
