:root{--bg:#f6f8f6;--surface:#fff;--ink:#17231d;--muted:#718078;--line:#e4e9e6;--green:#168a50;--green-dark:#0d633b;--green-soft:#e9f6ee;--orange:#df7a15;--orange-soft:#fff1dc;--red:#cf3f45;--red-soft:#ffebec;--blue:#2475d0;--purple:#7b4bc4;--shadow:0 14px 40px #1a362714;--page-bg:#f8fbf9;--input-bg:#f8faf9;--accent-rgb:22 138 80;--accent-border:#a9dfc0;--hero-start:#087548;--hero-end:#035a37;--hero-deep:#043b25;--orbit-start:#6ae09c;--orbit-end:#159455;--silhouette-color:#a8dec0;--camera-mid:#244c37;--camera-deep:#10271a;--camera-edge:#07120c;--theme-preview-start:#2eb976;--theme-preview-end:#0b7043}[data-theme=sakura]{--bg:#fff9fc;--ink:#241a20;--muted:#8a7882;--line:#f3dce6;--green:#ff5f8f;--green-dark:#d83f70;--green-soft:#fff0f5;--page-bg:#fffafd;--input-bg:#fffbfd;--accent-rgb:255 95 143;--accent-border:#ffc6d8;--hero-start:#ff7da4;--hero-end:#ef5c89;--hero-deep:#c73568;--orbit-start:#ffb4cb;--orbit-end:#ff5f8f;--silhouette-color:#f3c1d4;--camera-mid:#754052;--camera-deep:#472431;--camera-edge:#211117;--theme-preview-start:#ffb3cb;--theme-preview-end:#f45f8d;--shadow:0 14px 40px #b2366217}[data-theme=ocean]{--bg:#f4f8fe;--ink:#1c2c40;--muted:#6e7f93;--line:#dce7f3;--green:#397bd7;--green-dark:#24589e;--green-soft:#eaf3ff;--page-bg:#f6f9ff;--input-bg:#f8fbff;--accent-rgb:57 123 215;--accent-border:#b7d2f5;--hero-start:#438de8;--hero-end:#205eae;--hero-deep:#173e76;--orbit-start:#86c9ff;--orbit-end:#347dd1;--silhouette-color:#bfd9f7;--camera-mid:#284b70;--camera-deep:#142b47;--camera-edge:#091525;--theme-preview-start:#78b9f7;--theme-preview-end:#2867ba;--shadow:0 14px 40px #2a4c7a14}[data-theme=obsidian]{--bg:#f6f6f5;--ink:#20252b;--muted:#737980;--line:#e2e2df;--green:#e4682e;--green-dark:#9e401b;--green-soft:#fff0e8;--orange:#b78018;--orange-soft:#fff5db;--page-bg:#f8f8f7;--input-bg:#fafaf9;--accent-rgb:228 104 46;--accent-border:#efc2ad;--hero-start:#303943;--hero-end:#151b22;--hero-deep:#0b0f14;--orbit-start:#ff9b61;--orbit-end:#d4511e;--silhouette-color:#d5d1cc;--camera-mid:#47423d;--camera-deep:#292724;--camera-edge:#121211;--theme-preview-start:#ff9b61;--theme-preview-end:#272e36;--shadow:0 14px 40px #22252817}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;transition:color .2s,background-color .2s}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.shell{width:min(1120px,100%);margin:0 auto;padding:0 24px 70px}.topbar{justify-content:space-between;align-items:center;gap:20px;height:76px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--green);width:38px;height:38px;box-shadow:0 8px 18px rgb(var(--accent-rgb) / .25);border-radius:12px;place-items:center;display:grid}.nav{align-items:center;gap:8px;display:flex}.nav a,.link-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 13px;font-weight:650}.nav a{align-items:center;gap:6px;display:inline-flex}.mobile-nav{display:none}.nav a:hover,.link-button:hover{color:var(--ink);background:#fff}.page-title{letter-spacing:-.04em;margin:18px 0 6px;font-size:clamp(28px,5vw,42px)}.subtitle{color:var(--muted);margin:0;line-height:1.6}.hero{grid-template-columns:1.2fr .8fr;gap:20px;margin:25px 0;display:grid}.today-panel{background:linear-gradient(135deg, var(--hero-start), var(--hero-end));color:#fff;min-height:225px;box-shadow:0 16px 45px rgb(var(--accent-rgb) / .22);border-radius:24px;flex-direction:column;justify-content:space-between;padding:30px;display:flex}.today-panel p{color:#ffffffc7;margin:8px 0}.today-panel h2{letter-spacing:-.03em;margin:0;font-size:30px}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:13px 18px;font-weight:750;display:inline-flex}.primary-button{color:var(--green-dark);background:#fff}.secondary-button{background:var(--green);color:#fff}.danger-button{background:var(--red-soft);color:var(--red)}.button-row{flex-wrap:wrap;gap:10px;display:flex}.progress-panel,.card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px}.progress-panel{padding:27px}.big-number{letter-spacing:-.05em;color:var(--green-dark);font-size:48px;font-weight:820;line-height:1}.monthly-duration{color:var(--muted);margin:12px 0 0;font-size:14px}.monthly-duration strong{color:var(--green-dark)}.progress-track{background:#edf2ef;border-radius:99px;height:10px;margin:22px 0 12px;overflow:hidden}.progress-fill{background:var(--green);border-radius:inherit;height:100%}.stat-row{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.calendar-card{padding:24px}.calendar-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.calendar-head h2{margin:0;font-size:22px}.calendar-duration{color:var(--green-dark);margin:5px 0 0;font-size:13px;font-weight:720}.month-controls{align-items:center;gap:8px;display:flex}.month-picker input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:10px 12px}.month-picker input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekday{text-align:center;color:var(--muted);padding:7px 0;font-size:13px}.calendar-day{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;min-height:94px;padding:10px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1a362714}.calendar-day.completed{background:var(--green-soft);border-color:var(--accent-border)}.calendar-day.in-progress,.calendar-day.expired{background:var(--orange-soft);border-color:#f2c98d}.calendar-day.absent{background:var(--red-soft);border-color:#f2b9bc}.calendar-day.inactive,.calendar-day.future,.calendar-day.voided{color:#9aa59f;background:#f5f7f6}.calendar-day.today{outline:2px solid var(--blue);outline-offset:1px}.day-number{font-size:15px;font-weight:760}.day-time{color:var(--muted);margin-top:18px;font-size:11px;line-height:1.45;display:block}.day-duration{color:var(--green-dark);margin-top:4px;font-size:10px;font-weight:800;display:block}.day-calories{color:#d86f48;align-items:center;gap:3px;font-size:9px;font-weight:780;display:inline-flex;position:absolute;bottom:8px;right:9px}.day-calories svg{width:10px;height:10px}.calendar-day.calorie-over .day-calories{color:#a93438;background:#ffe1df;border-radius:7px;padding:3px 5px}.day-weight{color:#426052;align-items:center;gap:3px;font-size:9px;font-weight:750;display:inline-flex;position:absolute;bottom:8px;left:9px}.day-weight svg{width:10px;height:10px}.day-note-dot{width:16px;height:16px;color:var(--green-dark);background:#ffffffb8;border-radius:6px;place-items:center;display:grid;position:absolute;bottom:7px;right:23px}.day-note-dot svg{width:10px;height:10px}.day-label{font-size:10px;font-weight:750;position:absolute;top:9px;right:8px}.corrected-dot{background:var(--purple);border-radius:50%;width:9px;height:9px;position:absolute;bottom:8px;right:8px}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:18px 2px 0;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#091c1280;place-items:end center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(640px,100%);max-height:88vh;padding:24px;overflow-y:auto;box-shadow:0 30px 80px #0000003d}.modal-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.modal-header h3{margin:0;font-size:22px}.photo-pair{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.photo-item img{aspect-ratio:4/3;object-fit:cover;background:#eef2ef;border-radius:14px;width:100%}.photo-item p{color:var(--muted);margin:7px 2px 0;font-size:13px}.photo-item p strong{color:var(--ink)}.recent-photo-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.workout-summary{background:var(--green-soft);color:var(--muted);border-radius:14px;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding:15px 16px;font-size:13px;display:flex}.workout-summary strong{color:var(--green-dark);margin-left:auto}.daily-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.daily-detail-grid>div{border:1px solid var(--line);background:var(--input-bg);border-radius:14px;min-width:0;padding:14px 15px}.daily-detail-grid span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.daily-detail-grid span svg{width:14px;height:14px;color:var(--green)}.daily-detail-grid .meal-detail span svg{color:#d86f48}.daily-detail-grid strong{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;font-size:14px;line-height:1.55;display:block}.daily-detail-grid .meal-detail small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.daily-detail-grid .meal-detail.over-limit{background:#fff3f1;border-color:#f0b1ad}.daily-detail-grid .meal-detail.over-limit strong,.daily-detail-grid .meal-detail.over-limit small{color:#a93438}.calendar-meal-details{border:1px solid var(--line);background:#fbfcfb;border-radius:17px;margin-top:15px;padding:15px}.calendar-meal-details>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-meal-details h4{margin:0;font-size:15px}.calendar-meal-details header p{color:var(--muted);margin:4px 0 0;font-size:10px}.calendar-meal-details header>a,.calendar-meal-empty a{color:var(--green-dark);background:var(--green-soft);white-space:nowrap;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:760;text-decoration:none}.calendar-meal-details>div{gap:8px;margin-top:11px;display:grid}.calendar-meal-details article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:7px;display:grid}.calendar-meal-details article>a,.calendar-meal-placeholder{color:#d86f48;background:#fff1e8;border-radius:10px;place-items:center;width:54px;height:54px;display:grid;overflow:hidden}.calendar-meal-details article img{object-fit:cover;width:100%;height:100%}.calendar-meal-placeholder svg{width:20px}.calendar-meal-details article>div{min-width:0}.calendar-meal-details article em{color:#a5532f;background:#fff1e8;border-radius:6px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:780}.calendar-meal-details article strong,.calendar-meal-details article small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.calendar-meal-details article strong{margin-top:4px;font-size:12px}.calendar-meal-details article small{color:var(--muted);margin-top:3px;font-size:9px}.calendar-meal-details article>b{color:#a5532f;white-space:nowrap;font-size:14px}.calendar-meal-details article>b small{text-align:right;margin-top:2px}.calendar-calorie-reference{color:var(--muted);margin:10px 2px 0;font-size:9px}.calendar-meal-empty{border:1px dashed var(--line);color:var(--muted);border-radius:14px;align-items:center;gap:8px;margin-top:15px;padding:13px 14px;font-size:11px;display:flex}.calendar-meal-empty svg{color:#d86f48;width:16px}.calendar-meal-empty a{margin-left:auto}.login-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:linear-gradient(145deg,#0b6e3c,#20b86d);flex-direction:column;justify-content:space-between;padding:clamp(35px,7vw,95px);display:flex;overflow:hidden}.login-visual h1{letter-spacing:-.065em;margin:0;font-size:clamp(46px,8vw,84px);line-height:.95}.login-visual p{color:#ffffffc7;max-width:490px;font-size:18px;line-height:1.7}.login-privacy{text-align:center;color:var(--muted);margin:18px 0 0;font-size:12px}.login-form-wrap{place-items:center;padding:30px;display:grid}.form-card{width:min(410px,100%)}.form-card h2{margin:0 0 8px;font-size:32px}.field{gap:7px;margin:18px 0;display:grid}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:11px;outline:none;width:100%;padding:13px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.form-card .secondary-button{width:100%;margin-top:8px}.error{color:var(--red);background:var(--red-soft);border-radius:10px;padding:10px 12px;font-size:14px}.camera-page{color:#fff;background:#07130d;flex-direction:column;min-height:100vh;display:flex}.camera-header{justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.camera-mode-switch{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;width:min(430px,100% - 36px);margin:0 auto 14px;padding:4px;display:grid}.camera-mode-switch.single{grid-template-columns:1fr}.camera-mode-switch button{color:#ffffff9e;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:720;display:inline-flex}.camera-mode-switch button.active{color:var(--green-dark);background:#fff;box-shadow:0 5px 16px #0000002e}.viewfinder{flex:1;place-items:center;width:min(740px,100%);margin:0 auto;display:grid;position:relative;overflow:hidden}.viewfinder video,.viewfinder img{object-fit:contain;width:100%;max-height:calc(100vh - 175px)}.upload-placeholder{color:#fff;cursor:pointer;background:#ffffff0e;border:1px dashed #ffffff47;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(520px,100% - 36px);min-height:280px;padding:36px;display:flex}.upload-placeholder span{background:#ffffff1f;border-radius:20px;place-items:center;width:62px;height:62px;display:grid}.upload-placeholder strong{font-size:20px}.upload-placeholder small{color:#ffffff8c}.camera-error{color:#ffd5d6;background:#cf3f452b;border:1px solid #ff82883d;border-radius:14px;max-width:420px;margin:20px;padding:18px;line-height:1.65}.camera-inline-error{color:#ffd5d6;text-align:center;width:min(520px,100% - 36px);margin:10px auto 0;font-size:14px}.camera-controls{justify-content:center;gap:14px;padding:20px;display:flex}.camera-controls button:not(.shutter){min-width:150px;min-height:50px}.gallery-action{width:min(360px,100%)}.shutter{cursor:pointer;background:#fff;border:6px solid #ffffff4d;border-radius:50%;width:70px;height:70px;box-shadow:0 0 0 3px #fff}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.admin-grid{grid-template-columns:240px 1fr;gap:22px;display:grid}.admin-sidebar{align-self:start;padding:18px;position:sticky;top:18px}.admin-sidebar button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;padding:11px;display:flex}.admin-sidebar button.active{background:var(--green-soft);color:var(--green-dark);font-weight:750}.admin-content{gap:22px;min-width:0;display:grid}.admin-section{min-width:0;padding:24px}.admin-section>h2{margin:0}.admin-section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.admin-section-head h2{margin:0;font-size:22px}.admin-month-input{border:1px solid var(--line);width:auto;max-width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.admin-empty{color:var(--muted);text-align:center;padding:28px 0 8px}.admin-member-list,.audit-card-list{display:none}.admin-actions{flex-wrap:nowrap}.admin-user-toolbar{grid-template-columns:minmax(220px,1fr) 170px auto;align-items:center;gap:12px;margin:-2px 0 18px;display:grid}.admin-search{border:1px solid var(--line);background:var(--input-bg);min-height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:9px;padding:0 13px;display:flex}.admin-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0}.admin-user-toolbar select{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px}.admin-filter-count{color:var(--muted);white-space:nowrap;font-size:12px}.member-state-stack{justify-items:end;gap:6px;display:grid}.account-state.warning{color:#9a5a00;background:var(--orange-soft)}.admin-user-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d1f1685;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-user-modal{background:var(--page-bg);width:min(760px,100%);max-height:min(900px,100svh - 48px);box-shadow:0 28px 80px rgb(var(--accent-rgb) / .18);border-radius:24px;overflow-y:auto}.admin-user-modal-head{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 18px;display:flex;position:sticky;top:0}.admin-user-modal-head h2{margin:2px 0;font-size:27px}.admin-user-modal-head p{color:var(--muted);margin:0}.admin-user-kicker{color:var(--green);letter-spacing:.12em;font-size:11px;font-weight:800}.admin-user-quick-actions{grid-template-columns:1fr 1fr;gap:10px;padding:20px 26px 0;display:grid}.admin-user-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:16px 26px 0;display:grid}.admin-user-summary>div{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:13px}.admin-user-summary span{color:var(--muted);font-size:11px;display:block}.admin-user-summary strong{overflow-wrap:anywhere;margin-top:5px;font-size:14px;display:block}.admin-user-form{border:1px solid var(--line);background:#fff;border-radius:18px;margin:16px 26px 0;padding:20px}.admin-user-form h3,.admin-user-account-actions h3{margin:0 0 4px}.admin-user-form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.admin-user-note{color:var(--muted);margin:3px 0 15px;font-size:12px;line-height:1.55}.admin-save-user{width:100%}.admin-user-account-actions{background:snow;border:1px solid #f0dedb;border-radius:18px;margin:16px 26px 26px;padding:20px}.admin-user-account-actions>div:first-child p{color:var(--muted);margin:4px 0 15px;font-size:12px}.admin-user-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.admin-user-action-grid button{min-width:0}.new-user-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.new-user-submit{align-self:end;margin-bottom:18px}.error.success{color:var(--green-dark);background:var(--green-soft)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 12px}th{color:var(--muted);text-transform:uppercase;font-size:12px}.status-pill{background:var(--green-soft);color:var(--green-dark);border-radius:99px;padding:5px 9px;font-size:12px;font-weight:750}.status-pill.pending{background:var(--orange-soft);color:var(--orange)}@media (max-width:760px){body{background:#f7f9f7}.shell{padding:0 18px 106px}.topbar{height:70px}.brand{font-size:15px}.brand-mark{width:34px;height:34px;box-shadow:none;border-radius:11px}.topbar .link-button{border:1px solid var(--line);background:#fff;place-items:center;width:38px;height:38px;padding:0;display:grid}.topbar .link-button svg{margin:0}.topbar .link-button{font-size:0}.nav a{display:none}.mobile-nav{z-index:25;padding:9px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top:1px solid #14322214;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #152e200f}.mobile-nav.user-mobile-nav,.mobile-nav.admin-mobile-nav{grid-template-columns:repeat(6,1fr)}.mobile-nav a{color:#87938c;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:650;transition:color .15s;display:flex}.mobile-nav a.active{color:var(--green-dark)}.mobile-nav svg{stroke-width:1.9px;width:21px;height:21px}.hero,.admin-grid{grid-template-columns:1fr}.login-page{background:#f7faf8;flex-direction:column;min-height:100svh;padding:0;display:flex;overflow-x:hidden}.login-visual{min-height:auto;color:var(--ink);background:0 0;padding:26px 24px 24px;display:block;position:relative;overflow:visible}.login-visual:after{content:"";z-index:0;background:#dff2e7;border-radius:50%;width:170px;height:170px;position:absolute;top:-70px;right:-85px}.login-visual .brand,.login-message{z-index:1;position:relative}.login-visual .brand-mark{background:var(--green)!important;color:#fff!important}.login-message{margin-top:54px}.login-visual h1{letter-spacing:-.055em;color:var(--ink);margin:0;font-size:40px;line-height:1.08}.login-visual p{color:var(--muted);margin:15px 0 0;font-size:15px;line-height:1.65}.login-form-wrap{flex:1;padding:16px 24px 34px;display:block}.login-form{width:100%}.form-card.login-form h2{letter-spacing:-.03em;font-size:24px}.login-form .field{margin:17px 0}.login-form .field label{font-size:13px}.login-form .field input{background:#fff;border-color:#dfe6e2;border-radius:14px;height:52px;padding:0 15px}.login-form .secondary-button{height:52px;box-shadow:0 10px 24px rgb(var(--accent-rgb) / .18);border-radius:14px;margin-top:4px}.page-title{letter-spacing:-.045em;margin-top:14px;font-size:28px}.hero{gap:12px;margin:20px 0 24px}.today-panel{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));color:#fff;min-height:0;box-shadow:0 16px 35px rgb(var(--accent-rgb) / .16);border-radius:22px;gap:22px;padding:22px}.today-panel h2{font-size:24px;line-height:1.25}.today-panel p{font-size:13px}.today-panel .primary-button{background:#f4fff8;border-radius:14px;min-height:50px}.progress-panel{box-shadow:none;border-radius:20px;padding:20px 21px}.big-number{font-size:40px}.calendar-card{box-shadow:none;border-radius:22px;padding:18px 12px 16px}.calendar-head{margin-bottom:15px;padding:0 5px}.calendar-head h2{font-size:19px}.month-controls{gap:3px}.icon-button{background:#f4f7f5;border:0;width:35px;height:35px}.weekdays,.calendar-grid{gap:2px}.weekday{padding:5px 0 9px;font-size:11px}.calendar-day{aspect-ratio:auto;min-height:52px;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding:0;display:flex;overflow:visible;background:0 0!important}.calendar-day:hover{box-shadow:none;transform:none}.calendar-day .day-number{border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;display:grid;position:relative}.calendar-day.completed .day-number{background:var(--green);color:#fff}.calendar-day.in-progress .day-number,.calendar-day.expired .day-number{color:#573209;background:#f6b65e}.calendar-day.absent .day-number:after{content:"";background:#d65a60;border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px}.calendar-day.today{outline:none}.calendar-day.today .day-number{box-shadow:0 0 0 2px var(--blue)}.day-time{display:none}.day-duration{white-space:nowrap;min-height:10px;margin:0;font-size:8px;line-height:1}.day-calories{white-space:nowrap;margin-top:-1px;font-size:8px;line-height:1;position:static}.day-calories svg{display:none}.day-weight{white-space:nowrap;margin-top:-1px;font-size:8px;line-height:1;position:static}.day-weight svg{display:none}.day-note-dot{background:var(--green);border-radius:50%;width:6px;height:6px;bottom:5px;left:4px;right:auto}.day-note-dot svg,.day-label{display:none}.corrected-dot{width:6px;height:6px;bottom:5px;right:4px}.legend{justify-content:center;gap:10px;margin-top:14px;font-size:10px}.legend i{width:7px;height:7px}.modal-backdrop{align-items:end;padding:0}.modal{padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;max-height:84svh}.photo-pair{grid-template-columns:1fr}.workout-summary{gap:5px;display:grid}.workout-summary strong{margin-left:0}.daily-detail-grid{grid-template-columns:1fr}.camera-header{padding:14px 12px}.camera-header .link-button{padding-left:5px;padding-right:5px}.camera-mode-switch{margin-bottom:10px}.viewfinder video,.viewfinder img{max-height:calc(100svh - 220px)}.upload-placeholder{min-height:250px}.camera-controls{padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.camera-controls button:not(.shutter){flex:1;min-width:0}.admin-grid{gap:14px}.admin-sidebar{box-shadow:none;scrollbar-width:none;border-radius:16px;padding:5px;display:flex;position:static;overflow-x:auto}.admin-sidebar::-webkit-scrollbar{display:none}.admin-sidebar button{white-space:nowrap;width:auto;min-height:42px;padding:9px 12px}.admin-sidebar button svg{width:16px}.admin-content{gap:14px}.admin-section{box-shadow:none;border-radius:20px;padding:20px 16px;overflow:hidden}.admin-section-head{flex-direction:column;align-items:stretch}.admin-section-head h2{font-size:21px}.admin-month-input{width:100%;min-height:46px}.admin-user-toolbar{grid-template-columns:1fr;gap:9px;margin-top:-4px}.admin-user-toolbar select{width:100%}.admin-filter-count{padding-left:2px}.admin-desktop-table{display:none}.admin-member-list,.audit-card-list{gap:12px;display:grid}.admin-member-card{border:1px solid var(--line);background:#fbfcfb;border-radius:17px;padding:16px}.member-card-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.member-card-head h3{margin:0;font-size:18px}.member-card-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.account-state{color:var(--muted);background:#ecefed;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:750}.account-state.active{background:var(--green-soft);color:var(--green-dark)}.member-primary-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.member-primary-stats>div{background:#fff;border:1px solid #edf0ee;border-radius:13px;min-width:0;padding:12px}.member-primary-stats span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.member-primary-stats strong{color:var(--green-dark);margin-top:7px;font-size:16px;display:block}.member-secondary-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.member-secondary-stats span{color:var(--muted);font-size:11px}.member-secondary-stats strong{color:var(--ink);margin-top:3px;font-size:13px;display:block}.member-meta{border-top:1px solid var(--line);color:var(--muted);gap:4px;margin-top:13px;padding-top:12px;font-size:12px;display:grid}.member-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.member-actions button{min-width:0;min-height:42px;padding:9px;font-size:12px}.member-actions .secondary-button{grid-column:1/-1}.admin-user-modal-backdrop{align-items:end;padding:0}.admin-user-modal{width:100%;max-height:calc(100svh - 12px);padding-bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0}.admin-user-modal-head{padding:20px 18px 16px}.admin-user-modal-head h2{font-size:23px}.admin-user-quick-actions{padding:16px 16px 0}.admin-user-summary{grid-template-columns:1fr 1fr;padding:13px 16px 0}.admin-user-form{margin:13px 16px 0;padding:17px 15px}.admin-user-form-grid{grid-template-columns:1fr;gap:0}.admin-user-account-actions{margin:13px 16px 18px;padding:17px 15px}.admin-user-action-grid{grid-template-columns:1fr}.new-user-form{grid-template-columns:1fr;gap:0}.new-user-form .field{margin:14px 0 0}.new-user-form input{border-radius:13px;min-width:0;height:48px}.new-user-submit{margin:16px 0 0}.new-user-submit .secondary-button{width:100%;min-height:48px}.audit-card{border:1px solid var(--line);background:#fbfcfb;border-radius:15px;padding:15px}.audit-card>div{justify-content:space-between;align-items:start;gap:10px;display:flex}.audit-card time{color:var(--muted);flex:none;font-size:10px}.audit-card dl{gap:7px;margin:12px 0 0;display:grid}.audit-card dl div{grid-template-columns:56px 1fr;gap:8px;display:grid}.audit-card dt{color:var(--muted);font-size:12px}.audit-card dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px}}.admin-shell{width:min(1040px,100%)}.admin-v2{gap:18px;padding:16px 0 24px;display:grid}.admin-v2 button,.admin-v2 input,.admin-v2 select,.admin-v2 textarea{font:inherit}.admin-v2-header{justify-content:space-between;align-items:center;gap:18px;min-height:78px;display:flex}.admin-v2-header h1{letter-spacing:-.045em;margin:0;font-size:34px}.admin-v2-header p{color:var(--muted);margin:7px 0 0;font-size:14px}.admin-add-button,.admin-inline-add{cursor:pointer;color:#fff;background:var(--green);min-height:46px;box-shadow:0 10px 24px rgb(var(--accent-rgb) / .18);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-weight:760;display:inline-flex}.admin-add-button svg,.admin-inline-add svg{width:18px;height:18px}.admin-v2-tabs{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(4,1fr);padding:5px;display:grid}.admin-v2-tabs button{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:720;display:flex}.admin-v2-tabs button.active{color:var(--green-dark);background:var(--green-soft)}.admin-v2-tabs svg{width:17px;height:17px}.admin-toast{z-index:160;top:max(18px,env(safe-area-inset-top));width:min(520px,100% - 32px);min-height:52px;color:var(--green-dark);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4fff8f7;border:1px solid #bfe4cf;border-radius:16px;grid-template-columns:22px 1fr 32px;align-items:center;gap:9px;padding:12px 12px 12px 15px;font-size:13px;font-weight:680;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 45px #08301b29}.admin-toast>svg{width:20px}.admin-toast button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.admin-toast button svg{width:17px}.admin-overview{grid-template-columns:minmax(0,1.4fr) minmax(310px,.7fr);align-items:start;gap:18px;display:grid}.admin-overview-hero{color:#fff;background:linear-gradient(145deg,var(--hero-start) 0%,var(--hero-end) 66%,var(--hero-deep) 100%);min-height:226px;box-shadow:0 20px 45px rgb(var(--accent-rgb) / .18);border-radius:28px;justify-content:space-between;align-items:center;padding:30px;display:flex;position:relative;overflow:hidden}.admin-overview-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:260px;height:260px;position:absolute;top:-100px;right:-70px;box-shadow:0 0 0 42px #ffffff09,0 0 0 84px #ffffff06}.admin-overview-hero>*{z-index:1;position:relative}.admin-overview-hero p{color:#ffffffb3;margin:0 0 16px;font-size:13px}.admin-overview-hero h2{letter-spacing:-.055em;margin:0;font-size:48px;line-height:1}.admin-overview-hero h2 span{color:#fffc;letter-spacing:-.02em;font-size:20px}.admin-overview-hero small{color:#ffffff94;margin-top:16px;font-size:12px;display:block}.admin-team-ring{--progress:0%;background:conic-gradient(var(--orbit-start) var(--progress),#ffffff21 0);border-radius:50%;flex:none;place-items:center;width:112px;height:112px;display:grid;position:relative}.admin-team-ring:after{content:"";background:var(--hero-end);border-radius:50%;position:absolute;inset:9px}.admin-team-ring span{z-index:1;font-size:22px;font-weight:820}.admin-metric-strip{border:1px solid var(--line);background:#fff;border-radius:22px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding:7px;display:grid}.admin-metric-strip>div{min-width:0;padding:18px 22px}.admin-metric-strip>div+div{border-left:1px solid var(--line)}.admin-metric-strip span{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.admin-metric-strip span svg{width:16px;height:16px;color:var(--green)}.admin-metric-strip strong{overflow-wrap:anywhere;letter-spacing:-.03em;margin-top:10px;font-size:25px;display:block}.admin-metric-strip small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.admin-reminder-control{border:1px solid var(--line);background:#fff;border-radius:24px;grid-column:1/-1;padding:24px}.admin-reminder-control>header{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;display:grid}.admin-reminder-control>header>span{width:46px;height:46px;color:var(--green);background:var(--green-soft);border-radius:15px;place-items:center;display:grid}.admin-reminder-control>header svg{width:21px}.admin-reminder-control h2{margin:0;font-size:19px}.admin-reminder-control header p{color:var(--muted);margin:4px 0 0;font-size:10px}.admin-reminder-control header>strong{color:var(--green-dark);background:var(--green-soft);border-radius:10px;padding:7px 10px;font-size:11px}.admin-reminder-control-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:14px;margin-top:18px;display:grid}.admin-reminder-control-grid>form,.admin-reminder-now{border:1px solid var(--line);background:#fbfcfb;border-radius:17px;padding:17px}.admin-reminder-counts{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.admin-reminder-counts label,.admin-reminder-reason,.admin-reminder-now label{gap:6px;display:grid}.admin-reminder-counts span,.admin-reminder-reason span,.admin-reminder-now label span{color:var(--muted);font-size:9px;font-weight:730}.admin-reminder-counts input,.admin-reminder-reason input,.admin-reminder-now input{border:1px solid var(--line);width:100%;min-width:0;min-height:43px;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:0 11px}.admin-reminder-counts input:focus,.admin-reminder-reason input:focus,.admin-reminder-now input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.admin-reminder-reason{margin-top:10px}.admin-reminder-save,.admin-reminder-now button{cursor:pointer;color:#fff;background:var(--green);border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:43px;margin-top:10px;padding:0 13px;font-size:11px;font-weight:770;display:inline-flex}.admin-reminder-save svg,.admin-reminder-now button svg{width:16px}.admin-reminder-save:disabled,.admin-reminder-now button:disabled{opacity:.55;cursor:wait}.admin-reminder-now>div{align-items:flex-start;gap:9px;display:flex}.admin-reminder-now>div>svg{width:19px;color:var(--green);flex:none}.admin-reminder-now strong,.admin-reminder-now small{display:block}.admin-reminder-now strong{font-size:12px}.admin-reminder-now small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.admin-reminder-now label{margin-top:12px}.admin-reminder-now button{width:100%}.admin-reminder-result{color:var(--green-dark);background:var(--green-soft);border-radius:11px;margin:13px 0 0;padding:10px 11px;font-size:10px;font-weight:680}.admin-focus-section,.admin-members-page,.admin-issues-page,.admin-audits-page{border:1px solid var(--line);background:#fff;border-radius:24px;min-width:0;padding:24px}.admin-focus-section:nth-of-type(3){grid-column:1}.admin-focus-section:nth-of-type(4){grid-area:1/2;margin-top:244px}.admin-section-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.admin-section-title h2{letter-spacing:-.025em;margin:0;font-size:21px}.admin-section-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.admin-section-title>button:not(.admin-inline-add){color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:7px 0;font-size:12px;font-weight:760;display:flex}.admin-section-title>button svg{width:16px}.admin-issue-list,.admin-member-compact-list{margin-top:16px;display:grid}.admin-issue-row,.admin-member-compact-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;width:100%;min-width:0;padding:13px 4px;display:grid}.admin-issue-row{grid-template-columns:40px minmax(0,1fr) 22px;gap:11px}.admin-issue-row>span{color:#c47716;background:#fff3df;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.admin-issue-row.danger>span{color:#d14f55;background:#ffebec}.admin-issue-row.info>span{color:#3d72bd;background:#eaf2ff}.admin-issue-row>span svg{width:18px}.admin-issue-row div,.admin-member-compact-list>button div{min-width:0}.admin-issue-row strong,.admin-issue-row small,.admin-member-compact-list strong,.admin-member-compact-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-issue-row strong{font-size:13px}.admin-issue-row small{color:var(--muted);margin-top:4px;font-size:10px}.admin-issue-row>svg,.admin-member-compact-list>button>svg,.admin-member-directory-row>svg{color:#aeb7b2;width:18px}.admin-member-compact-list>button{grid-template-columns:42px minmax(0,1fr) auto 19px;gap:10px}.admin-avatar{width:40px;height:40px;color:var(--green-dark);background:linear-gradient(145deg,#e7f8ee,#ccebd9);border-radius:13px;flex:none;place-items:center;font-size:15px;font-weight:820;display:grid}.admin-avatar.large{color:#fff;background:#ffffff29;border-radius:18px;width:58px;height:58px;font-size:22px}.admin-member-compact-list>button div strong{font-size:13px}.admin-member-compact-list>button div small{color:var(--muted);margin-top:4px;font-size:10px}.admin-member-compact-list>button>span:last-of-type{color:#9b621b;white-space:nowrap;background:#fff4df;border-radius:8px;padding:5px 7px;font-size:9px;font-weight:760}.admin-member-compact-list>button>span.done{color:var(--green-dark);background:var(--green-soft)}.admin-clear-state{min-height:110px;color:var(--green-dark);background:#f2faf5;border-radius:17px;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:20px;display:flex}.admin-clear-state>svg{width:30px}.admin-clear-state strong,.admin-clear-state span{display:block}.admin-clear-state span{color:var(--muted);margin-top:4px;font-size:11px}.admin-clear-state.large{min-height:260px}.admin-members-page,.admin-issues-page,.admin-audits-page{padding:28px}.admin-member-toolbar{grid-template-columns:minmax(0,1fr) 160px;gap:10px;margin-top:22px;display:grid}.admin-member-toolbar label,.admin-audit-search{border:1px solid var(--line);min-height:48px;color:var(--muted);background:var(--input-bg);border-radius:14px;align-items:center;gap:9px;padding:0 14px;display:flex}.admin-member-toolbar svg,.admin-audit-search svg{flex:none;width:18px}.admin-member-toolbar input,.admin-audit-search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.admin-member-toolbar select{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;border-radius:14px;padding:0 13px}.admin-result-count{color:var(--muted);margin:11px 2px 0;font-size:11px}.admin-member-directory{margin-top:8px;display:grid}.admin-member-directory-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:13px;width:100%;min-width:0;padding:16px 5px;display:grid}.admin-member-directory-row .admin-avatar{border-radius:15px;width:46px;height:46px}.admin-member-identity{min-width:0}.admin-member-identity strong,.admin-member-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-member-identity strong{font-size:15px}.admin-role-badge{color:#176a43;vertical-align:2px;background:#e5f5eb;border-radius:7px;margin-left:6px;padding:2px 6px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.admin-member-identity small{color:var(--muted);margin-top:4px;font-size:11px}.admin-member-identity>span{background:#edf2ef;border-radius:99px;width:min(250px,100%);height:4px;margin-top:9px;display:block;overflow:hidden}.admin-member-identity>span i{border-radius:inherit;background:var(--green);height:100%;display:block}.admin-member-score{text-align:right}.admin-member-score strong,.admin-member-score small{display:block}.admin-member-score strong{font-size:15px}.admin-member-score small{color:var(--muted);margin-top:4px;font-size:9px}.admin-inline-add{min-height:40px;padding:0 14px}.admin-empty-v2{color:var(--muted);text-align:center;padding:44px 15px;font-size:13px}.admin-count-badge{color:#b3464c;background:#ffebec;border-radius:13px;place-items:center;min-width:38px;height:38px;padding:0 10px;font-weight:820;display:grid}.admin-issue-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.admin-issue-card{background:#fffaf1;border:1px solid #f0dfbd;border-radius:18px;grid-template-columns:42px minmax(0,1fr);gap:12px;min-width:0;padding:18px;display:grid}.admin-issue-card.danger{background:#fff6f6;border-color:#f3d3d5}.admin-issue-card.info{background:#f6f9ff;border-color:#d9e5f5}.admin-issue-card>span{color:#bc7417;background:#fff;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.admin-issue-card.danger>span{color:#d15056}.admin-issue-card.info>span{color:#3f72b8}.admin-issue-card>span svg{width:19px}.admin-issue-card strong{font-size:14px}.admin-issue-card p{color:var(--muted);margin:6px 0 12px;font-size:11px;line-height:1.55}.admin-issue-card button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:11px;font-weight:760;display:flex}.admin-issue-card button svg{width:15px}.admin-audit-search{margin-top:20px}.admin-audit-timeline{margin-top:18px;display:grid}.admin-audit-timeline article{grid-template-columns:14px minmax(0,1fr);gap:11px;min-width:0;display:grid}.admin-audit-timeline article>i{background:var(--green);border:3px solid #dff3e7;border-radius:50%;width:10px;height:10px;margin-top:20px;position:relative}.admin-audit-timeline article>i:after{content:"";background:var(--line);width:1px;height:calc(100% + 31px);position:absolute;top:8px;left:2px}.admin-audit-timeline article:last-child>i:after{display:none}.admin-audit-timeline article>div{border-bottom:1px solid var(--line);padding:14px 0 17px}.admin-audit-timeline header{justify-content:space-between;gap:12px;display:flex}.admin-audit-timeline strong{font-size:13px}.admin-audit-timeline time{color:var(--muted);white-space:nowrap;font-size:10px}.admin-audit-timeline p{margin:5px 0 0;font-size:11px}.admin-audit-timeline small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.admin-detail-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081e1285;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-user-detail{background:var(--page-bg);width:min(720px,100%);height:100svh;box-shadow:-25px 0 70px rgb(var(--accent-rgb) / .16);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.admin-detail-header{min-height:72px;padding:max(12px,env(safe-area-inset-top)) 18px 12px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.admin-detail-header button,.admin-sheet header>button{cursor:pointer;width:40px;height:40px;color:var(--ink);background:#f1f5f2;border:0;border-radius:13px;place-items:center;padding:0;display:grid}.admin-detail-header button svg,.admin-sheet header>button svg{width:20px}.admin-detail-header div{text-align:center;min-width:0}.admin-detail-header strong,.admin-detail-header span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-detail-header strong{font-size:15px}.admin-detail-header span{color:var(--muted);margin-top:3px;font-size:10px}.admin-detail-scroll{min-height:0;padding:18px 22px 34px;overflow-y:auto}.admin-user-identity-card{color:#fff;background:linear-gradient(145deg,#178d54,#075c37);border-radius:23px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:118px;padding:22px;display:grid;box-shadow:0 17px 35px #04532f2b}.admin-user-identity-card h2{margin:0;font-size:23px}.admin-user-identity-card p{color:#ffffffa3;margin:5px 0 0;font-size:11px}.admin-user-identity-card>span:last-child{color:#ffffffb8;background:#00000024;border-radius:9px;padding:6px 9px;font-size:10px;font-weight:760}.admin-user-identity-card>span.active{color:#fff;background:#ffffff26}.admin-detail-stats{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr);margin-top:12px;padding:7px;display:grid}.admin-detail-stats div{text-align:center;min-width:0;padding:12px 10px}.admin-detail-stats div+div{border-left:1px solid var(--line)}.admin-detail-stats span,.admin-detail-stats strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-detail-stats span{color:var(--muted);font-size:9px}.admin-detail-stats strong{margin-top:6px;font-size:12px}.admin-user-shortcuts{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.admin-user-shortcuts button{border:1px solid var(--line);text-align:left;cursor:pointer;min-height:52px;color:var(--ink);background:#fff;border-radius:15px;grid-template-columns:27px 1fr 17px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:730;display:grid}.admin-user-shortcuts button>svg:first-child{width:19px;color:var(--green)}.admin-user-shortcuts button>svg:last-child{color:#aeb7b2;width:16px}.admin-detail-tabs{background:#e9efeb;border-radius:14px;grid-template-columns:repeat(3,1fr);margin-top:17px;padding:4px;display:grid}.admin-detail-tabs.single{grid-template-columns:1fr}.admin-detail-tabs button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:11px;font-size:11px;font-weight:740}.admin-detail-tabs button.active{color:var(--green-dark);background:#fff;box-shadow:0 5px 14px #16392514}.admin-detail-panel,.admin-detail-form{gap:12px;margin-top:13px;display:grid}.admin-detail-panel>section,.admin-detail-form>section,.admin-detail-panel.rules>form,.admin-detail-panel.rules>section{border:1px solid var(--line);background:#fff;border-radius:18px;padding:19px}.admin-detail-panel h3,.admin-detail-form h3{margin:0 0 14px;font-size:15px}.admin-detail-panel section>p,.admin-detail-panel.rules form section>p{color:var(--muted);margin:-7px 0 15px;font-size:10px;line-height:1.5}.admin-summary-lines{grid-template-columns:1fr 1fr;gap:9px;display:grid}.admin-summary-lines div{background:#f6f9f7;border-radius:13px;padding:13px}.admin-summary-lines span,.admin-summary-lines strong{display:block}.admin-summary-lines span{color:var(--muted);font-size:10px}.admin-summary-lines strong{margin-top:6px;font-size:13px}.admin-action-list{display:grid}.admin-action-list button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;min-height:57px;color:var(--ink);background:0 0;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:9px 0;display:grid}.admin-action-list button:last-child{border-bottom:0}.admin-action-list button>svg:first-child{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:11px;padding:8px}.admin-action-list button.danger>svg:first-child{color:var(--red);background:var(--red-soft)}.admin-action-list button>svg:last-child{color:#aeb7b2;width:17px}.admin-action-list strong,.admin-action-list span{display:block}.admin-action-list strong{font-size:12px}.admin-action-list span{color:var(--muted);margin-top:3px;font-size:9px}.admin-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-form-grid label,.admin-detail-form>section>textarea,.admin-reason,.admin-sheet form>label{gap:7px;display:grid}.admin-form-grid label>span,.admin-reason>span,.admin-sheet form>label>span{font-size:10px;font-weight:740}.admin-form-grid input,.admin-form-grid select,.admin-detail-form textarea,.admin-reason input,.admin-sheet form input,.admin-excluded-form input{border:1px solid var(--line);width:100%;min-width:0;min-height:47px;color:var(--ink);background:#fbfcfb;border-radius:12px;outline:none;padding:0 12px}.admin-sheet form select{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);background:#fbfcfb;border-radius:12px;outline:none;padding:0 12px}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-detail-form textarea:focus,.admin-reason input:focus,.admin-sheet form input:focus,.admin-excluded-form input:focus,.admin-sheet form select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.admin-form-tip{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.55}.admin-detail-form textarea{resize:vertical;min-height:94px;padding:12px}.admin-switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:55px;display:flex}.admin-switch-row>span{align-items:center;gap:10px;min-width:0;display:flex}.admin-switch-row>span>svg{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:11px;padding:8px}.admin-switch-row strong,.admin-switch-row small{display:block}.admin-switch-row strong{font-size:12px}.admin-switch-row small{color:var(--muted);margin-top:4px;font-size:9px}.admin-switch-row>input{opacity:0;pointer-events:none;position:absolute}.admin-switch-row>i{background:#dfe6e2;border-radius:99px;flex:none;width:44px;height:26px;padding:3px;transition:all .18s}.admin-switch-row>i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .18s;display:block;box-shadow:0 2px 5px #0f28192e}.admin-switch-row>input:checked+i{background:var(--green)}.admin-switch-row>input:checked+i:after{transform:translate(18px)}.admin-primary-submit,.admin-danger-submit{cursor:pointer;color:#fff;background:var(--green);width:100%;min-height:50px;box-shadow:0 10px 24px rgb(var(--accent-rgb) / .16);border:0;border-radius:14px;margin-top:13px;font-weight:780}.admin-danger-submit{background:#d95056;box-shadow:0 10px 24px #d9505629}.admin-primary-submit:disabled,.admin-danger-submit:disabled{opacity:.55;cursor:wait}.admin-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.admin-weekdays label{cursor:pointer}.admin-weekdays input{opacity:0;position:absolute}.admin-weekdays span{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fafcfb;border-radius:11px;place-items:center;font-size:10px;font-weight:720;display:grid}.admin-weekdays input:checked+span{color:var(--green-dark);background:var(--green-soft);border-color:#9ed5b6}.admin-detail-panel.rules>form{gap:14px;display:grid}.admin-detail-panel.rules>form>section{border:0;padding:0}.admin-excluded-form{grid-template-columns:150px minmax(0,1fr) auto;gap:8px;display:grid}.admin-excluded-form button{cursor:pointer;color:#fff;background:var(--green);border:0;border-radius:12px;align-items:center;gap:5px;min-height:47px;padding:0 13px;font-size:11px;font-weight:760;display:flex}.admin-excluded-form button svg{width:16px}.admin-excluded-list{margin-top:12px;display:grid}.admin-excluded-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 0;display:flex}.admin-excluded-list strong,.admin-excluded-list small{display:block}.admin-excluded-list strong{font-size:11px}.admin-excluded-list small{color:var(--muted);margin-top:3px;font-size:9px}.admin-excluded-list button{cursor:pointer;width:34px;height:34px;color:var(--red);background:var(--red-soft);border:0;border-radius:11px;place-items:center;padding:0;display:grid}.admin-excluded-list button svg{width:16px}.admin-empty-inline{color:var(--muted);text-align:center;background:#f6f9f7;border-radius:12px;margin-top:12px;padding:14px;font-size:10px}.admin-sheet-backdrop{z-index:130;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081e1285;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.admin-sheet-backdrop.top{z-index:150}.admin-sheet{background:#fff;border-radius:24px;width:min(520px,100%);max-height:calc(100svh - 44px);padding:23px;overflow-y:auto;box-shadow:0 28px 80px #071e1140}.admin-sheet.compact{width:min(440px,100%)}.admin-sheet header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.admin-sheet header h2{margin:0;font-size:22px}.admin-sheet header p{color:var(--muted);margin:5px 0 0;font-size:10px}.admin-sheet form{gap:14px;margin-top:18px;display:grid}.admin-sheet-note{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.admin-confirm-body{text-align:center;padding-top:18px}.admin-confirm-body>span{border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto;display:grid}.admin-confirm-body>span svg{width:27px}.admin-confirm-body>span.danger{color:var(--red);background:var(--red-soft)}.admin-confirm-body>span.safe{color:var(--green);background:var(--green-soft)}.admin-confirm-body p{color:var(--muted);margin:16px 5px 2px;font-size:12px;line-height:1.65}@media (max-width:760px){.admin-shell{padding-left:16px;padding-right:16px}.admin-v2{gap:14px;padding-top:9px}.admin-v2-header{min-height:76px}.admin-v2-header h1{font-size:27px}.admin-v2-header p{margin-top:5px;font-size:11px}.admin-add-button{border-radius:14px;width:44px;min-height:44px;padding:0}.admin-add-button span,.admin-v2-tabs{display:none}.admin-overview{grid-template-columns:1fr;gap:14px}.admin-overview-hero{border-radius:24px;min-height:205px;padding:24px 21px}.admin-overview-hero h2{font-size:42px}.admin-overview-hero h2 span{font-size:17px}.admin-team-ring{width:90px;height:90px}.admin-team-ring span{font-size:18px}.admin-metric-strip{border-radius:20px;grid-column:auto;padding:5px}.admin-metric-strip>div{padding:14px 10px}.admin-metric-strip span{justify-content:center;gap:4px;font-size:9px}.admin-metric-strip span svg{width:13px}.admin-metric-strip strong{text-align:center;margin-top:8px;font-size:18px}.admin-metric-strip small{text-align:center;font-size:8px}.admin-reminder-control{border-radius:21px;padding:19px 16px}.admin-reminder-control>header{grid-template-columns:42px minmax(0,1fr)}.admin-reminder-control>header>span{border-radius:14px;width:42px;height:42px}.admin-reminder-control header>strong{grid-column:1/-1;width:fit-content}.admin-reminder-control-grid{grid-template-columns:1fr}.admin-reminder-counts{gap:6px}.admin-reminder-control-grid>form,.admin-reminder-now{padding:14px}.admin-focus-section,.admin-members-page,.admin-issues-page,.admin-audits-page{border-radius:21px;padding:20px 17px}.admin-focus-section:nth-of-type(3),.admin-focus-section:nth-of-type(4){grid-area:auto;margin-top:0}.admin-section-title h2{font-size:18px}.admin-section-title p{font-size:10px}.admin-member-toolbar{grid-template-columns:minmax(0,1fr) 92px;margin-top:17px}.admin-member-toolbar label{padding:0 11px}.admin-member-toolbar select{padding:0 8px}.admin-member-directory-row{grid-template-columns:44px minmax(0,1fr) auto 17px;gap:9px;padding:14px 0}.admin-member-directory-row .admin-avatar{border-radius:14px;width:42px;height:42px}.admin-member-identity small{max-width:180px}.admin-member-score strong{font-size:13px}.admin-issue-board{grid-template-columns:1fr}.admin-audit-timeline header{align-items:flex-start}.admin-detail-backdrop{display:block}.admin-user-detail{width:100%}.admin-detail-scroll{padding:15px 16px calc(28px + env(safe-area-inset-bottom))}.admin-user-identity-card{border-radius:21px;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;min-height:110px;padding:19px 17px}.admin-avatar.large{width:54px;height:54px}.admin-user-identity-card h2{font-size:21px}.admin-detail-stats div{padding:11px 5px}.admin-detail-stats strong{font-size:10px}.admin-user-shortcuts button{padding:0 10px}.admin-detail-panel>section,.admin-detail-form>section,.admin-detail-panel.rules>form,.admin-detail-panel.rules>section{border-radius:17px;padding:17px 15px}.admin-form-grid{grid-template-columns:1fr;gap:11px}.admin-weekdays{gap:4px}.admin-weekdays span{border-radius:10px;min-height:36px;font-size:9px}.admin-excluded-form{grid-template-columns:1fr}.admin-excluded-form button{justify-content:center}.admin-sheet-backdrop{align-items:end;padding:0}.admin-sheet{width:100%;max-height:calc(100svh - 12px);padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.admin-sheet.compact{width:100%}.admin-mobile-nav{grid-template-columns:repeat(5,1fr)}.admin-mobile-nav a{min-width:0}}body{background:var(--page-bg);min-height:100svh}.shell{width:min(1080px,100%)}.home-shell{width:min(930px,100%)}.topbar{z-index:4;position:relative}.desktop-nav{align-items:center;gap:7px;display:flex}.desktop-nav a,.desktop-nav button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;padding:10px 12px;font-weight:680;display:inline-flex}.desktop-nav a:hover,.desktop-nav button:hover{color:var(--green-dark);background:var(--green-soft)}.mobile-alert{display:none}.home-intro{isolation:isolate;align-items:center;min-height:166px;display:flex;position:relative;overflow:hidden}.home-intro-copy{z-index:2;width:100%;padding-right:150px;position:relative}.home-intro:after{content:"";z-index:-1;border:1px solid rgb(var(--accent-rgb) / .12);width:210px;height:210px;box-shadow:0 0 0 25px rgb(var(--accent-rgb) / .035),0 0 0 52px rgb(var(--accent-rgb) / .025);pointer-events:none;border-radius:50%;position:absolute;bottom:-81px;right:-34px}.home-intro:before{content:"";z-index:-2;background:radial-gradient(ellipse at 91% 20%,rgb(var(--accent-rgb) / .14) 0 7px,transparent 8px),radial-gradient(ellipse at 83% 12%,rgb(var(--accent-rgb) / .09) 0 5px,transparent 6px),linear-gradient(90deg,var(--page-bg) 0%,var(--page-bg) 54%,rgb(var(--accent-rgb) / .055) 100%);pointer-events:none;position:absolute;inset:0}.home-mascot{z-index:1;border:3px solid rgb(var(--accent-rgb) / .62);width:124px;height:124px;box-shadow:0 13px 28px rgb(var(--accent-rgb) / .16),0 0 0 7px #ffffffc7;background:#fff;border-radius:50%;display:block;position:absolute;bottom:13px;right:11px;overflow:hidden}.home-mascot img{object-fit:cover;width:100%;height:100%;display:block}.home-intro h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,43px);line-height:1.15}.home-intro h1 span{margin-left:10px;font-size:.75em;display:inline-block;transform:translateY(-2px)}.home-intro p{color:var(--muted);margin:13px 0 0;font-size:16px}.home-today-panel{background:linear-gradient(135deg,var(--hero-start) 0%,var(--hero-end) 100%);min-height:286px;box-shadow:0 18px 40px rgb(var(--accent-rgb) / .22);padding:30px 32px;position:relative;overflow:hidden}.home-today-panel:after{content:"";pointer-events:none;border:1px solid #ffffff12;border-radius:50%;width:390px;height:390px;position:absolute;top:-88px;right:-165px;box-shadow:0 0 0 45px #ffffff06,0 0 0 90px #ffffff05}.today-copy{z-index:2;max-width:72%;position:relative}.today-copy .today-date{color:#ffffffd1;align-items:center;gap:9px;margin:0 0 20px;font-size:14px;font-weight:650;display:flex}.home-today-panel h2{letter-spacing:-.045em;max-width:610px;margin:0;font-size:clamp(28px,4.1vw,40px);line-height:1.15}.today-copy .today-timeline{color:#ffffffc7;align-items:center;gap:9px;min-height:24px;margin:15px 0 0;font-size:14px;display:flex}.today-orbit{place-items:center;width:142px;height:142px;display:grid;position:absolute;top:46px;right:44px}.today-orbit i{border:1px solid #ffffff14;border-radius:50%;position:absolute;inset:0}.today-orbit i:nth-child(2){inset:18px}.today-orbit i:nth-child(3){inset:35px}.today-orbit span{color:#fff;background:linear-gradient(145deg,var(--orbit-start),var(--orbit-end));border-radius:22px;place-items:center;width:66px;height:66px;display:grid;transform:rotate(-27deg);box-shadow:0 13px 30px #0003}.today-orbit svg{width:38px;height:38px}.today-action{z-index:3;min-height:64px;color:var(--green-dark);background:#fff;border-radius:18px;justify-content:center;align-items:center;gap:12px;font-size:18px;font-weight:820;display:flex;position:absolute;bottom:28px;left:32px;right:32px;box-shadow:0 10px 28px #00241624}.today-action:active{transform:scale(.988)}.home-progress-card{border-radius:24px;margin-top:20px;padding:27px 30px 25px;box-shadow:0 13px 36px #17302312}.daily-details-panel{grid-template-columns:1.15fr .85fr;gap:14px;margin-top:20px;display:grid}.training-note-form,.weight-form{border:1px solid var(--line);background:#fff;border-radius:21px;min-width:0;padding:21px 22px;box-shadow:0 10px 28px #1730230e}.training-note-form>label,.weight-form>label{color:var(--green-dark);align-items:center;gap:7px;margin:0;font-size:13px;font-weight:800;display:flex}.training-note-form>label svg,.weight-form>label svg{width:17px;height:17px}.training-note-form>label span{color:var(--green-dark);background:var(--green-soft);border-radius:8px;margin-left:auto;padding:4px 7px;font-size:9px;font-weight:750}.training-note-form>textarea{border:1px solid var(--line);resize:vertical;background:var(--input-bg);border-radius:13px;outline:none;width:100%;min-height:82px;margin-top:12px;padding:11px 12px;line-height:1.55}.training-note-form>textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.training-note-form-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.training-note-form-footer>small{color:var(--muted);font-size:9px}.training-note-form-footer>div{gap:7px;display:flex}.training-note-form-footer button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:0 11px;font-size:11px;font-weight:780;display:inline-flex}.training-note-form-footer button svg{width:14px;height:14px}.training-note-form-footer .save{color:#fff;background:var(--green)}.training-note-form-footer .clear{color:var(--red);background:var(--red-soft)}.training-note-form-footer button:disabled{opacity:.5;cursor:default}.training-note-form>p{margin:8px 0 0;font-size:10px}.training-note-form>p.success{color:var(--green)}.training-note-form>p.error-text{color:var(--red)}.weight-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:13px;display:grid}.weight-input-row>span{min-width:0;position:relative}.weight-input-row input{border:1px solid var(--line);background:var(--input-bg);border-radius:13px;outline:none;width:100%;min-height:46px;padding:0 40px 0 13px}.weight-input-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.weight-input-row i{color:var(--muted);font-size:11px;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.weight-input-row button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:5px;min-width:82px;min-height:46px;padding:0 13px;font-size:12px;font-weight:780;display:inline-flex}.weight-input-row button svg{width:15px;height:15px}.weight-form small,.weight-form>p{color:var(--muted);margin:7px 0 0;font-size:10px;display:block}.weight-form>p.success{color:var(--green)}.weight-form>p.error-text{color:var(--red)}.progress-card-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.progress-card-head>p{align-items:center;gap:7px;margin:0;font-size:19px;font-weight:800;display:flex}.progress-card-head>p svg{color:#91a098}.progress-card-head>div{text-align:right}.progress-card-head>div span{color:var(--muted);font-size:12px;display:block}.progress-card-head>div strong{color:var(--green);margin-top:5px;font-size:18px;display:block}.progress-total{align-items:baseline;gap:7px;margin-top:8px;display:flex}.progress-total strong{color:var(--green-dark);letter-spacing:-.06em;font-size:54px;line-height:1}.progress-total span{color:var(--muted);font-size:21px}.progress-line{background:#edf2ef;border-radius:99px;height:9px;margin-top:20px;padding-right:48px;position:relative}.progress-line i{border-radius:inherit;background:linear-gradient(90deg,var(--orbit-start),var(--green));max-width:100%;height:100%;display:block}.progress-line span{color:var(--muted);font-size:13px;position:absolute;top:-5px;right:0}.progress-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;font-size:13px;display:flex}.progress-footer span{align-items:center;gap:7px;display:inline-flex}.progress-footer .needs-attention{color:var(--orange)}.progress-footer strong{color:var(--green)}.home-shell .calendar-card{margin-top:20px;box-shadow:0 13px 36px #17302312}.home-shell .calendar-duration{display:none}.home-recent-card{margin-top:20px;padding:26px 30px;box-shadow:0 13px 36px #17302312}.section-title-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.section-title-row h2{margin:0;font-size:21px}.section-title-row a{color:var(--green);align-items:center;gap:2px;font-size:14px;font-weight:760;display:inline-flex}.home-photo-list{gap:12px;margin-top:18px;display:grid}.home-photo-row{grid-template-columns:190px 1fr;align-items:center;gap:18px;min-width:0;display:grid}.home-photo-row+.home-photo-row{border-top:1px solid var(--line);padding-top:12px}.home-photo-row img{aspect-ratio:16/9;object-fit:cover;background:#eef3f0;border-radius:15px;width:190px}.home-photo-row>div{gap:7px;min-width:0;display:grid}.home-photo-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.home-photo-row span{color:var(--muted);font-size:13px}.home-photo-row em{text-overflow:ellipsis;white-space:nowrap;color:#426052;font-size:12px;font-style:normal;overflow:hidden}.home-photo-row small{width:fit-content;color:var(--green-dark);background:var(--green-soft);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.recent-empty{min-height:130px;color:var(--muted);text-align:center;background:#f6f9f7;border-radius:16px;align-content:center;place-items:center;gap:8px;margin-top:16px;display:grid}.recent-empty p{margin:0;font-size:13px}.ios-install-hint{color:var(--green-dark);background:#eff9f3;border:1px solid #cfe7da;border-radius:17px;align-items:center;gap:11px;margin:0 0 16px;padding:13px 14px;display:flex}.ios-install-hint>span{background:#fff;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid}.ios-install-hint p{flex:1;min-width:0;margin:0}.ios-install-hint strong,.ios-install-hint small{display:block}.ios-install-hint strong{font-size:13px}.ios-install-hint small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.45}.ios-install-hint button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none}.settings-intro{margin-bottom:22px}.theme-settings-card{margin-bottom:18px;padding:24px 26px 26px;position:relative;overflow:hidden}.theme-settings-card:before{content:"";background:radial-gradient(circle,rgb(var(--accent-rgb) / .12),transparent 68%);pointer-events:none;border-radius:50%;width:190px;height:190px;position:absolute;top:-108px;right:-78px}.theme-settings-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:relative}.theme-settings-head h2{margin:0 0 5px;font-size:20px}.theme-settings-head p{margin:0;font-size:13px}.theme-settings-head>span{border:1px solid var(--accent-border);color:var(--green-dark);background:var(--green-soft);border-radius:10px;flex:none;padding:6px 9px;font-size:11px;font-weight:780}.theme-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:19px;display:grid}.theme-option{border:1px solid var(--line);min-width:0;min-height:158px;color:var(--ink);background:var(--surface);cursor:pointer;text-align:left;border-radius:18px;padding:9px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.theme-option:hover:not(:disabled){border-color:var(--accent-border);box-shadow:0 12px 25px rgb(var(--accent-rgb) / .1);transform:translateY(-2px)}.theme-option:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .2);outline-offset:2px}.theme-option:disabled{cursor:wait}.theme-option.active{border-color:var(--green);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .11),0 12px 28px rgb(var(--accent-rgb) / .12)}.theme-preview{background:linear-gradient(145deg,var(--preview-start),var(--preview-end));border-radius:13px;height:76px;display:block;position:relative;overflow:hidden}.theme-preview:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff75}.theme-preview>i{background:#ffffffd4;border-radius:99px;height:4px;position:absolute;left:11px}.theme-preview>i:first-child{width:42px;top:13px}.theme-preview>i:nth-child(2){opacity:.45;width:58px;top:23px}.theme-preview>i:nth-child(3){opacity:.28;width:30px;bottom:13px}.theme-preview>svg{color:#fff;stroke-width:2.2px;width:25px;height:25px;position:absolute;bottom:12px;right:13px}.theme-forest{--preview-start:#45c581;--preview-end:#087247}.theme-sakura{--preview-start:#f8a6c2;--preview-end:#c64275}.theme-sakura .theme-preview{background:#fff4f8;border:1px solid #ffc7d9;border-radius:19px 19px 13px}.theme-mascot-thumb{object-fit:cover;width:100%;height:100%;display:block}.theme-ocean{--preview-start:#83c8ff;--preview-end:#2868b9}.theme-obsidian{--preview-start:#ff9c62;--preview-end:#242c35}.theme-forest .theme-preview{background:#f2fbf5;border:1px solid #bcdcc7}.theme-ocean .theme-preview{background:#f1f9ff;border:1px solid #bdddf7}.theme-obsidian .theme-preview{background:#24272b;border:1px solid #4f4a47}.theme-option-copy{min-width:0;padding:11px 3px 2px;display:block}.theme-option-copy strong,.theme-option-copy small{display:block}.theme-option-copy strong{font-size:13px}.theme-option-copy small{min-height:30px;color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.theme-check{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fff3;border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:absolute;top:15px;right:15px}.theme-check:empty{opacity:0}.theme-check svg{stroke-width:3px;width:14px;height:14px}.theme-message{color:var(--green-dark);margin:13px 2px 0;font-size:12px;font-weight:700}[data-theme=forest] body,[data-theme=ocean] body,[data-theme=obsidian] body,[data-theme=sakura] body{background-color:var(--page-bg);background-image:radial-gradient(circle at 96% 3%, rgb(var(--accent-rgb) / .11) 0 5px, transparent 6px), radial-gradient(circle at 91% 6%, rgb(var(--accent-rgb) / .08) 0 3px, transparent 4px)}[data-theme=forest] .brand-mark{background:linear-gradient(145deg,#39bd78,#087447)}[data-theme=sakura] .brand-mark{background:linear-gradient(145deg,#ff7ea5,#f15484)}[data-theme=ocean] .brand-mark{background:linear-gradient(145deg,#62b6f5,#3379d0)}[data-theme=obsidian] .brand-mark{background:linear-gradient(145deg,#ff8b4c,#d5521f)}[data-theme=sakura] .home-today-panel{background:linear-gradient(140deg,#ff7da4 0%,#f25e8b 70%,#eb5684 100%);box-shadow:0 18px 42px #e03f7133}[data-theme=sakura] body{background-image:url(/sakura-decor-pink.svg);background-position:calc(100% + 86px) 94px;background-repeat:no-repeat;background-size:340px;background-attachment:fixed}[data-theme=sakura] .home-intro:before{background-image:url(/sakura-decor-pink.svg),linear-gradient(90deg,var(--page-bg) 0%,var(--page-bg) 52%,#ff89b214 100%);opacity:.82;background-position:right -13px center,50%;background-repeat:no-repeat,no-repeat;background-size:280px,100% 100%}[data-theme=forest] .home-today-panel:before,[data-theme=sakura] .home-today-panel:before,[data-theme=ocean] .home-today-panel:before,[data-theme=obsidian] .home-today-panel:before{content:"";pointer-events:none;background:radial-gradient(at 8% 88%,#ffffff2b 0 9px,#0000 10px),radial-gradient(at 14% 80%,#ffffff24 0 5px,#0000 6px),radial-gradient(at 91% 17%,#ffffff21 0 6px,#0000 7px),radial-gradient(at 82% 25%,#ffffff29 0 4px,#0000 5px);position:absolute;inset:0}[data-theme=ocean] .home-today-panel:before{background:radial-gradient(circle at 92% 19%,#ffffff2e 0 6px,#0000 7px),radial-gradient(circle at 84% 29%,#ffffff21 0 3px,#0000 4px),radial-gradient(at 9% 91%,#ffffff21 0 11px,#0000 12px)}[data-theme=obsidian] .home-today-panel:before{background:linear-gradient(117deg,#0000 0 73%,#ff7e3e1c 73.4% 74%,#0000 74.4%),radial-gradient(at 91% 22%,#ff82443d 0 4px,#0000 5px)}[data-theme=sakura] .home-today-panel:before{opacity:.32;background-image:url(/sakura-decor-white.svg);background-position:right -12px top -8px;background-repeat:no-repeat;background-size:285px}[data-theme=sakura] .today-orbit span{border-radius:50%;transform:rotate(-18deg)}[data-theme=sakura] .today-action{color:#e54879;box-shadow:0 11px 27px #9b254e29}.training-note-form,.weight-form,.home-progress-card,.home-shell .calendar-card,.home-recent-card{box-shadow:0 12px 30px rgb(var(--accent-rgb) / .07)}.mobile-nav{border-color:rgb(var(--accent-rgb) / .13);box-shadow:0 15px 38px rgb(var(--accent-rgb) / .13)}.settings-security-card{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:22px 26px;display:grid}.settings-security-card h2{margin:0 0 5px;font-size:20px}.settings-security-card p{margin:0}.settings-security-icon{width:48px;height:48px;color:var(--green);background:var(--green-soft);border-radius:15px;place-items:center;display:grid}.settings-security-icon svg{width:22px;height:22px}.settings-password-link{min-height:44px;text-decoration:none}.settings-account-actions{margin-top:18px}.settings-logout{min-height:46px}.password-page{place-items:center;min-height:100svh;padding:20px;display:grid}.password-form{padding:28px}.password-cancel{color:var(--muted);text-align:center;margin-top:17px;font-size:14px;font-weight:700;text-decoration:none;display:block}.notification-settings-card{margin-bottom:18px;padding:25px 26px 26px}.notification-settings-head{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.notification-settings-head h2{margin:0 0 4px;font-size:20px}.notification-settings-head p{margin:0;font-size:12px}.notification-settings-icon{width:48px;height:48px;color:var(--green);background:var(--green-soft);border-radius:15px;place-items:center;display:grid}.notification-settings-icon svg{width:22px;height:22px}.notification-binding-status{min-height:30px;color:var(--muted);background:#eff2f0;border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:780;display:inline-flex}.notification-binding-status i{background:#a5afa9;border-radius:50%;width:7px;height:7px}.notification-binding-status.active{color:var(--green-dark);background:var(--green-soft)}.notification-binding-status.active i{background:var(--green);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .12)}.notification-schedule{border:1px solid var(--line);background:#fbfcfb;border-radius:16px;margin-top:18px;padding:16px}.notification-schedule-summary{justify-content:space-between;align-items:center;gap:14px;display:flex}.notification-schedule-summary strong,.notification-schedule-summary span{display:block}.notification-schedule-summary strong{font-size:13px}.notification-schedule-summary span{color:var(--muted);margin-top:4px;font-size:10px}.notification-schedule-summary em{color:var(--muted);background:#edf1ef;border-radius:9px;flex:none;padding:6px 9px;font-size:9px;font-style:normal;font-weight:760}.notification-schedule-summary em.active{color:var(--green-dark);background:var(--green-soft)}.notification-time-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;display:grid}.notification-time-grid label{gap:5px;min-width:0;display:grid}.notification-time-grid label>span{font-size:9px;font-weight:740}.notification-time-grid input{border:1px solid var(--line);width:100%;min-width:0;min-height:43px;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:0 9px}.notification-time-grid input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.notification-time-grid small{color:var(--muted);font-size:8px}.notification-schedule-save{cursor:pointer;color:#fff;background:var(--green);border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;margin-top:14px;padding:0 14px;font-size:11px;font-weight:770;display:inline-flex}.notification-schedule-save svg{width:16px}.notification-schedule-save:disabled{opacity:.55;cursor:wait}.notification-schedule>p{color:var(--muted);margin:10px 0 0;font-size:9px;line-height:1.55}.notification-privacy{border:1px solid var(--line);color:var(--green-dark);background:var(--input-bg);border-radius:14px;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 14px;display:flex}.notification-privacy>svg{width:19px;height:19px;color:var(--green);flex:none;margin-top:1px}.notification-privacy span,.notification-privacy strong,.notification-privacy small{display:block}.notification-privacy strong{font-size:12px}.notification-privacy small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5}.notification-test-panel{background:linear-gradient(135deg,var(--green-soft),rgb(var(--accent-rgb) / .055));border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:16px;display:flex}.notification-test-panel>div{min-width:0}.notification-test-panel strong,.notification-test-panel span{display:block}.notification-test-panel strong{color:var(--green-dark);font-size:13px}.notification-test-panel span{max-width:520px;color:var(--muted);margin-top:4px;font-size:10px;line-height:1.55}.notification-test-button{cursor:pointer;color:#fff;background:var(--green);min-height:44px;box-shadow:0 9px 20px rgb(var(--accent-rgb) / .17);border:0;border-radius:13px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:780;display:inline-flex}.notification-test-button svg{width:16px;height:16px}.notification-binding-form{margin-top:17px}.notification-binding-form .field{margin:0}.notification-actions{align-items:center;gap:9px;margin-top:11px;display:flex}.notification-actions button{min-height:44px}.notification-actions svg{width:16px;height:16px}.notification-actions button:disabled,.notification-test-button:disabled{opacity:.55;cursor:wait}.notification-remove-button{cursor:pointer;min-height:44px;color:var(--red);background:var(--red-soft);border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:760;display:inline-flex}.notification-message{border-radius:12px;margin:14px 0 0;padding:11px 12px;font-size:11px;font-weight:700;line-height:1.55}.notification-message.success{color:var(--green-dark);background:var(--green-soft)}.notification-message.error{color:var(--red);background:var(--red-soft)}.camera-page{min-height:100svh;padding:env(safe-area-inset-top) 18px calc(18px + env(safe-area-inset-bottom));background:var(--page-bg);color:var(--ink)}.camera-header{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;width:min(680px,100%);min-height:78px;margin:0 auto;padding:13px 0;display:grid}.camera-header>div{gap:3px;min-width:0;display:grid}.camera-header>div strong{font-size:18px}.camera-header>div span{color:var(--muted);font-size:11px}.camera-back{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;place-items:center;display:grid}.camera-step{color:var(--green-dark);background:var(--green-soft);border-radius:99px;padding:6px 9px;font-size:11px;font-weight:750}.camera-mode-switch{border-color:var(--line);background:#e9efeb;width:min(680px,100%);margin:8px auto 16px}.camera-mode-switch button{color:var(--muted)}.camera-mode-switch button.active{color:var(--green-dark)}.system-camera-stage{background:var(--camera-edge);width:min(680px,100%);min-height:min(58svh,620px);box-shadow:0 20px 48px rgb(var(--accent-rgb) / .15);border-radius:25px;margin:0 auto;position:relative;overflow:hidden}.system-camera-trigger{background:radial-gradient(circle at 50% 38%,var(--camera-mid) 0%,var(--camera-deep) 42%,var(--camera-edge) 100%);color:#fff;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:100%;min-height:min(58svh,620px);padding:30px;display:flex}.camera-trigger-icon{background:#ffffff1a;border:1px solid #ffffff24;border-radius:27px;place-items:center;width:82px;height:82px;margin-bottom:5px;display:grid;box-shadow:0 15px 35px #0000002e}.system-camera-trigger strong{font-size:21px}.system-camera-trigger small{color:#ffffff94;font-size:12px}.camera-preview{background:var(--camera-edge);place-items:center;min-height:min(58svh,620px);display:grid;position:relative}.camera-preview img{object-fit:contain;width:100%;height:min(58svh,620px)}.camera-preview span{white-space:nowrap;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04190eb8;border-radius:99px;align-items:center;gap:7px;max-width:calc(100% - 30px);padding:9px 13px;font-size:12px;display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.camera-privacy{width:min(680px,100%);color:var(--muted);align-items:flex-start;gap:8px;margin:15px auto 0;font-size:11px;line-height:1.55;display:flex}.camera-privacy svg{color:var(--green);flex:none}.camera-details{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) 190px;gap:14px;width:min(680px,100%);margin:14px auto 0;padding:16px;display:grid;box-shadow:0 10px 28px #1730230e}.camera-detail-field{min-width:0}.camera-detail-field label{color:var(--ink);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:780;display:flex}.camera-detail-field label svg{width:16px;height:16px;color:var(--green)}.camera-detail-field label span{color:var(--muted);margin-left:auto;font-size:10px;font-weight:600}.camera-detail-field textarea,.camera-detail-field input{border:1px solid var(--line);background:var(--input-bg);border-radius:12px;outline:none;width:100%}.camera-detail-field textarea{resize:vertical;min-height:74px;padding:11px 12px;line-height:1.5}.camera-detail-field textarea:focus,.camera-detail-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.camera-detail-field>small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.camera-weight-field>div{position:relative}.camera-weight-field input{min-height:46px;padding:0 38px 0 12px}.camera-weight-field i{color:var(--muted);font-size:10px;font-style:normal;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.camera-inline-error{width:min(680px,100%);color:var(--red)}.camera-controls{grid-template-columns:1fr 1.4fr;gap:10px;width:min(680px,100%);margin:0 auto;padding:18px 0 0;display:grid}.camera-controls button{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:54px;font-weight:780;display:flex}.camera-controls button:disabled{opacity:.55;cursor:wait}.camera-secondary-action{color:var(--ink);background:#fff;border:1px solid var(--line)!important}.camera-primary-action{color:#fff;background:var(--green);box-shadow:0 12px 27px rgb(var(--accent-rgb) / .2)}.camera-open-action{grid-column:1/-1}@media (max-width:760px){html{background:var(--page-bg)}body{background:var(--page-bg);overscroll-behavior-y:none}.shell{padding:0 16px calc(112px + env(safe-area-inset-bottom));overflow-x:clip}.topbar{min-height:calc(68px + env(safe-area-inset-top));height:auto;padding-top:env(safe-area-inset-top)}.brand{gap:10px;font-size:17px}.brand-mark{width:40px;height:40px;box-shadow:0 9px 19px rgb(var(--accent-rgb) / .18);border-radius:13px}.desktop-nav{display:none}.mobile-alert{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:14px;place-items:center;display:grid;position:relative}.mobile-alert svg{width:21px;height:21px}.mobile-alert i{background:#ef5257;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.mobile-nav{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));border:1px solid rgb(var(--accent-rgb) / .1);box-shadow:0 14px 38px rgb(var(--accent-rgb) / .14);border-radius:20px;padding:8px}.mobile-nav a{justify-content:center;gap:3px;min-height:53px;font-size:11px}.mobile-nav-icon{border-radius:11px;place-items:center;width:31px;height:27px;display:grid}.mobile-nav a.active .mobile-nav-icon{color:#fff;background:var(--green);box-shadow:0 7px 15px rgb(var(--accent-rgb) / .24)}.mobile-nav svg{width:20px;height:20px}.home-intro{align-items:center;min-height:154px}.home-intro-copy{padding-right:108px}.home-intro:after{width:154px;height:154px;box-shadow:0 0 0 18px rgb(var(--accent-rgb) / .035),0 0 0 37px rgb(var(--accent-rgb) / .022);bottom:-68px;right:-37px}.home-intro:before{background:radial-gradient(ellipse at 94% 17%,rgb(var(--accent-rgb) / .13) 0 5px,transparent 6px),radial-gradient(ellipse at 82% 9%,rgb(var(--accent-rgb) / .08) 0 3px,transparent 4px),linear-gradient(90deg,var(--page-bg) 0%,var(--page-bg) 53%,rgb(var(--accent-rgb) / .045) 100%)}.home-mascot{width:92px;height:92px;box-shadow:0 10px 22px rgb(var(--accent-rgb) / .15),0 0 0 5px #fffc;border-width:2px;bottom:22px;right:2px}.home-intro h1{max-width:100%;font-size:clamp(25px,7vw,29px);line-height:1.18}.home-intro h1 span{margin-left:6px}.home-intro p{max-width:100%;margin-top:10px;font-size:13px}.home-today-panel{min-height:264px;box-shadow:0 18px 38px rgb(var(--accent-rgb) / .19);border-radius:24px;margin:0;padding:23px 22px}.today-copy{max-width:calc(100% - 82px)}.today-copy .today-date{margin-bottom:16px;font-size:12px}.home-today-panel h2{font-size:25px;line-height:1.2}.today-copy .today-timeline{align-items:flex-start;margin-top:12px;font-size:12px;line-height:1.5}.today-copy .today-timeline svg{flex:none;width:16px;height:16px;margin-top:1px}.today-orbit{width:90px;height:90px;top:59px;right:3px}.today-orbit i:nth-child(2){inset:12px}.today-orbit i:nth-child(3){inset:24px}.today-orbit span{border-radius:16px;width:46px;height:46px}.today-orbit svg{width:27px;height:27px}.today-action{border-radius:16px;min-height:55px;font-size:16px;bottom:22px;left:22px;right:22px}.home-progress-card{border-radius:21px;margin-top:16px;padding:21px 20px 19px}.daily-details-panel{grid-template-columns:1fr;gap:10px;margin-top:16px}.training-note-form,.weight-form{border-radius:19px;padding:18px}.training-note-form-footer{align-items:flex-end}.training-note-form-footer>small{max-width:42%;line-height:1.4}.progress-card-head>p{font-size:17px}.progress-card-head>div strong{font-size:15px}.progress-total strong{font-size:48px}.progress-total span{font-size:18px}.progress-line{margin-top:18px}.progress-footer{margin-top:18px;padding-top:15px;font-size:11px}.progress-footer span:first-child{max-width:67%}.home-shell .calendar-card{border-radius:21px;margin-top:16px;padding:20px 13px 17px}.home-shell .calendar-head{padding:0 6px}.home-shell .calendar-head h2{font-size:20px}.home-shell .month-controls{border:1px solid var(--line);background:var(--input-bg);border-radius:13px;padding:3px}.home-shell .month-controls .icon-button{background:0 0}.home-shell .month-controls .link-button{padding:7px 9px;font-size:12px}.home-shell .calendar-day{min-height:56px}.home-shell .calendar-day .day-number{width:31px;height:31px}.home-recent-card{border-radius:21px;margin-top:16px;padding:21px 18px}.section-title-row h2{font-size:18px}.home-photo-row{grid-template-columns:42% 1fr;gap:13px}.home-photo-row img{border-radius:13px;width:100%}.home-photo-row strong{font-size:13px}.home-photo-row span{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.home-photo-row em{font-size:10px}.home-photo-row small{padding:5px 7px;font-size:9px}.ios-install-hint{margin-top:-2px}.theme-settings-card{border-radius:21px;padding:20px 16px 18px}.theme-settings-head{align-items:center}.theme-settings-head h2{font-size:18px}.theme-settings-head p{max-width:220px;font-size:11px;line-height:1.5}.theme-settings-head>span{display:none}.theme-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.theme-option{border-radius:16px;min-height:147px;padding:8px}.theme-preview{border-radius:12px;height:70px}.theme-sakura .theme-preview{border-radius:18px 18px 12px}.theme-option-copy{padding:9px 3px 1px}.theme-option-copy strong{font-size:12px}.theme-option-copy small{min-height:28px;font-size:9px}.theme-check{top:13px;right:13px}.settings-logout{width:100%}.settings-security-card{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:19px}.settings-security-icon{border-radius:14px;width:44px;height:44px}.settings-password-link{grid-column:1/-1;width:100%}[data-theme=sakura] body{background-position:calc(100% + 108px) 78px;background-size:300px}[data-theme=sakura] .home-intro:before{opacity:.76;background-position:right -41px center,50%;background-size:235px,100% 100%}[data-theme=sakura] .home-today-panel:before{opacity:.27;background-position:right -47px top 0;background-size:245px}.notification-settings-card{border-radius:21px;padding:20px 16px}.notification-settings-head{grid-template-columns:44px minmax(0,1fr);gap:12px}.notification-settings-icon{border-radius:14px;width:44px;height:44px}.notification-settings-head h2{font-size:18px}.notification-settings-head p{font-size:10px;line-height:1.45}.notification-binding-status{grid-column:1/-1;width:fit-content;min-height:27px}.notification-schedule{margin-top:13px;padding:14px}.notification-schedule-summary{align-items:flex-start}.notification-time-grid{grid-template-columns:repeat(2,1fr)}.notification-schedule-save{width:100%;min-height:47px}.notification-privacy{margin-top:13px}.notification-test-panel{flex-direction:column;align-items:stretch;gap:12px;padding:15px}.notification-test-button{width:100%;min-height:47px}.notification-actions{grid-template-columns:1fr 1fr;display:grid}.notification-actions .secondary-button,.notification-remove-button{width:100%;padding-left:9px;padding-right:9px}.password-page{padding:calc(22px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));align-items:start}.password-form{margin-top:7vh;padding:23px 20px}.camera-page{padding-left:14px;padding-right:14px}.camera-header{min-height:70px}.system-camera-stage,.system-camera-trigger,.camera-preview{min-height:min(46svh,480px)}.camera-preview img{height:min(46svh,480px)}.camera-mode-switch{margin-bottom:12px}.camera-details{border-radius:17px;grid-template-columns:1fr;gap:12px;padding:14px}.camera-controls{padding-top:15px;padding-bottom:0}}@media (display-mode:standalone){.mobile-nav{bottom:calc(7px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.mobile-header-actions{align-items:center;gap:8px;display:none}.fitness-assistant{border:1px solid rgb(var(--accent-rgb) / .14);background:linear-gradient(115deg, white 0%, rgb(var(--accent-rgb) / .07) 100%);box-shadow:0 12px 30px rgb(var(--accent-rgb) / .08);border-radius:23px;margin-top:18px;padding:22px 24px 20px;position:relative;overflow:hidden}.fitness-assistant:after{content:"";border:1px solid rgb(var(--accent-rgb) / .12);width:190px;height:190px;box-shadow:0 0 0 24px rgb(var(--accent-rgb) / .035);pointer-events:none;border-radius:50%;position:absolute;top:-100px;right:-75px}.fitness-assistant-head{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.fitness-assistant-icon{color:#fff;background:linear-gradient(145deg, var(--green), var(--green-dark));width:44px;height:44px;box-shadow:0 8px 18px rgb(var(--accent-rgb) / .2);border-radius:14px;flex:none;place-items:center;display:grid}.fitness-assistant-icon svg{width:23px}.fitness-assistant-head p{color:var(--green-dark);margin:0;font-size:11px;font-weight:800}.fitness-assistant-head h2{letter-spacing:-.03em;margin:4px 0 0;font-size:18px}.fitness-assistant-sparkle{color:var(--green);opacity:.55;margin-left:auto}.fitness-assistant-description{max-width:680px;color:var(--muted);z-index:1;margin:14px 0;font-size:11px;line-height:1.6;position:relative}.fitness-assistant-prompts{z-index:1;gap:7px;display:grid;position:relative}.fitness-assistant-prompts button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffffd1;border-radius:12px;justify-content:space-between;align-items:center;padding:0 11px 0 13px;font-size:11px;display:flex}.fitness-assistant-prompts button:hover{border-color:rgb(var(--accent-rgb) / .35);color:var(--green-dark);background:#fff}.fitness-assistant-prompts button svg{width:15px;color:var(--green)}.fitness-assistant-form{z-index:1;gap:8px;margin-top:12px;display:flex;position:relative}.fitness-assistant-image-button{border:1px solid var(--line);width:43px;height:43px;color:var(--green-dark);cursor:pointer;background:#fff;border-radius:13px;flex:none;place-items:center;display:grid}.fitness-assistant-image-button:disabled{opacity:.45;cursor:default}.fitness-assistant-image-button svg{width:18px}.fitness-assistant-form input{border:1px solid var(--line);min-width:0;height:43px;color:var(--ink);font:inherit;background:#fff;border-radius:13px;outline:none;flex:1;padding:0 13px;font-size:11px}.fitness-assistant-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .1)}.fitness-assistant-form button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.fitness-assistant-form button:disabled{opacity:.45;cursor:default}.fitness-assistant-form button svg{width:18px}.fitness-assistant-answer{border:1px solid rgb(var(--accent-rgb) / .15);z-index:1;color:var(--ink);background:#fff;border-radius:15px;margin-top:13px;padding:14px;position:relative}.fitness-assistant-conversation-bar{align-items:center;gap:7px;margin-top:12px;display:flex}.fitness-assistant-conversation-bar select{border:1px solid var(--line);min-width:0;height:36px;color:var(--ink);background:var(--input-bg);border-radius:10px;flex:1;padding:0 9px;font-size:11px}.fitness-assistant-conversation-bar button{border:1px solid var(--line);height:36px;color:var(--green-dark);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;align-items:center;gap:4px;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex}.fitness-assistant-conversation-bar button:last-child{color:#a93438}.fitness-assistant-conversation-bar button:disabled,.fitness-assistant-conversation-bar select:disabled{opacity:.5;cursor:default}.fitness-assistant-conversation-bar svg{width:14px;height:14px}.fitness-assistant-answer header{justify-content:space-between;align-items:center;gap:10px;display:flex}.fitness-assistant-answer header strong{color:var(--green-dark);font-size:12px}.fitness-assistant-answer header>span{align-items:center;gap:5px;display:flex}.fitness-assistant-answer header button{color:var(--green-dark);background:var(--green-soft);cursor:pointer;border:0;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:700}.fitness-assistant-answer header button:disabled{opacity:.5;cursor:default}.fitness-assistant-answer>div{color:var(--ink);margin-top:11px;font-size:12px;line-height:1.65}.fitness-assistant-thread{gap:9px;max-height:min(56svh,560px);padding:3px 2px 5px;display:grid;overflow-y:auto}.assistant-message-row{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:13px;max-width:92%;padding:9px 11px}.assistant-message-row.user-message{color:#20553a;background:var(--green-soft);border:1px solid rgb(var(--accent-rgb) / .12);border-bottom-right-radius:4px;justify-self:end}.assistant-message-row.assistant-message{background:var(--input-bg);border:1px solid var(--line);border-bottom-left-radius:4px;justify-self:start}.assistant-message-row b{color:var(--green-dark);margin-bottom:4px;font-size:10px;display:block}.assistant-message-row p{margin:0}.assistant-message-row time{color:var(--muted);opacity:.8;margin-top:5px;font-size:9px;display:block}.assistant-message-row.pending-message{opacity:.78}.assistant-message-row.failed-message{border-color:#a934384d}.assistant-message-row img{object-fit:cover;border-radius:9px;width:min(260px,100%);max-height:240px;margin:2px 0 7px;display:block}.fitness-assistant-upload-preview{border:1px solid rgb(var(--accent-rgb) / .16);z-index:1;background:var(--green-soft);border-radius:12px;align-items:center;gap:8px;margin-top:9px;padding:7px 9px;display:flex;position:relative}.fitness-assistant-upload-preview img{object-fit:cover;border-radius:8px;width:54px;height:54px}.fitness-assistant-upload-preview span{color:var(--green-dark);font-size:10px}.fitness-assistant-upload-preview button{width:24px;height:24px;color:var(--muted);cursor:pointer;background:#fff;border:0;border-radius:7px;place-items:center;margin-left:auto;display:grid}.fitness-assistant-upload-preview button svg{width:14px}.fitness-assistant-answer>small{color:var(--muted);margin-top:10px;font-size:9px;display:block}.fitness-assistant-status,.fitness-assistant-error{z-index:1;margin:9px 0 0;font-size:10px;position:relative}.fitness-assistant-status{color:var(--muted)}.fitness-assistant-error{color:#a93438}.assistant-shell{max-width:930px}.assistant-page-intro{color:#fff;background:linear-gradient(135deg, var(--hero-start), var(--hero-end));box-shadow:0 17px 38px rgb(var(--accent-rgb) / .18);border-radius:23px;margin:23px 0 18px;padding:26px 27px}.assistant-page-intro p{color:#ffffffc2;margin:0;font-size:11px;font-weight:750}.assistant-page-intro h1{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(27px,5vw,39px)}.assistant-page-intro span{color:#ffffffc7;font-size:12px}.assistant-shell>.fitness-assistant{margin-top:0}@media (max-width:760px){.mobile-header-actions{display:flex}.mobile-assistant-link,.mobile-alert{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:14px;place-items:center;display:grid}.mobile-assistant-link svg,.mobile-alert svg{width:21px;height:21px}.mobile-assistant-link{color:var(--green-dark)}.mobile-alert{position:relative}.mobile-alert i{background:#ef5257;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.fitness-assistant{border-radius:20px;padding:19px 17px 17px}.fitness-assistant-head h2{font-size:16px}.fitness-assistant-description{margin:12px 0;font-size:10px}.fitness-assistant-prompts button{font-size:10px}.assistant-page-intro{border-radius:20px;margin-top:10px;padding:23px 20px}.assistant-page-intro h1{font-size:28px}.assistant-page-intro span{line-height:1.6;display:block}}.home-meal-card{border:1px solid rgb(var(--accent-rgb) / .13);min-height:92px;color:var(--ink);background:linear-gradient(105deg,white 0 72%,rgb(var(--accent-rgb) / .065));border-radius:20px;grid-template-columns:48px minmax(0,1fr) auto 36px;align-items:center;gap:12px;margin-top:16px;padding:16px 18px;display:grid;box-shadow:0 10px 26px #1730230d}.home-meal-icon{color:#fff;background:var(--green);width:48px;height:48px;box-shadow:0 9px 20px rgb(var(--accent-rgb) / .2);border-radius:16px;place-items:center;display:grid}.home-meal-icon svg{width:23px}.home-meal-card div{min-width:0}.home-meal-card div strong,.home-meal-card div small,.home-meal-card>b small{display:block}.home-meal-card div strong{font-size:15px}.home-meal-card div small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;overflow:hidden}.home-meal-card>b{color:var(--green-dark);text-align:right;font-size:22px;line-height:1}.home-meal-card>b small{color:var(--muted);margin-top:5px;font-size:9px;font-weight:650}.home-meal-arrow{width:36px;height:36px;color:var(--green);place-items:center;display:grid;position:relative}.home-meal-arrow svg:first-child{opacity:.12;width:34px;height:34px;position:absolute}.home-meal-arrow svg:last-child{width:19px}.meals-shell{max-width:980px}.meal-intro{border:1px solid rgb(var(--accent-rgb) / .1);background:linear-gradient(112deg,white 0 67%,rgb(var(--accent-rgb) / .09));border-radius:24px;justify-content:space-between;align-items:center;min-height:132px;padding:24px 26px;display:flex;position:relative;overflow:hidden}.meal-intro:after{content:"";border:1px solid rgb(var(--accent-rgb) / .11);width:150px;height:150px;box-shadow:0 0 0 24px rgb(var(--accent-rgb) / .035),0 0 0 48px rgb(var(--accent-rgb) / .022);border-radius:50%;position:absolute;top:-50px;right:-48px}.meal-intro>div,.meal-intro>span{z-index:1;position:relative}.meal-intro h1{letter-spacing:-.04em;margin:0;font-size:31px}.meal-intro p{color:var(--muted);margin:9px 0 0;font-size:13px}.meal-intro>span{color:#fff;background:var(--green);width:60px;height:60px;box-shadow:0 12px 28px rgb(var(--accent-rgb) / .25);border-radius:20px;place-items:center;display:grid}.meal-intro>span svg{width:28px;height:28px}.meal-summary{color:#fff;background:linear-gradient(135deg,var(--hero-start),var(--hero-end));min-height:235px;box-shadow:0 18px 40px rgb(var(--accent-rgb) / .2);border-radius:25px;margin-top:16px;padding:27px 28px 22px;position:relative;overflow:hidden}.meal-summary.over-limit{background:linear-gradient(135deg,#d8584f,#b93449);box-shadow:0 18px 40px #b1344338}.meal-summary:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:270px;height:270px;position:absolute;top:-105px;right:-95px;box-shadow:0 0 0 38px #ffffff0a,0 0 0 76px #ffffff06}.meal-summary-copy{z-index:1;position:relative}.meal-summary-copy p{color:#ffffffd1;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:730;display:flex}.meal-summary-copy p svg{width:17px}.meal-summary-copy>strong{letter-spacing:-.055em;margin-top:13px;font-size:54px;line-height:1;display:block}.meal-summary-copy>strong small{letter-spacing:0;margin-left:7px;font-size:15px}.meal-summary-copy>span{color:#ffffffc7;margin-top:10px;font-size:12px;display:block}.meal-summary-orbit{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:28px;place-items:center;width:90px;height:90px;display:grid;position:absolute;top:42px;right:30px}.meal-summary-orbit>svg{opacity:.72;width:19px;position:absolute;top:9px;right:10px}.meal-summary-orbit i{font-size:30px;font-style:normal;font-weight:820}.meal-summary-orbit small{color:#ffffffbf;margin-top:-22px;font-size:9px}.meal-ai-note{z-index:1;color:#ffffffd1;background:#ffffff1a;border-radius:13px;align-items:flex-start;gap:8px;min-height:42px;margin:24px 0 0;padding:11px 13px;font-size:10px;line-height:1.5;display:flex;position:relative}.meal-ai-note svg{flex:none;width:15px;height:15px}.meal-log{border:1px solid var(--line);background:#fff;border-radius:24px;margin-top:17px;padding:23px;box-shadow:0 12px 32px #1730230d}.meal-section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.meal-section-head h2{letter-spacing:-.02em;margin:0;font-size:20px}.meal-section-head p{color:var(--muted);margin:5px 0 0;font-size:10px}.meal-section-head>button{cursor:pointer;color:#fff;background:var(--green);border:0;border-radius:13px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:11px;font-weight:760;display:flex}.meal-section-head>button svg{width:16px}.meal-slot-list{gap:3px;display:grid}.meal-slot{border-top:1px solid var(--line)}.meal-slot-heading{cursor:pointer;text-align:left;width:100%;min-height:72px;color:var(--ink);background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:11px;padding:11px 2px;display:grid}.meal-slot-heading>span{width:42px;height:42px;color:var(--green);background:var(--green-soft);border-radius:14px;place-items:center;display:grid}.meal-slot-heading>span svg{width:20px}.meal-slot-heading strong,.meal-slot-heading small{display:block}.meal-slot-heading strong{font-size:13px}.meal-slot-heading small{color:var(--muted);margin-top:5px;font-size:10px}.meal-slot-heading>svg{width:17px;color:var(--green)}.meal-slot-heading.readonly{cursor:default}.meal-slot-heading.readonly>svg{visibility:hidden}.meal-entry-list{gap:7px;padding:0 0 9px 53px;display:grid}.meal-entry{border:1px solid var(--line);cursor:pointer;width:100%;min-height:82px;color:var(--ink);text-align:left;background:var(--input-bg);border-radius:15px;grid-template-columns:67px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:7px;display:grid}.meal-entry>img{object-fit:cover;border-radius:11px;width:67px;height:67px}.meal-entry>span{min-width:0}.meal-entry>span strong,.meal-entry>span small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.meal-entry>span strong{font-size:12px}.meal-entry>span small{color:var(--muted);margin-top:4px;font-size:9px}.meal-entry>span em{border-radius:8px;align-items:center;gap:4px;width:fit-content;margin-top:7px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:750;display:flex}.meal-entry>span em svg{width:10px;height:10px}.meal-entry>span em.confirmed{color:var(--green-dark);background:var(--green-soft)}.meal-entry>span em.pending{color:#b66a11;background:#fff2df}.meal-entry>span em.processing{color:#3465a4;background:#e8f2ff}.meal-entry>span em.failed{color:#a93438;background:#ffe8e6}.meal-entry>b{color:var(--green-dark);text-align:right;white-space:nowrap;font-size:15px}.meal-entry>b small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.meal-entry>svg{color:#aeb8b2;width:16px}.meal-sheet-backdrop{z-index:170;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#081a1085;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.meal-sheet{background:#fff;border-radius:27px;width:min(560px,100%);max-height:calc(100svh - 36px);padding:23px;overflow-y:auto;box-shadow:0 30px 90px #05190d4d}.meal-sheet>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.meal-sheet>header h2{letter-spacing:-.03em;margin:0;font-size:22px}.meal-sheet>header p{color:var(--muted);margin:6px 0 0;font-size:10px}.meal-sheet>header button{cursor:pointer;width:38px;height:38px;color:var(--muted);background:var(--input-bg);border:0;border-radius:12px;place-items:center;padding:0;display:grid}.meal-sheet>header button svg{width:19px}.meal-type-tabs{background:var(--input-bg);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:18px;padding:4px;display:grid}.meal-type-tabs button{cursor:pointer;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:10px;font-weight:740}.meal-type-tabs button.active{color:var(--green-dark);background:#fff;box-shadow:0 4px 13px #14322114}.meal-source-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.meal-source-tabs button{border:1px solid var(--line);cursor:pointer;min-height:45px;color:var(--muted);background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:740;display:flex}.meal-source-tabs button.active{border-color:rgb(var(--accent-rgb) / .35);color:var(--green-dark);background:var(--green-soft)}.meal-source-tabs svg{width:17px}.meal-recognition-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;display:grid}.meal-recognition-options>button{border:1px solid var(--line);cursor:pointer;min-width:0;min-height:70px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:11px;display:grid}.meal-recognition-options>button>svg{width:21px;color:var(--muted)}.meal-recognition-options>button span,.meal-recognition-options strong,.meal-recognition-options small{min-width:0;display:block}.meal-recognition-options strong{font-size:11px}.meal-recognition-options small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.35}.meal-recognition-options>button.active{border-color:rgb(var(--accent-rgb) / .42);color:var(--green-dark);background:var(--green-soft);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .1)}.meal-recognition-options>button.active>svg{color:var(--green)}.meal-photo-picker{border:1px dashed rgb(var(--accent-rgb) / .35);cursor:pointer;width:100%;min-height:235px;color:var(--ink);background:rgb(var(--accent-rgb) / .035);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:20px;display:flex;overflow:hidden}.meal-photo-picker>span{color:#fff;background:var(--green);width:58px;height:58px;box-shadow:0 10px 24px rgb(var(--accent-rgb) / .2);border-radius:19px;place-items:center;display:grid}.meal-photo-picker>span svg{width:27px}.meal-photo-picker strong{margin-top:5px;font-size:14px}.meal-photo-picker small{color:var(--muted);font-size:9px}.meal-photo-picker.has-photo{background:#eef3f0;border-style:solid;padding:0}.meal-photo-picker.has-photo img{object-fit:contain;width:100%;height:260px}.meal-confirm-photo{background:#edf2ef;border-radius:18px;height:225px;margin-top:13px;position:relative;overflow:hidden}.meal-confirm-photo img{object-fit:contain;width:100%;height:100%}.meal-confirm-photo span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071b10b8;border-radius:10px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:8px 11px;font-size:10px;display:flex;position:absolute;bottom:12px;left:12px}.meal-confirm-photo span svg{width:14px}.meal-upload-status{background:#f2fbf6;border:1px solid #b8d8c6;border-radius:15px;margin-top:13px;padding:13px}.meal-upload-status>header{grid-template-columns:28px minmax(0,1fr);align-items:flex-start;gap:9px;display:grid}.meal-upload-status>header>svg{width:20px;height:20px;color:var(--green);margin:1px auto 0}.meal-upload-status>header strong,.meal-upload-status>header small,.meal-upload-status>header time{display:block}.meal-upload-status>header strong{color:var(--green-dark);font-size:12px}.meal-upload-status>header small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.45}.meal-upload-status>header time{color:var(--muted);margin-top:4px;font-size:8px}.meal-upload-status.warning{background:#fff9ed;border-color:#eed09f}.meal-upload-status.warning>header>svg,.meal-upload-status.warning>header strong{color:#a96818}.meal-upload-status.failed{background:#fff2f1;border-color:#efb8b5}.meal-upload-status.failed>header>svg,.meal-upload-status.failed>header strong{color:#a93438}.meal-upload-steps{grid-template-columns:auto minmax(12px,1fr) auto minmax(12px,1fr) auto;align-items:start;margin-top:12px;display:grid}.meal-upload-steps>span{color:#a3ada7;justify-items:center;gap:4px;min-width:50px;display:grid}.meal-upload-steps>span i{background:#fff;border:1px solid #d6dfda;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.meal-upload-steps>span i svg{width:12px;height:12px}.meal-upload-steps>span b{font-size:8px;font-weight:720}.meal-upload-steps>em{background:#dfe6e2;height:2px;margin-top:11px}.meal-upload-steps>span.active,.meal-upload-steps>span.done{color:var(--green-dark)}.meal-upload-steps>span.active i{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.meal-upload-steps>span.done i{border-color:var(--green);color:#fff;background:var(--green)}.meal-upload-steps>span.done+em{background:var(--green)}.meal-upload-steps>span.failed{color:#a93438}.meal-upload-steps>span.failed i{color:#a93438;background:#ffe8e6;border-color:#d85a5f}.meal-confirm-form{gap:11px;margin-top:14px;display:grid}.meal-confirm-form label{gap:6px;display:grid}.meal-confirm-form label>span{font-size:10px;font-weight:750}.meal-confirm-form input,.meal-confirm-form textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--input-bg);border-radius:12px;outline:none}.meal-confirm-form input{min-height:46px;padding:0 12px}.meal-confirm-form textarea{resize:vertical;min-height:70px;padding:11px 12px}.meal-confirm-form input:focus,.meal-confirm-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.meal-confirm-form input:disabled,.meal-confirm-form textarea:disabled{opacity:1;color:var(--ink);background:#f4f6f5}.meal-calorie-input{position:relative}.meal-calorie-input input{padding-right:54px}.meal-calorie-input i{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.meal-confidence,.meal-sheet-notice{color:var(--green-dark);background:var(--green-soft);border-radius:11px;align-items:center;gap:7px;margin:0;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.meal-confidence svg,.meal-sheet-notice svg{flex:none;width:14px;height:14px}.meal-sheet-notice{margin-top:12px}.meal-sheet-error{color:var(--red);margin:11px 2px 0;font-size:10px}.meal-sheet>footer{margin-top:15px;display:grid}.meal-sheet>footer.with-delete{grid-template-columns:48px minmax(0,1fr);gap:9px}.meal-sheet>footer.with-delete.with-retry{grid-template-columns:48px minmax(0,.75fr) minmax(0,1fr)}.meal-sheet>footer button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:50px;font-size:12px;font-weight:780;display:flex}.meal-sheet>footer button:disabled{opacity:.55;cursor:wait}.meal-primary{color:#fff;background:var(--green);box-shadow:0 10px 23px rgb(var(--accent-rgb) / .2)}.meal-primary svg{width:18px}.meal-delete{color:var(--red);background:var(--red-soft)}.meal-delete svg{width:18px}.meal-retry{color:#3465a4;background:#e8f2ff}.meal-retry svg{width:16px}.spin{animation:.9s linear infinite meal-spin}@keyframes meal-spin{to{transform:rotate(360deg)}}@media (max-width:760px){.home-meal-card{border-radius:19px;grid-template-columns:44px minmax(0,1fr) auto 25px;gap:10px;min-height:84px;padding:13px 12px}.home-meal-icon{border-radius:14px;width:44px;height:44px}.home-meal-card>b{font-size:18px}.home-meal-arrow{width:25px}.meals-shell{padding-left:14px;padding-right:14px}.meal-intro{border-radius:21px;min-height:112px;padding:20px}.meal-intro h1{font-size:26px}.meal-intro p{font-size:11px}.meal-intro>span{border-radius:17px;width:52px;height:52px}.meal-summary{border-radius:23px;min-height:228px;padding:23px 20px 19px}.meal-summary-copy>strong{font-size:48px}.meal-summary-orbit{border-radius:24px;width:78px;height:78px;top:38px;right:18px}.meal-ai-note{margin-top:24px}.meal-log{border-radius:21px;padding:18px 14px}.meal-entry-list{padding-left:0}.meal-entry{grid-template-columns:62px minmax(0,1fr) auto 14px;gap:8px}.meal-entry>img{width:62px;height:62px}.meal-entry>b{font-size:13px}.meal-sheet>footer.with-delete.with-retry{grid-template-columns:46px 1fr}.meal-sheet>footer.with-delete.with-retry .meal-primary{grid-column:1/-1}.meal-sheet-backdrop{align-items:end;padding:0}.meal-sheet{width:100%;max-height:calc(94svh - env(safe-area-inset-top));padding:21px 16px calc(18px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.meal-sheet:before{content:"";background:#dce4df;border-radius:9px;width:42px;height:4px;margin:-10px auto 14px;display:block}.meal-photo-picker{min-height:220px}.meal-photo-picker.has-photo img{height:235px}.meal-confirm-photo{height:205px}.meal-recognition-options>button{grid-template-columns:24px minmax(0,1fr);gap:6px;min-height:66px;padding:10px 9px}.meal-recognition-options>button>svg{width:19px}}.photo-day-list{gap:18px;margin-top:25px;display:grid}.photo-day-section{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;box-shadow:0 12px 32px #1730230f}.photo-day-section>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.photo-day-section h2{margin:0;font-size:20px}.photo-day-section header p{color:var(--muted);align-items:center;gap:6px;margin:5px 0 0;font-size:11px;display:flex}.photo-day-section header p svg,.photo-day-section header>strong svg{width:14px;height:14px}.photo-day-section header>strong{color:var(--green-dark);background:var(--green-soft);border-radius:10px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;display:inline-flex}.photo-day-note{color:#355246;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f8f5;border-radius:13px;align-items:flex-start;gap:8px;margin:14px 0 0;padding:11px 12px;font-size:12px;line-height:1.55;display:flex}.photo-day-note svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:1px}.photo-day-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:11px;margin-top:14px;display:grid}.photo-day-grid .photo-item{border:1px solid var(--line);background:#fbfcfb;border-radius:16px;min-width:0;padding:7px}.photo-day-grid .photo-item p{padding:0 4px 4px}@media (max-width:760px){.photo-day-list{gap:13px;margin-top:18px}.photo-day-section{box-shadow:none;border-radius:19px;padding:15px}.photo-day-section h2{font-size:17px}.photo-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-day-grid .photo-item{border-radius:14px;padding:5px}.photo-day-grid .photo-item img{border-radius:10px}.photo-day-grid .photo-item p{font-size:9px;line-height:1.5}}.photo-viewer-page{color:#f5f8f6;background:radial-gradient(circle at 50% 42%,#18211c 0%,#0b100d 42%,#050806 100%);grid-template-rows:auto minmax(0,1fr) auto;height:100svh;min-height:560px;display:grid;overflow:hidden}.photo-viewer-header{min-height:74px;padding:max(14px,env(safe-area-inset-top)) clamp(16px,3vw,34px) 12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050806b3;border-bottom:1px solid #ffffff12;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:14px;display:grid}.photo-viewer-icon{cursor:pointer;color:#fff;background:#ffffff12;border:1px solid #ffffff21;border-radius:14px;place-items:center;width:44px;height:44px;padding:0;display:grid}.photo-viewer-icon:hover{background:#ffffff24}.photo-viewer-icon svg{width:21px;height:21px}.photo-viewer-title{text-align:center;min-width:0}.photo-viewer-title strong,.photo-viewer-title span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.photo-viewer-title strong{letter-spacing:.01em;font-size:16px}.photo-viewer-title span{color:#ffffff85;margin-top:3px;font-size:11px}.photo-viewer-stage{touch-action:pan-y;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:14px;min-height:0;padding:12px clamp(12px,2vw,30px);display:grid;position:relative}.photo-viewer-canvas{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.photo-viewer-canvas img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 24px 48px #00000061);width:100%;max-width:1500px;height:100%}.photo-viewer-arrow{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff21;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid}.photo-viewer-arrow:hover:not(:disabled){background:#ffffff2e;transform:scale(1.04)}.photo-viewer-arrow:disabled{opacity:.16;cursor:default}.photo-viewer-arrow svg{width:26px;height:26px}.photo-viewer-footer{padding:12px clamp(16px,3vw,34px) max(14px,env(safe-area-inset-bottom));background:linear-gradient(#050806c7,#050806);border-top:1px solid #ffffff12}.photo-viewer-workout-details{justify-content:center;align-items:center;gap:8px;width:min(900px,100%);margin:0 auto 10px;display:flex}.photo-viewer-workout-details span{color:#ffffffb8;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;min-width:0;padding:7px 9px;font-size:10px;display:inline-flex}.photo-viewer-workout-details span:first-child{max-width:min(620px,75%)}.photo-viewer-workout-details strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-viewer-workout-details svg{color:#70d69d;flex:none;width:14px;height:14px}.photo-viewer-meta{justify-content:space-between;align-items:center;gap:24px;width:min(900px,100%);margin:0 auto 11px;display:flex}.photo-viewer-meta>div{align-items:center;gap:9px;min-width:0;display:flex}.photo-viewer-meta svg{color:#70d69d;flex:none;width:17px;height:17px}.photo-viewer-meta span{min-width:0}.photo-viewer-meta strong,.photo-viewer-meta small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.photo-viewer-meta strong{font-size:12px}.photo-viewer-meta small{color:#ffffff75;margin-top:3px;font-size:10px}.photo-viewer-thumbs{scrollbar-width:none;justify-content:center;gap:8px;max-width:100%;margin:0 auto;padding:2px 1px 4px;display:flex;overflow-x:auto}.photo-viewer-thumbs::-webkit-scrollbar{display:none}.photo-viewer-thumbs button{cursor:pointer;opacity:.48;background:#ffffff12;border:2px solid #0000;border-radius:12px;flex:0 0 58px;width:58px;height:58px;padding:2px;position:relative;overflow:hidden}.photo-viewer-thumbs button.active{opacity:1;border-color:#60dc94;box-shadow:0 0 0 2px #60dc9424}.photo-viewer-thumbs img{object-fit:cover;border-radius:8px;width:100%;height:100%}.photo-viewer-thumbs span{color:#fff;background:#000000ad;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;display:grid;position:absolute;bottom:4px;right:4px}.photo-viewer-hint{color:#ffffff52;text-align:center;margin:5px 0 0;font-size:9px}@media (max-width:760px){.photo-viewer-page{min-height:480px}.photo-viewer-header{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;min-height:68px;padding-left:12px;padding-right:12px}.photo-viewer-icon{border-radius:13px;width:40px;height:40px}.photo-viewer-stage{padding:8px 0;display:block}.photo-viewer-canvas{height:100%}.photo-viewer-canvas img{max-width:100%}.photo-viewer-arrow{z-index:2;background:#0408068f;width:42px;height:42px;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-arrow:hover:not(:disabled){transform:translateY(-50%)}.photo-viewer-arrow.previous{left:9px}.photo-viewer-arrow.next{right:9px}.photo-viewer-footer{padding:11px 13px max(10px,env(safe-area-inset-bottom))}.photo-viewer-workout-details{justify-content:flex-start;overflow:hidden}.photo-viewer-workout-details span:first-child{max-width:calc(100% - 78px)}.photo-viewer-meta{gap:10px;margin-bottom:9px}.photo-viewer-meta>div{flex:1}.photo-viewer-meta>div:last-child{text-align:right;justify-content:flex-end}.photo-viewer-meta strong{font-size:10px}.photo-viewer-meta small{font-size:9px}.photo-viewer-thumbs{justify-content:flex-start}.photo-viewer-thumbs button{border-radius:11px;flex-basis:54px;width:54px;height:54px}.photo-viewer-hint{display:none}}
