.auth-page .app-shell { width: min(100%, 460px) !important; padding-bottom: var(--spacing-xl) !important; }
.auth-page .topbar { background: transparent !important; border-color: transparent !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.auth-page .main-content { min-height: calc(100dvh - var(--safe-top) - 84px); align-content: center; }
.auth-card { padding: clamp(20px, 6vw, 28px) !important; }
.auth-card h1 { font-size: 30px; letter-spacing: -0.045em; }

.date-strip {
    position: sticky;
    top: calc(var(--top-bar-height) + var(--safe-top) + 2px);
    z-index: 80;
    min-height: 50px;
    padding: 4px 8px !important;
    border-radius: var(--radius-pill) !important;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    background: var(--glass-control-background) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.35);
    backdrop-filter: blur(18px) saturate(1.35);
}
.date-strip .btn { min-width: 44px; padding: 8px !important; border: 0 !important; background: transparent !important; }

.daily-card {
    position: relative;
    overflow: hidden;
    padding: var(--spacing-lg) !important;
    background: linear-gradient(145deg, color-mix(in srgb, var(--color-accent) 12%, var(--color-surface)), var(--color-surface) 62%) !important;
}
.daily-overview { gap: var(--spacing-lg) !important; grid-template-columns:170px minmax(0,1fr)!important; }
.daily-ring { width: 164px !important; height: 164px !important; padding:10px!important; }
.daily-ring-core{padding:12px 8px;overflow:hidden;background:var(--color-surface-elevated)!important;border-color:var(--color-separator)!important}.daily-ring-core strong { max-width:100%;color:var(--color-text-primary);font-size:clamp(21px,6vw,25px) !important; letter-spacing: -0.045em;white-space:nowrap; }.daily-ring-core>span{color:var(--color-text-secondary)!important}
.calorie-balance { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.balance-pill { border-radius: var(--radius-pill); padding: 6px 10px; background: var(--color-accent-soft); color: var(--color-accent); font-size: 13px; font-weight: 650; }
.balance-pill.over { color: var(--color-danger); background: color-mix(in srgb, var(--color-danger) 10%, transparent); }

.meal-card { padding: 0 !important; overflow: hidden; }
.meal-card-head { padding: 14px var(--spacing-md); margin: 0 !important; }
.meal-card-title-wrap h2 { font-size: 18px !important; }
.meal-toggle { width: 44px; height: 44px; border: 0; color: var(--color-text-secondary); background: transparent; border-radius: 50%; }
.meal-card.is-collapsed .entry-list, .meal-card.is-collapsed .meal-empty { display: none !important; }
.meal-card.is-collapsed .meal-toggle svg { transform: rotate(-90deg); }
.entry-list { gap: 0 !important; }
.entry-row {
    min-height: 76px;
    border: 0 !important;
    border-top: 1px solid var(--color-separator) !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 12px var(--spacing-md) !important;
}
.entry-row:active { background: var(--color-surface-secondary) !important; transform: none !important; }

.tabs {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    gap: 6px !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: var(--radius-medium) !important;
    background: var(--color-surface-secondary) !important;
    scrollbar-width: none;
}
.tabs::-webkit-scrollbar { display: none; }
.tab-btn {
    min-width: max-content;
    min-height: 44px !important;
    padding: 8px 12px !important;
    border-radius: 11px !important;
    scroll-snap-align: start;
    color: var(--color-text-secondary) !important;
    font-size: 13px !important;
}
.tab-btn.active { background: var(--color-surface-elevated) !important; color: var(--color-text-primary) !important; box-shadow: var(--shadow-small); }
#tab-templates{scroll-margin-top:calc(var(--safe-top) + var(--top-bar-height) + 10px)}#tab-templates>.card-head{position:sticky;top:calc(var(--safe-top) + var(--top-bar-height));z-index:5;background:var(--glass-navigation-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.template-back-button{margin-top:14px;position:sticky;bottom:calc(var(--safe-bottom) + var(--tab-bar-height) + 8px)}

.inline-search-form { gap: 8px !important; }
.food-list { gap: 10px !important; }
.food-card {
    border: 1px solid var(--color-separator) !important;
    border-radius: var(--radius-large) !important;
    background: var(--color-surface-elevated) !important;
    box-shadow: var(--shadow-small) !important;
}
.food-card:active { transform: scale(0.992); }
.food-actions { gap: 8px !important; }
.food-actions input, .food-actions select { min-height: 44px; }

.scan-overlay { background: #000 !important; }
.scan-overlay-stage { height: 100vh !important; height: 100dvh !important; }
.scan-overlay-top { padding-top: calc(var(--safe-top) + 12px) !important; padding-left: max(14px, var(--safe-left)) !important; padding-right: max(14px, var(--safe-right)) !important; }
.scan-overlay-bottom { padding-bottom: calc(var(--safe-bottom) + 18px) !important; padding-left: max(14px, var(--safe-left)) !important; padding-right: max(14px, var(--safe-right)) !important; }
.scan-permission-card { position: absolute; z-index: 4; inset: auto 16px calc(var(--safe-bottom) + 20px); border-radius: var(--radius-large); padding: 16px; background: rgba(20,20,22,.88); color: #fff; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.scan-inline-status{min-height:52px;display:flex;align-items:center;padding:12px 14px;border-radius:var(--radius-medium);background:var(--color-surface-secondary);color:var(--color-text-secondary)}.scan-inline-status.error{color:var(--color-danger)}.scan-inline-status.success{color:var(--color-success)}
.scanner-debug-panel{position:fixed;z-index:1000;left:max(8px,var(--safe-left));right:max(8px,var(--safe-right));bottom:calc(8px + var(--safe-bottom));max-height:34dvh;overflow:auto;margin:0;padding:10px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(0,0,0,.88);color:#9ef7ae;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;pointer-events:auto}
.scanner-debug-preview{position:fixed;z-index:999;top:calc(var(--safe-top) + var(--top-bar-height) + 6px);right:max(8px,var(--safe-right));width:min(46vw,240px);max-height:38dvh;overflow:auto;padding:7px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(0,0,0,.88);color:#fff;font:10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace}.scanner-debug-preview small{display:block;margin-bottom:5px;overflow-wrap:anywhere}.scanner-debug-preview img{display:block;width:100%;height:auto;max-height:28dvh;object-fit:contain;background:#fff}

.history-periods { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.history-periods::-webkit-scrollbar { display: none; }
.history-row { min-height: 58px; border-radius: var(--radius-medium) !important; background: var(--color-surface-elevated) !important; }

.weight-hero { display: grid; gap: 8px; padding: var(--spacing-lg) !important; }
.weight-current { font-size: 46px; line-height: 1; letter-spacing: -0.055em; }
.weight-trend { color: var(--color-success); font-weight: 650; }
.weight-chart { width: 100%; min-height: 180px; }
.weight-chart-grid { stroke: var(--color-separator); stroke-width: 1; }
.weight-chart-line { fill: none; stroke: var(--color-accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.weight-chart-point { fill: var(--color-surface-elevated); stroke: var(--color-accent); stroke-width: 2; }

.profile-list { overflow: hidden; padding: 0 !important; }
.profile-row { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 16px; border-bottom: 1px solid var(--color-separator); }
.profile-row:last-child { border-bottom: 0; }

@media (max-width: 390px) {
    .daily-overview { grid-template-columns: 1fr !important; }
    .daily-ring { width:158px!important;height:158px!important;margin: 0 auto; }
    .meal-card-actions { gap: 2px !important; }
    .meal-card-actions .link-inline { font-size: 12px; }
}

.weight-hero{margin:0 16px 16px;padding:24px;border-radius:var(--radius-large);display:grid;gap:18px;background:linear-gradient(145deg,var(--color-accent),#5e5ce6);color:#fff}.weight-hero .eyebrow{display:block;color:rgba(255,255,255,.76);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.weight-hero>div>strong{display:block;font-size:clamp(42px,14vw,64px);line-height:1.05;margin-top:4px}.weight-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weight-kpis span{display:grid;gap:3px}.weight-kpis b{color:#fff}.weight-chart{display:block;width:100%;height:auto;color:var(--color-accent)}.weight-entry-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weight-entry-form .btn{grid-column:1/-1}.weight-list{display:grid}.weight-row{display:flex;align-items:center;justify-content:space-between;min-height:62px;border-top:1px solid var(--color-separator)}.weight-row:first-child{border-top:0}.weight-row>div{display:grid;gap:2px}.weight-row span{color:var(--color-text-secondary);font-size:14px}
.history-weight-legacy{display:none!important}
.calorie-balance{display:block;margin-top:5px;color:var(--color-success);font-size:12px;font-weight:700}.calorie-balance.is-over{color:var(--color-danger)}.weight-quick-link{display:inline-flex;min-height:36px;align-items:center;padding:0 12px;border-radius:var(--radius-pill);background:var(--color-surface-secondary);font-weight:700}
