:root{--color-dominant: #000000;--color-secondary: #a2a9ad;--color-accent: #ce0e2d;--color-light: #ffffff;--color-white: #ffffff;--color-surface: #323e48;--color-surface-strong: #323e48;--color-surface-soft: #2b3741;--color-muted: #a2a9ad;--color-border: rgba(162, 169, 173, .32);--shadow-strong: 0 16px 30px rgba(0, 0, 0, .35)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;height:100%}body{margin:0;background:var(--color-dominant);color:var(--color-white);font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-loading-screen{min-height:100vh;display:grid;place-items:center;background:var(--color-dominant)}.loading-spinner{width:38px;height:38px;border:4px solid rgba(206,14,45,.24);border-top-color:var(--color-accent);border-radius:50%;animation:loading-spin .8s linear infinite}.profile-setup{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--color-dominant)}.profile-setup-form{width:min(100%,520px);display:flex;flex-direction:column;gap:14px}.setup-logo{width:96px;height:72px;object-fit:contain;align-self:center;margin-bottom:14px}.profile-setup-form h1{font-size:1.75rem;font-weight:800}.profile-setup-form p{margin-top:6px;color:var(--color-muted)}.setup-measurement-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px;align-items:end}.setup-error{color:#ff8798!important;font-size:.875rem}@keyframes loading-spin{to{transform:rotate(360deg)}}button,input,select,textarea{font:inherit}button{border:none;cursor:pointer}img{display:block;max-width:100%}input,select,textarea{border:1px solid var(--color-secondary);border-radius:12px;background:var(--color-dominant);color:var(--color-white);padding:.8rem .9rem;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)}label{display:flex;flex-direction:column;gap:.45rem;color:var(--color-muted);font-size:.85rem;font-weight:600}.missionfit-app{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 12px;background:var(--color-dominant)}.phone-shell{width:min(100%,480px);height:min(880px,calc(100dvh - 32px));background:var(--color-dominant);border:1px solid var(--color-border);border-radius:28px;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;padding-top:max(16px,calc(16px + env(safe-area-inset-top,0px)));background:var(--color-dominant);flex-shrink:0;position:sticky;top:0;z-index:10}.topbar-center{flex:1;display:flex;justify-content:center}.brand-wrap{display:flex;align-items:center;justify-content:center;width:56px;height:48px}.brand-logo{width:100%;height:100%;object-fit:contain}.icon-button{width:38px;height:38px;border-radius:50%;background:transparent;color:var(--color-accent);border:none;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.icon-button:hover{background:#ffffff0d}.content{flex:1;min-height:0;padding:0 20px 20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px}.panel{padding:20px}.date-row{display:flex;align-items:center;justify-content:space-between;color:var(--color-muted);font-size:.9rem;font-weight:600}.eyebrow{margin:0 0 6px;color:var(--color-accent);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{font-size:2rem;font-weight:800;line-height:1.1;color:var(--color-white);margin:0}h2{font-size:1.25rem;font-weight:700;color:var(--color-white);margin:0}.primary-button{background:var(--color-accent);color:var(--color-dominant);padding:12px 18px;border-radius:12px;font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.primary-button:hover{opacity:.9}.primary-button.small{padding:8px 14px;font-size:.85rem;border-radius:10px}.outlined-button{background:transparent;color:var(--color-light);border:1px solid var(--color-secondary);padding:12px 18px;border-radius:12px;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:8px}.outlined-button:hover{background:#ffffff0d}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-card{padding:16px;background:var(--color-surface-strong);border-radius:20px}.metric-title{font-size:.82rem;color:var(--color-muted);font-weight:500;margin-bottom:12px}.metric-body{display:flex;align-items:center;gap:12px}.mini-ring{position:relative;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.mini-ring-inner{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--color-dominant);display:grid;place-items:center}.mini-ring-inner span{font-size:.7rem;font-weight:800}.metric-value-col{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.metric-value-row{display:flex;align-items:baseline;gap:4px}.metric-value-col strong{font-size:1.5rem;font-weight:800;line-height:1}.metric-value-col small{color:var(--color-muted);font-size:.72rem}.metric-controls{display:flex;align-items:center;gap:6px;margin-top:8px}.tiny-button{width:26px;height:26px;border-radius:50%;background:var(--color-surface-soft);color:var(--color-white);display:grid;place-items:center;font-size:.9rem;font-weight:700}.tiny-button:hover{background:#ffffff26}.streak-card{display:flex;flex-direction:column;gap:16px;background:var(--color-surface);border-radius:22px;padding:18px}.streak-card h3{font-size:1.1rem;font-weight:700;margin:0}.streak-days{display:flex;justify-content:space-between;align-items:center}.streak-dot{width:34px;height:34px;border-radius:50%;background:var(--color-surface-soft);display:grid;place-items:center;color:var(--color-muted);font-size:.75rem;font-weight:700;border:1.4px solid transparent}.streak-dot.active{background:var(--color-accent);color:var(--color-dominant);border-color:var(--color-light)}.streak-label{font-size:1.25rem;font-weight:700}.quote-card{display:flex;flex-direction:column;gap:12px;padding:20px}.quote-block{font-size:1rem;line-height:1.45;margin:0}.quote-author{color:var(--color-muted);font-weight:700;font-size:.85rem}.quickstart-card{display:flex;flex-direction:column;gap:14px}.quickstart-list{display:flex;flex-direction:column;gap:10px}.quickstart-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface-soft);border-radius:14px;cursor:pointer}.quickstart-row:hover{background:#ffffff0f}.quickstart-copy{display:flex;flex-direction:column;gap:4px}.quickstart-copy strong{font-size:.95rem;font-weight:700}.quickstart-copy span{color:var(--color-muted);font-size:.75rem}.today-banner{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--color-surface-strong);border-radius:22px}.today-banner-copy{display:flex;flex-direction:column;gap:6px}.today-banner-copy h3{font-size:1.1rem;font-weight:700;margin:0}.today-banner-copy strong{font-size:1.6rem;font-weight:800}.calendar-card{padding:16px 18px 18px}.calendar-header{margin-bottom:14px}.calendar-header h3{font-size:1.1rem;font-weight:700;margin:0 0 2px}.calendar-header p{color:var(--color-muted);font-size:.8rem;font-weight:600;margin:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:var(--color-muted);font-weight:700;font-size:.8rem;margin-bottom:8px}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 0}.calendar-day-btn{height:42px;width:42px;margin:0 auto;border-radius:50%;background:transparent;color:var(--color-muted);font-weight:700;font-size:.85rem;display:grid;place-items:center;position:relative;border:1.2px solid transparent}.calendar-day-btn.selected{background:var(--color-secondary);color:var(--color-white)}.calendar-day-btn.has-plan{border-color:var(--color-accent)}.body-map-card{display:flex;flex-direction:column;gap:16px}.body-map-container{display:flex;justify-content:center;align-items:center;width:100%}.workout-presets-card{display:flex;flex-direction:column;gap:12px}.preset-tile{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-surface-soft);border-radius:14px;cursor:pointer}.preset-tile:hover{background:#ffffff14}.preset-tile strong{font-size:1rem;font-weight:700;flex:1;text-align:center}.food-macro-section{display:flex;align-items:center;gap:20px}.food-progress-ring{position:relative;width:130px;height:130px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.food-progress-ring-inner{position:absolute;width:110px;height:110px;border-radius:50%;background:var(--color-dominant);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.food-progress-ring-inner strong{font-size:1.2rem;font-weight:700}.food-progress-ring-inner span{font-size:.75rem;color:var(--color-muted)}.macro-column{flex:1;display:flex;flex-direction:column;gap:12px}.macro-row{display:flex;justify-content:space-between;font-size:.9rem}.macro-row span{font-weight:600}.macro-row small{color:var(--color-muted)}.food-log-card{display:flex;flex-direction:column;gap:14px}.food-log-header{display:flex;align-items:center;justify-content:space-between}.add-circle-btn{width:36px;height:36px;border-radius:50%;background:var(--color-accent);color:var(--color-dominant);display:grid;place-items:center;font-size:1.25rem}.food-log-item{display:flex;align-items:flex-start;gap:8px}.food-log-item-content{flex:1;padding:12px;background:var(--color-surface-soft);border-radius:14px;display:flex;align-items:center;justify-content:space-between}.food-log-item-info{display:flex;flex-direction:column;gap:4px}.food-log-item-info strong{font-size:.95rem;font-weight:700}.food-log-item-info span{color:var(--color-muted);font-size:.8rem}.goal-toggle-row{display:flex;gap:10px}.goal-toggle-btn{flex:1;padding:12px;border-radius:12px;background:var(--color-surface);color:var(--color-white);border:1px solid var(--color-border);font-weight:700;text-align:center;cursor:pointer}.goal-toggle-btn.active{background:var(--color-accent);color:var(--color-dominant);border-color:var(--color-accent)}.settings-group{display:flex;flex-direction:column;gap:12px}.settings-group h2{margin-bottom:4px}.inline-input-group{display:grid;grid-template-columns:1fr 96px;gap:10px;align-items:end}.bottom-nav{flex-shrink:0;position:sticky;bottom:0;z-index:10;display:flex;justify-content:space-around;align-items:center;padding:8px 12px max(12px,env(safe-area-inset-bottom,12px));background:var(--color-surface);border-top:1px solid var(--color-border)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;color:var(--color-white);font-size:.72rem;font-weight:500;cursor:pointer}.nav-indicator{width:60px;height:30px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-white);transition:background-color .2s,color .2s}.nav-item.active .nav-indicator{background:var(--color-accent);color:var(--color-dominant)}.nav-item span{color:var(--color-white)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet-content{width:min(100%,500px);max-height:85vh;background:var(--color-dominant);border-top-left-radius:28px;border-top-right-radius:28px;padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;border:1px solid var(--color-border);border-bottom:none}.dialog-content{width:min(90%,460px);background:var(--color-surface);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:16px;margin:auto;border:1px solid var(--color-border)}.sheet-tabs{display:flex;border-bottom:1px solid var(--color-border);gap:8px}.sheet-tab-btn{flex:1;padding:10px 4px;background:transparent;color:var(--color-muted);font-weight:700;font-size:.82rem;border-bottom:2px solid transparent}.sheet-tab-btn.active{color:var(--color-white);border-bottom-color:var(--color-accent)}.exercise-card{padding:16px;border-radius:18px;background:var(--color-surface);display:flex;flex-direction:column;gap:12px;transition:background-color .2s}.exercise-card.completed{background:var(--color-accent);color:var(--color-dominant)}.exercise-card.completed input{background:#00000026;color:var(--color-dominant);border-color:transparent}.exercise-card-header{display:flex;align-items:center;justify-content:space-between}.exercise-card-header h4{font-size:1.1rem;font-weight:700;margin:0}.set-row{display:flex;align-items:center;gap:8px}.win-btn{width:32px;height:32px;border-radius:8px;background:var(--color-surface-soft);color:var(--color-white);font-weight:700;display:grid;place-items:center}.win-btn.won{background:var(--color-accent);color:var(--color-dominant)}.run-timer-box{background:var(--color-surface-strong);border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}.run-timer-digits{font-size:2.2rem;font-weight:800;font-variant-numeric:tabular-nums}@media (max-width: 480px){.missionfit-app{padding:0}.phone-shell{width:100%;height:100vh;height:100dvh;border-radius:0;border:none}.topbar{padding-top:max(16px,calc(16px + env(safe-area-inset-top,0px)))}}
