:root { --bg:#0a0b10; --card:#161922; --primary:#7f68ff; --secondary:#b3a5ff; --danger:#cf6679; --ok:#4caf50; --muted:#9ca1ae; --compare-up:#72d98a; --compare-equal:#69a9ff; --compare-down:#ffb566; --app-viewport-width:100vw; --app-viewport-height:100vh; --app-visible-viewport-height:100vh; --app-short-side:100vw; --app-long-side:100vh; }
        @supports (height:100dvh) {
            :root {
                --app-viewport-height:100dvh;
                --app-visible-viewport-height:100dvh;
            }
        }
        html, body {
            min-height:100%;
            min-height:var(--app-viewport-height);
            overscroll-behavior-y:none;
            -webkit-text-size-adjust:100%;
            text-size-adjust:100%;
        }
        html.tracker-tab-active,
        body.tracker-tab-active {
            height:auto;
            overflow:auto;
        }
        * { box-sizing:border-box; font-family:Segoe UI, Arial, sans-serif; }
        body {
            margin:0;
            min-height:var(--app-viewport-height);
            background:radial-gradient(circle at top, #1b1f2b 0%, var(--bg) 46%, #06070b 100%);
            background-repeat:no-repeat;
            background-attachment:fixed;
            color:#fff;
            padding-bottom:88px;
        }
        body.tracker-tab-active {
            overscroll-behavior-y:none;
        }
        header { position:sticky; top:0; z-index:10; background:rgba(20, 22, 30, 0.92); border-bottom:1px solid #2f3444; padding:14px 16px; text-align:center; backdrop-filter:blur(6px); }
        .brand { display:flex; align-items:center; justify-content:center; gap:10px; }
        .brand-logo {
            width:42px;
            height:42px;
            aspect-ratio:1 / 1;
            border-radius:9px;
            object-fit:cover;
            border:1px solid #3d3d3d;
            background:#111;
            box-shadow:0 2px 8px rgba(0,0,0,0.35);
        }
        h1 { margin:0; color:var(--primary); font-size:24px; line-height:1.1; }
        h2 { margin:0 0 12px; border-bottom:2px solid #333; padding-bottom:6px; font-size:20px; }
        h3 { margin:0 0 10px; }
        .container { max-width:680px; margin:0 auto; padding:14px; }
        .card { background:var(--card); border:1px solid #2b3040; border-radius:12px; padding:16px; margin-bottom:16px; box-shadow:0 8px 20px rgba(0,0,0,0.28); }
        .hidden { display:none !important; }
        .row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
        .spaced { display:flex; justify-content:space-between; align-items:center; gap:10px; }
        .form-group { margin-bottom:12px; }
        .form-group label { display:block; font-size:14px; margin-bottom:5px; font-weight:700; }
        input[type="text"], input[type="password"], input[type="number"], select {
            width:100%; height:40px; border-radius:8px; border:1px solid #555; background:#333; color:#fff; padding:8px;
            font-size:16px;
        }
        input[type="text"], input[type="password"], input[type="number"], textarea {
            cursor:text;
            caret-color:#ffffff;
        }
        .app-input-keyboard-target {
            cursor:text;
            caret-color:#ffffff;
        }
        .password-wrap { position:relative; }
        .password-wrap input[type="password"],
        .password-wrap input[type="text"] { padding-right:78px; }
        .pw-toggle {
            position:absolute;
            top:50%;
            right:6px;
            transform:translateY(-50%);
            height:28px;
            border:1px solid #5e5e5e;
            background:#2a2a2a;
            color:#e9e9e9;
            font-size:12px;
            font-weight:700;
            border-radius:6px;
            padding:0 10px;
            min-width:62px;
        }
        button { border:none; border-radius:8px; cursor:pointer; }
        .main-btn { width:100%; margin-top:8px; background:var(--primary); color:#f7f8ff; font-weight:800; padding:14px; font-size:17px; }
        .action-btn { background:#2d313d; color:#f0f2ff; padding:10px 12px; font-weight:700; border:1px solid #3d4252; }
        .icon-btn {
            background:#2d313d;
            color:#f0f2ff;
            border:1px solid #3d4252;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:34px;
            height:34px;
            aspect-ratio:1 / 1;
            padding:0;
            border-radius:8px;
            flex-shrink:0;
        }
        .icon-btn svg {
            width:18px;
            height:18px;
            fill:currentColor;
        }
        .icon-btn img {
            width:18px;
            height:18px;
            display:block;
            object-fit:contain;
        }
        .danger-btn { background:var(--danger); color:#fff; }
        .warn-btn {
            background:#d9bf54;
            border-color:#ecd98b;
            color:#231a03;
        }
        .auth-status { margin-top:10px; min-height:18px; font-size:13px; color:var(--secondary); }
        .auth-status.error { color:var(--danger); }
        .auth-shell {
            max-width:460px;
            margin:0 auto;
            padding:18px;
        }
        .auth-hero {
            margin-bottom:14px;
        }
        .auth-kicker {
            margin:0 0 6px;
            font-size:12px;
            font-weight:800;
            letter-spacing:0.12em;
            text-transform:uppercase;
            color:#d0d8f4;
        }
        .auth-copy {
            margin:0;
            color:#c1c8d8;
            font-size:13px;
            line-height:1.45;
        }
        .auth-mode-toggle {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
            margin-bottom:14px;
        }
        .auth-mode-btn {
            margin-top:0;
            width:100%;
            min-height:42px;
        }
        .auth-mode-btn.active {
            background:#39425f;
            border-color:#69769b;
            color:#fff;
        }
        .auth-panel {
            display:flex;
            flex-direction:column;
            gap:0;
        }
        .day-header { text-align:center; margin:0 0 16px; color:var(--secondary); }
        .tier-badge { background:var(--primary); color:#000; border-radius:4px; padding:3px 7px; font-weight:700; font-size:13px; }
        .exercise-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px; }
        .exercise-main { display:flex; align-items:center; gap:8px; min-width:0; }
        .exercise-header-tools { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
        .exercise-swap-wrap { position:relative; }
        .exercise-swap-menu {
            position:absolute;
            top:40px;
            right:0;
            min-width:200px;
            max-width:min(260px, calc(100vw - 32px));
            display:flex;
            flex-direction:column;
            gap:6px;
            padding:8px;
            background:#141825;
            border:1px solid #2d3550;
            border-radius:10px;
            box-shadow:0 10px 24px rgba(0,0,0,0.35);
            z-index:18;
        }
        .exercise-swap-option { margin-top:0; text-align:left; }
        .exercise-swap-option.active {
            background:#39425f;
            border-color:#55607f;
        }
        .set-header-select {
            display:flex;
            align-items:center;
            justify-content:center;
            text-align:center;
        }
        .set-header-select .exercise-tick-all { margin:0; }
        .exercise-tick-all {
            width:26px;
            height:26px;
            border-radius:8px;
            border:1px solid #3d4252;
            background:#2d313d;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            position:relative;
            cursor:pointer;
            flex:0 0 auto;
        }
        .exercise-tick-all-input {
            position:absolute;
            inset:0;
            opacity:0;
            margin:0;
            cursor:pointer;
        }
        .exercise-tick-all-box {
            width:16px;
            height:16px;
            border:2px solid #727993;
            border-radius:4px;
            position:relative;
            background:transparent;
        }
        .exercise-tick-all-input:checked + .exercise-tick-all-box {
            background:var(--ok);
            border-color:var(--ok);
        }
        .exercise-tick-all-input:checked + .exercise-tick-all-box::after {
            content:"";
            position:absolute;
            left:4px;
            top:1px;
            width:4px;
            height:8px;
            border:solid #fff;
            border-width:0 2px 2px 0;
            transform:rotate(45deg);
        }
        .exercise-tick-all-input:indeterminate + .exercise-tick-all-box {
            background:#59617b;
            border-color:#59617b;
        }
        .exercise-tick-all-input:indeterminate + .exercise-tick-all-box::after {
            content:"";
            position:absolute;
            left:2px;
            top:5px;
            width:8px;
            height:2px;
            border-radius:2px;
            background:#fff;
        }
        .exercise-name { font-weight:700; line-height:1.2; word-break:break-word; }
        .exercise-meta { font-size:12px; color:var(--muted); margin-top:2px; }
        .exercise-session-note {
            margin:0 0 8px;
            font-size:12px;
            color:#c9d4f2;
            background:#1a2236;
            border:1px solid #33415f;
            border-radius:8px;
            padding:7px 8px;
            line-height:1.3;
            white-space:pre-wrap;
            word-break:break-word;
        }
        .exercise-card {
            transition:border-color 0.18s ease, box-shadow 0.18s ease;
        }
        .exercise-card.exercise-card-improved {
            border-color:rgba(114, 217, 138, 0.9);
            box-shadow:0 0 0 1px rgba(114, 217, 138, 0.22), 0 8px 20px rgba(0,0,0,0.28);
        }
        .exercise-card.exercise-card-matched {
            border-color:rgba(105, 169, 255, 0.9);
            box-shadow:0 0 0 1px rgba(105, 169, 255, 0.22), 0 8px 20px rgba(0,0,0,0.28);
        }
        .exercise-card.exercise-card-lower {
            border-color:rgba(255, 181, 102, 0.95);
            box-shadow:0 0 0 1px rgba(255, 181, 102, 0.24), 0 8px 20px rgba(0,0,0,0.28);
        }
        .exercise-progress {
            margin:0 0 10px;
            padding:10px 12px;
            border:1px solid #34405b;
            border-radius:10px;
            background:#131925;
        }
        .exercise-progress.exercise-progress-improved {
            border-color:rgba(114, 217, 138, 0.7);
            background:#132118;
        }
        .exercise-progress.exercise-progress-matched {
            border-color:rgba(105, 169, 255, 0.72);
            background:#121d31;
        }
        .exercise-progress.exercise-progress-lower {
            border-color:rgba(255, 181, 102, 0.72);
            background:#271d12;
        }
        .exercise-progress.exercise-progress-first {
            border-color:#3a445d;
            background:#141926;
        }
        .exercise-progress-title {
            font-size:11px;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:0.05em;
            color:#d7def3;
        }
        .exercise-progress-delta {
            margin-top:4px;
            font-size:20px;
            font-weight:800;
            color:#eef1ff;
        }
        .exercise-progress-meta {
            margin-top:4px;
            font-size:12px;
            color:var(--muted);
            line-height:1.35;
        }
        .exercise-progress.exercise-progress-improved .exercise-progress-delta,
        .exercise-progress.exercise-progress-improved .exercise-progress-title {
            color:var(--compare-up);
        }
        .exercise-progress.exercise-progress-matched .exercise-progress-delta,
        .exercise-progress.exercise-progress-matched .exercise-progress-title {
            color:var(--compare-equal);
        }
        .exercise-progress.exercise-progress-lower .exercise-progress-delta,
        .exercise-progress.exercise-progress-lower .exercise-progress-title {
            color:var(--compare-down);
        }
        .exercise-rest-inline { display:flex; flex-direction:column; gap:4px; min-width:150px; width:100%; }
        .exercise-rest-inline label { font-size:11px; color:var(--muted); font-weight:600; }
        .exercise-rest-slider { width:100%; max-width:100%; }
        .history { background:#232531; border-left:3px solid #9f8cff; color:#d0c7ff; font-size:12px; padding:8px; border-radius:6px; margin-bottom:12px; }
        .set-table-header {
            display:grid;
            grid-template-columns:36px 100px minmax(0,1fr) 84px 104px 30px;
            align-items:center;
            gap:8px;
            color:var(--muted);
            font-size:11px;
            font-weight:700;
            text-transform:uppercase;
            letter-spacing:0.04em;
            margin:0 0 6px;
            padding:0 8px;
            text-align:center;
        }
        .set-row-shell {
            position:relative;
            margin-bottom:7px;
            border-radius:10px;
            overflow:hidden;
        }
        .set-row {
            display:grid;
            grid-template-columns:36px 100px minmax(0,1fr) 84px 104px 30px;
            align-items:center;
            gap:8px;
            background:#1d2029;
            border:1px solid #2f3442;
            border-radius:10px;
            padding:7px 8px;
            margin-bottom:0;
            position:relative;
            z-index:1;
            transition:transform 0.18s ease;
            touch-action:pan-y;
        }
        .set-row-shell.removable.swiped .set-row { transform:translateX(-86px); }
        .set-swipe-remove-btn {
            position:absolute;
            top:0;
            right:0;
            bottom:0;
            width:86px;
            border:none;
            border-radius:0 10px 10px 0;
            background:var(--danger);
            color:#fff;
            font-size:12px;
            font-weight:700;
            z-index:0;
        }
        .check-btn {
            width:28px;
            height:28px;
            aspect-ratio:1 / 1;
            border-radius:50%;
            background:transparent;
            border:2px solid #606060;
            color:#fff;
            font-size:15px;
            font-weight:700;
            line-height:1;
            flex:0 0 auto;
        }
        .check-btn.completed { background:var(--ok); border-color:var(--ok); }
        .set-num {
            font-weight:700;
            font-size:13px;
            color:#e8ebfa;
            text-align:center;
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:2px;
        }
        .set-extra-tag {
            font-size:9px;
            color:var(--secondary);
            text-transform:uppercase;
            letter-spacing:0.05em;
            font-weight:700;
        }
        .previous-cell { font-size:11px; color:var(--muted); text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .previous-set-value { color:inherit; }
        .previous-set-value.previous-set-above-target { color:var(--compare-up); font-weight:700; }
        .previous-set-value.previous-set-below-target { color:var(--compare-down); font-weight:700; }
        .set-target { font-size:12px; color:#d0d5e8; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .reps-control { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; gap:4px; align-items:center; }
        .rep-btn { width:24px; height:24px; aspect-ratio:1 / 1; border-radius:50%; background:#555; color:#fff; font-size:15px; padding:0; line-height:1; flex-shrink:0; }
        input.rep-input { width:100%; min-width:0; height:28px; text-align:center; padding:2px 4px; font-size:13px; border-radius:6px; }
        input.weight-input { width:100%; min-width:0; height:28px; text-align:center; padding:2px 4px; font-size:13px; border-radius:6px; }
        .amrap { color:var(--secondary); font-weight:700; }
        .day-settings { border:1px solid #444; border-radius:8px; background:#1a1a1a; padding:12px; margin-bottom:12px; }
        .program-settings-stack {
            display:flex;
            flex-direction:column;
            gap:14px;
            padding-bottom:20px;
        }
        .program-settings-stack > * { margin-bottom:0; }
        #gzclp-max-lifts-card .card,
        #custom-max-lifts-card .card { margin-bottom:0; }
        .program-settings-card {
            padding:18px;
            border-color:#34405a;
            background:linear-gradient(180deg, rgba(25,31,43,0.98), rgba(18,23,33,0.98));
        }
        .program-settings-card .form-group:last-child { margin-bottom:0; }
        .program-settings-card .settings-note { line-height:1.45; }
        .program-settings-card .check-row { margin-top:12px; }
        .program-settings-section-head {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            margin-bottom:12px;
        }
        .program-settings-section-head > div {
            min-width:0;
            flex:1 1 auto;
        }
        .program-settings-section-head-inline { align-items:center; }
        .program-settings-section-head h3 {
            margin:0;
            font-size:17px;
            letter-spacing:0.01em;
        }
        .program-settings-inline-btn {
            margin-top:0;
            min-width:96px;
            padding:9px 12px;
            white-space:nowrap;
        }
        .program-settings-copy {
            margin:8px 0 0;
            max-width:58ch;
            line-height:1.5;
        }
        .program-settings-copy + .program-settings-copy { margin-top:8px; }
        .program-settings-list {
            font-size:14px;
            color:var(--muted);
        }
        .program-settings-data-card {
            border-color:#5b3038;
            background:linear-gradient(180deg, rgba(49,24,29,0.96), rgba(32,17,22,0.98));
        }
        .program-settings-panel-card {
            margin-bottom:0;
            padding:0;
            overflow:hidden;
        }
        .program-settings-panel-summary {
            list-style:none;
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            padding:16px 18px;
            cursor:pointer;
            user-select:none;
        }
        .program-settings-panel-summary::-webkit-details-marker { display:none; }
        .program-settings-panel-summary-copy {
            min-width:0;
            flex:1 1 auto;
        }
        .program-settings-panel-summary-copy h3 {
            margin:0;
            font-size:17px;
            letter-spacing:0.01em;
        }
        .program-settings-panel-body {
            padding:0 18px 18px;
            border-top:1px solid rgba(69, 80, 103, 0.72);
        }
        .program-settings-panel-chevron {
            width:10px;
            height:10px;
            flex:0 0 auto;
            margin-top:6px;
            margin-right:4px;
            border-right:2px solid #aeb8cf;
            border-bottom:2px solid #aeb8cf;
            transform:rotate(45deg);
            transition:transform 0.18s ease, border-color 0.18s ease;
        }
        .program-settings-panel-card[open] .program-settings-panel-chevron {
            transform:rotate(225deg);
            border-color:#ffffff;
        }
        .program-settings-action-list {
            display:grid;
            gap:10px;
            margin-top:4px;
        }
        .program-settings-action-card {
            width:100%;
            margin-top:0;
            padding:14px 15px;
            text-align:left;
            display:flex;
            flex-direction:column;
            align-items:flex-start;
            gap:6px;
            border-radius:14px;
            border-width:1px;
        }
        .program-settings-action-card.danger-btn {
            background:linear-gradient(180deg, rgba(176,56,73,0.95), rgba(133,33,48,0.98));
            border-color:#d06b7d;
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 10px 22px rgba(0,0,0,0.22);
        }
        .program-settings-action-card strong {
            font-size:14px;
            line-height:1.2;
        }
        .program-settings-action-card span {
            font-size:12px;
            line-height:1.45;
            color:rgba(255,243,245,0.92);
        }
        .program-settings-layout-head {
            padding:2px 4px 0;
        }
        .program-settings-layout-head h2 {
            margin:0;
            font-size:19px;
            line-height:1.2;
        }
        .program-settings-footer { padding-top:2px; }
        .program-settings-save-btn {
            margin-top:0;
            min-height:50px;
            box-shadow:0 12px 24px rgba(20,54,119,0.28);
        }
        .program-settings-profile-card {
            border-color:#34517c;
            background:linear-gradient(180deg, rgba(22,35,55,0.98), rgba(17,24,37,0.98));
        }
        .program-settings-profile-top {
            display:grid;
            grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
            gap:12px;
            align-items:end;
            margin-bottom:12px;
            margin-top:2px;
        }
        .program-settings-profile-field { margin-bottom:0; }
        .program-settings-profile-status {
            margin:0;
            min-height:40px;
            padding:10px 12px;
            border:1px solid #4a6590;
            border-radius:10px;
            background:rgba(21,34,55,0.88);
            color:#dce8ff;
            display:flex;
            align-items:center;
        }
        .program-settings-profile-grid {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:12px;
        }
        #routine-settings-container,
        #custom-routine-settings-container {
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .program-settings-day-card {
            margin-bottom:0;
            padding:0;
            overflow:hidden;
            border-color:#34405a;
            background:linear-gradient(180deg, rgba(23,29,42,0.98), rgba(18,23,33,0.98));
        }
        .program-settings-day-card[open] {
            border-color:#4c5b78;
            box-shadow:0 12px 22px rgba(0,0,0,0.2);
        }
        .program-settings-day-summary {
            list-style:none;
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:12px;
            padding:15px 16px;
            cursor:pointer;
            user-select:none;
        }
        .program-settings-day-summary::-webkit-details-marker { display:none; }
        .program-settings-day-summary-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            gap:4px;
        }
        .program-settings-day-title {
            font-size:16px;
            font-weight:800;
            color:#f5f7ff;
        }
        .program-settings-day-meta {
            font-size:12px;
            line-height:1.35;
            color:#b5bfd4;
        }
        .program-settings-day-chevron {
            width:10px;
            height:10px;
            flex:0 0 auto;
            margin-right:4px;
            border-right:2px solid #aeb8cf;
            border-bottom:2px solid #aeb8cf;
            transform:rotate(45deg);
            transition:transform 0.18s ease, border-color 0.18s ease;
        }
        .program-settings-day-card[open] .program-settings-day-chevron {
            transform:rotate(225deg);
            border-color:#ffffff;
        }
        .program-settings-day-body {
            padding:0 16px 16px;
            border-top:1px solid #2d3649;
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .program-settings-day-toolbar {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            padding-top:12px;
        }
        .program-settings-day-note {
            margin:0;
            line-height:1.45;
        }
        .program-settings-day-add-btn {
            margin-top:0;
            align-self:flex-start;
            white-space:nowrap;
        }
        .program-settings-day-list {
            display:grid;
            gap:10px;
        }
        .program-settings-empty {
            border:1px dashed #485571;
            border-radius:12px;
            padding:14px;
            background:rgba(18,24,36,0.74);
            color:#bdc7dc;
            text-align:center;
            font-size:13px;
            line-height:1.45;
        }
        .history-card { border:1px solid #3a3a3a; }
        .history-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px; }
        .history-header-right {
            display:flex;
            flex-direction:column;
            align-items:flex-end;
            gap:6px;
        }
        .history-header-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            justify-content:flex-end;
        }
        .history-date { font-size:12px; color:var(--muted); margin-top:3px; }
        .history-volume { color:var(--secondary); font-weight:700; font-size:13px; white-space:nowrap; }
        .history-copy-btn,
        .history-edit-btn { margin-top:0; padding:6px 10px; font-size:12px; min-height:30px; }
        .history-entry { border-top:1px solid #343434; padding-top:8px; margin-top:8px; }
        .history-entry-top { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; font-size:13px; }
        .history-entry-top strong { color:#fff; font-size:12px; }
        .history-sets { color:var(--muted); font-size:12px; margin-top:3px; line-height:1.35; }
        .history-note {
            margin-top:5px;
            padding:6px 7px;
            border:1px solid #32415f;
            border-radius:8px;
            background:#151c2d;
            color:#c2cee8;
            font-size:12px;
            line-height:1.3;
            white-space:pre-wrap;
            word-break:break-word;
        }
        .history-empty { font-size:14px; color:var(--muted); text-align:center; }
        .exercise-settings-header {
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:10px;
            margin-bottom:6px;
        }
        .exercise-settings-header h3 { margin:0; }
        .exercise-load-options {
            display:flex;
            flex-direction:column;
            gap:8px;
            margin-top:6px;
        }
        .exercise-history-panel {
            margin-top:10px;
            border-top:1px solid #2f3442;
            padding-top:10px;
            max-height:240px;
            overflow:auto;
        }
        .exercise-history-item {
            border:1px solid #2f3442;
            border-radius:10px;
            padding:8px;
            background:#1b1e26;
            margin-top:8px;
        }
        .exercise-history-top {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:8px;
        }
        .exercise-history-title {
            font-weight:700;
            font-size:12px;
        }
        .exercise-history-date {
            font-size:11px;
            color:var(--muted);
        }
        .exercise-history-sets {
            font-size:12px;
            color:var(--muted);
            margin-top:4px;
            line-height:1.35;
        }
        .history-stats-grid {
            display:grid;
            gap:10px;
            grid-template-columns:repeat(2, minmax(0, 1fr));
        }
        .history-stat {
            border:1px solid #30384a;
            border-radius:10px;
            background:#141a26;
            padding:10px 12px;
        }
        .history-stat-label { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em; }
        .history-stat-value { margin-top:4px; font-size:16px; font-weight:800; color:#eef1ff; }
        .history-stat-value.history-trend-up { color:var(--compare-up); }
        .history-stat-value.history-trend-equal { color:var(--compare-equal); }
        .history-stat-value.history-trend-down { color:var(--compare-down); }
        .history-stat-sub { margin-top:4px; font-size:11px; color:var(--muted); line-height:1.3; }
        .history-stats-note { grid-column:1 / -1; font-size:11px; color:var(--muted); }
        .program-card p { margin:8px 0 12px; color:var(--muted); font-size:13px; line-height:1.4; }
        .program-card-recency {
            margin:-4px 0 12px;
            color:#9fb1d8;
            font-size:12px;
        }
        .program-section-heading {
            margin:4px 0 10px;
            font-size:12px;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:0.06em;
            color:#e6dcaf;
        }
        .program-section-note { margin:0 0 10px; }
        .program-section-cards { margin-top:12px; }
        #app-view { min-height:calc(var(--app-viewport-height) - 74px); }
        #program-view { min-height:calc(var(--app-viewport-height) - 176px); }
        #program-view .program-card { background:#0f1118; border-color:#242a38; }
        #program-view .program-card p { color:#c0c7d8; }
        #program-view .program-card .program-card-recency { color:#9fb1d8; }
        .program-actions { display:flex; gap:8px; }
        .program-actions .main-btn {
            flex:1 1 auto;
            min-width:0;
            width:100%;
            margin-top:0;
            min-height:48px;
            padding:11px 14px;
            font-size:15px;
        }
        .program-action-settings-btn {
            flex:0 0 48px;
            width:48px;
            height:48px;
            min-width:48px;
            margin-top:0;
            padding:0;
            border-radius:12px;
        }
        .program-action-settings-btn img {
            width:19px;
            height:19px;
        }
        .program-action-settings-btn.disabled {
            opacity:0.45;
            pointer-events:none;
        }
        .program-schedule-viewer-shell {
            display:flex;
            flex-direction:column;
            gap:12px;
            min-height:calc(var(--app-viewport-height) - 220px);
            padding-bottom:92px;
        }
        .program-schedule-viewer-head {
            display:flex;
            align-items:flex-start;
            gap:10px;
        }
        .program-schedule-back-btn {
            margin-top:0;
            min-width:72px;
        }
        .program-schedule-viewer-head h3 {
            margin:0;
        }
        .program-schedule-week-chip-row {
            display:flex;
            gap:10px;
            overflow-x:auto;
            padding:2px 4px 8px;
            margin:0 -4px;
            scroll-snap-type:x proximity;
            -webkit-overflow-scrolling:touch;
            overscroll-behavior-x:contain;
            touch-action:pan-x;
            scrollbar-width:none;
        }
        .program-schedule-week-chip-row::-webkit-scrollbar {
            display:none;
        }
        .program-schedule-week-chip {
            margin-top:0;
            flex:0 0 auto;
            min-width:92px;
            padding:10px 14px;
            border-radius:14px;
            font-size:13px;
            font-weight:700;
            white-space:nowrap;
            scroll-snap-align:start;
        }
        .program-schedule-week-chip.active {
            border-color:#7e70d7;
            background:#41396f;
            color:#f5f0ff;
        }
        .program-schedule-week-list {
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .program-schedule-week-card {
            border:1px solid #2e3443;
            border-radius:16px;
            background:#111721;
            overflow:hidden;
        }
        .program-schedule-week-summary {
            list-style:none;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            padding:16px;
            cursor:pointer;
        }
        .program-schedule-week-summary::-webkit-details-marker {
            display:none;
        }
        .program-schedule-week-summary strong {
            display:block;
            font-size:15px;
            color:#f6f8ff;
        }
        .program-schedule-week-summary > div span {
            display:block;
            margin-top:4px;
            font-size:12px;
            color:#96a3c2;
        }
        .program-schedule-week-chevron {
            width:10px;
            height:10px;
            border-right:2px solid #8490aa;
            border-bottom:2px solid #8490aa;
            transform:rotate(45deg);
            transition:transform 0.18s ease;
            flex:0 0 auto;
        }
        .program-schedule-week-card[open] .program-schedule-week-chevron {
            transform:rotate(225deg);
        }
        .program-schedule-week-days {
            display:flex;
            flex-direction:column;
            gap:8px;
            padding:0 16px 16px;
        }
        .program-schedule-day-shell {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .program-schedule-day-card {
            display:flex;
            align-items:center;
            gap:10px;
            width:100%;
            padding:14px;
            border:1px solid #2e3649;
            border-radius:14px;
            background:#171f2c;
            color:inherit;
            text-align:left;
            cursor:pointer;
            transition:border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
            -webkit-appearance:none;
            appearance:none;
        }
        .program-schedule-day-card.completed {
            border-color:#5b4fc1;
            background:#1a2130;
        }
        .program-schedule-day-card.current {
            border-color:#c39b31;
            background:#1e2024;
        }
        .program-schedule-day-card.expanded {
            border-color:#6f87c8;
            background:#1c2533;
        }
        .program-schedule-day-check {
            width:22px;
            height:22px;
            aspect-ratio:1 / 1;
            border-radius:50%;
            display:flex;
            align-items:center;
            justify-content:center;
            border:1px solid #56637f;
            color:#cbd6f1;
            font-size:12px;
            flex:0 0 auto;
        }
        .program-schedule-day-copy {
            display:flex;
            flex-direction:column;
            gap:4px;
            min-width:0;
            flex:1 1 auto;
        }
        .program-schedule-day-copy strong {
            font-size:14px;
            color:#f5f7ff;
        }
        .program-schedule-day-copy span {
            font-size:12px;
            color:#97a3bc;
        }
        .program-schedule-day-copy small {
            font-size:11px;
            color:#c8d2ea;
            line-height:1.4;
        }
        .program-schedule-day-chevron {
            color:#8592ae;
            font-size:16px;
            flex:0 0 auto;
            transition:transform 0.18s ease;
        }
        .program-schedule-day-card.expanded .program-schedule-day-chevron {
            transform:rotate(180deg);
        }
        .program-schedule-day-details {
            margin:-2px 0 2px 42px;
            padding:12px 14px;
            border:1px solid #293346;
            border-radius:12px;
            background:#121925;
            display:flex;
            flex-direction:column;
            gap:10px;
        }
        .program-schedule-day-details-head {
            font-size:11px;
            font-weight:700;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#92a3c6;
        }
        .program-schedule-day-details-head-row {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
        }
        .program-schedule-day-details-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            justify-content:flex-end;
        }
        .program-schedule-day-edit-btn {
            margin-top:0;
            min-height:30px;
            padding:6px 10px;
            font-size:12px;
        }
        .program-schedule-day-detail-list {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .program-schedule-day-detail-row {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
        }
        .program-schedule-day-detail-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            gap:3px;
            flex:1 1 auto;
        }
        .program-schedule-day-detail-copy strong {
            font-size:13px;
            color:#f4f7ff;
        }
        .program-schedule-day-detail-copy span {
            font-size:11px;
            color:#8ea0c3;
            line-height:1.35;
        }
        .program-schedule-day-detail-value {
            flex:0 0 auto;
            font-size:13px;
            font-weight:700;
            color:#dfe8ff;
            white-space:nowrap;
        }
        .program-schedule-day-details-empty {
            font-size:12px;
            color:#93a1ba;
        }
        .program-schedule-footer {
            position:sticky;
            bottom:0;
            display:grid;
            grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr);
            gap:8px;
            padding:10px 0 calc(env(safe-area-inset-bottom, 0px) + 6px);
            background:linear-gradient(180deg, rgba(8, 11, 18, 0) 0%, rgba(8, 11, 18, 0.96) 32%, rgba(8, 11, 18, 1) 100%);
        }
        .program-schedule-footer .action-btn,
        .program-schedule-footer .main-btn {
            margin-top:0;
        }
        .program-settings-top-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:12px;
        }
        .workout-icon-legend {
            display:flex;
            flex-direction:column;
            gap:10px;
            margin-top:10px;
        }
        .workout-icon-legend-item {
            display:flex;
            gap:10px;
            align-items:flex-start;
            padding:10px 12px;
            border:1px solid #30394d;
            border-radius:12px;
            background:#151c29;
        }
        .workout-icon-legend-symbol {
            width:32px;
            height:32px;
            border-radius:10px;
            border:1px solid #3a4560;
            display:flex;
            align-items:center;
            justify-content:center;
            background:#1f2738;
            color:#edf2ff;
            font-size:15px;
            font-weight:800;
            flex:0 0 auto;
        }
        .workout-icon-legend-symbol img {
            width:16px;
            height:16px;
            object-fit:contain;
        }
        .program-onboarding-shell {
            display:flex;
            flex-direction:column;
            gap:14px;
            min-height:calc(var(--app-viewport-height) - 240px);
        }
        .program-onboarding-topbar {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
        }
        .program-onboarding-topbar h2 {
            margin:0;
        }
        .program-onboarding-step-badge {
            display:inline-flex;
            align-items:center;
            min-height:28px;
            padding:0 10px;
            border-radius:999px;
            background:#2b2346;
            border:1px solid #56408d;
            color:#e7ddff;
            font-size:12px;
            font-weight:700;
            white-space:nowrap;
        }
        .program-onboarding-card {
            padding:18px;
        }
        .program-onboarding-head h3 {
            margin:0 0 6px;
        }
        .program-onboarding-options {
            display:flex;
            flex-direction:column;
            gap:12px;
            margin-top:14px;
        }
        .program-onboarding-option {
            margin-top:0;
            display:flex;
            gap:12px;
            width:100%;
            text-align:left;
            padding:14px;
            border-radius:16px;
            border:1px solid #313849;
            background:#181d27;
        }
        .program-onboarding-option.selected {
            border-color:#7e70d7;
            background:#221f36;
            box-shadow:0 0 0 1px rgba(146, 123, 255, 0.22) inset;
        }
        .program-onboarding-option-check {
            font-size:18px;
            color:#d6cdf9;
            line-height:1;
            padding-top:2px;
            flex:0 0 auto;
        }
        .program-onboarding-option-copy {
            display:flex;
            flex-direction:column;
            gap:4px;
            min-width:0;
        }
        .program-onboarding-option-copy strong {
            font-size:15px;
            color:#f4f6ff;
        }
        .program-onboarding-option-copy span {
            font-size:12px;
            color:#a3aec6;
        }
        .program-onboarding-option-copy ul {
            margin:6px 0 0 18px;
            padding:0;
            color:#ccd5eb;
            font-size:12px;
            line-height:1.45;
        }
        .program-onboarding-length-field {
            margin-top:14px;
        }
        .program-onboarding-maxes {
            display:flex;
            flex-direction:column;
            gap:10px;
            margin-top:14px;
            border:1px solid #2e3648;
            border-radius:16px;
            background:#171d28;
            padding:14px;
        }
        .program-onboarding-max-head,
        .program-onboarding-max-row {
            display:grid;
            grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 0.8fr);
            gap:10px;
            align-items:center;
        }
        .program-onboarding-max-head {
            font-size:11px;
            text-transform:uppercase;
            letter-spacing:0.06em;
            color:#98a3bf;
        }
        .program-onboarding-max-row {
            padding-top:10px;
            border-top:1px solid #293040;
        }
        .program-onboarding-max-row:first-of-type {
            padding-top:0;
            border-top:none;
        }
        .program-onboarding-max-lift {
            font-size:13px;
            color:#f4f7ff;
            font-weight:700;
        }
        .program-onboarding-max-current {
            display:flex;
            align-items:center;
            gap:8px;
        }
        .program-onboarding-max-current input {
            margin:0;
        }
        .program-onboarding-max-current span,
        .program-onboarding-max-previous {
            font-size:12px;
            color:#b7c1d8;
        }
        .program-onboarding-link-btn {
            margin-top:10px;
            border:none;
            background:transparent;
            color:#9f8cff;
            text-align:center;
            font-size:12px;
            font-weight:700;
            padding:0;
        }
        .program-onboarding-footer {
            margin-top:auto;
            display:grid;
            grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr);
            gap:10px;
            padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 4px);
        }
        .program-onboarding-footer .action-btn,
        .program-onboarding-footer .main-btn {
            margin-top:0;
        }
        .program-onboarding-footer-spacer {
            display:block;
        }
        .program-cycle-complete-card {
            display:flex;
            flex-direction:column;
            gap:12px;
            border-color:#3b4260;
            background:linear-gradient(180deg, #151c2a 0%, #101620 100%);
        }
        .program-cycle-complete-card h3 {
            margin:0;
        }
        .program-cycle-complete-copy {
            line-height:1.5;
        }
        .program-cycle-complete-lift-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
        }
        .program-cycle-complete-lift {
            display:flex;
            flex-direction:column;
            gap:4px;
            padding:12px;
            border:1px solid #33425d;
            border-radius:14px;
            background:#141d2d;
        }
        .program-cycle-complete-lift span {
            font-size:11px;
            text-transform:uppercase;
            letter-spacing:0.05em;
            color:#9aa6c2;
        }
        .program-cycle-complete-lift strong {
            font-size:18px;
            color:#f5f7ff;
        }
        .program-cycle-complete-actions {
            display:grid;
            grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);
            gap:8px;
        }
        .program-cycle-complete-actions .action-btn,
        .program-cycle-complete-actions .main-btn {
            margin-top:0;
        }
        .settings-note { font-size:12px; color:var(--muted); margin:6px 0 0; }
        .admin-user-row {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:10px;
            border-top:1px solid #343434;
            padding:10px 0;
        }
        .admin-user-row:first-child { border-top:none; padding-top:2px; }
        .admin-user-meta strong { font-size:14px; color:#fff; }
        .admin-user-time { font-size:11px; color:var(--muted); margin-top:4px; }
        .program-pill {
            border:1px solid #3d3d3d;
            background:#252525;
            color:var(--secondary);
            border-radius:999px;
            padding:4px 9px;
            font-size:11px;
            font-weight:700;
        }
        .recovery-banner {
            border:1px solid #3b4d50;
            background:#162226;
            color:#b5dde3;
            font-size:13px;
            margin-bottom:10px;
        }
        .one-time-banner {
            border:1px solid #4a475f;
            background:#1e1a31;
            color:#d9d0ff;
            font-size:13px;
            margin-bottom:10px;
        }
        .history-rating { color:#d7e6ff; font-size:12px; margin-top:3px; }
        .modal {
            position:fixed;
            inset:0;
            background:rgba(0,0,0,0.72);
            display:flex;
            align-items:center;
            justify-content:center;
            padding:16px;
            z-index:500;
        }
        .modal-scroll-locked {
            overflow:hidden;
            overscroll-behavior:contain;
        }
        .modal-card {
            width:100%;
            max-width:420px;
            background:var(--card);
            border:1px solid #3a3a3a;
            border-radius:12px;
            padding:18px;
            box-shadow:0 8px 24px rgba(0,0,0,0.5);
        }
        .exercise-settings-modal-card {
            max-height:min(760px, calc(var(--app-visible-viewport-height) - 32px));
            overflow:auto;
            overscroll-behavior:contain;
        }
        body.app-input-keyboard-open #exercise-settings-modal {
            align-items:flex-start;
            padding-top:max(16px, calc(env(safe-area-inset-top, 0px) + 16px));
            padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 300px);
        }
        body.app-input-keyboard-open #exercise-settings-modal .exercise-settings-modal-card {
            margin:0 auto;
            max-height:min(760px, calc(var(--app-visible-viewport-height) - 324px));
        }
        .modal-card h3 { margin:0 0 8px; }
        .modal-card p { margin:0 0 12px; color:var(--muted); font-size:13px; }
        .workout-history-editor-card {
            max-width:640px;
            max-height:min(820px, calc(var(--app-visible-viewport-height) - 32px));
            overflow:auto;
            overscroll-behavior:contain;
        }
        .workout-history-editor-toolbar {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            margin:10px 0 14px;
            padding:10px 12px;
            border:1px solid #2e3647;
            border-radius:12px;
            background:#141b27;
        }
        .workout-history-editor-toolbar-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            gap:3px;
            text-align:center;
            flex:1 1 auto;
        }
        .workout-history-editor-toolbar-copy strong {
            font-size:13px;
            color:#f3f6ff;
        }
        .workout-history-editor-toolbar-copy span {
            font-size:11px;
            color:#95a4c3;
            line-height:1.35;
        }
        .workout-history-editor-nav-btn {
            margin-top:0;
            min-width:84px;
        }
        .workout-history-editor-entry-list {
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .workout-history-editor-entry {
            border:1px solid #2f3748;
            border-radius:14px;
            background:#121823;
            padding:12px;
        }
        .workout-history-editor-entry-top {
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:10px;
            margin-bottom:10px;
        }
        .workout-history-editor-entry-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            gap:4px;
        }
        .workout-history-editor-entry-copy strong {
            font-size:14px;
            color:#f5f8ff;
        }
        .workout-history-editor-entry-copy span {
            font-size:11px;
            color:#8fa0c2;
            line-height:1.35;
        }
        .workout-history-editor-entry-volume {
            flex:0 0 auto;
            font-size:12px;
            font-weight:700;
            color:#dce5ff;
            white-space:nowrap;
        }
        .workout-history-editor-set-list {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .history-editor-set-row {
            display:grid;
            grid-template-columns:60px minmax(0, 1fr) minmax(92px, 0.9fr) minmax(84px, 0.7fr) auto;
            gap:8px;
            align-items:end;
            padding:10px;
            border:1px solid #273043;
            border-radius:12px;
            background:#171f2c;
        }
        .history-editor-set-number {
            font-size:12px;
            font-weight:700;
            color:#eef3ff;
        }
        .history-editor-set-target {
            font-size:12px;
            color:#9eb0d3;
            line-height:1.35;
        }
        .history-editor-field {
            display:flex;
            flex-direction:column;
            gap:4px;
            margin:0;
        }
        .history-editor-field span {
            font-size:10px;
            font-weight:700;
            letter-spacing:0.05em;
            text-transform:uppercase;
            color:#8b9bbd;
        }
        .history-editor-field input,
        .workout-history-editor-note-group textarea {
            width:100%;
        }
        .history-editor-check {
            align-self:center;
            margin:0;
            white-space:nowrap;
        }
        .workout-history-editor-note-group {
            margin-top:10px;
        }
        .workout-history-editor-note-group textarea {
            resize:vertical;
            min-height:78px;
        }
        .effort-choice-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
            margin-top:6px;
        }
        .effort-choice {
            margin-top:0;
            width:100%;
            min-height:132px;
            display:flex;
            flex-direction:column;
            align-items:flex-start;
            justify-content:flex-start;
            text-align:left;
            padding:12px;
            border-radius:12px;
            line-height:1.35;
        }
        .effort-choice-title {
            font-size:15px;
            font-weight:800;
            margin-bottom:6px;
        }
        .effort-choice-desc {
            font-size:12px;
            color:#d2d7ea;
            font-weight:500;
        }
        .recovery-actions { display:flex; gap:8px; flex-wrap:wrap; }
        .recovery-actions .action-btn { flex:1 1 0; min-width:180px; }
        .effort-deload { border-color:#7e3948; background:#3f232d; }
        .effort-repeat { border-color:#3a455c; background:#232b3b; }
        .effort-good-btn { margin-top:10px; }
        .dialog-message { white-space:pre-line; line-height:1.45; color:#d9ddf0; }
        .dialog-input-wrap label { margin-bottom:6px; display:block; }
        .app-dialog-with-keypad {
            align-items:center;
            justify-content:center;
            padding-top:max(20px, calc(env(safe-area-inset-top, 0px) + 20px));
            padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 362px);
        }
        .app-dialog-top-aligned {
            align-items:flex-start;
            padding-top:max(24px, calc(env(safe-area-inset-top, 0px) + 24px));
        }
        .app-dialog-raised {
            align-items:flex-start;
            padding-top:max(132px, calc(env(safe-area-inset-top, 0px) + 22vh));
        }
        .app-dialog-with-keypad .modal-card {
            margin:0 auto;
        }
        .dialog-keypad-display-wrap { margin-top:10px; }
        .dialog-keypad-display {
            min-height:52px;
            padding:0 14px;
            border:1px solid #424b60;
            border-radius:12px;
            background:#0f1520;
            display:flex;
            align-items:center;
            justify-content:flex-end;
            font-size:24px;
            font-weight:800;
            color:#f4f7ff;
            letter-spacing:0.03em;
            overflow-x:auto;
            white-space:nowrap;
            scrollbar-width:none;
        }
        .dialog-keypad-display::-webkit-scrollbar { display:none; }
        .dialog-keypad-display.is-text {
            justify-content:flex-start;
            letter-spacing:0.02em;
            font-size:21px;
        }
        .dialog-keypad-display.is-password {
            letter-spacing:0.14em;
        }
        .dialog-keypad-display.is-empty {
            color:#7f8aa3;
        }
        .dialog-keypad-wrap {
            position:absolute;
            left:0;
            right:0;
            bottom:0;
            padding:10px 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
            background:linear-gradient(180deg, rgba(10, 13, 20, 0) 0%, rgba(10, 13, 20, 0.92) 18%, rgba(10, 13, 20, 0.98) 100%);
            pointer-events:none;
        }
        .dialog-keypad-sheet {
            width:100%;
            pointer-events:auto;
            border-top:1px solid #39455d;
            background:rgba(16, 21, 31, 0.98);
            box-shadow:0 -16px 34px rgba(0, 0, 0, 0.45);
            border-radius:18px 18px 0 0;
            padding:8px 8px 10px;
            backdrop-filter:blur(16px);
        }
        .dialog-keyboard-rows {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .dialog-keyboard-row {
            display:flex;
            align-items:center;
            justify-content:center;
            gap:6px;
        }
        .dialog-keypad-btn {
            flex:1 1 0;
            min-width:0;
            margin-top:0;
            min-height:54px;
            padding:0 6px;
            border-radius:20px;
            font-size:19px;
            font-weight:700;
            background:#262b34;
            border-color:#323a49;
            color:#f4f7ff;
            box-shadow:none;
            position:relative;
            overflow:visible;
            transition:background-color 120ms ease, border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
            -webkit-tap-highlight-color:transparent;
            touch-action:manipulation;
        }
        .dialog-keypad-wrap .dialog-keypad-btn::after {
            content:attr(data-key-preview);
            position:absolute;
            left:50%;
            bottom:calc(100% - 4px);
            min-width:38px;
            height:42px;
            padding:0 12px;
            border-radius:13px 13px 11px 11px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:#4d556a;
            border:1px solid #6b7490;
            box-shadow:0 12px 24px rgba(0, 0, 0, 0.28);
            color:#f7f9ff;
            font-size:22px;
            font-weight:700;
            opacity:0;
            transform:translate(-50%, 8px) scale(0.86);
            transform-origin:50% 100%;
            pointer-events:none;
            transition:opacity 110ms ease, transform 110ms ease;
            z-index:2;
        }
        .dialog-keypad-wrap .dialog-keypad-btn:hover,
        .dialog-keypad-wrap .dialog-keypad-btn:focus-visible {
            background:#343b49;
            border-color:#495264;
        }
        .dialog-keypad-wrap .dialog-keypad-btn:active,
        .dialog-keypad-wrap .dialog-keypad-btn.is-pressed {
            background:#3c4455;
            border-color:#64708a;
            transform:translateY(1px);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }
        .dialog-keypad-wrap .dialog-keypad-btn-previewable:active::after,
        .dialog-keypad-wrap .dialog-keypad-btn-previewable.is-pressed::after {
            opacity:1;
            transform:translate(-50%, 0) scale(1);
        }
        .dialog-keypad-btn-alt {
            background:#3b4660;
            color:#d9e4ff;
            font-size:17px;
        }
        .dialog-keypad-wrap .dialog-keypad-btn-icon {
            font-size:24px;
            line-height:1;
        }
        .dialog-keypad-btn-enter {
            background:#4a5673;
            font-size:22px;
        }
        .app-input-keyboard {
            position:fixed;
            left:0;
            right:0;
            bottom:0;
            z-index:650;
            padding:10px 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
            background:linear-gradient(180deg, rgba(10, 13, 20, 0) 0%, rgba(10, 13, 20, 0.92) 18%, rgba(10, 13, 20, 0.98) 100%);
        }
        .app-input-keyboard-sheet {
            width:min(100%, 760px);
            margin:0 auto;
            border-top:1px solid #39455d;
            background:rgba(16, 21, 31, 0.98);
            box-shadow:0 -16px 34px rgba(0, 0, 0, 0.45);
            border-radius:18px 18px 0 0;
            padding:8px 8px 10px;
            backdrop-filter:blur(16px);
        }
        .app-input-keyboard .dialog-keyboard-rows {
            gap:6px;
        }
        .app-input-keyboard .dialog-keyboard-row {
            gap:4px;
        }
        .app-input-keyboard .dialog-keypad-btn {
            position:relative;
            overflow:visible;
            transition:background-color 120ms ease, border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
            -webkit-tap-highlight-color:transparent;
            touch-action:manipulation;
        }
        .app-input-keyboard .dialog-keypad-btn::after {
            content:attr(data-key-preview);
            position:absolute;
            left:50%;
            bottom:calc(100% - 2px);
            min-width:34px;
            height:38px;
            padding:0 10px;
            border-radius:12px 12px 10px 10px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:#4d556a;
            border:1px solid #6b7490;
            box-shadow:0 12px 24px rgba(0, 0, 0, 0.28);
            color:#f7f9ff;
            font-size:21px;
            font-weight:700;
            opacity:0;
            transform:translate(-50%, 8px) scale(0.86);
            transform-origin:50% 100%;
            pointer-events:none;
            transition:opacity 110ms ease, transform 110ms ease;
            z-index:2;
        }
        .app-input-keyboard .dialog-keypad-btn:hover,
        .app-input-keyboard .dialog-keypad-btn:focus-visible {
            background:#343b49;
            border-color:#495264;
        }
        .app-input-keyboard .dialog-keypad-btn:active,
        .app-input-keyboard .dialog-keypad-btn.is-pressed {
            background:#3c4455;
            border-color:#64708a;
            transform:translateY(1px);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }
        .app-input-keyboard .dialog-keypad-btn-previewable:active::after,
        .app-input-keyboard .dialog-keypad-btn-previewable.is-pressed::after {
            opacity:1;
            transform:translate(-50%, 0) scale(1);
        }
        .app-input-keyboard .dialog-keypad-btn-wide {
            flex:1.3 1 0;
        }
        .app-input-keyboard .dialog-keypad-btn-space {
            flex:3.8 1 0;
        }
        .app-input-keyboard .dialog-keypad-btn-compact {
            flex:0.78 1 0;
        }
        .app-input-keyboard .dialog-keypad-btn-icon {
            font-size:24px;
            line-height:1;
        }
        .app-input-keyboard .dialog-keypad-btn-shift {
            font-size:32px;
            line-height:1;
            font-weight:800;
        }
        .app-input-keyboard .dialog-keypad-btn-active {
            background:#667191;
            border-color:#7986aa;
        }
        .app-input-keyboard .dialog-keypad-btn-disabled {
            opacity:0.42;
            cursor:default;
            pointer-events:none;
        }
        .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn {
            min-height:56px;
            padding:0 4px;
            border-radius:10px;
            font-size:18px;
            font-weight:650;
            background:#2a303c;
            border-color:#353d4c;
        }
        .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-alt {
            background:#434b60;
            color:#dfe7fb;
            font-size:16px;
        }
        .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-enter {
            background:#55607a;
            font-size:25px;
        }
        .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn {
            min-height:54px;
            border-radius:20px;
        }
        .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn-alt {
            font-size:17px;
        }
        .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn-enter {
            font-size:22px;
        }
        .dialog-actions { display:flex; gap:8px; }
        .dialog-actions .main-btn,
        .dialog-actions .action-btn { margin-top:0; width:auto; flex:1; font-size:14px; padding:10px; }
        .check-row { display:flex; align-items:center; gap:8px; font-size:13px; color:#d5d8e4; }
        .check-row input[type="checkbox"] { width:16px; height:16px; accent-color:var(--primary); }
        .plate-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
            margin-top:6px;
        }
        .plate-option {
            display:flex;
            align-items:center;
            gap:8px;
            background:#202633;
            border:1px solid #343d52;
            border-radius:8px;
            padding:8px;
            font-size:13px;
            color:#e8ebfb;
        }
        .plate-option input[type="checkbox"] {
            width:16px;
            height:16px;
            accent-color:var(--primary);
            flex:0 0 auto;
        }
        .plate-custom-row {
            display:grid;
            grid-template-columns:minmax(0, 1fr) auto;
            gap:8px;
            align-items:center;
            margin-top:8px;
        }
        .custom-plate-list { margin-top:8px; display:flex; flex-direction:column; gap:6px; }
        .custom-plate-item {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:8px;
            background:#1d2331;
            border:1px solid #323a4f;
            border-radius:8px;
            padding:7px 8px;
            font-size:13px;
        }
        .custom-plate-item-actions { display:flex; gap:6px; }
        .custom-exercise-row {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:8px;
            border-top:1px solid #343844;
            padding:7px 0;
            font-size:13px;
            color:#d8deee;
        }
        .custom-exercise-row span { display:flex; flex-direction:column; gap:3px; }
        .custom-exercise-meta {
            font-size:11px;
            color:var(--muted);
            text-transform:uppercase;
            letter-spacing:0.04em;
        }
        .custom-exercise-row:first-child { border-top:none; padding-top:2px; }
        .custom-exercise-remove-btn {
            min-width:28px;
            width:28px;
            height:28px;
            padding:0;
            margin-top:0;
            line-height:1;
            border-radius:7px;
            font-size:14px;
        }
        .routine-lift-card {
            background:#202633;
            border:1px solid #343d52;
            padding:12px;
            border-radius:10px;
            margin-top:10px;
        }
        .routine-lift-head {
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:8px;
            margin-bottom:8px;
        }
        .routine-lift-title { font-size:12px; color:#e3e7fb; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; }
        .routine-remove-btn {
            padding:5px 9px;
            min-width:84px;
            font-size:12px;
        }
        @media (max-width: 720px) {
            .program-settings-card {
                padding:16px;
            }
            .program-settings-top-grid,
            .program-schedule-footer,
            .program-cycle-complete-actions {
                grid-template-columns:1fr;
            }
            .program-settings-section-head {
                flex-direction:column;
                align-items:flex-start;
            }
            .program-settings-section-head-inline {
                flex-direction:row;
                align-items:center;
                flex-wrap:wrap;
            }
            .program-settings-inline-btn {
                min-width:0;
            }
            .program-settings-profile-top,
            .program-settings-profile-grid {
                grid-template-columns:1fr;
            }
            .program-settings-panel-summary {
                padding:15px 16px;
            }
            .program-settings-panel-body {
                padding:0 16px 16px;
            }
            .program-settings-profile-status {
                min-height:0;
            }
            .program-settings-day-toolbar {
                flex-direction:column;
            }
            .program-settings-day-add-btn {
                width:100%;
            }
            .program-onboarding-topbar {
                flex-direction:column;
            }
            .program-cycle-complete-lift-grid {
                grid-template-columns:1fr;
            }
        }
        .workout-tools { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
        .workout-tools .main-btn,
        .workout-tools .action-btn { margin-top:0; flex:1; min-width:0; font-size:14px; padding:11px 10px; }
        .workout-timer-control {
            flex:1 1 100%;
            display:flex;
            flex-direction:column;
            gap:6px;
            padding-top:2px;
        }
        .workout-timer-control label {
            font-size:12px;
            color:var(--muted);
            font-weight:600;
        }
        .workout-timer-control input[type="range"] {
            width:100%;
        }
        .workout-timer-control.compact input[type="range"] {
            width:92%;
            margin:0 auto;
        }
        .workout-rest-presets {
            display:grid;
            grid-template-columns:repeat(4, minmax(0, 1fr));
            gap:8px;
            margin:4px 0 10px;
        }
        .workout-rest-preset-btn {
            margin-top:0;
            padding:8px 0;
            font-size:13px;
            font-weight:700;
        }
        .workout-rest-time-grid {
            display:flex;
            align-items:flex-start;
            justify-content:center;
            gap:10px;
            margin-top:4px;
        }
        .workout-rest-time-grid .form-group {
            margin-bottom:0;
            flex:0 0 78px;
        }
        .workout-rest-time-grid .form-group label {
            text-align:center;
        }
        .workout-rest-time-grid input[type="number"] {
            height:34px;
            font-size:14px;
            text-align:center;
            padding:6px 4px;
        }
        .exercise-actions {
            display:flex;
            flex-direction:column;
            align-items:flex-start;
            gap:6px;
            width:100%;
        }
        .exercise-action-btn {
            margin-top:0;
            padding:7px 10px;
            font-size:12px;
            min-width:84px;
        }
        .workout-add-exercise-btn {
            width:100%;
            margin-top:8px;
            margin-bottom:116px;
        }
        .bodyweight-entry-row {
            display:grid;
            grid-template-columns:minmax(0, 1fr) 92px 92px;
            gap:8px;
            align-items:center;
        }
        .bodyweight-history-list {
            margin-top:10px;
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .bodyweight-history-shell {
            position:relative;
            border-radius:8px;
            overflow:hidden;
        }
        .bodyweight-history-row {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:10px;
            padding:8px 10px;
            border:1px solid #303745;
            border-radius:8px;
            background:#161b26;
            position:relative;
            z-index:1;
            transition:transform 0.18s ease;
            touch-action:pan-y;
        }
        .bodyweight-history-row.current {
            border-color:#4d5b7c;
            background:#1b2231;
        }
        .bodyweight-history-shell.swiped .bodyweight-history-row { transform:translateX(-86px); }
        .bodyweight-swipe-remove-btn {
            position:absolute;
            top:0;
            right:0;
            bottom:0;
            width:86px;
            border:none;
            border-radius:0 8px 8px 0;
            background:var(--danger);
            color:#fff;
            font-size:12px;
            font-weight:700;
            z-index:0;
        }
        .exercise-settings-chip {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:36px;
            padding:0 12px;
            border:1px solid #394055;
            border-radius:999px;
            background:#202532;
            color:#e7ebfb;
            font-weight:700;
        }
        .exercise-machine-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
        }
        .exercise-alt-add-row {
            display:block;
        }
        .exercise-alt-custom-btn {
            width:100%;
            margin-top:8px;
        }
        .exercise-alt-list {
            margin-top:8px;
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .exercise-alt-row {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:8px;
            padding:8px 10px;
            border:1px solid #31394a;
            border-radius:8px;
            background:#171c28;
            color:#dbe2f5;
            font-size:13px;
        }
        .exercise-alt-row-actions {
            display:flex;
            align-items:center;
            gap:6px;
            flex:0 0 auto;
        }
        .exercise-alt-settings-btn {
            width:30px;
            height:30px;
        }
        #workout-bottom-bar-host {
            position:fixed;
            left:0;
            right:0;
            bottom:56px;
            z-index:26;
            pointer-events:none;
            padding:0 10px calc(env(safe-area-inset-bottom, 0px) + 6px);
        }
        .workout-bottom-overlay {
            max-width:680px;
            margin:0 auto;
            pointer-events:auto;
        }
        .workout-bottom-bar {
            display:grid;
            grid-template-columns:minmax(0, 1.12fr) 44px minmax(0, 1.5fr) minmax(0, 0.95fr);
            gap:7px;
            align-items:center;
            background:rgba(15, 18, 27, 0.96);
            border:1px solid #2f3750;
            border-radius:12px;
            padding:8px;
            box-shadow:0 12px 26px rgba(0,0,0,0.45);
            backdrop-filter:blur(8px);
        }
        .workout-bottom-prev-btn { white-space:nowrap; }
        .workout-bottom-btn,
        .workout-bottom-finish-btn {
            margin-top:0;
            width:100%;
            min-height:34px;
            padding:8px 8px;
            font-size:12px;
        }
        .workout-bottom-icon-btn {
            padding:0;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        .workout-bottom-icon-btn img {
            width:18px;
            height:18px;
            display:block;
            object-fit:contain;
        }
        .workout-bottom-icon-btn.active {
            border-color:#6d7fb1;
            background:#34405b;
        }
        .workout-bottom-finish-btn {
            font-size:13px;
            font-weight:800;
        }
        .workout-bottom-bar-history-edit {
            grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto minmax(0, 0.95fr);
        }
        .workout-bottom-history-nav-btn {
            white-space:nowrap;
        }
        .workout-bottom-history-toggle-btn {
            width:auto;
            min-width:90px;
            padding:8px 10px;
            font-size:11px;
            white-space:nowrap;
        }
        .workout-bottom-rest-wrap {
            display:flex;
            align-items:stretch;
            min-width:0;
            background:#2d313d;
            border:1px solid #3d4252;
            border-radius:9px;
            overflow:hidden;
        }
        #workout-bottom-rest-display,
        #workout-bottom-rest-start {
            border:0;
            background:transparent;
        }
        #workout-bottom-rest-display {
            display:flex;
            align-items:center;
            justify-content:center;
            gap:6px;
            min-width:0;
            flex:1 1 auto;
            font-weight:700;
            letter-spacing:0.02em;
        }
        #workout-bottom-rest-display img {
            width:16px;
            height:16px;
            display:block;
            object-fit:contain;
        }
        .workout-bottom-rest-display-text {
            overflow:hidden;
            text-overflow:ellipsis;
            white-space:nowrap;
        }
        #workout-bottom-rest-start {
            width:44px;
            min-width:44px;
            padding:0;
            border-left:1px solid #3d4252;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        #workout-bottom-rest-start img {
            width:16px;
            height:16px;
            display:block;
            object-fit:contain;
        }
        #workout-bottom-rest-start:disabled {
            opacity:0.45;
        }
        .workout-quick-plate-panel {
            margin-bottom:8px;
            background:rgba(18, 22, 34, 0.98);
            border:1px solid #32405f;
            border-radius:12px;
            padding:10px;
            box-shadow:0 10px 24px rgba(0,0,0,0.45);
        }
        .workout-quick-plate-header {
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:8px;
            margin-bottom:8px;
            font-size:12px;
        }
        .workout-quick-plate-header span {
            font-weight:800;
            font-size:14px;
            color:#f0f4ff;
        }
        .quick-plate-chip-row {
            display:flex;
            flex-wrap:wrap;
            gap:6px;
            justify-content:center;
            margin-bottom:8px;
        }
        .quick-plate-chip {
            margin-top:0;
            padding:6px 8px;
            font-size:11px;
            border-radius:999px;
        }
        .quick-plate-chip.active {
            border-color:#6c7fb6;
            background:#2c3650;
            color:#f5f8ff;
        }
        .quick-plate-grid {
            display:grid;
            grid-template-columns:repeat(4, minmax(0, 1fr));
            gap:6px;
            margin-bottom:8px;
        }
        .quick-plate-goal-row {
            display:grid;
            grid-template-columns:auto minmax(0, 1fr) auto;
            gap:6px;
            align-items:center;
            margin-bottom:8px;
        }
        .quick-plate-goal-row label {
            font-size:11px;
            font-weight:700;
            letter-spacing:0.04em;
            text-transform:uppercase;
            color:var(--muted);
        }
        .quick-plate-goal-row input {
            margin:0;
            min-height:32px;
            padding:6px 8px;
            font-size:13px;
            border-radius:8px;
        }
        .quick-plate-goal-row span {
            font-size:11px;
            color:var(--muted);
            min-width:24px;
            text-align:right;
        }
        .quick-plate-btn {
            margin-top:0;
            border:none;
            border-radius:999px;
            min-height:34px;
            font-weight:800;
            font-size:12px;
            color:#0a0d14;
            background:#b0b7cc;
        }
        .plate-c-red { background:#d64545; color:#fff; }
        .plate-c-blue { background:#2f6ed9; color:#fff; }
        .plate-c-yellow { background:#e6cd40; color:#1c1a0f; }
        .plate-c-green { background:#2f9f57; color:#fff; }
        .plate-c-dark-green { background:#1f6d3d; color:#fff; }
        .plate-c-light-orange { background:#ffd3a1; color:#4e2500; }
        .plate-c-light-purple { background:#d7c3ff; color:#2d1f52; }
        .plate-c-white { background:#f2f2f2; color:#171717; border:1px solid #d5d5d5; }
        .plate-c-neutral { background:#9aa3bd; color:#101522; }
        .quick-plate-plan-block {
            border:1px solid #334360;
            background:#0f1624;
            border-radius:10px;
            padding:8px;
            margin-bottom:8px;
        }
        .quick-plate-plan-note {
            margin:0 0 6px;
            font-size:11px;
            color:#dce6ff;
            line-height:1.35;
        }
        .quick-plate-plan-scroll {
            width:100%;
            overflow-x:auto;
            overflow-y:hidden;
            border-radius:8px;
            -webkit-overflow-scrolling:touch;
        }
        .quick-plate-plan-scroll::-webkit-scrollbar {
            height:6px;
        }
        .quick-plate-plan-scroll::-webkit-scrollbar-thumb {
            background:#4b5877;
            border-radius:999px;
        }
        .quick-plate-plan-svg {
            width:auto;
            min-width:100%;
            height:132px;
            display:block;
            border-radius:8px;
            background:linear-gradient(180deg, rgba(26, 34, 52, 0.95), rgba(20, 28, 43, 0.95));
            border:1px solid rgba(101, 118, 153, 0.35);
        }
        .quick-plate-plan-legend {
            display:flex;
            flex-wrap:wrap;
            gap:6px;
            margin-top:6px;
        }
        .quick-plate-plan-chip {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:999px;
            font-size:10px;
            font-weight:700;
            line-height:1;
            padding:4px 8px;
            background:#27324c;
            color:#edf2ff;
            border:1px solid #415173;
        }
        .quick-plate-actions {
            display:flex;
            gap:6px;
        }
        .quick-plate-actions .action-btn {
            margin-top:0;
            flex:1;
            font-size:12px;
            padding:8px;
        }
        .timer-display {
            font-size:42px;
            font-weight:800;
            letter-spacing:1px;
            text-align:center;
            color:#fff;
            margin:4px 0 8px;
        }
        .timer-modal-actions { display:flex; gap:8px; }
        .timer-modal-actions .main-btn,
        .timer-modal-actions .action-btn { margin-top:0; width:auto; flex:1; font-size:14px; padding:10px; }
        .workout-complete-meta,
        .workout-complete-progress {
            margin:0 0 10px;
            white-space:pre-wrap;
            color:var(--muted);
            font-size:13px;
            line-height:1.35;
        }
        .workout-complete-summary {
            margin:0 0 10px;
            border:1px solid #35405a;
            border-radius:8px;
            background:#121a2a;
            color:#edf2ff;
            padding:10px;
            max-height:220px;
            overflow:auto;
            font-family:inherit;
            font-size:13px;
            line-height:1.35;
            white-space:pre-wrap;
        }
        .tracker-stack {
            display:flex;
            flex-direction:column;
            gap:16px;
        }
        .tracker-summary-card h2,
        .tracker-summary-card h3,
        .tracker-stack .card h3 {
            margin-bottom:4px;
        }
        .tracker-section-head {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            margin-bottom:12px;
        }
        .tracker-summary-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:12px;
        }
        .tracker-stat {
            display:flex;
            flex-direction:column;
            gap:6px;
            min-height:106px;
            padding:14px;
            border:1px solid #34405a;
            border-radius:16px;
            background:linear-gradient(180deg, #141c2a 0%, #0f1622 100%);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.03);
        }
        .tracker-stat-title {
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9ca7c5;
        }
        .tracker-stat-value {
            font-size:clamp(18px, 3vw, 24px);
            color:#f4f7ff;
            line-height:1.18;
            overflow-wrap:anywhere;
        }
        .tracker-stat-meta {
            font-size:12px;
            color:#b8c0d4;
            line-height:1.35;
        }
        .tracker-summary-head-metrics {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            justify-content:flex-end;
        }
        .tracker-summary-head-metric {
            display:flex;
            align-items:center;
            gap:8px;
            padding:8px 12px;
            border:1px solid #34405a;
            border-radius:999px;
            background:linear-gradient(180deg, #141c2a 0%, #0f1622 100%);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.03);
            white-space:nowrap;
        }
        .tracker-summary-head-metric.muted {
            border-color:#3c465f;
            background:linear-gradient(180deg, #101620 0%, #0d131d 100%);
        }
        .tracker-summary-head-label {
            font-size:10px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9ca7c5;
        }
        .tracker-summary-head-value {
            font-size:13px;
            color:#f4f7ff;
            line-height:1.2;
        }
        .tracker-form-group-wide {
            grid-column:1 / -1;
        }
        .tracker-date-control {
            display:flex;
            gap:10px;
            align-items:stretch;
        }
        .app-date-input,
        .tracker-date-input {
            flex:1 1 auto;
            width:100%;
            min-width:0;
            min-height:54px;
            padding:0 16px;
            border-radius:16px;
            border:1px solid #3b4d69;
            background:linear-gradient(180deg, rgba(20, 29, 43, 0.98) 0%, rgba(11, 17, 26, 0.98) 100%);
            color:#f6f8ff;
            font-size:15px;
            font-weight:800;
            letter-spacing:0.015em;
            text-align:center;
            font-variant-numeric:tabular-nums;
            color-scheme:dark;
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 22px rgba(2, 7, 16, 0.18);
            transition:border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
        }
        .app-date-input:hover,
        .tracker-date-input:hover {
            border-color:#4e678c;
            background:linear-gradient(180deg, rgba(23, 34, 50, 0.99) 0%, rgba(13, 20, 30, 0.99) 100%);
        }
        .app-date-input:focus,
        .app-date-input:focus-visible,
        .tracker-date-input:focus,
        .tracker-date-input:focus-visible {
            outline:none;
            border-color:#74a2ff;
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 3px rgba(116, 162, 255, 0.18), 0 12px 24px rgba(2, 7, 16, 0.24);
        }
        .app-date-input::-webkit-datetime-edit,
        .tracker-date-input::-webkit-datetime-edit {
            padding:0;
            color:inherit;
        }
        .app-date-input::-webkit-datetime-edit-fields-wrapper,
        .tracker-date-input::-webkit-datetime-edit-fields-wrapper {
            display:flex;
            align-items:center;
            justify-content:center;
            width:100%;
        }
        .app-date-input::-webkit-date-and-time-value,
        .tracker-date-input::-webkit-date-and-time-value {
            min-height:1.2em;
            text-align:center;
        }
        .app-date-input::-webkit-datetime-edit-text,
        .tracker-date-input::-webkit-datetime-edit-text {
            padding:0 2px;
        }
        .app-date-input::-webkit-calendar-picker-indicator,
        .tracker-date-input::-webkit-calendar-picker-indicator {
            cursor:pointer;
            opacity:0.92;
            filter:invert(1) brightness(1.08);
        }
        .tracker-date-shift {
            display:grid;
            grid-template-rows:repeat(2, minmax(0, 1fr));
            gap:8px;
            min-width:74px;
        }
        .tracker-date-shift-btn {
            min-height:22px;
            margin-top:0;
            padding:8px 10px;
            border-radius:12px;
            font-size:12px;
            font-weight:800;
            letter-spacing:0.04em;
        }
        .tracker-plan-actions,
        .tracker-history-toggle {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .tracker-history-content {
            margin-top:10px;
        }
        .tracker-history-toggle .action-btn.active {
            background:#39425f;
            border-color:#69769b;
            color:#fff;
        }
        .tracker-range-label,
        .tracker-weekly-note {
            margin-bottom:10px;
            font-size:12px;
            color:#b7c0d9;
            text-align:center;
        }
        .tracker-setup-banner,
        .tracker-settings-hint {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            margin-bottom:10px;
            padding:12px 14px;
            border:1px solid #44526e;
            border-radius:12px;
            background:linear-gradient(180deg, rgba(34, 44, 63, 0.9) 0%, rgba(22, 30, 43, 0.95) 100%);
        }
        .tracker-setup-banner strong {
            display:block;
            margin-bottom:4px;
            color:#f5f7ff;
            font-size:13px;
            letter-spacing:0.04em;
            text-transform:uppercase;
        }
        .tracker-setup-banner p,
        .tracker-settings-hint {
            margin:0;
            color:#c8d2eb;
            font-size:13px;
            line-height:1.45;
        }
        .tracker-setup-banner .action-btn {
            margin-top:0;
            min-width:118px;
            flex:0 0 auto;
        }
        .tracker-planner-scroll {
            display:flex;
            gap:10px;
            overflow-x:auto;
            padding-bottom:4px;
            scroll-snap-type:x proximity;
            -webkit-overflow-scrolling:touch;
            overscroll-behavior-x:contain;
            touch-action:pan-x pan-y;
            scrollbar-width:none;
        }
        .tracker-planner-scroll.desktop-draggable { cursor:grab; }
        .tracker-planner-scroll.desktop-dragging {
            cursor:grabbing;
            user-select:none;
            scroll-snap-type:none;
        }
        .tracker-planner-scroll.desktop-dragging .tracker-plan-card { cursor:grabbing; }
        .tracker-planner-scroll::-webkit-scrollbar {
            display:none;
        }
        .tracker-plan-card {
            flex:0 0 148px;
            display:flex;
            flex-direction:column;
            align-items:stretch;
            gap:10px;
            min-height:172px;
            padding:12px;
            border:1px solid #31384a;
            border-radius:14px;
            background:#121824;
            color:#fff;
            text-align:left;
            scroll-snap-align:start;
        }
        .tracker-plan-card.actual { background:#131b27; }
        .tracker-plan-card.planned { background:#161b2d; }
        .tracker-plan-card.suggested { background:#101721; }
        .tracker-plan-card.today {
            border-color:#7f68ff;
            box-shadow:0 0 0 1px rgba(127, 104, 255, 0.24);
        }
        .tracker-plan-head {
            display:flex;
            flex-direction:column;
            align-items:flex-end;
            text-align:right;
            gap:2px;
        }
        .tracker-plan-day {
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#c5cee7;
        }
        .tracker-plan-date {
            font-size:12px;
            color:#aeb8d2;
            line-height:1.35;
        }
        .tracker-plan-body {
            flex:1 1 auto;
            display:flex;
            align-items:center;
            justify-content:center;
            text-align:center;
        }
        .tracker-plan-calories {
            width:100%;
            font-size:30px;
            line-height:1.05;
            color:#f7f9ff;
            text-align:center;
        }
        .tracker-plan-calories.under,
        .tracker-plan-calories.ok,
        .tracker-plan-calories.ok-high { color:var(--compare-up); }
        .tracker-plan-calories.warn { color:var(--compare-down); }
        .tracker-plan-calories.over { color:var(--danger); }
        .tracker-plan-calories.neutral { color:#f7f9ff; }
        .tracker-plan-metrics {
            display:grid;
            gap:6px;
        }
        .tracker-plan-metric {
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:10px;
            padding-top:6px;
            border-top:1px solid rgba(160, 176, 210, 0.15);
        }
        .tracker-plan-metric-label {
            font-size:11px;
            color:#aeb8d2;
            text-transform:uppercase;
            letter-spacing:0.05em;
        }
        .tracker-plan-metric-value {
            font-size:12px;
            font-weight:800;
            color:#eef2ff;
        }
        .tracker-main-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:16px;
        }
        .tracker-form-grid,
        .tracker-settings-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
        }
        .tracker-settings-wide {
            grid-column:1 / -1;
        }
        .tracker-log-metric-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px 10px;
            margin-top:2px;
            margin-bottom:14px;
        }
        .tracker-log-metric-grid input {
            width:100%;
        }
        .tracker-log-metric-label {
            font-size:12px;
            font-weight:800;
            letter-spacing:0.04em;
            text-transform:uppercase;
            color:#cbd4ec;
        }
        .tracker-settings-card {
            border-color:#2e3749;
        }
        .tracker-settings-card.collapsed {
            background:linear-gradient(180deg, #111823 0%, #0d131c 100%);
        }
        .tracker-settings-body {
            display:flex;
            flex-direction:column;
            gap:10px;
        }
        .tracker-settings-form {
            display:flex;
            flex-direction:column;
            gap:10px;
            margin-top:10px;
        }
        .tracker-settings-row {
            display:grid;
            gap:10px;
        }
        .tracker-settings-row-two {
            grid-template-columns:repeat(2, minmax(0, 1fr));
        }
        .tracker-settings-row-three {
            grid-template-columns:repeat(3, minmax(0, 1fr));
        }
        .tracker-settings-row-single {
            grid-template-columns:minmax(0, 1fr);
        }
        .tracker-settings-row-primary {
            grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
        }
        .tracker-settings-unit-group {
            max-width:100%;
        }
        .tracker-settings-field-head {
            display:flex;
            align-items:center;
            justify-content:flex-start;
            gap:8px;
            min-height:30px;
        }
        .tracker-settings-label-with-tip {
            display:flex;
            align-items:center;
            margin:0;
            flex:0 1 auto;
        }
        .tracker-settings-label-text {
            display:block;
            min-width:0;
            line-height:1.25;
        }
        .tracker-settings-tip-btn {
            width:18px;
            min-width:18px;
            height:18px;
            margin-top:0;
            padding:0;
            border-radius:999px;
            border:1px solid #5c6f97;
            background:rgba(41, 53, 79, 0.9);
            color:#eef3ff;
            font-size:11px;
            font-weight:800;
            line-height:1;
            position:relative;
            top:-2px;
        }
        .tracker-settings-tooltip {
            position:fixed;
            top:calc(env(safe-area-inset-top, 0px) + 14px);
            left:50%;
            transform:translate(-50%, -12px);
            width:min(calc(100vw - 28px), 420px);
            padding:12px 14px;
            border-radius:14px;
            border:1px solid #4a5b80;
            background:rgba(14, 20, 31, 0.96);
            box-shadow:0 14px 30px rgba(0, 0, 0, 0.28);
            color:#f3f6ff;
            font-size:13px;
            line-height:1.45;
            z-index:80;
            opacity:0;
            pointer-events:none;
            transition:opacity 0.18s ease, transform 0.18s ease;
        }
        .tracker-settings-tooltip.show {
            opacity:1;
            transform:translate(-50%, 0);
        }
        .tracker-settings-open-foods-btn {
            width:100%;
        }
        .tracker-settings-open-foods-wrap {
            margin-top:8px;
        }
        .tracker-settings-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .tracker-settings-actions .action-btn {
            margin-top:0;
            flex:1 1 0;
            min-width:0;
        }
        .tracker-settings-grid .settings-note {
            margin-top:6px;
        }
        .tracker-settings-check {
            display:flex;
            align-items:flex-start;
            gap:12px;
            padding:12px 14px;
            border:1px solid #34405a;
            border-radius:14px;
            background:rgba(19, 25, 36, 0.86);
            cursor:pointer;
        }
        .tracker-settings-check input {
            width:18px;
            height:18px;
            margin:2px 0 0;
            accent-color:var(--primary);
            flex:0 0 auto;
        }
        .tracker-settings-check-copy {
            display:flex;
            flex-direction:column;
            gap:4px;
            min-width:0;
        }
        .tracker-settings-check-copy strong {
            font-size:14px;
            color:#f2f6ff;
        }
        .tracker-settings-check-copy span {
            font-size:12px;
            line-height:1.45;
            color:#aebada;
        }
        .tracker-settings-macro-preview {
            grid-column:1 / -1;
            display:flex;
            flex-direction:column;
            gap:4px;
            padding:12px 14px;
            border:1px solid #34405a;
            border-radius:14px;
            background:rgba(18, 24, 34, 0.84);
            margin-top:-2px;
        }
        .tracker-settings-macro-preview strong {
            font-size:14px;
            color:#f3f6ff;
        }
        .tracker-settings-macro-preview span {
            font-size:12px;
            line-height:1.45;
            color:#afbdd7;
        }
        .tracker-settings-toggle {
            margin-top:0;
            min-width:84px;
        }
        .tracker-settings-toggle-group {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            justify-content:flex-end;
        }
        .tracker-settings-toggle-group .action-btn,
        .tracker-settings-toggle-group .main-btn {
            margin-top:0;
        }
        .tracker-settings-save {
            width:100%;
        }
        .tracker-settings-save-wrap {
            margin-top:8px;
        }
        .tracker-settings-save-wrap .tracker-settings-save {
            width:100%;
            flex:0 0 auto;
        }
        .tracker-settings-macro-fields-disabled {
            opacity:0.7;
        }
        .tracker-form-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            margin-top:16px;
        }
        .tracker-form-actions .main-btn,
        .tracker-form-actions .action-btn,
        .tracker-settings-save {
            margin-top:0;
            width:auto;
            flex:1 1 0;
            min-width:0;
        }
        .tracker-daily-list,
        .tracker-weekly-list {
            display:flex;
            flex-direction:column;
            gap:10px;
        }
        .tracker-daily-columns {
            display:grid;
            grid-template-columns:minmax(0, 1.55fr) minmax(86px, 0.95fr) repeat(2, minmax(76px, 0.9fr));
            gap:10px;
            align-items:end;
            margin-bottom:4px;
            padding:0 12px;
        }
        .tracker-daily-column {
            font-size:11px;
            font-weight:800;
            letter-spacing:0.05em;
            text-transform:uppercase;
            color:#9ca7c5;
        }
        .tracker-daily-row {
            display:flex;
            flex-direction:column;
            gap:6px;
            padding:10px 12px;
            border:1px solid #2f3848;
            border-radius:12px;
            background:#121823;
            color:#fff;
            text-align:left;
        }
        .tracker-daily-row.selected {
            border-color:#7f68ff;
            box-shadow:0 0 0 1px rgba(127, 104, 255, 0.22);
        }
        .tracker-daily-row-top {
            display:flex;
            align-items:flex-start;
        }
        .tracker-daily-date {
            font-size:14px;
            font-weight:800;
            line-height:1.3;
            color:#f2f5ff;
        }
        .tracker-daily-summary {
            display:grid;
            grid-template-columns:minmax(0, 1.55fr) minmax(86px, 0.95fr) repeat(2, minmax(76px, 0.9fr));
            gap:10px;
            align-items:baseline;
        }
        .tracker-daily-summary-item {
            font-size:13px;
            line-height:1.35;
            color:#dfe6f7;
            font-weight:700;
            min-width:0;
        }
        .tracker-daily-weight-value {
            color:#eef2ff;
        }
        .tracker-daily-summary-weight {
            display:flex;
            align-items:baseline;
            gap:6px;
            flex-wrap:wrap;
            color:#eef2ff;
        }
        .tracker-daily-source {
            font-size:12px;
            font-weight:800;
            white-space:nowrap;
        }
        .tracker-daily-source.actual {
            color:var(--compare-up);
        }
        .tracker-daily-source.predicted {
            color:#7dafff;
        }
        .tracker-week-card {
            padding:12px;
            border:1px solid #2f3848;
            border-radius:14px;
            background:#121823;
        }
        .tracker-week-head,
        .tracker-week-summary {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:10px;
        }
        .tracker-week-title {
            font-size:14px;
            font-weight:800;
            color:#f2f5ff;
        }
        .tracker-week-diff {
            font-size:15px;
            font-weight:800;
        }
        .tracker-week-summary {
            margin:10px 0 12px;
            align-items:flex-end;
        }
        .tracker-week-summary-item {
            display:flex;
            flex-direction:column;
            gap:4px;
            flex:1 1 0;
        }
        .tracker-week-summary-item span {
            font-size:11px;
            color:#9ca7c5;
            text-transform:uppercase;
            letter-spacing:0.05em;
        }
        .tracker-week-summary-value {
            display:flex;
            align-items:baseline;
            gap:6px;
            flex-wrap:wrap;
        }
        .tracker-week-summary-item strong {
            font-size:14px;
            color:#eef2ff;
        }
        .tracker-week-inline-diff {
            font-size:13px;
            font-weight:800;
            white-space:nowrap;
        }
        .tracker-week-inline-diff.under { color:var(--compare-up); }
        .tracker-week-inline-diff.warn { color:var(--compare-down); }
        .tracker-week-inline-diff.over { color:var(--danger); }
        .tracker-week-inline-diff.neutral { color:var(--compare-equal); }
        .tracker-plan-metric-value {
            color:#d7deef;
        }
        .tracker-week-grid {
            display:grid;
            grid-template-columns:44px repeat(7, minmax(0, 1fr));
            gap:6px;
            align-items:center;
            margin-top:4px;
        }
        .tracker-week-corner,
        .tracker-week-day,
        .tracker-week-row-label,
        .tracker-week-cell {
            min-height:30px;
            border-radius:8px;
            display:flex;
            align-items:center;
            justify-content:center;
            text-align:center;
            padding:4px 2px;
        }
        .tracker-week-day,
        .tracker-week-row-label {
            font-size:11px;
            font-weight:800;
            color:#c2cae1;
            background:#171d2a;
        }
        .tracker-week-cell {
            font-size:12px;
            color:#eef2ff;
            background:#0f141d;
            border:1px solid #283142;
        }
        .tracker-week-cal {
            color:#c0c9de;
        }
        .tracker-empty {
            padding:14px 12px;
            border:1px dashed #39445b;
            border-radius:12px;
            color:#a7b0c6;
            font-size:13px;
            text-align:center;
        }
        .tracker-history-actions {
            display:flex;
            flex-direction:column;
            gap:8px;
            margin-top:10px;
        }
        .tracker-history-more {
            width:100%;
        }
        .tracker-history-return-top {
            width:100%;
            margin-top:0;
        }
        .plans-shell-header {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
            margin-bottom:16px;
        }
        .plans-shell-actions {
            display:flex;
            align-items:flex-start;
            gap:10px;
            margin-left:auto;
        }
        .plans-mode-toggle {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .plans-shell-settings-btn {
            width:42px;
            height:42px;
            min-width:42px;
            border-radius:12px;
            margin-top:0;
            box-shadow:0 10px 18px rgba(0, 0, 0, 0.18);
        }
        .plans-shell-settings-btn img {
            width:18px;
            height:18px;
            display:block;
            margin:0 auto;
            object-fit:contain;
            filter:brightness(0) invert(1);
        }
        .plans-mode-btn {
            margin-top:0;
        }
        .plans-mode-btn.active {
            background:#39425f;
            border-color:#69769b;
            color:#fff;
        }
        .plans-panel-title {
            margin-bottom:12px;
        }
        .plans-panel-title h3 {
            margin-bottom:4px;
        }
        #tracker-view.food-tracker-fixed-layout {
            height:var(--food-tracker-viewport-height, auto);
            min-height:var(--food-tracker-viewport-height, auto);
            overflow:hidden;
        }
        .food-tracker-shell {
            display:flex;
            flex-direction:column;
            gap:14px;
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-shell {
            height:100%;
            min-height:0;
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-shell > .card {
            margin-bottom:0;
        }
        .food-tracker-topbar,
        .food-tracker-card-head,
        .food-tracker-date-row,
        .food-tracker-saved-item {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
        }
        .food-tracker-settings-btn {
            width:42px;
            height:42px;
            border-radius:14px;
            background:#21283a;
            border-color:#37405a;
            flex:0 0 auto;
        }
        .food-tracker-settings-btn img {
            width:20px;
            height:20px;
        }
        .food-tracker-hero-card {
            position:relative;
            overflow:hidden;
            background:
                radial-gradient(circle at top left, rgba(173, 84, 255, 0.28) 0%, rgba(173, 84, 255, 0) 42%),
                radial-gradient(circle at top right, rgba(64, 195, 255, 0.22) 0%, rgba(64, 195, 255, 0) 46%),
                linear-gradient(145deg, #211435 0%, #16263a 50%, #101821 100%);
            border-color:#35425c;
            border-radius:18px;
            padding:16px;
            box-shadow:0 18px 40px rgba(0, 0, 0, 0.32);
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-hero-card {
            flex:0 0 auto;
        }
        .food-tracker-log-card {
            display:flex;
            flex-direction:column;
            border-radius:18px;
            border-color:#32405a;
            background:linear-gradient(180deg, #17202c 0%, #121822 100%);
        }
        .food-tracker-log-panel {
            display:flex;
            flex-direction:column;
            margin-top:4px;
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-log-card {
            flex:1 1 auto;
            min-height:0;
            overflow:hidden;
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-log-panel {
            flex:1 1 auto;
            min-height:0;
            overflow-y:auto;
            overflow-x:hidden;
            overscroll-behavior:contain;
            padding-right:2px;
        }
        #tracker-view.food-tracker-fixed-layout .food-tracker-log-panel .food-tracker-empty {
            min-height:100%;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        .food-tracker-date-row {
            align-items:center;
        }
        .food-tracker-date-nav {
            flex:1 1 auto;
            min-width:0;
            display:flex;
            align-items:center;
            justify-content:center;
            gap:6px;
        }
        .food-tracker-date-arrow {
            width:34px;
            min-width:34px;
            height:34px;
            padding:0;
            margin-top:0;
            border-radius:999px;
            border:1px solid rgba(156, 175, 213, 0.24);
            background:rgba(19, 26, 39, 0.84);
            color:#f4f7ff;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            box-shadow:0 10px 18px rgba(0, 0, 0, 0.18);
        }
        .food-tracker-date-arrow span {
            display:inline-block;
            font-size:24px;
            line-height:1;
            transform:translateY(-1px);
        }
        .food-tracker-date-title {
            min-width:0;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            padding:0 8px;
            min-height:38px;
            text-align:center;
            color:#f6f8ff;
        }
        .food-tracker-date-title strong {
            display:block;
            min-width:0;
            font-size:20px;
            font-weight:800;
            color:#f6f8ff;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-date-title-returnable {
            appearance:none;
            border:none;
            background:none;
            box-shadow:none;
            outline:none;
            -webkit-tap-highlight-color:transparent;
        }
        .food-tracker-date-title-picker {
            appearance:none;
            border:none;
            background:none;
            box-shadow:none;
            outline:none;
            -webkit-tap-highlight-color:transparent;
            cursor:pointer;
        }
        .food-tracker-date-title-returnable:hover,
        .food-tracker-date-title-returnable:focus,
        .food-tracker-date-title-returnable:focus-visible,
        .food-tracker-date-title-returnable:active,
        .food-tracker-date-title-picker:hover,
        .food-tracker-date-title-picker:focus,
        .food-tracker-date-title-picker:focus-visible,
        .food-tracker-date-title-picker:active {
            border:none;
            background:none;
            box-shadow:none;
            outline:none;
        }
        .food-tracker-date-picker-input {
            position:fixed;
            top:-9999px;
            left:-9999px;
            width:1px;
            height:1px;
            opacity:0;
            pointer-events:none;
        }
        .food-tracker-date-live {
            display:grid;
            place-items:center;
            min-width:0;
            perspective:600px;
            transform-style:preserve-3d;
            --food-tracker-date-hint-duration:5600ms;
        }
        .food-tracker-date-face {
            grid-area:1 / 1;
            min-width:0;
            backface-visibility:hidden;
            transform-origin:50% 50%;
            will-change:transform, opacity;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-date-face-primary {
            animation:food-tracker-date-hint-date var(--food-tracker-date-hint-duration) ease-in-out infinite;
        }
        .food-tracker-date-face-hint {
            max-width:100%;
            font-size:12px;
            font-weight:700;
            letter-spacing:0.01em;
            color:#cbd6f3;
            opacity:0;
            animation:food-tracker-date-hint-copy var(--food-tracker-date-hint-duration) ease-in-out infinite;
        }
        @keyframes food-tracker-date-hint-date {
            0%, 76%, 100% {
                opacity:1;
                transform:translateY(0) rotateX(0deg);
            }
            82%, 95% {
                opacity:0;
                transform:translateY(-3px) rotateX(14deg);
            }
            98% {
                opacity:1;
                transform:translateY(0) rotateX(0deg);
            }
        }
        @keyframes food-tracker-date-hint-copy {
            0%, 78%, 100% {
                opacity:0;
                transform:translateY(3px) rotateX(-14deg);
            }
            84%, 96% {
                opacity:1;
                transform:translateY(0) rotateX(0deg);
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .food-tracker-date-face-primary,
            .food-tracker-date-face-hint {
                animation:none;
            }
            .food-tracker-date-face-hint {
                display:none;
            }
        }
        .food-tracker-quick-cards {
            display:block;
            margin:6px 0 10px;
        }
        .food-tracker-quick-card {
            appearance:none;
            width:100%;
            min-width:0;
            margin-top:0;
            min-height:50px;
            padding:10px 12px;
            border:1px solid rgba(154, 176, 222, 0.16);
            border-radius:16px;
            background:linear-gradient(180deg, rgba(17, 24, 37, 0.92) 0%, rgba(10, 16, 26, 0.98) 100%);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 22px rgba(0, 0, 0, 0.18);
            color:#f5f8ff;
            text-align:left;
            display:flex;
            flex-direction:column;
            overflow:hidden;
            backdrop-filter:blur(12px);
            -webkit-backdrop-filter:blur(12px);
        }
        .food-tracker-quick-card-body,
        .food-tracker-progress-card-slide {
            width:100%;
            height:100%;
        }
        .food-tracker-progress-card-slide {
            position:relative;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        .food-tracker-progress-card-main {
            display:flex;
            align-items:center;
            justify-content:center;
            width:100%;
            height:100%;
        }
        .food-tracker-quick-card-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            justify-content:center;
            align-items:flex-start;
            gap:6px;
            height:100%;
            text-align:left;
        }
        .food-tracker-progress-card-main .food-tracker-quick-card-copy {
            width:100%;
            max-width:100%;
            height:100%;
            padding:0 8px 10px;
        }
        .food-tracker-quick-card-kicker {
            display:block;
            font-size:10px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9eb1d9;
            width:100%;
            text-align:left;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-quick-card-value {
            display:block;
            font-size:clamp(20px, 4.4vw, 26px);
            line-height:1.05;
            color:#fbfdff;
            width:100%;
            text-align:left;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-quick-card-meta {
            margin-top:auto;
            font-size:11px;
            line-height:1.35;
            color:#b9c6e4;
            text-align:center;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-progress-shortcut-card {
            overflow:hidden;
        }
        .food-tracker-summary-bar-grid {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            align-items:center;
            gap:0;
            min-height:100%;
        }
        .food-tracker-summary-bar-stat {
            min-width:0;
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            gap:4px;
            padding:0 10px;
            text-align:center;
        }
        .food-tracker-summary-bar-stat + .food-tracker-summary-bar-stat {
            border-left:1px solid rgba(156, 175, 213, 0.14);
        }
        .food-tracker-summary-bar-label {
            display:block;
            font-size:9px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9eb1d9;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-summary-bar-value {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:6px;
            min-width:0;
            color:#fbfdff;
            font-size:14px;
            font-weight:800;
            line-height:1.2;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-summary-bar-value span {
            min-width:0;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-progress-card-stage {
            flex:1 1 auto;
            min-height:0;
            overflow:hidden;
            display:flex;
            align-items:stretch;
            width:100%;
        }
        .food-tracker-progress-card-slide {
            transform:translateX(0);
            opacity:1;
            transition:transform 220ms ease, opacity 220ms ease;
        }
        .food-tracker-progress-card-slide.is-leaving {
            transform:translateX(-14px);
            opacity:0;
        }
        .food-tracker-progress-card-slide.is-entering {
            transform:translateX(16px);
            opacity:0;
        }
        .food-tracker-progress-card-slide.is-entering.is-active {
            transform:translateX(0);
            opacity:1;
        }
        .food-tracker-progress-dots {
            display:inline-flex;
            align-items:center;
            gap:4px;
        }
        .food-tracker-progress-card-footer {
            position:absolute;
            right:0;
            bottom:0;
            margin-top:0;
            display:flex;
            flex-direction:row;
            align-items:center;
            justify-content:flex-end;
            gap:4px;
            width:auto;
            align-self:auto;
        }
        .food-tracker-progress-card-footer .food-tracker-quick-card-meta {
            margin-top:0;
            max-width:100%;
        }
        .food-tracker-progress-dot {
            width:6px;
            height:6px;
            border-radius:999px;
            background:rgba(164, 179, 216, 0.32);
            transition:width 180ms ease, background-color 180ms ease, opacity 180ms ease;
        }
        .food-tracker-progress-dot.active {
            width:14px;
            background:#8aa4ff;
        }
        .food-tracker-progress-inline-icon {
            flex:0 0 auto;
            display:inline-block;
            width:0.95em;
            height:0.95em;
            background:currentColor;
            -webkit-mask-image:var(--progress-icon);
            mask-image:var(--progress-icon);
            -webkit-mask-repeat:no-repeat;
            mask-repeat:no-repeat;
            -webkit-mask-position:center;
            mask-position:center;
            -webkit-mask-size:contain;
            mask-size:contain;
        }
        .food-tracker-progress-value-line {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:4px;
            width:auto;
            max-width:100%;
        }
        .food-tracker-progress-value-text {
            display:inline-block;
            min-width:0;
        }
        .food-tracker-progress-inline-icon.good {
            color:var(--ok);
        }
        .food-tracker-progress-inline-icon.bad {
            color:var(--danger);
        }
        .food-tracker-progress-inline-icon.neutral {
            color:#91a3ca;
        }
        .food-tracker-ring-wrap {
            display:flex;
            justify-content:center;
            margin:-4px 0 8px;
        }
        .food-tracker-ring {
            --food-ring:0deg;
            --food-tracker-ring-size:min(264px, calc(var(--app-short-side, 100vw) * 0.72));
            width:var(--food-tracker-ring-size);
            height:var(--food-tracker-ring-size);
            aspect-ratio:1 / 1;
            border-radius:50%;
            padding:16px;
            flex:0 0 auto;
            background:
                conic-gradient(from -90deg, #b567ff 0deg, #5a78ff var(--food-ring), rgba(255,255,255,0.08) var(--food-ring), rgba(255,255,255,0.08) 360deg);
            box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 18px 34px rgba(0, 0, 0, 0.28);
        }
        .food-tracker-ring.calm,
        .food-tracker-ring.ok {
            background:
                conic-gradient(from -90deg, #b567ff 0deg, #5a78ff var(--food-ring), rgba(255,255,255,0.08) var(--food-ring), rgba(255,255,255,0.08) 360deg);
        }
        .food-tracker-ring.over {
            background:
                conic-gradient(from -90deg, #ff9a63 0deg, #ff5e97 var(--food-ring), rgba(255,255,255,0.08) var(--food-ring), rgba(255,255,255,0.08) 360deg);
        }
        .food-tracker-ring-inner {
            display:flex;
            flex-direction:column;
            justify-content:center;
            align-items:center;
            width:100%;
            height:100%;
            aspect-ratio:1 / 1;
            border-radius:50%;
            background:linear-gradient(180deg, #121723 0%, #0b1017 100%);
            text-align:center;
            padding:18px;
        }
        .food-tracker-ring-label {
            font-size:11px;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:0.08em;
            color:#95a5c9;
        }
        .food-tracker-ring-inner strong {
            margin:8px 0 6px;
            font-size:46px;
            line-height:1;
            color:#f7f2ff;
        }
        .food-tracker-ring-meta {
            font-size:13px;
            color:#c8d1e7;
            max-width:170px;
            line-height:1.4;
        }
        .food-tracker-macro-grid {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:10px;
            margin-bottom:14px;
        }
        .food-tracker-macro-card {
            padding:12px;
            border:1px solid #34405a;
            border-radius:14px;
            background:rgba(20, 27, 40, 0.78);
            text-align:center;
        }
        .food-tracker-macro-card span {
            display:block;
            margin-bottom:4px;
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9caed2;
        }
        .food-tracker-macro-card strong {
            font-size:19px;
            color:#f4f7ff;
        }
        .food-tracker-primary-actions,
        .food-tracker-saved-actions,
        .food-tracker-editor-actions,
        .food-tracker-scanner-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .food-tracker-primary-actions .main-btn,
        .food-tracker-primary-actions .action-btn,
        .food-tracker-saved-actions .action-btn,
        .food-tracker-editor-actions .main-btn,
        .food-tracker-editor-actions .action-btn,
        .food-tracker-scanner-actions .action-btn {
            margin-top:0;
            flex:1 1 0;
        }
        .food-tracker-barcode-row,
        .food-tracker-food-search {
            display:grid;
            grid-template-columns:minmax(0, 1fr) auto;
            gap:8px;
            margin-top:10px;
        }
        .food-tracker-barcode-row input,
        .food-tracker-food-search input {
            min-width:0;
        }
        .food-tracker-status {
            margin-top:12px;
            padding:10px 12px;
            border-radius:14px;
            background:rgba(20, 28, 41, 0.82);
            border:1px solid #425173;
            color:#d8e2f8;
            font-size:13px;
            line-height:1.45;
        }
        .food-tracker-log-list,
        .food-tracker-saved-list {
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .food-tracker-log-group {
            display:flex;
            flex-direction:column;
            gap:12px;
            padding:12px;
            border:1px solid rgba(55, 69, 98, 0.9);
            border-radius:18px;
            background:linear-gradient(180deg, rgba(15, 20, 31, 0.9) 0%, rgba(11, 16, 26, 0.96) 100%);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
        }
        .food-tracker-log-group-head {
            display:flex;
            align-items:flex-end;
            justify-content:space-between;
            gap:12px;
            padding-bottom:4px;
            border-bottom:1px solid rgba(62, 77, 109, 0.48);
        }
        .food-tracker-log-group-title {
            margin:0;
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#94a7cd;
        }
        .food-tracker-log-group-range {
            font-size:12px;
            font-weight:700;
            color:#d5def2;
            white-space:nowrap;
        }
        .food-tracker-log-cluster {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .food-tracker-log-shell {
            position:relative;
            overflow:hidden;
            border-radius:16px;
        }
        .food-tracker-log-shell.has-action-menu {
            overflow:visible;
            z-index:39;
        }
        .food-tracker-log-item,
        .food-tracker-saved-item {
            padding:12px;
            border:1px solid #2f3848;
            border-radius:14px;
            background:#121823;
        }
        #tracker-view button,
        #main-settings-foods-page button,
        .food-tracker-log-action-popout button {
            transition:transform 55ms ease-out, filter 55ms ease-out, box-shadow 55ms ease-out, background-color 55ms ease-out, border-color 55ms ease-out;
            touch-action:manipulation;
            -webkit-tap-highlight-color:transparent;
            will-change:transform, filter;
        }
        #tracker-view button.food-tracker-pressing,
        #main-settings-foods-page button.food-tracker-pressing,
        .food-tracker-log-action-popout button.food-tracker-pressing {
            transform:translateY(1px) scale(0.99);
            filter:brightness(1.08) saturate(1.04);
        }
        .food-tracker-log-action-menu-wrap {
            position:relative;
            z-index:1;
        }
        .food-tracker-log-action-menu-wrap.is-open {
            z-index:39;
        }
        .food-tracker-log-item {
            width:100%;
            display:grid;
            grid-template-columns:minmax(0, 1fr) minmax(82px, 86px);
            align-items:stretch;
            text-align:left;
            color:inherit;
            cursor:pointer;
            appearance:none;
            position:relative;
            z-index:1;
            transition:none;
            touch-action:pan-y;
            gap:16px;
            min-height:84px;
            padding:14px 18px;
            border-radius:16px;
            border-color:#334058;
            background:linear-gradient(180deg, rgba(24, 32, 46, 0.98) 0%, rgba(19, 25, 36, 0.98) 100%);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
        }
        .food-tracker-log-item:active {
            border-color:#52688f;
            background:linear-gradient(180deg, rgba(33, 43, 61, 0.99) 0%, rgba(24, 31, 44, 0.99) 100%);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 0 0 1px rgba(106, 130, 176, 0.14);
        }
        .food-tracker-log-item-group {
            touch-action:manipulation;
            border-color:#465679;
            background:linear-gradient(180deg, rgba(27, 37, 54, 0.99) 0%, rgba(20, 28, 42, 0.99) 100%);
        }
        .food-tracker-log-item-group:active {
            border-color:#6a82b0;
            background:linear-gradient(180deg, rgba(35, 47, 69, 0.99) 0%, rgba(25, 35, 51, 0.99) 100%);
        }
        .food-tracker-log-shell.is-tap-flash .food-tracker-log-item {
            animation:food-tracker-log-item-tap-flash 150ms ease-out;
        }
        .food-tracker-log-shell {
            --food-tracker-log-delete-reveal:148px;
            --food-tracker-log-delete-width:148px;
        }
        .food-tracker-log-shell.swiped .food-tracker-log-item { transform:translateX(calc(var(--food-tracker-log-delete-reveal) * -1)); }
        .food-tracker-log-shell.is-dragging .food-tracker-log-item,
        .food-tracker-log-shell.is-dragging .food-tracker-log-delete-btn {
            transition:none;
        }
        .food-tracker-log-delete-btn {
            position:absolute;
            top:0;
            right:0;
            bottom:0;
            width:var(--food-tracker-log-delete-width);
            display:flex;
            align-items:center;
            justify-content:center;
            border:none;
            border-radius:0 16px 16px 0;
            background:var(--danger);
            color:#fff;
            font-size:12px;
            font-weight:700;
            z-index:2;
            opacity:0;
            pointer-events:none;
            user-select:none;
            -webkit-user-select:none;
            touch-action:manipulation;
            transition:none;
        }
        .food-tracker-log-shell.swiped .food-tracker-log-delete-btn {
            opacity:1;
            pointer-events:auto;
        }
        .food-tracker-log-main {
            display:grid;
            grid-template-columns:auto minmax(0, 1fr);
            align-items:center;
            gap:0 12px;
            background:none;
            color:inherit;
            padding:0;
            text-align:left;
            flex:1 1 auto;
            min-width:0;
        }
        .food-tracker-log-copy {
            display:flex;
            flex-direction:column;
            justify-content:center;
            gap:5px;
            min-width:0;
        }
        .food-tracker-log-name-row {
            display:flex;
            align-items:center;
            gap:8px;
            min-width:0;
        }
        .food-tracker-log-main-compact {
            min-width:0;
        }
        .food-tracker-food-name-row {
            display:flex;
            align-items:center;
            gap:8px;
            min-width:0;
            width:100%;
        }
        .food-tracker-food-name-row-tight {
            gap:6px;
        }
        .food-tracker-food-emoji {
            flex:0 0 auto;
            width:1.4em;
            height:1.4em;
            aspect-ratio:1 / 1;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            text-align:center;
            line-height:1;
            font-size:1.1em;
        }
        .food-tracker-log-emoji {
            width:36px;
            height:36px;
            aspect-ratio:1 / 1;
            align-self:center;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            font-size:30px;
            line-height:1;
            flex:0 0 36px;
        }
        .food-tracker-food-emoji-asset {
            object-fit:contain;
        }
        .food-tracker-log-emoji.food-tracker-food-emoji-asset {
            width:40px;
            height:40px;
            aspect-ratio:1 / 1;
            flex:0 0 40px;
        }
        .food-tracker-log-name,
        .food-tracker-saved-name {
            font-size:16px;
            font-weight:800;
            color:#f4f7ff;
            flex:1 1 auto;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .food-tracker-log-meta,
        .food-tracker-log-macros,
        .food-tracker-saved-meta,
        .food-tracker-saved-macros {
            font-size:12px;
            color:#9fb0cf;
            line-height:1.35;
        }
        .food-tracker-log-group-count {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            padding:4px 8px;
            border-radius:999px;
            border:1px solid rgba(114, 132, 173, 0.72);
            background:rgba(35, 48, 73, 0.88);
            color:#dce7ff;
            font-size:11px;
            font-weight:800;
            line-height:1;
            white-space:nowrap;
            flex:0 0 auto;
        }
        .food-tracker-log-side {
            display:flex;
            align-items:center;
            justify-content:flex-end;
            align-self:stretch;
            padding-left:10px;
            border-left:1px solid rgba(130, 149, 188, 0.24);
            flex:0 0 86px;
            min-width:86px;
        }
        .food-tracker-log-side strong {
            font-size:17px;
            color:#fff4dc;
        }
        .food-tracker-log-delete {
            min-width:80px;
            margin-top:0;
        }
        .food-tracker-log-calories {
            display:flex;
            align-items:center;
            justify-content:flex-end;
            min-height:100%;
            font-size:18px;
            font-weight:800;
            color:#f8ecd7;
            white-space:nowrap;
            margin:0;
            line-height:1.15;
            text-align:right;
        }
        .food-tracker-log-group-side {
            flex-direction:column;
            align-items:flex-end;
            justify-content:center;
            gap:8px;
        }
        .food-tracker-log-group-side-meta {
            display:flex;
            align-items:center;
            gap:8px;
            font-size:11px;
            font-weight:800;
            letter-spacing:0.06em;
            text-transform:uppercase;
            color:#aebee1;
        }
        .food-tracker-log-group-side-label {
            white-space:nowrap;
        }
        .food-tracker-log-group-chevron {
            width:9px;
            height:9px;
            border-right:2px solid #d3def6;
            border-bottom:2px solid #d3def6;
            transform:rotate(45deg);
            transition:transform 0.18s ease;
            margin-top:-2px;
            flex:0 0 auto;
        }
        .food-tracker-log-cluster.expanded .food-tracker-log-group-chevron {
            transform:rotate(225deg);
        }
        .food-tracker-log-cluster-body {
            margin:0;
            padding:14px;
            border:1px solid rgba(62, 77, 109, 0.76);
            border-radius:18px;
            background:linear-gradient(180deg, rgba(13, 18, 28, 0.95) 0%, rgba(9, 14, 23, 0.98) 100%);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
        }
        .food-tracker-log-group-add-btn {
            width:100%;
            min-height:44px;
            margin-top:0;
            margin-bottom:10px;
            border-color:#5f739d;
            background:rgba(37, 49, 74, 0.92);
        }
        .food-tracker-log-cluster-children {
            display:flex;
            flex-direction:column;
            gap:10px;
        }
        .food-tracker-log-cluster-child {
            min-width:0;
        }
        .food-tracker-log-shell-nested .food-tracker-log-item {
            min-height:76px;
            padding:12px 16px;
            border-color:#2f405c;
            background:linear-gradient(180deg, rgba(19, 26, 39, 0.99) 0%, rgba(14, 20, 31, 0.99) 100%);
        }
        .food-tracker-log-shell-nested .food-tracker-log-side {
            min-width:78px;
            flex-basis:78px;
        }
        .food-tracker-log-note {
            margin:2px 0 6px;
        }
        .food-tracker-saved-copy {
            flex:1 1 auto;
            min-width:0;
        }
        .food-tracker-show-more {
            width:100%;
            margin-top:10px;
        }
        .food-tracker-empty {
            padding:14px 12px;
            border:1px dashed #39445b;
            border-radius:12px;
            color:#a7b0c6;
            font-size:13px;
            text-align:center;
        }
        .food-tracker-editor-card {
            border-color:#394966;
            max-height:calc(var(--app-visible-viewport-height) - 40px);
            overflow:auto;
        }
        .food-tracker-editor-card-compact {
            max-width:520px;
        }
        .food-tracker-editor-card-manual {
            max-width:520px;
        }
        .food-tracker-editor-compact-head {
            margin-bottom:8px;
        }
        .food-tracker-editor-field-head {
            display:flex;
            align-items:center;
            justify-content:flex-start;
            gap:6px;
            margin-bottom:4px;
        }
        .food-tracker-editor-field-head label {
            margin:0;
        }
        .food-tracker-editor-tip-btn {
            width:18px;
            min-width:18px;
            height:18px;
            margin-top:0;
            padding:0;
            border-radius:999px;
            border:1px solid #5c6f97;
            background:rgba(41, 53, 79, 0.9);
            color:#eef3ff;
            font-size:11px;
            font-weight:800;
            line-height:1;
            position:relative;
            top:-1px;
        }
        .food-tracker-editor-tooltip {
            position:fixed;
            top:calc(env(safe-area-inset-top, 0px) + 12px);
            left:50%;
            transform:translate(-50%, -10px);
            width:min(calc(100vw - 24px), 420px);
            padding:12px 14px;
            border-radius:14px;
            border:1px solid #495c82;
            background:rgba(14, 20, 31, 0.96);
            box-shadow:0 14px 30px rgba(0, 0, 0, 0.28);
            color:#f3f6ff;
            font-size:13px;
            line-height:1.45;
            z-index:80;
            opacity:0;
            pointer-events:none;
            transition:opacity 0.18s ease, transform 0.18s ease;
        }
        .food-tracker-editor-tooltip.show {
            opacity:1;
            transform:translate(-50%, 0);
        }
        .food-tracker-editor-food-name {
            font-size:21px;
            font-weight:800;
            color:#f6f8ff;
            line-height:1.15;
        }
        .food-tracker-editor-food-meta {
            margin-top:4px;
            font-size:12px;
            color:#9fb2d9;
        }
        .food-tracker-editor-entry-row {
            display:grid;
            grid-template-columns:minmax(128px, 0.84fr) minmax(0, 1fr);
            gap:12px;
            align-items:stretch;
            margin-bottom:8px;
        }
        .food-tracker-editor-entry-row.no-quick {
            grid-template-columns:1fr;
        }
        .food-tracker-editor-entry-row.option-rich {
            grid-template-columns:1fr;
        }
        .food-tracker-editor-entry-row.compact {
            margin-bottom:6px;
        }
        .food-tracker-editor-entry-fields {
            display:grid;
            gap:8px;
            align-content:start;
        }
        .food-tracker-editor-entry-row.no-quick .food-tracker-editor-entry-fields {
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
        }
        .food-tracker-editor-entry-row.option-rich .food-tracker-editor-entry-fields {
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
        }
        .food-tracker-editor-entry-row.option-rich .food-tracker-editor-quick-grid {
            padding-top:0;
        }
        .food-tracker-editor-entry-field label {
            font-size:12px;
        }
        .food-tracker-editor-entry-field input,
        .food-tracker-editor-entry-field select {
            min-height:42px;
            padding:0 10px;
            font-size:14px;
        }
        .food-tracker-editor-entry-field-wide {
            grid-column:1 / -1;
        }
        .food-tracker-editor-time-panel {
            margin-bottom:4px;
            padding:0;
            border:none;
            border-radius:0;
            background:none;
            box-shadow:none;
        }
        .food-tracker-editor-entry-field input {
            text-align:center;
        }
        .food-tracker-editor-field-note {
            margin:6px 0 0;
        }
        .food-tracker-editor-quick-grid {
            display:flex;
            flex-direction:column;
            gap:6px;
        }
        .food-tracker-editor-entry-row:not(.compact):not(.no-quick) .food-tracker-editor-quick-grid {
            align-self:stretch;
            padding-top:14px;
        }
        .food-tracker-editor-quick-head {
            display:flex;
            justify-content:center;
            align-items:center;
            gap:8px;
            padding:0;
        }
        .food-tracker-editor-quick-head span {
            font-size:12px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9ca7c5;
        }
        .food-tracker-editor-quick-head small {
            font-size:10px;
            color:#879bc4;
        }
        .food-tracker-editor-quick-grid-body {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
        }
        .food-tracker-editor-entry-row:not(.compact):not(.no-quick) .food-tracker-editor-quick-grid-body {
            flex:1 1 auto;
            align-content:stretch;
            grid-auto-rows:minmax(0, 1fr);
        }
        .food-tracker-editor-quick-btn {
            min-width:0;
            min-height:46px;
            padding:6px 8px;
            border:1px solid #33415a;
            border-radius:14px;
            background:linear-gradient(180deg, #111926 0%, #0d141f 100%);
            text-align:center;
            color:inherit;
            display:flex;
            align-items:center;
            justify-content:center;
            gap:0;
        }
        .food-tracker-editor-quick-btn strong {
            display:block;
            width:100%;
            font-size:15px;
            color:#f5f7ff;
            line-height:1.1;
            text-align:center;
        }
        .food-tracker-editor-entry-row:not(.compact):not(.no-quick) .food-tracker-editor-quick-btn {
            min-height:0;
        }
        .food-tracker-editor-quick-btn span {
            font-size:10px;
            color:#93a8d2;
            letter-spacing:0.04em;
            text-transform:uppercase;
        }
        .food-tracker-editor-compact-controls {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
            margin-bottom:6px;
        }
        .food-tracker-editor-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:10px;
        }
        .food-tracker-editor-manual-calories input {
            text-align:center;
        }
        .food-tracker-editor-macro-inputs {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:8px;
        }
        .food-tracker-editor-macro-field {
            min-width:0;
        }
        .food-tracker-editor-macro-field label,
        .food-tracker-editor-macro-field .food-tracker-editor-field-head label {
            font-size:11px;
        }
        .food-tracker-editor-macro-field input {
            text-align:center;
        }
        .food-tracker-brand-picker {
            display:flex;
            flex-wrap:wrap;
            gap:8px;
            margin-top:10px;
        }
        .food-tracker-editor-brand-group {
            margin-bottom:6px;
        }
        .food-tracker-brand-suggestion {
            padding:8px 12px;
            border:1px solid #33415a;
            border-radius:999px;
            background:linear-gradient(180deg, #111926 0%, #0d141f 100%);
            color:#dfe7f8;
            font-size:13px;
            line-height:1.2;
            text-align:center;
        }
        .food-tracker-emoji-picker {
            border:1px solid #33415a;
            border-radius:16px;
            background:linear-gradient(180deg, rgba(15, 23, 36, 0.96) 0%, rgba(10, 15, 25, 0.98) 100%);
            overflow:hidden;
        }
        .food-tracker-emoji-picker-summary {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            width:100%;
            padding:12px 14px;
            border:0;
            background:none;
            color:inherit;
            text-align:left;
            cursor:pointer;
        }
        .food-tracker-emoji-picker-summary-main {
            display:flex;
            align-items:center;
            gap:12px;
            min-width:0;
        }
        .food-tracker-emoji-picker-summary-icon,
        .food-tracker-emoji-picker-option-icon,
        .food-tracker-emoji-picker-note-icon {
            width:32px;
            height:32px;
            flex:0 0 auto;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            font-size:24px;
            line-height:1;
        }
        .food-tracker-emoji-picker-summary-copy,
        .food-tracker-emoji-picker-option-copy {
            display:flex;
            flex-direction:column;
            min-width:0;
        }
        .food-tracker-emoji-picker-summary-copy strong,
        .food-tracker-emoji-picker-option-copy strong {
            color:#f5f7ff;
            font-size:15px;
            line-height:1.2;
        }
        .food-tracker-emoji-picker-summary-copy span,
        .food-tracker-emoji-picker-option-copy span,
        .food-tracker-emoji-picker-group-label {
            color:#9fb0cf;
            font-size:11px;
            line-height:1.3;
        }
        .food-tracker-emoji-picker-caret {
            color:#d7e4ff;
            font-size:15px;
            transition:transform 160ms ease;
        }
        .food-tracker-emoji-picker.is-open .food-tracker-emoji-picker-caret {
            transform:rotate(180deg);
        }
        .food-tracker-emoji-picker-panel {
            border-top:1px solid rgba(92, 121, 173, 0.28);
            padding:12px;
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .food-tracker-emoji-picker-search input {
            width:100%;
        }
        .food-tracker-emoji-picker-groups {
            display:flex;
            flex-direction:column;
            gap:12px;
            max-height:280px;
            overflow:auto;
            padding-right:2px;
        }
        .food-tracker-emoji-picker-group {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .food-tracker-emoji-picker-option-list {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
        }
        @media (max-width:560px) {
            .food-tracker-emoji-picker-option-list {
                grid-template-columns:minmax(0, 1fr);
            }
        }
        .food-tracker-emoji-option {
            display:flex;
            align-items:center;
            gap:10px;
            min-width:0;
            width:100%;
            padding:10px 12px;
            border:1px solid #33415a;
            border-radius:14px;
            background:linear-gradient(180deg, #121b2a 0%, #0d141f 100%);
            color:inherit;
            text-align:left;
        }
        .food-tracker-emoji-option.selected {
            border-color:#6f9cff;
            box-shadow:0 0 0 1px rgba(111, 156, 255, 0.28) inset;
            background:linear-gradient(180deg, rgba(33, 56, 96, 0.92) 0%, rgba(17, 28, 48, 0.96) 100%);
        }
        .food-tracker-emoji-picker-note {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .food-tracker-emoji-picker-note-current {
            display:inline-flex;
            align-items:center;
            gap:8px;
            color:#dce8ff;
        }
        .food-tracker-editor-span-2 {
            grid-column:1 / -1;
        }
        .food-tracker-editor-preview {
            display:grid;
            grid-template-columns:repeat(4, minmax(0, 1fr));
            gap:10px;
            margin:8px 0 10px;
        }
        .food-tracker-editor-preview-stat-calories {
            grid-column:auto;
        }
        .food-tracker-editor-preview-compact-shell {
            display:grid;
            grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);
            gap:8px;
            align-items:stretch;
        }
        .food-tracker-editor-preview-inline {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:8px;
            grid-column:1 / -1;
            width:100%;
        }
        .food-tracker-editor-preview-hero {
            display:flex;
            flex-direction:column;
            justify-content:center;
            position:relative;
            min-height:118px;
            padding:12px 14px;
            border-radius:18px;
            background:linear-gradient(180deg, rgba(31, 40, 58, 0.92) 0%, rgba(13, 18, 27, 0.96) 100%);
            border:1px solid #354361;
            box-shadow:0 14px 32px rgba(0, 0, 0, 0.26);
        }
        .food-tracker-editor-preview-hero-head {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
        }
        .food-tracker-editor-preview-hero span {
            font-size:11px;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:0.08em;
            color:#9fb2d9;
        }
        .food-tracker-editor-preview-hero strong {
            margin-top:8px;
            font-size:38px;
            line-height:1;
            color:#42e18a;
        }
        .food-tracker-editor-preview-hero strong small {
            font-size:15px;
            font-weight:700;
            color:#b8c8e8;
        }
        .food-tracker-editor-preview-hero em {
            margin-top:8px;
            font-style:normal;
            font-size:12px;
            color:#a9b6d0;
        }
        .food-tracker-editor-hero-edit {
            position:static;
            margin-top:0;
            min-width:64px;
            padding:7px 10px;
            align-self:flex-start;
        }
        .food-tracker-editor-preview-macro-row {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:10px;
        }
        .food-tracker-editor-preview-macro-pill {
            padding:14px 12px;
            border-radius:16px;
            border:1px solid #33415f;
            background:#101622;
            text-align:center;
        }
        .food-tracker-editor-preview-macro-pill span {
            display:block;
            margin-bottom:5px;
            font-size:11px;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:0.08em;
            color:#9fb2d9;
        }
        .food-tracker-editor-preview-macro-pill strong {
            font-size:22px;
            color:#f6f8ff;
        }
        .food-tracker-editor-preview-stat {
            padding:10px 12px;
            border-radius:12px;
            background:#0f1520;
            border:1px solid #2f384a;
            text-align:center;
        }
        .food-tracker-editor-preview-stat span {
            display:block;
            margin-bottom:4px;
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#95a5c9;
        }
        .food-tracker-editor-preview-stat strong {
            font-size:18px;
            color:#f4f7ff;
        }
        .food-tracker-editor-actions-compact {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:8px;
        }
        .food-tracker-editor-actions-compact .action-btn,
        .food-tracker-editor-actions-compact .main-btn {
            width:100%;
            margin-top:0;
        }
        .food-tracker-scanner-modal {
            position:fixed;
            inset:0;
            padding:18px 14px 96px;
            background:rgba(6, 8, 12, 0.72);
            backdrop-filter:blur(8px);
            z-index:36;
            overflow:auto;
        }
        .food-tracker-scanner-card {
            max-width:560px;
            margin:0 auto;
        }
        .food-tracker-scanner-stage {
            position:relative;
            overflow:hidden;
            border-radius:18px;
            background:#090c12;
            border:1px solid #2e384d;
            aspect-ratio:3 / 4;
            margin:12px 0;
        }
        .food-tracker-scanner-stage video {
            width:100%;
            height:100%;
            object-fit:cover;
            display:block;
        }
        .food-tracker-scanner-frame {
            position:absolute;
            inset:18% 14%;
            border:2px solid rgba(255, 243, 217, 0.88);
            border-radius:18px;
            box-shadow:0 0 0 999px rgba(4, 6, 10, 0.22);
            pointer-events:none;
        }
        .food-tracker-scanner-overlay {
            position:absolute;
            inset:auto 12px 12px;
            display:flex;
            justify-content:center;
            pointer-events:none;
        }
        .food-tracker-scanner-overlay-card {
            width:min(100%, 300px);
            padding:14px 14px 12px;
            border-radius:18px;
            background:rgba(8, 12, 18, 0.9);
            border:1px solid rgba(255, 255, 255, 0.12);
            box-shadow:0 18px 38px rgba(0, 0, 0, 0.34);
            text-align:center;
            pointer-events:auto;
        }
        .food-tracker-scanner-overlay-card strong {
            display:block;
            font-size:19px;
            color:#f6f8ff;
        }
        .food-tracker-scanner-overlay-card p {
            margin:8px 0 12px;
            font-size:13px;
            color:#b8c6e3;
            line-height:1.4;
        }
        .food-tracker-scanner-overlay-card .main-btn {
            margin-top:0;
            width:100%;
        }
        .settings-page-head {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            flex-wrap:wrap;
            gap:12px;
            margin-bottom:14px;
        }
        .settings-page-head-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            margin-left:auto;
        }
        .settings-page-head-status {
            flex:1 0 100%;
            margin:-4px 0 0;
            font-size:12px;
            color:#9fb1d8;
        }
        .settings-page-head-status.error {
            color:#f0b4b4;
        }
        #main-settings-workout-page,
        #main-settings-summary-page,
        #main-settings-foods-page {
            margin-top:10px;
        }
        .workout-settings-card .settings-note {
            line-height:1.45;
        }
        .workout-settings-copy {
            margin:8px 0 0;
            max-width:56ch;
        }
        .settings-shortcuts-card {
            margin-bottom:16px;
        }
        .settings-shortcuts-grid {
            display:grid;
            grid-template-columns:1fr;
            gap:10px;
            margin-top:14px;
        }
        .tracker-section-head-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .food-tracker-card-head,
        .food-tracker-date-row,
        .food-tracker-library-item {
            display:flex;
            justify-content:space-between;
            align-items:flex-start;
            gap:12px;
        }
        .food-tracker-ring.calm {
            background:
                conic-gradient(from -90deg, #7aa3ff 0deg, #7aa3ff var(--food-ring), rgba(255,255,255,0.08) var(--food-ring), rgba(255,255,255,0.08) 360deg);
        }
        .food-tracker-target-row {
            display:flex;
            justify-content:center;
            align-items:center;
            gap:10px;
            margin:0 0 12px;
            color:#c9d3e8;
            font-size:13px;
        }
        .food-tracker-corner-btn {
            width:42px;
            height:42px;
            aspect-ratio:1 / 1;
            border-radius:14px;
            align-self:start;
            background:rgba(35, 43, 59, 0.94);
            border-color:#42506c;
            justify-self:start;
            margin-top:0;
            box-shadow:0 10px 18px rgba(0, 0, 0, 0.18);
        }
        .food-tracker-date-row .food-tracker-corner-btn:last-child {
            justify-self:end;
        }
        .food-tracker-corner-btn img {
            width:20px;
            height:20px;
            object-fit:contain;
            filter:brightness(0) invert(1);
        }
        .food-tracker-macro-strip {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:10px;
            margin-bottom:0;
        }
        .food-tracker-date-tools {
            display:flex;
            justify-content:center;
            gap:8px;
            margin-top:8px;
        }
        .food-tracker-date-chip {
            min-width:62px;
            padding:8px 10px;
        }
        .food-tracker-date-chip.active {
            background:#39425f;
            border-color:#69769b;
            color:#fff;
        }
        .food-tracker-macro-pill {
            --macro-start:#ab5fff;
            --macro-end:#54b9ff;
            display:flex;
            flex-direction:column;
            align-items:stretch;
            gap:8px;
            padding:12px 12px 12px;
            border:1px solid #374664;
            border-radius:16px;
            background:linear-gradient(180deg, rgba(21, 28, 41, 0.95) 0%, rgba(15, 21, 31, 0.98) 100%);
            min-width:0;
        }
        .food-tracker-macro-pill-label {
            font-size:11px;
            font-weight:800;
            letter-spacing:0.08em;
            text-transform:uppercase;
            color:#9caed2;
            text-align:center;
            white-space:nowrap;
        }
        .food-tracker-macro-pill-head {
            display:flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            width:100%;
        }
        .food-tracker-macro-pill-head img {
            width:28px;
            height:28px;
            object-fit:contain;
            flex:0 0 auto;
            filter:brightness(0) invert(1);
        }
        .food-tracker-macro-pill-head strong {
            font-size:17px;
            color:#f4f7ff;
            white-space:nowrap;
            line-height:1.15;
        }
        .food-tracker-macro-pill-bar {
            width:100%;
            height:5px;
            border-radius:999px;
            background:rgba(255, 255, 255, 0.11);
            overflow:hidden;
            margin-top:4px;
        }
        .food-tracker-macro-pill-bar-fill {
            display:block;
            height:100%;
            border-radius:999px;
            background:linear-gradient(90deg, var(--macro-start) 0%, var(--macro-end) 100%);
        }
        .food-tracker-macro-pill-protein {
            --macro-start:#ca62ff;
            --macro-end:#4eb9ff;
        }
        .food-tracker-macro-pill-carbs {
            --macro-start:#68c7ff;
            --macro-end:#7f73ff;
        }
        .food-tracker-macro-pill-fat {
            --macro-start:#6fe2d8;
            --macro-end:#7c87ff;
        }
        .food-tracker-macro-pill-fat .food-tracker-macro-pill-head {
            gap:8px;
        }
        .food-tracker-day-nav {
            display:grid;
            grid-template-columns:1fr auto 1fr;
            align-items:center;
            gap:10px;
            margin:4px 0 12px;
        }
        .food-tracker-day-nav-btn {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:8px;
            width:auto;
            min-width:96px;
            margin-top:0;
            border-radius:12px;
            background:rgba(55, 63, 85, 0.62);
            border-color:#49587a;
        }
        .food-tracker-day-nav-btn-today {
            min-width:96px;
            justify-self:center;
        }
        .food-tracker-day-nav-spacer {
            display:block;
            min-width:96px;
            height:1px;
            justify-self:center;
            pointer-events:none;
        }
        .food-tracker-day-nav-btn-today.food-tracker-date-chip,
        .food-tracker-day-nav-btn-today.food-tracker-date-chip.active {
            background:rgba(55, 63, 85, 0.62);
            border-color:#49587a;
            color:#fff;
        }
        .food-tracker-day-nav-btn:first-child {
            justify-self:start;
        }
        .food-tracker-day-nav-btn:last-child {
            justify-self:end;
        }
        .food-tracker-day-nav-btn img {
            width:14px;
            height:14px;
            object-fit:contain;
            flex:0 0 auto;
            filter:brightness(0) invert(1);
        }
        .food-tracker-icon-actions,
        .food-tracker-sheet-actions,
        .food-tracker-saved-actions,
        .food-tracker-editor-actions,
        .food-tracker-scanner-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .food-tracker-sheet-actions {
            margin-top:18px;
            padding-top:10px;
        }
        .food-tracker-icon-btn {
            display:flex;
            align-items:center;
            justify-content:center;
            gap:8px;
            flex:1 1 0;
            margin-top:0;
        }
        .food-tracker-icon-btn img {
            width:18px;
            height:18px;
            object-fit:contain;
        }
        .food-tracker-modal,
        .food-tracker-sheet {
            position:fixed;
            inset:0;
            padding:18px 14px 96px;
            background:rgba(6, 8, 12, 0.72);
            backdrop-filter:blur(8px);
            z-index:36;
            overflow:auto;
            display:flex;
            justify-content:center;
        }
        .food-tracker-modal {
            align-items:center;
        }
        .food-tracker-editor-modal {
            align-items:flex-start;
            padding-top:calc(env(safe-area-inset-top, 0px) + 92px);
        }
        .food-tracker-sheet {
            align-items:flex-start;
            padding-top:calc(env(safe-area-inset-top, 0px) + 26px);
        }
        .food-tracker-sheet-centered {
            align-items:center;
            padding-top:18px;
        }
        .food-tracker-search-sheet {
            align-items:flex-start;
            padding-top:calc(env(safe-area-inset-top, 0px) + 92px);
        }
        .food-tracker-search-sheet-with-keyboard {
            padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);
        }
        .food-tracker-editor-card,
        .food-tracker-sheet-card {
            max-width:620px;
            width:min(100%, 620px);
            margin:0 auto;
        }
        .food-tracker-add-sheet-card,
        .food-tracker-weight-card {
            max-width:460px;
            width:min(100%, 460px);
            margin:0 auto;
        }
        .food-tracker-ai-scan-card {
            max-width:620px;
            width:min(100%, 620px);
            margin:0 auto;
            max-height:calc(var(--app-visible-viewport-height) - 40px);
            overflow:auto;
            padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);
        }
        .food-tracker-ai-scan-modal {
            align-items:flex-start;
            padding-top:calc(env(safe-area-inset-top, 0px) + 92px);
        }
        .food-tracker-ai-scan-panel,
        .food-tracker-ai-scan-processing,
        .food-tracker-ai-scan-notes {
            display:flex;
            flex-direction:column;
            gap:12px;
        }
        .food-tracker-ai-scan-capture-actions {
            display:flex;
            gap:8px;
            flex-wrap:wrap;
            margin:14px 0 10px;
        }
        .food-tracker-ai-scan-review-head {
            display:flex;
            flex-direction:column;
            gap:4px;
            margin:8px 0 12px;
            color:#b9c6e2;
            font-size:12px;
        }
        .food-tracker-ai-scan-review-head strong,
        .food-tracker-ai-scan-result-head strong {
            color:#f4f7ff;
            font-size:16px;
        }
        .food-tracker-ai-scan-image-grid {
            display:grid;
            gap:10px;
        }
        .food-tracker-ai-scan-image-card {
            display:grid;
            grid-template-columns:96px minmax(0, 1fr);
            gap:12px;
            padding:12px;
            border:1px solid #34425e;
            border-radius:16px;
            background:linear-gradient(180deg, rgba(20, 27, 40, 0.98) 0%, rgba(15, 21, 31, 0.98) 100%);
        }
        .food-tracker-ai-scan-image-thumb-wrap {
            width:96px;
            height:96px;
            border-radius:14px;
            overflow:hidden;
            border:1px solid rgba(255, 255, 255, 0.12);
            background:#0d1119;
        }
        .food-tracker-ai-scan-image-thumb {
            width:100%;
            height:100%;
            object-fit:cover;
            display:block;
        }
        .food-tracker-ai-scan-image-copy {
            min-width:0;
            display:flex;
            flex-direction:column;
            gap:6px;
        }
        .food-tracker-ai-scan-image-copy strong {
            color:#f5f8ff;
            font-size:15px;
            line-height:1.2;
        }
        .food-tracker-ai-scan-image-copy span {
            color:#9eb1d5;
            font-size:12px;
            line-height:1.4;
        }
        .food-tracker-ai-scan-image-actions {
            grid-column:1 / -1;
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .food-tracker-ai-scan-result-head,
        .food-tracker-ai-scan-result-section {
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .food-tracker-ai-scan-result-head {
            margin:2px 0 4px;
        }
        .food-tracker-ai-scan-result-head span,
        .food-tracker-ai-scan-notes span {
            color:#aebddd;
            font-size:12px;
            line-height:1.45;
        }
        .food-tracker-ai-scan-result-section h4 {
            margin:0;
            color:#eef3ff;
            font-size:13px;
            letter-spacing:0.04em;
            text-transform:uppercase;
        }
        .food-tracker-ai-scan-macro-grid {
            margin-top:0;
        }
        .food-tracker-ai-scan-processing {
            align-items:center;
            justify-content:center;
            min-height:220px;
            text-align:center;
        }
        .food-tracker-ai-scan-processing strong {
            color:#f5f8ff;
            font-size:18px;
        }
        .food-tracker-ai-scan-spinner {
            width:36px;
            height:36px;
            border-radius:999px;
            border:3px solid rgba(255, 255, 255, 0.14);
            border-top-color:#79b4ff;
            animation:food-tracker-ai-spin 0.8s linear infinite;
        }
        @keyframes food-tracker-ai-spin {
            from { transform:rotate(0deg); }
            to { transform:rotate(360deg); }
        }
        .food-tracker-ai-scan-preview {
            position:fixed;
            inset:0;
            display:flex;
            align-items:center;
            justify-content:center;
            padding:18px 14px;
            background:rgba(4, 7, 11, 0.84);
            z-index:38;
        }
        .food-tracker-ai-scan-preview-card {
            width:min(100%, 720px);
            max-height:calc(100vh - 40px);
            overflow:auto;
        }
        .food-tracker-ai-scan-preview-image {
            width:100%;
            max-height:70vh;
            object-fit:contain;
            display:block;
            border-radius:16px;
            margin-top:12px;
            background:#0a0f16;
        }
        .food-tracker-sheet-card {
            max-height:calc(var(--app-visible-viewport-height) - 40px);
            overflow:auto;
            padding-bottom:16px;
        }
        .food-tracker-search-sheet-card {
            max-width:520px;
            max-height:calc(var(--app-viewport-height) - 112px);
        }
        .food-tracker-search-sheet-with-keyboard .food-tracker-search-sheet-card {
            max-height:calc(var(--app-viewport-height) - 112px);
        }
        .food-tracker-library-sheet-card {
            max-width:680px;
        }
        .food-tracker-add-choice-grid {
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:12px;
            margin-top:14px;
        }
        .food-tracker-add-choice-wide {
            grid-column:1 / -1;
        }
        .food-tracker-add-choice {
            width:100%;
            padding:16px;
            border-radius:16px;
            border:1px solid #32405c;
            background:#121823;
            text-align:left;
            color:inherit;
        }
        .food-tracker-add-choice strong {
            display:block;
            font-size:17px;
            font-weight:800;
            color:#f4f7ff;
        }
        .food-tracker-add-choice span {
            display:block;
            margin-top:6px;
            font-size:13px;
            line-height:1.45;
            color:#afbdd7;
        }
        .food-tracker-weight-entry {
            margin:14px 0 10px;
        }
        .food-tracker-weight-entry input {
            width:100%;
        }
        .food-tracker-serving-note {
            margin-top:12px;
        }
        .food-tracker-search-input-row,
        .food-tracker-library-search {
            margin:8px 0 0;
        }
        .food-tracker-search-input-row input[readonly] {
            cursor:text;
        }
        .food-tracker-search-keyboard {
            position:fixed;
            left:0;
            right:0;
            bottom:0;
            z-index:44;
            padding:10px 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
            background:linear-gradient(180deg, rgba(10, 13, 20, 0) 0%, rgba(10, 13, 20, 0.92) 18%, rgba(10, 13, 20, 0.98) 100%);
        }
        .food-tracker-search-keyboard-sheet {
            width:min(100%, 760px);
            margin:0 auto;
            border-top:1px solid #39455d;
            background:rgba(16, 21, 31, 0.98);
            box-shadow:0 -16px 34px rgba(0, 0, 0, 0.45);
            border-radius:18px 18px 0 0;
            padding:8px 8px 10px;
            backdrop-filter:blur(16px);
        }
        .food-tracker-search-keyboard .dialog-keyboard-rows {
            gap:6px;
        }
        .food-tracker-search-keyboard .dialog-keyboard-row {
            gap:4px;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn {
            flex:1 1 0;
            min-height:56px;
            padding:0 4px;
            border-radius:10px;
            font-size:18px;
            font-weight:650;
            background:#2a303c;
            border-color:#353d4c;
            position:relative;
            overflow:visible;
            transition:background-color 120ms ease, border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
            -webkit-tap-highlight-color:transparent;
            touch-action:manipulation;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn::after {
            content:attr(data-key-preview);
            position:absolute;
            left:50%;
            bottom:calc(100% - 2px);
            min-width:34px;
            height:38px;
            padding:0 10px;
            border-radius:12px 12px 10px 10px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:#4d556a;
            border:1px solid #6b7490;
            box-shadow:0 12px 24px rgba(0, 0, 0, 0.28);
            color:#f7f9ff;
            font-size:21px;
            font-weight:700;
            opacity:0;
            transform:translate(-50%, 8px) scale(0.86);
            transform-origin:50% 100%;
            pointer-events:none;
            transition:opacity 110ms ease, transform 110ms ease;
            z-index:2;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn:hover,
        .food-tracker-search-keyboard .dialog-keypad-btn:focus-visible {
            background:#343b49;
            border-color:#495264;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn:active,
        .food-tracker-search-keyboard .dialog-keypad-btn.is-pressed {
            background:#3c4455;
            border-color:#64708a;
            transform:translateY(1px);
            box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-previewable:active::after,
        .food-tracker-search-keyboard .dialog-keypad-btn-previewable.is-pressed::after {
            opacity:1;
            transform:translate(-50%, 0) scale(1);
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-alt {
            background:#434b60;
            color:#dfe7fb;
            font-size:16px;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-wide {
            flex:1.3 1 0;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-space {
            flex:3.8 1 0;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-compact {
            flex:0.78 1 0;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-icon {
            font-size:24px;
            line-height:1;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-shift {
            font-size:32px;
            line-height:1;
            font-weight:800;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-enter {
            background:#55607a;
            font-size:25px;
        }
        .food-tracker-search-keyboard .dialog-keypad-btn-active {
            background:#667191;
            border-color:#7986aa;
        }
        .food-tracker-library-search-row {
            display:grid;
            grid-template-columns:minmax(0, 1fr) auto;
            gap:10px;
            align-items:center;
        }
        .food-tracker-library-search-row input {
            margin:0;
        }
        .food-tracker-library-add-btn {
            width:42px;
            min-width:42px;
            height:42px;
            margin-top:0;
            border-radius:14px;
            font-size:22px;
            font-weight:800;
            line-height:1;
            color:#f4f7ff;
            background:rgba(35, 43, 59, 0.94);
            border-color:#42506c;
        }
        .food-tracker-library-search-gap {
            height:8px;
        }
        .food-tracker-search-section {
            margin-top:12px;
        }
        .food-tracker-search-section-head {
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:10px;
            margin-bottom:8px;
        }
        .food-tracker-search-section-head h4 {
            margin:0;
            font-size:14px;
            color:#eef3ff;
            flex:0 0 auto;
            white-space:nowrap;
        }
        .food-tracker-search-section-tools {
            display:flex;
            align-items:center;
            justify-content:flex-end;
            gap:8px;
            flex-wrap:wrap;
        }
        .food-tracker-search-section-head-saved {
            align-items:flex-start;
        }
        .food-tracker-search-section-tools-saved {
            flex:1 1 auto;
            min-width:0;
        }
        .food-tracker-search-section-tools-saved .food-tracker-search-state {
            margin-left:auto;
            text-align:right;
        }
        .food-tracker-search-state {
            display:inline-flex;
            align-items:center;
            gap:7px;
            font-size:12px;
            color:#9fb1d8;
        }
        .food-tracker-search-spinner {
            width:12px;
            height:12px;
            border-radius:50%;
            border:2px solid rgba(159,177,216,0.28);
            border-top-color:#9fb1d8;
            animation:food-tracker-search-spin 0.75s linear infinite;
            flex:0 0 auto;
        }
        .food-tracker-empty-loading {
            display:flex;
            align-items:center;
            justify-content:center;
            gap:8px;
        }
        @keyframes food-tracker-search-spin {
            from {
                transform:rotate(0deg);
            }
            to {
                transform:rotate(360deg);
            }
        }
        .food-tracker-inline-action {
            margin-top:0;
            padding:7px 10px;
            font-size:12px;
        }
        .food-tracker-log-card-head {
            align-items:flex-start;
        }
        .food-tracker-log-card-copy {
            flex:1 1 auto;
            min-width:0;
        }
        .food-tracker-log-head-actions {
            display:flex;
            align-items:center;
            gap:8px;
            flex:0 0 auto;
        }
        .food-tracker-add-menu-wrap {
            position:relative;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        .food-tracker-add-menu-wrap.is-open {
            z-index:38;
        }
        .food-tracker-log-head-btn {
            width:42px;
            min-width:42px;
            height:42px;
            padding:0;
            margin-top:0;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:12px;
        }
        .food-tracker-log-head-btn img {
            width:18px;
            height:18px;
            object-fit:contain;
            filter:brightness(0) invert(1);
        }
        .food-tracker-log-head-btn-primary {
            border-color:#6f66ff;
            background:linear-gradient(135deg, #8b56ff 0%, #5a78ff 100%);
            box-shadow:0 14px 24px rgba(98, 100, 255, 0.22);
        }
        .food-tracker-log-head-btn-primary.is-open {
            box-shadow:0 16px 28px rgba(98, 100, 255, 0.28);
        }
        .food-tracker-add-trigger-icon {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:100%;
            height:100%;
            font-size:28px;
            font-weight:500;
            line-height:1;
            color:#fff;
            transition:transform 100ms cubic-bezier(0, 0, 0.2, 1);
            transform:translateY(-1px);
        }
        .food-tracker-log-head-btn-primary.is-open .food-tracker-add-trigger-icon {
            transform:translateY(-1px) rotate(45deg);
        }
        .food-tracker-log-footer {
            margin-top:10px;
            padding-top:10px;
            border-top:1px solid rgba(61, 74, 102, 0.36);
        }
        .food-tracker-log-footer-btn {
            width:100%;
            margin-top:0;
        }
        .food-tracker-log-footer-btn:disabled {
            opacity:0.46;
            cursor:default;
        }
        .food-tracker-add-popout-scrim {
            position:fixed;
            inset:0;
            padding:0;
            margin:0;
            background:transparent;
            border:none;
            border-radius:0;
            -webkit-tap-highlight-color:transparent;
            user-select:none;
            z-index:35;
            transition:none;
        }
        .food-tracker-add-popout-scrim.hidden {
            pointer-events:none;
        }
        .food-tracker-add-popout {
            position:absolute;
            top:auto;
            bottom:calc(100% - 8px);
            right:calc(100% - 10px);
            width:min(180px, calc(100vw - 92px));
            padding:8px;
            border-radius:18px;
            border:1px solid rgba(61, 74, 102, 0.92);
            background:rgba(15, 20, 31, 0.98);
            box-shadow:0 20px 36px rgba(0, 0, 0, 0.36);
            backdrop-filter:blur(16px);
            -webkit-backdrop-filter:blur(16px);
            display:flex;
            flex-direction:column;
            gap:4px;
            z-index:38;
            animation:food-tracker-add-popout-in 140ms ease;
        }
        .food-tracker-add-menu-wrap .food-tracker-add-popout {
            animation:none;
        }
        .food-tracker-log-action-popout {
            position:fixed;
            top:12px;
            left:12px;
            right:auto;
            bottom:auto;
            width:min(188px, calc(100vw - 72px));
            z-index:39;
            opacity:0;
            pointer-events:none;
            transform:none;
            transform-origin:100% 100%;
            box-shadow:0 12px 22px rgba(0, 0, 0, 0.24);
            backdrop-filter:none;
            -webkit-backdrop-filter:none;
            transition:none;
            animation:none;
            will-change:auto;
        }
        .food-tracker-log-action-popout.is-visible {
            opacity:1;
            pointer-events:auto;
            transform:none;
        }
        .food-tracker-log-action-popout button {
            transition:none;
        }
        .food-tracker-add-menu-wrap.is-open-up .food-tracker-add-popout {
            bottom:calc(100% - 8px);
            top:auto;
        }
        .food-tracker-add-menu-wrap.is-open-down .food-tracker-add-popout {
            top:calc(100% - 4px);
            bottom:auto;
        }
        .food-tracker-add-popout-item {
            width:100%;
            margin-top:0;
            padding:10px 12px;
            border-radius:12px;
            border:1px solid transparent;
            background:transparent;
            color:#f4f7ff;
            font-size:14px;
            font-weight:700;
            text-align:left;
            touch-action:manipulation;
        }
        .food-tracker-add-popout-item:hover,
        .food-tracker-add-popout-item:focus-visible {
            background:rgba(66, 78, 107, 0.28);
            border-color:rgba(109, 127, 168, 0.32);
        }
        .food-tracker-add-popout-item.food-tracker-pressing {
            background:rgba(66, 78, 107, 0.28);
            border-color:rgba(109, 127, 168, 0.32);
        }
        @keyframes food-tracker-log-item-tap-flash {
            0% {
                border-color:#52688f;
                background:linear-gradient(180deg, rgba(33, 43, 61, 0.99) 0%, rgba(24, 31, 44, 0.99) 100%);
                box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 0 0 1px rgba(106, 130, 176, 0.14);
            }
            100% {
                border-color:#334058;
                background:linear-gradient(180deg, rgba(24, 32, 46, 0.98) 0%, rgba(19, 25, 36, 0.98) 100%);
                box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
            }
        }
        @keyframes food-tracker-add-popout-in {
            from {
                opacity:0;
                transform:translate3d(8px, 0, 0) scale(0.96);
            }
            to {
                opacity:1;
                transform:translate3d(0, 0, 0) scale(1);
            }
        }
        .food-tracker-search-results,
        .food-tracker-library-list {
            display:flex;
            flex-direction:column;
            gap:10px;
        }
        .food-tracker-recent-grid {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:8px;
        }
        .food-tracker-recent-tile {
            min-width:0;
            min-height:66px;
            padding:9px 8px;
            border:1px solid #2f3848;
            border-radius:14px;
            background:#121823;
            text-align:left;
            color:inherit;
            display:flex;
            flex-direction:column;
            justify-content:space-between;
            gap:10px;
            touch-action:manipulation;
        }
        .food-tracker-recent-tile.food-tracker-pressing {
            border-color:#52688f;
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 0 0 1px rgba(106, 130, 176, 0.14);
        }
        .food-tracker-recent-name {
            display:block;
            min-width:0;
            flex:1 1 auto;
            overflow:hidden;
            text-overflow:ellipsis;
            white-space:nowrap;
            font-size:12px;
            font-weight:800;
            color:#f4f7ff;
            line-height:1.2;
        }
        .food-tracker-recent-meta {
            display:block;
            font-size:10px;
            color:#9fb1d8;
            line-height:1.3;
        }
        .food-tracker-search-actions {
            justify-content:center;
            padding-top:8px;
        }
        .food-tracker-search-actions .action-btn {
            flex:0 1 auto;
            min-width:108px;
        }
        .food-tracker-search-result,
        .food-tracker-library-item {
            width:100%;
            padding:12px;
            border:1px solid #2f3848;
            border-radius:14px;
            background:#121823;
            text-align:left;
            color:inherit;
            touch-action:manipulation;
        }
        .food-tracker-search-result.food-tracker-pressing {
            border-color:#52688f;
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 0 0 1px rgba(106, 130, 176, 0.14);
        }
        .food-tracker-search-result-name {
            display:block;
            min-width:0;
            flex:1 1 auto;
            font-size:15px;
            font-weight:800;
            color:#f4f7ff;
        }
        .food-tracker-search-result-meta,
        .food-tracker-search-result-nutrition {
            display:block;
            margin-top:4px;
            font-size:12px;
            color:#b6c0d8;
            line-height:1.4;
        }
        .under,
        .tracker-info-cell strong.under,
        .tracker-week-diff.under { color:var(--compare-up); }
        .warn,
        .tracker-info-cell strong.warn,
        .tracker-week-diff.warn { color:var(--compare-down); }
        .over,
        .tracker-info-cell strong.over,
        .tracker-week-diff.over { color:var(--danger); }
        .neutral,
        .tracker-info-cell strong.neutral,
        .tracker-week-diff.neutral { color:#d7e2ff; }
        .section-title { margin-bottom:10px; color:var(--secondary); }
        .navbar {
            position:fixed;
            left:0;
            bottom:0;
            width:100%;
            background:rgba(18, 21, 30, 0.96);
            border-top:1px solid #2f3750;
            display:flex;
            align-items:stretch;
            justify-content:space-between;
            gap:0;
            padding:8px 10px calc(env(safe-area-inset-bottom, 0px) + 8px);
            z-index:30;
            backdrop-filter:blur(8px);
            box-shadow:0 -10px 28px rgba(0, 0, 0, 0.28);
        }
        .nav-item {
            flex:1 1 0;
            color:var(--muted);
            font-weight:700;
            cursor:pointer;
            text-align:center;
            font-size:11px;
            letter-spacing:0.02em;
            line-height:1.2;
            padding:4px 2px 0;
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            gap:5px;
            position:relative;
            min-width:0;
        }
        .nav-item img {
            width:22px;
            height:22px;
            object-fit:contain;
            display:block;
            margin:0 auto;
            opacity:0.82;
            filter:brightness(0) saturate(100%) invert(76%) sepia(6%) saturate(824%) hue-rotate(191deg) brightness(88%) contrast(86%);
            transition:transform 0.18s ease, opacity 0.18s ease, filter 0.18s ease;
        }
        .nav-item span {
            display:block;
            width:100%;
            text-align:center;
        }
        .nav-item.active {
            color:#c38aff;
        }
        .nav-item.active img {
            opacity:1;
            transform:translateY(-1px);
            filter:brightness(0) saturate(100%) invert(45%) sepia(89%) saturate(1771%) hue-rotate(232deg) brightness(102%) contrast(102%);
        }
        .nav-item.active::after {
            content:"";
            position:absolute;
            left:18px;
            right:18px;
            bottom:-3px;
            height:3px;
            border-radius:999px;
            background:linear-gradient(90deg, #a05dff 0%, #5f7cff 100%);
        }
        .nav-item.disabled { opacity:0.35; pointer-events:none; }
        @media (max-width: 560px) {
            .brand-logo { width:36px; height:36px; border-radius:8px; }
            h1 { font-size:20px; }
            .exercise-actions { width:100%; flex-direction:column; align-items:stretch; }
            .exercise-rest-inline { width:100%; }
            .exercise-rest-slider { width:100%; }
            .exercise-action-btn { width:100%; }
            .workout-add-exercise-btn { margin-bottom:108px; }
            .bodyweight-entry-row { grid-template-columns:1fr; }
            .exercise-machine-grid { grid-template-columns:1fr; }
            .tracker-main-grid,
            .tracker-form-grid,
            .tracker-settings-grid { grid-template-columns:1fr; }
            .tracker-settings-page-card .tracker-settings-row-two {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
            }
            .tracker-settings-page-card .tracker-settings-row-primary {
                grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
            }
            .tracker-settings-page-card .tracker-settings-row-three {
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:8px;
            }
            .tracker-settings-page-card .tracker-settings-field-head {
                min-height:32px;
            }
            .tracker-settings-page-card .form-group label {
                font-size:11px;
            }
            .tracker-settings-page-card input,
            .tracker-settings-page-card select {
                font-size:13px;
                min-height:42px;
                padding:0 10px;
            }
            .tracker-settings-page-card .settings-note {
                font-size:11px;
            }
            .tracker-settings-page-card .tracker-section-head-actions {
                width:100%;
            }
            .tracker-settings-tooltip {
                top:calc(env(safe-area-inset-top, 0px) + 10px);
                width:min(calc(100vw - 20px), 420px);
                font-size:12px;
            }
            .app-dialog-with-keypad {
                padding-top:max(12px, calc(env(safe-area-inset-top, 0px) + 12px));
                padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 340px);
            }
            .app-dialog-top-aligned {
                padding-top:max(16px, calc(env(safe-area-inset-top, 0px) + 16px));
            }
            .app-dialog-raised {
                padding-top:max(108px, calc(env(safe-area-inset-top, 0px) + 19vh));
            }
            .dialog-keypad-display {
                min-height:44px;
                font-size:22px;
            }
            .dialog-keypad-display.is-text {
                font-size:19px;
            }
            .dialog-keypad-wrap {
                padding:8px 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
            }
            .dialog-keypad-sheet {
                border-radius:16px 16px 0 0;
                padding:8px 8px 0;
            }
            .dialog-keyboard-rows {
                gap:6px;
            }
            .dialog-keyboard-row {
                gap:5px;
            }
            .dialog-keypad-btn {
                min-height:52px;
                font-size:18px;
            }
            .dialog-keypad-wrap .dialog-keypad-btn::after {
                min-width:34px;
                height:38px;
                font-size:20px;
            }
            .dialog-keypad-btn-alt {
                font-size:14px;
            }
            .dialog-keypad-btn-enter {
                font-size:20px;
            }
            .app-input-keyboard {
                padding:8px 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
            }
            .app-input-keyboard-sheet {
                border-radius:16px 16px 0 0;
                padding:8px 8px 10px;
            }
            .app-input-keyboard .dialog-keypad-btn::after {
                min-width:32px;
                height:36px;
                font-size:20px;
            }
            .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn {
                min-height:53px;
                font-size:17px;
            }
            .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-alt {
                font-size:15px;
            }
            .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-icon,
            .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-enter {
                font-size:22px;
            }
            .app-input-keyboard.app-input-keyboard-text .dialog-keypad-btn-shift {
                font-size:30px;
            }
            .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn {
                min-height:52px;
                font-size:18px;
            }
            .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn-alt {
                font-size:14px;
            }
            .app-input-keyboard.app-input-keyboard-numeric .dialog-keypad-btn-enter {
                font-size:20px;
            }
            .tracker-summary-grid { gap:8px; }
            .tracker-stat { min-height:94px; padding:12px; }
            .tracker-stat-value { font-size:17px; }
            .tracker-summary-head-metrics { width:100%; }
            .tracker-summary-head-metric {
                flex:1 1 calc(50% - 4px);
                justify-content:space-between;
                min-width:0;
            }
            .tracker-summary-head-value { font-size:12px; }
            .tracker-form-group-wide { grid-column:auto; }
            .tracker-date-control { gap:8px; }
            .app-date-input,
            .tracker-date-input { flex:1 1 auto; min-width:0; min-height:50px; padding:0 14px; }
            .tracker-date-shift { min-width:68px; }
            .tracker-date-shift-btn { padding:8px 6px; font-size:11px; }
            .tracker-section-head,
            .tracker-week-head {
                flex-direction:column;
                align-items:stretch;
            }
            .tracker-week-summary {
                flex-direction:row;
                align-items:flex-start;
            }
            .tracker-daily-columns,
            .tracker-daily-summary {
                grid-template-columns:minmax(0, 1.2fr) minmax(76px, 0.85fr) repeat(2, minmax(66px, 0.75fr));
                gap:6px;
            }
            .tracker-plan-actions,
            .tracker-history-toggle,
            .tracker-form-actions,
            .tracker-settings-toggle-group {
                width:100%;
            }
            .plans-shell-header,
            .food-tracker-topbar,
            .food-tracker-card-head,
            .food-tracker-saved-item,
            .food-tracker-library-item {
                flex-direction:column;
                align-items:stretch;
            }
            .plans-shell-actions {
                width:100%;
                justify-content:space-between;
                align-items:center;
                margin-left:0;
            }
            .plans-mode-toggle {
                flex:1 1 auto;
            }
            .food-tracker-log-item {
                grid-template-columns:minmax(0, 1fr) 86px;
                gap:10px;
            }
            .food-tracker-date-row {
                display:grid;
                grid-template-columns:56px minmax(0, 1fr) 56px;
                gap:6px;
            }
            .food-tracker-date-nav {
                gap:4px;
            }
            .food-tracker-date-arrow {
                width:32px;
                min-width:32px;
                height:32px;
            }
            .food-tracker-date-title {
                min-height:34px;
                padding:0 6px;
            }
            .food-tracker-date-title strong {
                font-size:18px;
            }
            .food-tracker-date-face-hint {
                font-size:11px;
            }
            .food-tracker-quick-cards {
                margin:6px 0 10px;
            }
            .food-tracker-quick-card {
                min-height:48px;
                padding:9px 8px;
                border-radius:16px;
            }
            .food-tracker-summary-bar-stat {
                padding:0 6px;
                gap:3px;
            }
            .food-tracker-summary-bar-label {
                font-size:8px;
            }
            .food-tracker-summary-bar-value {
                gap:4px;
                font-size:12px;
            }
            .food-tracker-day-nav {
                grid-template-columns:1fr auto 1fr;
                gap:8px;
                margin:2px 0 10px;
            }
            .food-tracker-day-nav-btn {
                min-width:88px;
            }
            .food-tracker-day-nav-btn-today {
                min-width:88px;
                padding-inline:12px;
            }
            .food-tracker-day-nav-btn-today.food-tracker-date-chip,
            .food-tracker-day-nav-btn-today.food-tracker-date-chip.active {
                padding-inline:12px;
            }
            .food-tracker-macro-grid,
            .food-tracker-editor-grid {
                grid-template-columns:1fr;
            }
            .food-tracker-editor-preview {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
            }
            .food-tracker-editor-card-manual {
                max-width:100%;
            }
            .food-tracker-editor-card {
                max-height:calc(var(--app-visible-viewport-height) - 116px);
            }
            .food-tracker-editor-entry-row {
                grid-template-columns:minmax(110px, 0.78fr) minmax(0, 1fr);
                gap:10px;
            }
            .food-tracker-editor-entry-row.no-quick {
                grid-template-columns:1fr;
            }
            .food-tracker-editor-entry-row.option-rich {
                grid-template-columns:1fr;
            }
            .food-tracker-editor-entry-row.no-quick .food-tracker-editor-entry-fields {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
            }
            .food-tracker-editor-entry-row.option-rich .food-tracker-editor-entry-fields {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
            }
            .food-tracker-editor-entry-field input,
            .food-tracker-editor-entry-field select {
                min-height:40px;
                padding:0 9px;
                font-size:13px;
            }
            .food-tracker-editor-entry-row:not(.compact):not(.no-quick) .food-tracker-editor-quick-grid {
                padding-top:12px;
            }
            .food-tracker-editor-quick-head {
                padding:0;
            }
            .food-tracker-editor-quick-head span {
                font-size:11px;
            }
            .food-tracker-editor-quick-head small {
                font-size:9px;
            }
            .food-tracker-editor-quick-btn {
                min-height:42px;
                padding:6px 8px;
            }
            .food-tracker-editor-quick-btn strong {
                font-size:13px;
            }
            .food-tracker-editor-compact-controls {
                grid-template-columns:1fr;
            }
            .food-tracker-editor-macro-inputs {
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:6px;
            }
            .food-tracker-editor-macro-field label,
            .food-tracker-editor-macro-field .food-tracker-editor-field-head label {
                font-size:10px;
            }
            .food-tracker-editor-macro-field input {
                min-height:38px;
                padding:0 6px;
                font-size:13px;
            }
            .food-tracker-editor-field-head {
                gap:4px;
            }
            .food-tracker-editor-tip-btn {
                width:16px;
                min-width:16px;
                height:16px;
                font-size:10px;
                top:-1px;
            }
            .food-tracker-editor-tooltip {
                top:calc(env(safe-area-inset-top, 0px) + 10px);
                width:min(calc(100vw - 20px), 420px);
                font-size:12px;
            }
            .food-tracker-editor-preview-compact-shell {
                grid-template-columns:1fr;
            }
            .food-tracker-editor-preview-inline {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
            }
            .food-tracker-editor-preview-stat {
                padding:10px 8px;
                text-align:center;
            }
            .food-tracker-editor-preview-stat span {
                margin-bottom:4px;
                font-size:10px;
            }
            .food-tracker-editor-preview-stat strong {
                font-size:15px;
            }
            .food-tracker-editor-preview-macro-row {
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:6px;
            }
            .food-tracker-editor-preview-hero {
                min-height:0;
            }
            .food-tracker-editor-preview-hero strong {
                font-size:32px;
            }
            .food-tracker-editor-preview-hero-head {
                margin-bottom:2px;
            }
            .food-tracker-editor-hero-edit {
                min-width:56px;
                padding:6px 8px;
                font-size:11px;
            }
            .food-tracker-editor-preview-macro-pill {
                padding:10px 8px;
            }
            .food-tracker-editor-preview-macro-pill span {
                margin-bottom:4px;
                font-size:10px;
            }
            .food-tracker-editor-preview-macro-pill strong {
                font-size:18px;
            }
            .food-tracker-editor-actions-compact {
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:6px;
            }
            .food-tracker-macro-strip {
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:8px;
            }
            .food-tracker-macro-pill {
                padding:10px 10px 11px;
            }
            .food-tracker-macro-pill-label {
                font-size:10px;
                letter-spacing:0.04em;
            }
            .food-tracker-macro-pill-head {
                gap:8px;
            }
            .food-tracker-macro-pill-head img {
                width:22px;
                height:22px;
            }
            .food-tracker-macro-pill-head strong {
                font-size:14px;
            }
            .food-tracker-date-tools {
                gap:6px;
                margin-top:6px;
            }
            .food-tracker-date-chip {
                min-width:72px;
                padding:7px 8px;
                font-size:11px;
            }
            .food-tracker-corner-btn {
                width:40px;
                height:40px;
            }
            .food-tracker-day-nav {
                margin:2px 0 10px;
            }
            .food-tracker-day-nav-btn {
                min-width:88px;
            }
            .food-tracker-log-card-head {
                flex-direction:row;
                align-items:flex-start;
            }
            .food-tracker-log-head-actions {
                width:auto;
                justify-content:flex-end;
            }
            .food-tracker-log-head-btn {
                width:40px;
                min-width:40px;
                height:40px;
            }
            .food-tracker-add-trigger-icon {
                font-size:26px;
            }
            .food-tracker-add-popout {
                width:min(168px, calc(100vw - 72px));
                right:calc(100% - 6px);
                bottom:calc(100% - 6px);
            }
            .food-tracker-log-action-popout {
                width:min(168px, calc(100vw - 56px));
                right:4px;
                left:auto;
            }
            .food-tracker-add-popout-item {
                padding:9px 10px;
                font-size:13px;
            }
            .food-tracker-log-calories {
                font-size:18px;
            }
            .food-tracker-log-meta {
                white-space:normal;
            }
            .food-tracker-log-group-head {
                align-items:flex-start;
                flex-direction:column;
            }
            .food-tracker-log-group-range {
                white-space:normal;
            }
            .food-tracker-log-item {
                grid-template-columns:minmax(0, 1fr) 86px;
                gap:14px;
                padding:14px 16px;
            }
            .food-tracker-log-name-row {
                flex-wrap:wrap;
            }
            .food-tracker-log-emoji {
                width:34px;
                height:34px;
                flex-basis:34px;
                font-size:28px;
            }
            .food-tracker-log-emoji.food-tracker-food-emoji-asset {
                width:38px;
                height:38px;
                flex:0 0 38px;
            }
            .food-tracker-log-side {
                min-width:86px;
                flex-basis:86px;
                align-items:center;
                padding-left:10px;
            }
            .food-tracker-log-group-side {
                gap:6px;
            }
            .food-tracker-log-group-side-label {
                display:none;
            }
            .food-tracker-log-cluster-body {
                margin-left:0;
                padding:12px;
            }
            .food-tracker-log-shell-nested .food-tracker-log-item {
                min-height:72px;
            }
            .food-tracker-log-delete {
                min-width:64px;
                padding:9px 10px;
                font-size:11px;
            }
            .nav-item img {
                width:20px;
                height:20px;
            }
            .food-tracker-barcode-row,
            .food-tracker-food-search,
            .settings-shortcuts-grid {
                grid-template-columns:1fr;
            }
            .food-tracker-add-choice-grid {
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:10px;
            }
            .food-tracker-recent-grid {
                gap:6px;
            }
            .food-tracker-recent-tile {
                min-height:62px;
                padding:8px 7px;
            }
            .food-tracker-recent-name {
                font-size:11px;
            }
            .food-tracker-recent-meta {
                font-size:9px;
            }
            .food-tracker-search-section-tools {
                width:100%;
                justify-content:space-between;
            }
            .food-tracker-search-section-tools.food-tracker-search-section-tools-saved {
                justify-content:flex-start;
            }
            .food-tracker-search-section-tools-saved .food-tracker-search-state {
                margin-left:0;
                text-align:left;
            }
            .settings-page-head {
                align-items:stretch;
            }
            .food-tracker-log-side {
                align-items:center;
            }
            .food-tracker-ring-inner strong {
                font-size:34px;
            }
            .food-tracker-modal,
            .food-tracker-sheet {
                padding:12px 12px 96px;
            }
            .food-tracker-modal {
                align-items:center;
            }
            .food-tracker-editor-modal {
                align-items:flex-start;
                padding-top:calc(env(safe-area-inset-top, 0px) + 69px);
            }
            .food-tracker-sheet {
                align-items:flex-start;
                padding-top:calc(env(safe-area-inset-top, 0px) + 18px);
            }
            .food-tracker-sheet-centered {
                align-items:center;
                padding-top:12px;
            }
            .food-tracker-search-sheet {
                align-items:flex-start;
                padding-top:calc(env(safe-area-inset-top, 0px) + 69px);
            }
            .food-tracker-search-sheet-with-keyboard {
                padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);
            }
            .food-tracker-search-sheet-card {
                max-height:calc(var(--app-viewport-height) - 108px);
            }
            .food-tracker-search-sheet-with-keyboard .food-tracker-search-sheet-card {
                max-height:calc(var(--app-viewport-height) - 108px);
            }
            .food-tracker-search-actions {
                gap:6px;
            }
            .food-tracker-search-actions .action-btn {
                min-width:94px;
                padding:8px 10px;
            }
            .food-tracker-search-keyboard {
                padding:8px 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
            }
            .food-tracker-search-keyboard-sheet {
                border-radius:16px 16px 0 0;
                padding:8px 8px 10px;
            }
            .food-tracker-search-keyboard .dialog-keypad-btn {
                min-height:53px;
                border-radius:10px;
                font-size:17px;
            }
            .food-tracker-search-keyboard .dialog-keypad-btn::after {
                min-width:32px;
                height:36px;
                font-size:20px;
            }
            .food-tracker-search-keyboard .dialog-keypad-btn-alt {
                font-size:15px;
            }
            .food-tracker-search-keyboard .dialog-keypad-btn-icon,
            .food-tracker-search-keyboard .dialog-keypad-btn-enter {
                font-size:22px;
            }
            .food-tracker-search-keyboard .dialog-keypad-btn-shift {
                font-size:30px;
            }
            .food-tracker-scanner-modal {
                padding:12px 12px 96px;
            }
            .food-tracker-ai-scan-modal {
                padding-top:calc(env(safe-area-inset-top, 0px) + 69px);
            }
            .food-tracker-ai-scan-image-card {
                grid-template-columns:1fr;
            }
            .food-tracker-ai-scan-image-thumb-wrap {
                width:100%;
                height:auto;
                aspect-ratio:4 / 3;
            }
            .food-tracker-ai-scan-capture-actions,
            .food-tracker-ai-scan-image-actions {
                flex-direction:column;
            }
            .tracker-setup-banner,
            .tracker-settings-hint {
                flex-direction:column;
            }
            .tracker-plan-actions .action-btn,
            .tracker-history-toggle .action-btn,
            .tracker-form-actions .action-btn,
            .tracker-form-actions .main-btn,
            .tracker-settings-toggle-group .action-btn,
            .tracker-settings-toggle-group .main-btn,
            .tracker-settings-save {
                flex:1 1 0;
            }
            .tracker-plan-card {
                flex-basis:132px;
                min-height:164px;
            }
            .tracker-plan-calories { font-size:24px; }
            .tracker-week-grid {
                grid-template-columns:36px repeat(7, minmax(0, 1fr));
                gap:4px;
            }
            .tracker-week-day,
            .tracker-week-row-label,
            .tracker-week-cell {
                min-height:28px;
                font-size:11px;
            }
            .exercise-swap-menu {
                left:auto;
                right:0;
                min-width:180px;
                max-width:min(260px, calc(100vw - 40px));
            }
            #workout-bottom-bar-host { bottom:54px; padding:0 8px calc(env(safe-area-inset-bottom, 0px) + 4px); }
            .workout-bottom-bar { grid-template-columns:minmax(0, 1.05fr) 40px minmax(0, 1.42fr) minmax(0, 0.88fr); }
            .workout-bottom-bar-history-edit { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto minmax(0, 0.9fr); }
            .workout-bottom-btn,
            .workout-bottom-finish-btn { font-size:11px; min-height:33px; padding:8px 6px; }
            .workout-bottom-history-toggle-btn { min-width:72px; padding:8px 8px; font-size:10px; }
            .workout-bottom-rest-wrap { border-radius:8px; }
            #workout-bottom-rest-start { width:40px; min-width:40px; }
            .workout-rest-presets { gap:6px; }
            .quick-plate-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
            .quick-plate-goal-row input { min-height:30px; padding:5px 6px; font-size:12px; }
            .workout-rest-time-grid { gap:6px; }
            .history-header { flex-direction:column; }
            .history-header-right { align-items:flex-start; width:100%; }
            .history-header-actions { justify-content:flex-start; }
            .history-stats-grid { grid-template-columns:1fr; }
            .effort-choice { min-height:112px; }
            .set-table-header,
            .set-row { grid-template-columns:30px 82px minmax(0,1fr) 72px 96px 28px; gap:6px; padding-left:6px; padding-right:6px; }
            .program-schedule-day-details-head-row,
            .workout-history-editor-toolbar,
            .workout-history-editor-entry-top {
                flex-direction:column;
                align-items:flex-start;
            }
            .program-schedule-day-details-actions {
                justify-content:flex-start;
            }
            .history-editor-set-row {
                grid-template-columns:repeat(2, minmax(0, 1fr));
            }
            .history-editor-set-number,
            .history-editor-set-target,
            .history-editor-check {
                grid-column:1 / -1;
            }
        }
