:root{--bg-grouped:#f2ede7;--bg-elevated:#fcfbfa;--bg-fill:#ede9e4;--bg-fill-pressed:#e4dcd0;--label:#3c2415;--label-secondary:#8b5e3c;--label-tertiary:#a9947f;--separator:#e8e0d6;--tint:#603913;--tint-fill:#6039131f;--danger:#c0392b;--success:#2f9e44;--warning:#d97706;--radius-control:12px;--radius-sheet:16px;--radius-card:16px;--hairline:.5px;--tabbar-height:49px;--navbar-height:44px;--font:system-ui, -apple-system, "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--shadow-card:0 8px 24px #3c241514}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--bg-grouped)}body{font-family:var(--font);color:var(--label);background:var(--bg-grouped);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}button{background:0 0;border:0;padding:0}a{color:var(--tint)}.large-title{letter-spacing:.37px;font-size:34px;font-weight:700;line-height:41px}.title-1{font-size:28px;font-weight:700;line-height:34px}.title-2{font-size:22px;font-weight:700;line-height:28px}.title-3{font-size:20px;font-weight:600;line-height:25px}.headline{font-size:17px;font-weight:600;line-height:22px}.body{font-size:17px;font-weight:400;line-height:22px}.callout{font-size:16px;line-height:21px}.subhead{font-size:15px;line-height:20px}.footnote{color:var(--label-secondary);font-size:13px;line-height:18px}.caption{color:var(--label-secondary);font-size:12px;line-height:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--bg-grouped);min-height:100dvh;display:flex}.shell-main{flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.shell-page{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.page{padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom) + 24px)}.page-body{padding:0 16px 24px}.sidebar{background:var(--bg-elevated);border-right:var(--hairline) solid var(--separator);width:280px;padding:calc(var(--safe-top) + 24px) 16px 24px;flex-shrink:0;display:none}.sidebar-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.sidebar-brand img{border-radius:12px}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-link{text-align:left;border-radius:12px;min-height:44px;padding:12px 14px;font-size:17px}.sidebar-link.is-active{background:var(--tint-fill);color:var(--tint);font-weight:600}.sidebar-signout{margin-top:auto;padding:16px 14px;display:block}.tabbar{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(20px);border-top:var(--hairline) solid var(--separator);padding-bottom:var(--safe-bottom);z-index:20;grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.tabbar-item{min-height:var(--tabbar-height);color:var(--label-tertiary);flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;font-size:10px;display:flex}.tabbar-item.is-active{color:var(--tint)}.navbar{padding:calc(var(--safe-top) + 8px) 16px 8px;background:color-mix(in srgb, var(--bg-grouped) 88%, transparent);-webkit-backdrop-filter:blur(20px);z-index:10;position:sticky;top:0}.navbar-inline{min-height:var(--navbar-height);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.navbar-back{color:var(--tint);min-height:44px;font-size:17px}.navbar-center{text-align:center}.navbar-trailing{text-align:right}.navbar-compact-only{visibility:hidden}.navbar-large{margin:4px 0 8px}.inset-group{margin:20px 0}.inset-header{text-transform:uppercase;letter-spacing:.02em;margin:0 16px 6px}.inset-card{background:var(--bg-elevated);border-radius:var(--radius-card);overflow:hidden}.inset-footer{margin:8px 16px 0}.list-row{text-align:left;border-bottom:var(--hairline) solid var(--separator);background:0 0;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 16px;display:flex}.inset-card .list-row:last-child{border-bottom:0}.list-row:hover{background:var(--bg-fill)}.list-row-text{flex:1;min-width:0}.chevron{color:var(--label-tertiary)}.is-danger{color:var(--danger)}.ios-btn{border-radius:var(--radius-control);justify-content:center;align-items:center;width:100%;min-height:44px;padding:0 18px;font-weight:600;display:inline-flex}.ios-btn-large{min-height:56px;font-size:17px}.btn-filled{background:var(--tint);color:#fcfbfa}.btn-tinted{background:var(--tint-fill);color:var(--tint)}.btn-plain{color:var(--tint)}.btn-destructive{color:var(--danger)}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.ios-input{background:var(--bg-elevated);width:100%;min-height:48px;box-shadow:inset 0 0 0 var(--hairline) var(--separator);border:0;border-radius:12px;outline:none;padding:12px 14px}.ios-input:focus{box-shadow:inset 0 0 0 2px var(--tint)}.field-error{color:var(--danger);font-size:13px}.login-screen{min-height:100dvh;padding:32px 24px calc(24px + var(--safe-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.login-tag{margin-top:4px}.login-form{text-align:left;width:min(100%,400px);margin-top:28px}.preview-link{min-height:44px;color:var(--label-secondary);margin-top:24px}.rings-row{justify-content:space-around;padding:12px 0 8px;display:flex}.ring-wrap{text-align:center}.ring-label{margin-top:4px}.syncbar{text-align:center;padding:4px 8px;padding-top:calc(4px + var(--safe-top));font-size:12px;line-height:18px}.tone-ok{color:var(--label-secondary)}.tone-warn{color:var(--warning);background:#fff4e5}.empty-state{text-align:center;padding:28px 20px}.empty-state p{margin-top:8px}.skeleton-stack{padding:24px 16px}.skeleton-row{background:linear-gradient(90deg, var(--bg-fill), var(--bg-elevated), var(--bg-fill));background-size:200% 100%;border-radius:12px;height:52px;margin-bottom:10px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.boot{min-height:100dvh}.kitchen-caption,.signed-as{margin:0 4px 8px}@media (width>=900px){.sidebar{flex-direction:column;display:flex}.tabbar{display:none}.page{padding-bottom:40px}.syncbar{padding-top:8px}}
