:root{--bg-primary: #0D1117;--bg-secondary: #161B22;--bg-tertiary: #21262D;--text-primary: #E6EDF3;--text-secondary: #848D97;--accent-primary: #58A6FF;--accent-primary-light: #79c0ff;--accent-secondary: #eac54f;--accent-danger: #F47067;--border-color: #30363D;--font-family: "Inter", sans-serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.15);--font-size-sm: clamp(.8rem, .17vw + .76rem, .89rem);--font-size-base: clamp(1rem, .34vw + .91rem, 1.19rem);--font-size-md: clamp(1.25rem, .61vw + 1.1rem, 1.58rem);--font-size-lg: clamp(1.56rem, 1vw + 1.31rem, 2.11rem);--font-size-xl: clamp(1.95rem, 1.56vw + 1.56rem, 2.81rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}#root{display:flex;height:100vh;width:100vw}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;vertical-align:middle;transition:color .2s ease-in-out}.app-container{display:flex;width:100%;height:100%}.sidebar{width:260px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);padding:24px 0;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:0 24px;margin-bottom:32px}.sidebar-header a{text-decoration:none;color:inherit;cursor:pointer}.sidebar-header h1{font-size:26px;font-weight:700;letter-spacing:-.5px}.sidebar-nav{flex-grow:1;padding:0 16px}.nav-list{list-style:none}.nav-item{display:flex;align-items:center;padding:12px 16px;margin-bottom:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;border-radius:8px;transition:background-color .2s,color .2s;cursor:pointer}.nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{color:var(--text-primary);background-color:var(--accent-primary);color:#fff;font-weight:600}.nav-item.active:hover{background-color:var(--accent-primary-light)}.nav-item .material-symbols-outlined{margin-right:16px;font-size:22px}.sidebar-footer{padding:16px;text-align:center;font-size:12px;color:var(--text-secondary)}.main-layout{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 32px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);height:70px;flex-shrink:0}.search-bar{display:flex;align-items:center;background-color:var(--bg-tertiary);border-radius:8px;padding:8px 12px;width:300px}.search-bar .material-symbols-outlined{color:var(--text-secondary)}.search-bar input{background:none;border:none;outline:none;color:var(--text-primary);margin-left:8px;font-size:14px}.search-bar input::placeholder{color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:16px}.icon-button{background:none;border:none;color:var(--text-secondary);cursor:pointer}.icon-button:hover{color:var(--text-primary)}.user-profile{display:flex;align-items:center;font-weight:500}.user-profile .user-avatar{font-size:32px;margin-left:12px;color:var(--accent-secondary)}.main-content{padding:32px;flex-grow:1}.main-title{font-size:28px;font-weight:600;margin-bottom:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-grid,.bento-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:min-content;grid-auto-flow:dense}@media(min-width:1200px){.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.row-span-2{grid-row:span 2}}@media(max-width:1199px){.col-span-2,.col-span-3,.col-span-4{grid-column:auto}}.card{background-color:var(--bg-secondary);border-radius:16px;padding:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.card-title-small{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.nutrition-dashboard{grid-column:1 / 3;grid-row:1;display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:center}.nutrient-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calorie-intake{position:relative;display:flex;justify-content:center;align-items:center}.calorie-circle-progress{width:180px;height:180px;transform:rotate(-90deg)}.calorie-circle-progress circle{fill:none;stroke-width:12;stroke-linecap:round}.calorie-circle-progress .bg{stroke:var(--bg-tertiary)}.calorie-circle-progress .fg{stroke:url(#calorieGradient);transition:stroke-dashoffset .5s ease-out}body>svg{display:none}.calorie-text{position:absolute;text-align:center}.calorie-text .value{font-size:36px;font-weight:700;color:var(--text-primary)}.calorie-text .label{font-size:14px;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.progress-item{margin-bottom:8px}.progress-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;font-weight:500}.progress-bar-bg{width:100%;height:10px;background-color:var(--bg-tertiary);border-radius:5px;overflow:hidden}.progress-bar{height:100%;border-radius:5px}.meal-suggestion{grid-column:3 / 4;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;background:url(https://images.unsplash.com/photo-1540189549336-e6e99c3679fe?q=80&w=1887&auto=format&fit=crop) no-repeat center center;background-size:cover;min-height:200px;position:relative;overflow:hidden}.meal-suggestion:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);border-radius:16px}.meal-suggestion-content{z-index:1;padding:16px}.meal-suggestion-content h4{font-size:18px;font-weight:600;color:#fff}.meal-suggestion-content p{font-size:14px;color:var(--text-secondary)}.sync-engine{grid-column:1 / 2;grid-row:2;display:flex;align-items:center;gap:24px}.sync-engine p{color:var(--text-secondary);margin-bottom:4px}.sync-engine p span{color:var(--text-primary);font-weight:500}.pie-chart-placeholder{width:100px;height:100px;flex-shrink:0}.pie-chart-placeholder path{stroke:var(--bg-secondary);stroke-width:2}.ai-coach{grid-column:4 / 5;grid-row:1 / 3;background-color:var(--bg-secondary);border:1px solid var(--accent-primary);display:flex;flex-direction:column;padding-bottom:16px}.chat-window{flex-grow:1;overflow-y:auto;margin:16px 0;padding-right:8px;display:flex;flex-direction:column;gap:12px}.chat-window::-webkit-scrollbar{width:6px}.chat-window::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.chat-window::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:3px}.chat-window::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.message{display:flex;max-width:85%}.message.user{align-self:flex-end;justify-content:flex-end}.message.ai{align-self:flex-start;justify-content:flex-start}.message-bubble{padding:10px 14px;border-radius:16px;line-height:1.5;font-size:14px}.message.user .message-bubble{background-color:var(--accent-primary);color:#fff;border-bottom-right-radius:4px}.message.ai .message-bubble{background-color:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px}.chat-input-form{display:flex;gap:8px;margin-top:auto;padding-top:8px}.chat-input-form input{flex-grow:1;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.chat-input-form input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #58a6ff33}.chat-input-form input:disabled{opacity:.6;cursor:not-allowed}.chat-input-form button{flex-shrink:0;width:42px;height:42px;border-radius:8px;border:none;background-color:var(--accent-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.chat-input-form button .material-symbols-outlined{font-size:20px}.chat-input-form button:hover{background-color:var(--accent-primary-light)}.chat-input-form button:disabled{background-color:var(--text-secondary);cursor:not-allowed}.typing-indicator span{height:8px;width:8px;background-color:var(--text-secondary);border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-of-type(1){animation-delay:-.32s}.typing-indicator span:nth-of-type(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.risk-flags{grid-column:3 / 4;grid-row:2}.progress-reports{grid-column:2 / 3;grid-row:2}.data-privacy{grid-column:4 / 5;grid-row:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.data-privacy .material-symbols-outlined{font-size:48px;color:var(--accent-primary)}.data-privacy p{font-size:12px;color:var(--text-secondary)}.chart-placeholder{width:100%;height:120px;margin-top:16px}.skeleton{background-color:var(--bg-tertiary);border-radius:16px;animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.skeleton.nutrition-dashboard{grid-column:1 / 4;min-height:250px}.skeleton.ai-coach{grid-column:4 / 5;grid-row:1 / 3;min-height:524px}.skeleton.sync-engine{grid-column:1 / 3;min-height:200px}.skeleton.meal-suggestion{grid-column:3 / 4;min-height:200px}.skeleton.progress-reports{grid-column:1 / 2;min-height:200px}.skeleton.risk-flags{grid-column:2 / 3;min-height:200px}.skeleton.data-privacy{grid-column:3 / 4;min-height:200px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.page-header .header-actions-group{display:flex;gap:16px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto 1fr;gap:24px;align-items:start}.profile-grid .card:nth-child(1){grid-column:1;grid-row:1;padding:16px}.profile-grid .card:nth-child(1) .form-group{margin-bottom:8px}.profile-grid .card:nth-child(1) .form-group-inline:last-child .form-group{margin-bottom:0}.profile-grid .card:nth-child(3){grid-column:1;grid-row:2}.profile-grid .card:nth-child(2){grid-column:2;grid-row:1 / 3}.profile-grid .card:nth-child(4){grid-column:3;grid-row:1 / 3;align-self:end}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group-inline{display:flex;gap:16px}.form-group-inline>.form-group{flex:1}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--text-secondary)}.diary-days{display:flex;flex-direction:column;gap:14px;margin-top:16px;max-height:420px;overflow-y:auto}.diary-day{border:1px solid var(--border-color);border-radius:10px;padding:12px 14px}.diary-day-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.diary-day-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.diary-day-items li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}.field-hint{margin-top:10px;font-size:12px;line-height:1.5;color:var(--text-secondary);opacity:.85}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px;color:var(--text-primary);font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #58a6ff33}.form-group textarea{min-height:100px;resize:vertical}.radio-group,.checkbox-group{display:flex;align-items:center;margin-bottom:12px}.radio-group input,.checkbox-group input{display:none}.radio-group label,.checkbox-group label{position:relative;padding-left:30px;cursor:pointer;font-size:14px}.radio-group label:before,.checkbox-group label:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid var(--border-color);background-color:var(--bg-tertiary);transition:all .2s}.radio-group label:before{border-radius:50%}.checkbox-group label:before{border-radius:4px}.radio-group input:checked+label:before,.checkbox-group input:checked+label:before{background-color:var(--accent-primary);border-color:var(--accent-primary)}.radio-group label:after,.checkbox-group label:after{content:"";position:absolute;opacity:0;transition:opacity .2s}.radio-group input:checked+label:after{opacity:1;left:5px;top:50%;transform:translateY(-50%);width:10px;height:10px;background-color:#fff;border-radius:50%}.checkbox-group input:checked+label:after{opacity:1;left:7px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.nutrition-goals-form .card-title-small{margin-top:24px;border-top:1px solid var(--border-color);padding-top:20px}.nutrition-goals-form .description{font-size:13px;color:var(--text-secondary);margin-bottom:16px;max-width:90%}.goals-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.goals-input-grid .form-group{margin-bottom:0}.goals-input-grid .form-group label{font-size:13px}.sync-button{background-color:var(--bg-secondary);border:1px solid var(--accent-primary);color:var(--accent-primary-light);padding:10px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.sync-button:hover{background-color:var(--accent-primary);color:#fff}.sync-button:disabled{cursor:not-allowed;opacity:.7}.sync-button .sync-icon{transition:transform .3s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.meal-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.meal-card{display:flex;flex-direction:column}.meal-card-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border-color);padding-bottom:12px;margin-bottom:16px}.meal-card .card-title{margin-bottom:0}.meal-calories{font-size:14px;font-weight:600;color:var(--accent-secondary)}.food-list{list-style:none;flex-grow:1}.food-item{display:flex;justify-content:space-between;padding:10px 4px;font-size:14px;color:var(--text-secondary)}.food-item:not(:last-child){border-bottom:1px solid var(--bg-tertiary)}.food-item span:last-child{color:var(--text-primary);font-weight:500}.add-food-button{background:none;border:1px dashed var(--border-color);color:var(--text-secondary);border-radius:8px;padding:10px;margin-top:16px;cursor:pointer;transition:all .2s ease;width:100%;font-weight:500}.add-food-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-primary);border-style:solid}.meal-plan-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}@media(min-width:1024px){.meal-plan-layout{grid-template-columns:3fr 1fr}}.weekly-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.meal-plan-tools{display:flex;flex-direction:column;gap:16px}.day-card{padding:16px}.day-card:hover{transform:none;box-shadow:var(--shadow-sm)}.day-title{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.meal-slot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0;font-size:14px}@media(min-width:768px){.meal-slot{flex-direction:row;justify-content:space-between;align-items:center}}.meal-slot:not(:last-child){border-bottom:1px solid var(--bg-tertiary)}.meal-type{font-weight:500;color:var(--text-secondary)}.meal-name{color:var(--text-primary)}.meal-name-input{background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:inherit;width:100%;padding:4px 0;border-bottom:1px solid transparent;transition:border-color .2s}.meal-name-input:focus{outline:none;border-bottom:1px solid var(--accent-primary)}.meal-name-input:hover{border-bottom:1px solid var(--bg-tertiary)}.meal-plan-tools{display:flex;flex-direction:column;gap:24px;position:sticky;top:24px}.suggestions-list,.grocery-list{list-style:none}.suggestion-item{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:10px 4px}.suggestion-item:not(:last-child){border-bottom:1px solid var(--bg-tertiary)}.suggestion-cal{color:var(--text-secondary);font-size:13px;margin-left:8px}.add-suggestion-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;transition:all .2s ease}.add-suggestion-btn:hover{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.grocery-item{padding:4px 0}.grocery-item label{margin-left:8px;font-size:14px;cursor:pointer}.grocery-item input{accent-color:var(--accent-primary)}.subsection-title{font-size:22px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.habit-builder-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.my-habits{display:flex;flex-direction:column;gap:24px}.sidebar-widgets{display:flex;flex-direction:column;gap:24px;position:sticky;top:24px}.habit-card{padding:24px}.habit-card:hover{transform:none;box-shadow:var(--shadow-sm)}.habit-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.habit-card-header h4{font-size:18px;font-weight:600}.streak{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--accent-secondary)}.streak .material-symbols-outlined{font-size:20px}.habit-progress{display:flex;justify-content:space-between;margin-bottom:24px;gap:8px}.day-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:14px;flex-shrink:0}.day-circle.completed{background-color:var(--accent-primary);color:#fff}.mark-complete-btn{width:100%;padding:12px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s ease}.mark-complete-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-primary)}.active-challenge h4{font-size:16px;font-weight:600;margin-bottom:8px}.active-challenge p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.challenge-progress{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;font-weight:500}.challenge-progress span:last-child{color:var(--text-secondary)}.badges-rewards .card-title{margin-bottom:20px}.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.badge{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary);opacity:.5;transition:all .3s ease}.badge.earned{color:var(--text-primary);opacity:1}.badge .material-symbols-outlined{font-size:32px;transition:color .3s ease}.badge.earned .material-symbols-outlined{color:var(--accent-secondary)}.badge span:last-child{font-size:12px;font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-secondary);padding:24px;border-radius:16px;border:1px solid var(--border-color);width:90%;max-width:500px;box-shadow:var(--shadow-md);animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:20px;font-weight:600}.modal-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.modal-close-btn:hover{color:var(--text-primary)}.modal-body .form-group{margin-bottom:16px}.modal-submit-btn{width:100%;padding:12px;background-color:var(--accent-primary);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:16px;cursor:pointer;transition:background-color .2s;margin-top:16px}.modal-submit-btn:hover{background-color:var(--accent-primary-light)}.suggestion-modal-select{width:100%;padding:12px;border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);outline:none}.toast-notification{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:var(--accent-primary);color:#fff;padding:12px 24px;border-radius:8px;box-shadow:var(--shadow-md);z-index:1001;font-weight:500;animation:fadeInOut 3s ease-in-out forwards}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,20px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,20px)}}.activity-tracker .dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.summary-card .progress-section{margin:20px 0}.summary-card .progress-stats{display:flex;justify-content:space-between;margin-bottom:10px;font-size:1.2rem}.summary-card .current{font-weight:700;color:var(--text-primary)}.summary-card .target{color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.stat-item{display:flex;align-items:center;gap:10px;color:var(--text-secondary);background:#ffffff0d;padding:10px;border-radius:8px}.activity-grid-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin-top:10px}.activity-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.activity-btn:hover{background:#ffffff1a}.activity-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.form-row{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap}.toggle-group{display:flex;background:var(--bg-tertiary);border-radius:8px;padding:4px;height:fit-content;align-self:flex-end}.toggle-group button{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px}.toggle-group button.active{background:var(--bg-secondary);color:var(--text-primary);font-weight:700}.input-group{flex:1;display:flex;flex-direction:column;gap:8px}.input-group label{color:var(--text-secondary);font-size:.9rem}.input-group input,.input-group select{padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary)}.submit-btn{width:100%;margin-top:20px;padding:12px;background:var(--accent-secondary);color:var(--bg-primary);border:none;border-radius:8px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.submit-btn:hover{opacity:.9}.activities-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:15px;padding:15px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.activity-icon{padding:10px;background:#58a6ff1a;color:var(--accent-primary);border-radius:50%}.activity-details{flex:1}.activity-details h4{margin-bottom:4px}.activity-meta{font-size:.85rem;color:var(--text-secondary)}.activity-calories{text-align:right;display:flex;align-items:center;gap:15px}.cal-value{font-weight:700;font-size:1.1rem;color:var(--accent-secondary)}.cal-unit{font-size:.8rem;color:var(--text-secondary);margin-left:-10px}.delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;opacity:0;transition:opacity .2s}.activity-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--accent-danger)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:15px}.weather-widget{display:flex;align-items:center;gap:20px;padding:0 20px;border-right:1px solid var(--border-color);border-left:1px solid var(--border-color);height:40px}.datetime-display{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.datetime-display .time{font-weight:700;font-size:.9rem;color:var(--text-primary)}.datetime-display .date{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase}.weather-display{display:flex;align-items:center;gap:15px}.current-weather{display:flex;align-items:center;gap:6px;font-weight:500}.location-selector{position:relative}.location-display{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.location-display:hover{background:var(--bg-tertiary);color:var(--text-primary)}.location-form input{background:var(--bg-primary);border:1px solid var(--accent-primary);color:var(--text-primary);padding:4px 8px;border-radius:4px;font-size:.8rem;width:120px}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:8px 16px;justify-content:space-between;z-index:1000;padding-bottom:max(8px,env(safe-area-inset-bottom))}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;color:var(--text-secondary);text-decoration:none;font-size:10px;gap:4px;padding:8px;border-radius:8px;cursor:pointer;flex:1}.mobile-nav-item.active{color:var(--accent-secondary)}.mobile-nav-item .material-symbols-outlined{font-size:24px}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{display:none}.mobile-nav{display:flex}.main-layout{width:100%;padding-bottom:70px}.header{padding:12px 16px;height:auto;flex-wrap:wrap;gap:12px}.search-bar{order:3;width:100%;margin-top:8px}.search-bar input{width:100%}.header-actions{margin-left:auto;gap:8px}.connection-status{font-size:0}.connection-status span{margin-right:0!important}.user-profile span:first-child{display:none}.main-content{padding:16px}.dashboard-grid{gap:16px}.summary-card{display:flex;flex-direction:column;align-items:center;text-align:center}.summary-card .macro-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%}.summary-card .macro-item,.summary-card .micro-item{justify-content:space-between;width:100%}.stats-grid{grid-template-columns:1fr 1fr}.activity-form .form-row{flex-direction:column}.activity-grid-selector{grid-template-columns:repeat(3,1fr)}.weather-widget{position:static;width:auto;justify-content:flex-start;margin-bottom:0;order:1;border:none;height:auto;padding:0;flex-grow:1}.weather-widget .datetime-display{display:none}.sync-engine{flex-direction:column;align-items:flex-start}.sync-engine .pie-chart-placeholder{align-self:center;margin-bottom:16px}.ai-coach{height:400px}}.risk-flags,.progress-reports,.data-privacy{grid-column:auto;grid-row:auto}.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.empty-hint{font-size:13px;color:var(--text-secondary);margin:8px 0}.chart-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;flex:1;min-height:120px;padding:12px 0;font-size:13px;color:var(--text-secondary)}.link-btn{background:none;border:none;padding:0;color:var(--accent-primary);font:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.secondary-btn:hover:not(:disabled){background-color:#2d333b;border-color:var(--accent-primary)}.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn.danger:hover:not(:disabled){border-color:var(--accent-danger);color:var(--accent-danger)}.range-toggle{display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;flex-shrink:0}.range-btn{background:none;border:none;color:var(--text-secondary);font-size:12px;padding:6px 10px;cursor:pointer}.range-btn:hover{color:var(--text-primary)}.range-btn.active{background:var(--accent-primary);color:#0d1117;font-weight:600}.stat-row{display:flex;gap:20px;margin-bottom:8px;flex-wrap:wrap}.stat-tile{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary);line-height:1.2}.stat-unit{font-size:13px;color:var(--text-secondary);font-weight:400}.stat-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.trend-chart{width:100%;height:auto;margin-top:8px;overflow:visible}.axis-text{fill:var(--text-secondary);font-size:8px}.chart-tooltip{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:4px 6px;font-size:9px;line-height:1.4;color:var(--text-primary);display:flex;flex-direction:column}.chart-tooltip span{color:var(--text-secondary)}.split-body{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut{width:130px;height:130px;flex-shrink:0}.donut-value{fill:var(--text-primary);font-size:15px;font-weight:600}.donut-label{fill:var(--text-secondary);font-size:7px;text-transform:uppercase;letter-spacing:.08em}.split-legend{list-style:none;flex:1;min-width:150px;display:flex;flex-direction:column;gap:8px}.split-legend li{display:flex;align-items:center;gap:8px;font-size:13px}.legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-name{color:var(--text-primary);flex:1}.legend-value{color:var(--text-secondary);font-size:12px;display:flex;gap:6px}.legend-value em{font-style:normal;color:var(--text-primary);min-width:30px;text-align:right}.flag-count{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.flag-count.has-flags{background:#f4706726;color:var(--accent-danger)}.risk-list{list-style:none;display:flex;flex-direction:column;gap:14px}.risk-item{display:flex;gap:10px}.risk-icon{font-size:20px;flex-shrink:0;margin-top:2px}.risk-body{flex:1;min-width:0}.risk-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px}.risk-severity{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.risk-detail{font-size:12px;color:var(--text-secondary);margin:2px 0 6px}.risk-bar{height:4px}.risk-clear{display:flex;gap:12px;align-items:flex-start;padding:8px 0}.risk-clear .material-symbols-outlined{font-size:28px}.risk-clear p{font-size:13px;color:var(--text-secondary);margin-top:2px}.data-privacy{align-items:stretch;text-align:left;justify-content:flex-start;gap:16px}.privacy-head{display:flex;gap:12px;align-items:flex-start}.privacy-head p{font-size:12px;color:var(--text-secondary);margin-top:4px}.privacy-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.food-item-right{display:inline-flex;align-items:center;gap:6px}.food-remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;display:inline-flex;opacity:0;transition:opacity .15s,color .15s}.food-item:hover .food-remove-btn{opacity:1}.food-remove-btn:hover{color:var(--accent-danger)}.food-remove-btn .material-symbols-outlined{font-size:16px}.habit-card-actions{display:flex;align-items:center;gap:8px}.mark-complete-btn.is-done{background-color:#3fb95026;color:#3fb950;border-color:#3fb950}.plan-badge{font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:999px}.plan-badge.free{background:var(--bg-tertiary);color:var(--text-secondary)}.plan-badge.pro{background:linear-gradient(135deg,#eac54f,#f0883e);color:#0d1117}.header-plan{margin-right:12px}.pro-tag{background:linear-gradient(135deg,#eac54f,#f0883e);color:#0d1117;font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 5px;border-radius:4px;margin-left:6px;vertical-align:middle}.sidebar-upgrade{padding:0 16px;margin-bottom:8px}.upgrade-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#eac54f,#f0883e);color:#0d1117;border:none;border-radius:10px;padding:10px;font-size:14px;font-weight:600;cursor:pointer}.upgrade-btn:hover{filter:brightness(1.08)}.upgrade-modal{max-width:520px}.upgrade-reason{font-size:14px;color:var(--text-primary);margin-bottom:16px}.pro-feature-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.pro-feature-list li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-primary)}.upgrade-fineprint{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.upgrade-cta{display:block;text-align:center;text-decoration:none}.license-redeem{border-top:1px solid var(--border-color);padding-top:16px;margin-top:16px}.license-redeem label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.license-error{color:var(--accent-danger);font-size:12px;margin-top:8px}.plan-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.plan-meta{display:flex;flex-direction:column;gap:2px;font-size:13px}.plan-meta span{font-size:12px;color:var(--text-secondary)}.coach-quota{margin-left:auto;font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:999px}@media(max-width:768px){.split-body{justify-content:center}.stat-row{gap:14px}}.nutrition-dashboard,.meal-suggestion,.sync-engine,.ai-coach{grid-column:auto;grid-row:auto}@media(min-width:1200px){.nutrition-dashboard.col-span-2,.ai-coach.col-span-2,.progress-reports.col-span-2{grid-column:span 2}}.sync-engine{display:flex;flex-direction:column;align-items:stretch;gap:0}
